@qverse-ui/lit-components 1.0.2 → 1.0.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/dist/components/base/index.d.ts.map +1 -1
- package/dist/components/base/index.js.map +1 -1
- package/dist/components/common/lit-switch-dollhouse-view/constants.d.ts +2 -1
- package/dist/components/common/lit-switch-dollhouse-view/constants.d.ts.map +1 -1
- package/dist/components/common/lit-switch-dollhouse-view/constants.js +2 -1
- package/dist/components/common/lit-switch-dollhouse-view/constants.js.map +1 -1
- package/dist/components/common/lit-switch-dollhouse-view/events.js.map +1 -1
- package/dist/components/common/lit-switch-dollhouse-view/index.d.ts +39 -4
- package/dist/components/common/lit-switch-dollhouse-view/index.d.ts.map +1 -1
- package/dist/components/common/lit-switch-dollhouse-view/index.js +61 -8
- package/dist/components/common/lit-switch-dollhouse-view/index.js.map +1 -1
- package/dist/components/common/lit-switch-dollhouse-view/interaction.d.ts +5 -1
- package/dist/components/common/lit-switch-dollhouse-view/interaction.d.ts.map +1 -1
- package/dist/components/common/lit-switch-dollhouse-view/interaction.js +25 -1
- package/dist/components/common/lit-switch-dollhouse-view/interaction.js.map +1 -1
- package/dist/components/common/lit-switch-dollhouse-view/logic.js.map +1 -1
- package/dist/components/common/lit-switch-dollhouse-view/styles.d.ts.map +1 -1
- package/dist/components/common/lit-switch-dollhouse-view/styles.js +4 -6
- package/dist/components/common/lit-switch-dollhouse-view/styles.js.map +1 -1
- package/dist/components/common/lit-switch-floorplan-view/constants.js.map +1 -1
- package/dist/components/common/lit-switch-floorplan-view/index.d.ts +39 -4
- package/dist/components/common/lit-switch-floorplan-view/index.d.ts.map +1 -1
- package/dist/components/common/lit-switch-floorplan-view/index.js +61 -8
- package/dist/components/common/lit-switch-floorplan-view/index.js.map +1 -1
- package/dist/components/common/lit-switch-floorplan-view/interaction.d.ts +5 -1
- package/dist/components/common/lit-switch-floorplan-view/interaction.d.ts.map +1 -1
- package/dist/components/common/lit-switch-floorplan-view/interaction.js +25 -1
- package/dist/components/common/lit-switch-floorplan-view/interaction.js.map +1 -1
- package/dist/components/common/lit-switch-floorplan-view/logic.js.map +1 -1
- package/dist/components/common/lit-switch-floorplan-view/styles.d.ts.map +1 -1
- package/dist/components/common/lit-switch-floorplan-view/styles.js +4 -6
- package/dist/components/common/lit-switch-floorplan-view/styles.js.map +1 -1
- package/dist/components/common/lit-switch-panorama-view/constants.js.map +1 -1
- package/dist/components/common/lit-switch-panorama-view/index.d.ts +45 -4
- package/dist/components/common/lit-switch-panorama-view/index.d.ts.map +1 -1
- package/dist/components/common/lit-switch-panorama-view/index.js +65 -8
- package/dist/components/common/lit-switch-panorama-view/index.js.map +1 -1
- package/dist/components/common/lit-switch-panorama-view/interaction.d.ts +7 -1
- package/dist/components/common/lit-switch-panorama-view/interaction.d.ts.map +1 -1
- package/dist/components/common/lit-switch-panorama-view/interaction.js +26 -2
- package/dist/components/common/lit-switch-panorama-view/interaction.js.map +1 -1
- package/dist/components/common/lit-switch-panorama-view/logic.d.ts +2 -1
- package/dist/components/common/lit-switch-panorama-view/logic.d.ts.map +1 -1
- package/dist/components/common/lit-switch-panorama-view/logic.js +8 -5
- package/dist/components/common/lit-switch-panorama-view/logic.js.map +1 -1
- package/dist/components/common/lit-switch-panorama-view/properties.d.ts +11 -0
- package/dist/components/common/lit-switch-panorama-view/properties.d.ts.map +1 -1
- package/dist/components/common/lit-switch-panorama-view/properties.js.map +1 -1
- package/dist/components/common/lit-switch-panorama-view/styles.d.ts.map +1 -1
- package/dist/components/common/lit-switch-panorama-view/styles.js +4 -6
- package/dist/components/common/lit-switch-panorama-view/styles.js.map +1 -1
- package/dist/enum/view.mode.d.ts +7 -0
- package/dist/enum/view.mode.d.ts.map +1 -0
- package/dist/enum/view.mode.js +11 -0
- package/dist/enum/view.mode.js.map +1 -0
- package/dist/utils/define-lit-element.js.map +1 -1
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/base/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,iBAAiB,CAAA;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/base/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,iBAAiB,CAAA;AACxB,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAA;AAC3C,YAAY,EAAE,gBAAgB,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAA;AACtE,eAAO,MAAM,aAAa,yBAA0B,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../../../src/components/base/index.ts"],"sourcesContent":["/**\
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../../src/components/base/index.ts"],"sourcesContent":["/**\n * @qverse-ui/lit-components/base — 基础组件\n */\nimport './lit-button.js'\nexport { LitButton } from './lit-button.js'\nexport type { LitButtonVariant, LitButtonSize } from './lit-button.js'\nexport const LIT_BASE_TAGS = ['lit-button'] as const\n"],"names":[],"mappings":";AAMO,MAAM,gBAAgB,CAAC,YAAY;"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
|
+
import { ViewMode } from '@/enum/view.mode';
|
|
1
2
|
export declare const TAG: "lit-switch-dollhouse-view";
|
|
2
|
-
export declare const VIEW:
|
|
3
|
+
export declare const VIEW: ViewMode.Dollhouse;
|
|
3
4
|
export declare const ICON_CSS_VAR: "--lit-mode-dollhouse-icon";
|
|
4
5
|
export declare const CLICK_EVENT: "lit-switch-dollhouse-click";
|
|
5
6
|
export declare const COMPLETE_EVENT: "lit-switch-dollhouse-complete";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../../../src/components/common/lit-switch-dollhouse-view/constants.ts"],"names":[],"mappings":"AAMA,eAAO,MAAM,GAAG,EAAG,2BAAoC,CAAA;AAEvD,eAAO,MAAM,IAAI,
|
|
1
|
+
{"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../../../src/components/common/lit-switch-dollhouse-view/constants.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAA;AAE3C,eAAO,MAAM,GAAG,EAAG,2BAAoC,CAAA;AAEvD,eAAO,MAAM,IAAI,oBAA8B,CAAA;AAE/C,eAAO,MAAM,YAAY,EAAG,2BAAoC,CAAA;AAEhE,eAAO,MAAM,WAAW,EAAG,4BAAqC,CAAA;AAEhE,eAAO,MAAM,cAAc,EAAG,+BAAwC,CAAA"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
|
+
import { ViewMode } from "../../../enum/view.mode.js";
|
|
1
2
|
const TAG = "lit-switch-dollhouse-view";
|
|
2
|
-
const VIEW =
|
|
3
|
+
const VIEW = ViewMode.Dollhouse;
|
|
3
4
|
const CLICK_EVENT = "lit-switch-dollhouse-click";
|
|
4
5
|
const COMPLETE_EVENT = "lit-switch-dollhouse-complete";
|
|
5
6
|
export {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"constants.js","sources":["../../../../src/components/common/lit-switch-dollhouse-view/constants.ts"],"sourcesContent":["/*\n * @Author: ncz\n * @Date: 2026-05-30\n * @Description: lit-switch-dollhouse-view 常量(标签、事件名、CSS 变量)\n */\n\nexport const TAG = 'lit-switch-dollhouse-view' as const\
|
|
1
|
+
{"version":3,"file":"constants.js","sources":["../../../../src/components/common/lit-switch-dollhouse-view/constants.ts"],"sourcesContent":["/*\n * @Author: ncz\n * @Date: 2026-05-30\n * @Description: lit-switch-dollhouse-view 常量(标签、事件名、CSS 变量)\n */\n\nimport { ViewMode } from '@/enum/view.mode'\n\nexport const TAG = 'lit-switch-dollhouse-view' as const\n\nexport const VIEW = ViewMode.Dollhouse as const\n\nexport const ICON_CSS_VAR = '--lit-mode-dollhouse-icon' as const\n\nexport const CLICK_EVENT = 'lit-switch-dollhouse-click' as const\n\nexport const COMPLETE_EVENT = 'lit-switch-dollhouse-complete' as const\n"],"names":[],"mappings":";AAQO,MAAM,MAAM;AAEZ,MAAM,OAAO,SAAS;AAItB,MAAM,cAAc;AAEpB,MAAM,iBAAiB;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"events.js","sources":["../../../../src/components/common/lit-switch-dollhouse-view/events.ts"],"sourcesContent":["/*\n * @Author: ncz\n * @Date: 2026-05-30\n * @Description: lit-switch-dollhouse-view 自定义事件派发\n */\n\nimport { CLICK_EVENT, COMPLETE_EVENT, VIEW } from './constants.js'\r\n\r\nexport function dispatchClick(host: HTMLElement, originalEvent: Event) {\r\n\r\n host.dispatchEvent(new CustomEvent(CLICK_EVENT, {\r\n bubbles: true,\r\n composed: true,\r\n detail: {\r\n view: VIEW,\r\n originalEvent,\r\n },\r\n }))\r\n\r\n}\r\n\r\nexport function dispatchComplete(host: HTMLElement, originalEvent: Event) {\r\n\r\n host.dispatchEvent(new CustomEvent(COMPLETE_EVENT, {\r\n bubbles: true,\r\n composed: true,\r\n detail: {\r\n view: VIEW,\r\n originalEvent,\r\n },\r\n }))\r\n\r\n}
|
|
1
|
+
{"version":3,"file":"events.js","sources":["../../../../src/components/common/lit-switch-dollhouse-view/events.ts"],"sourcesContent":["/*\r\n * @Author: ncz\r\n * @Date: 2026-05-30\r\n * @Description: lit-switch-dollhouse-view 自定义事件派发\r\n */\r\n\r\nimport { CLICK_EVENT, COMPLETE_EVENT, VIEW } from './constants.js'\r\n\r\nexport function dispatchClick(host: HTMLElement, originalEvent: Event) {\r\n\r\n host.dispatchEvent(new CustomEvent(CLICK_EVENT, {\r\n bubbles: true,\r\n composed: true,\r\n detail: {\r\n view: VIEW,\r\n originalEvent,\r\n },\r\n }))\r\n\r\n}\r\n\r\nexport function dispatchComplete(host: HTMLElement, originalEvent: Event) {\r\n\r\n host.dispatchEvent(new CustomEvent(COMPLETE_EVENT, {\r\n bubbles: true,\r\n composed: true,\r\n detail: {\r\n view: VIEW,\r\n originalEvent,\r\n },\r\n }))\r\n\r\n}"],"names":[],"mappings":";AAQO,SAAS,cAAc,MAAmB,eAAsB;AAErE,OAAK,cAAc,IAAI,YAAY,aAAa;AAAA,IAC9C,SAAS;AAAA,IACT,UAAU;AAAA,IACV,QAAQ;AAAA,MACN,MAAM;AAAA,MACN;AAAA,IAAA;AAAA,EACF,CACD,CAAC;AAEJ;AAEO,SAAS,iBAAiB,MAAmB,eAAsB;AAExE,OAAK,cAAc,IAAI,YAAY,gBAAgB;AAAA,IACjD,SAAS;AAAA,IACT,UAAU;AAAA,IACV,QAAQ;AAAA,MACN,MAAM;AAAA,MACN;AAAA,IAAA;AAAA,EACF,CACD,CAAC;AAEJ;"}
|
|
@@ -1,14 +1,49 @@
|
|
|
1
|
-
import { LitElement } from 'lit';
|
|
1
|
+
import { LitElement, PropertyValues } from 'lit';
|
|
2
2
|
import { TAG } from './constants.js';
|
|
3
|
-
/** 切换到 dollhouse 视图;qspace 须由宿主通过 :qspace
|
|
3
|
+
/** 切换到 dollhouse 视图;qspace 须由宿主通过 :qspace 传入 */
|
|
4
4
|
export declare class LitSwitchDollhouseView extends LitElement {
|
|
5
|
+
/** qspace SDK 实例;仅 JS 属性绑定,不映射 HTML attribute(对象无法序列化) */
|
|
5
6
|
qspace: any;
|
|
7
|
+
/**
|
|
8
|
+
* 是否允许点击;默认 false,场景就绪后由宿主设为 true
|
|
9
|
+
* HTML: button-enabled / Vue: :button-enabled
|
|
10
|
+
*/
|
|
6
11
|
buttonEnabled: boolean;
|
|
7
|
-
|
|
8
|
-
|
|
12
|
+
/** 切换进行中(内部状态);调用 qspace 前禁用,complete 后恢复 */
|
|
13
|
+
private _switching;
|
|
14
|
+
/** 切换完成后禁用当前按钮,避免重复切换 */
|
|
15
|
+
private _isCurrentView;
|
|
16
|
+
setSwitching(value: boolean): void;
|
|
17
|
+
isSwitching(): boolean;
|
|
18
|
+
setCurrentView(value: boolean): void;
|
|
19
|
+
isCurrentView(): boolean;
|
|
9
20
|
static styles: import("lit").CSSResult;
|
|
10
21
|
private _onClick;
|
|
22
|
+
private _onViewModeChange;
|
|
23
|
+
/**
|
|
24
|
+
* 渲染模板
|
|
25
|
+
*/
|
|
11
26
|
render(): import("lit-html").TemplateResult;
|
|
27
|
+
/**
|
|
28
|
+
* 组件连接生命周期
|
|
29
|
+
*/
|
|
30
|
+
connectedCallback(): void;
|
|
31
|
+
/**
|
|
32
|
+
* 组件断开生命周期
|
|
33
|
+
*/
|
|
34
|
+
disconnectedCallback(): void;
|
|
35
|
+
/**
|
|
36
|
+
* 第一次更新
|
|
37
|
+
*/
|
|
38
|
+
firstUpdated(changed: Map<string, unknown>): void;
|
|
39
|
+
/**
|
|
40
|
+
* 组件更新
|
|
41
|
+
*/
|
|
42
|
+
updated(changed: Map<string, unknown>): void;
|
|
43
|
+
/**
|
|
44
|
+
* 将要更新
|
|
45
|
+
*/
|
|
46
|
+
protected willUpdate(_changedProperties: PropertyValues): void;
|
|
12
47
|
}
|
|
13
48
|
declare global {
|
|
14
49
|
interface HTMLElementTagNameMap {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/common/lit-switch-dollhouse-view/index.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,UAAU,EAAE,MAAM,KAAK,CAAA;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/common/lit-switch-dollhouse-view/index.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,KAAK,CAAA;AAGhD,OAAO,EAAE,GAAG,EAAE,MAAM,gBAAgB,CAAA;AAMpC,gDAAgD;AAChD,qBACa,sBAAuB,SAAQ,UAAU;IAEpD,0DAA0D;IAE1D,MAAM,EAAE,GAAG,CAAO;IAElB;;;OAGG;IAOH,aAAa,UAAQ;IAErB,6CAA6C;IAE7C,OAAO,CAAC,UAAU,CAAQ;IAE1B,yBAAyB;IAEzB,OAAO,CAAC,cAAc,CAAQ;IAE9B,YAAY,CAAC,KAAK,EAAE,OAAO;IAS3B,WAAW;IAMX,cAAc,CAAC,KAAK,EAAE,OAAO;IAO7B,aAAa;IAMb,MAAM,CAAC,MAAM,0BAAS;IAEtB,OAAO,CAAC,QAAQ,CAIf;IAED,OAAO,CAAC,iBAAiB,CAIxB;IAED;;OAEG;IACH,MAAM;IAQN;;OAEG;IACH,iBAAiB;IAUjB;;OAEG;IACH,oBAAoB;IAapB;;OAEG;IACH,YAAY,CAAC,OAAO,EAAE,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC;IAQ1C;;OAEG;IACH,OAAO,CAAC,OAAO,EAAE,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC;IAQrC;;OAEG;IACH,SAAS,CAAC,UAAU,CAAC,kBAAkB,EAAE,cAAc,GAAG,IAAI;CAM/D;AAED,OAAO,CAAC,MAAM,CAAC;IAEb,UAAU,qBAAqB;QAE7B,CAAC,GAAG,CAAC,EAAE,sBAAsB,CAAA;KAE9B;CAEF"}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { LitElement } from "lit";
|
|
2
|
-
import { property } from "lit/decorators.js";
|
|
2
|
+
import { property, state } from "lit/decorators.js";
|
|
3
3
|
import { safeCustomElement } from "../../../utils/define-lit-element.js";
|
|
4
4
|
import { TAG } from "./constants.js";
|
|
5
|
-
import { handleDollhouseClick } from "./interaction.js";
|
|
5
|
+
import { handleDollhouseClick, handelViewModeChange } from "./interaction.js";
|
|
6
6
|
import { booleanAttr } from "./properties.js";
|
|
7
7
|
import { styles } from "./styles.js";
|
|
8
8
|
import { renderDollhouseView } from "./template.js";
|
|
@@ -21,15 +21,68 @@ let LitSwitchDollhouseView = class extends LitElement {
|
|
|
21
21
|
super(...arguments);
|
|
22
22
|
this.qspace = null;
|
|
23
23
|
this.buttonEnabled = false;
|
|
24
|
-
this.
|
|
25
|
-
this.
|
|
24
|
+
this._switching = false;
|
|
25
|
+
this._isCurrentView = false;
|
|
26
26
|
this._onClick = (e) => {
|
|
27
27
|
handleDollhouseClick(this, e);
|
|
28
28
|
};
|
|
29
|
+
this._onViewModeChange = (mode) => {
|
|
30
|
+
handelViewModeChange(this, mode);
|
|
31
|
+
};
|
|
32
|
+
}
|
|
33
|
+
setSwitching(value) {
|
|
34
|
+
this._switching = value;
|
|
35
|
+
this.toggleAttribute("switching", value);
|
|
36
|
+
}
|
|
37
|
+
isSwitching() {
|
|
38
|
+
return this._switching;
|
|
39
|
+
}
|
|
40
|
+
setCurrentView(value) {
|
|
41
|
+
this._isCurrentView = value;
|
|
42
|
+
this.toggleAttribute("current-view", value);
|
|
43
|
+
}
|
|
44
|
+
isCurrentView() {
|
|
45
|
+
return this._isCurrentView;
|
|
29
46
|
}
|
|
47
|
+
/**
|
|
48
|
+
* 渲染模板
|
|
49
|
+
*/
|
|
30
50
|
render() {
|
|
31
51
|
return renderDollhouseView(this._onClick);
|
|
32
52
|
}
|
|
53
|
+
/**
|
|
54
|
+
* 组件连接生命周期
|
|
55
|
+
*/
|
|
56
|
+
connectedCallback() {
|
|
57
|
+
this.qspace.view.addEventListener("mode.change", this._onViewModeChange);
|
|
58
|
+
super.connectedCallback();
|
|
59
|
+
}
|
|
60
|
+
/**
|
|
61
|
+
* 组件断开生命周期
|
|
62
|
+
*/
|
|
63
|
+
disconnectedCallback() {
|
|
64
|
+
this.setSwitching(false);
|
|
65
|
+
this.setCurrentView(false);
|
|
66
|
+
this.qspace.view.removeEventListener("mode.change", this._onViewModeChange);
|
|
67
|
+
super.disconnectedCallback();
|
|
68
|
+
}
|
|
69
|
+
/**
|
|
70
|
+
* 第一次更新
|
|
71
|
+
*/
|
|
72
|
+
firstUpdated(changed) {
|
|
73
|
+
super.firstUpdated(changed);
|
|
74
|
+
}
|
|
75
|
+
/**
|
|
76
|
+
* 组件更新
|
|
77
|
+
*/
|
|
78
|
+
updated(changed) {
|
|
79
|
+
super.updated(changed);
|
|
80
|
+
}
|
|
81
|
+
/**
|
|
82
|
+
* 将要更新
|
|
83
|
+
*/
|
|
84
|
+
willUpdate(_changedProperties) {
|
|
85
|
+
}
|
|
33
86
|
};
|
|
34
87
|
LitSwitchDollhouseView.styles = styles;
|
|
35
88
|
__decorateClass([
|
|
@@ -44,11 +97,11 @@ __decorateClass([
|
|
|
44
97
|
})
|
|
45
98
|
], LitSwitchDollhouseView.prototype, "buttonEnabled", 2);
|
|
46
99
|
__decorateClass([
|
|
47
|
-
|
|
48
|
-
], LitSwitchDollhouseView.prototype, "
|
|
100
|
+
state()
|
|
101
|
+
], LitSwitchDollhouseView.prototype, "_switching", 2);
|
|
49
102
|
__decorateClass([
|
|
50
|
-
|
|
51
|
-
], LitSwitchDollhouseView.prototype, "
|
|
103
|
+
state()
|
|
104
|
+
], LitSwitchDollhouseView.prototype, "_isCurrentView", 2);
|
|
52
105
|
LitSwitchDollhouseView = __decorateClass([
|
|
53
106
|
safeCustomElement(TAG)
|
|
54
107
|
], LitSwitchDollhouseView);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../../../../src/components/common/lit-switch-dollhouse-view/index.ts"],"sourcesContent":["/*\n * @Author: ncz\n * @Date: 2026-05-30\n * @Description: lit-switch-dollhouse-view 组件注册与属性声明\n */\n\nimport { LitElement } from 'lit'\r\nimport { property } from 'lit/decorators.js'\r\nimport { safeCustomElement } from '../../../utils/define-lit-element.js'\r\nimport { TAG } from './constants.js'\r\nimport { handleDollhouseClick } from './interaction.js'\r\nimport { booleanAttr } from './properties.js'\r\nimport { styles } from './styles.js'\r\nimport { renderDollhouseView } from './template.js'\r\n\r\n/** 切换到 dollhouse 视图;qspace 须由宿主通过 :qspace
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../../../src/components/common/lit-switch-dollhouse-view/index.ts"],"sourcesContent":["/*\r\n * @Author: ncz\r\n * @Date: 2026-05-30\r\n * @Description: lit-switch-dollhouse-view 组件注册与属性声明\r\n */\r\n\r\nimport { LitElement, PropertyValues } from 'lit'\r\nimport { property, state } from 'lit/decorators.js'\r\nimport { safeCustomElement } from '../../../utils/define-lit-element.js'\r\nimport { TAG } from './constants.js'\r\nimport { handleDollhouseClick, handelViewModeChange } from './interaction.js'\r\nimport { booleanAttr } from './properties.js'\r\nimport { styles } from './styles.js'\r\nimport { renderDollhouseView } from './template.js'\r\n\r\n/** 切换到 dollhouse 视图;qspace 须由宿主通过 :qspace 传入 */\r\n@safeCustomElement(TAG)\r\nexport class LitSwitchDollhouseView extends LitElement {\r\n\r\n /** qspace SDK 实例;仅 JS 属性绑定,不映射 HTML attribute(对象无法序列化) */\r\n @property({ attribute: false })\r\n qspace: any = null\r\n\r\n /**\r\n * 是否允许点击;默认 false,场景就绪后由宿主设为 true\r\n * HTML: button-enabled / Vue: :button-enabled\r\n */\r\n @property({\r\n type: Boolean,\r\n attribute: 'button-enabled',\r\n reflect: true,\r\n converter: booleanAttr,\r\n })\r\n buttonEnabled = false\r\n\r\n /** 切换进行中(内部状态);调用 qspace 前禁用,complete 后恢复 */\r\n @state()\r\n private _switching = false\r\n\r\n /** 切换完成后禁用当前按钮,避免重复切换 */\r\n @state()\r\n private _isCurrentView = false\r\n\r\n setSwitching(value: boolean) {\r\n\r\n this._switching = value\r\n\r\n /** 同步内部状态到 HTML attribute */\r\n this.toggleAttribute('switching', value)\r\n\r\n }\r\n\r\n isSwitching() {\r\n\r\n return this._switching\r\n\r\n }\r\n\r\n setCurrentView(value: boolean) {\r\n\r\n this._isCurrentView = value\r\n this.toggleAttribute('current-view', value)\r\n\r\n }\r\n\r\n isCurrentView() {\r\n\r\n return this._isCurrentView\r\n\r\n }\r\n\r\n static styles = styles\r\n\r\n private _onClick = (e: Event) => {\r\n\r\n handleDollhouseClick(this, e)\r\n\r\n }\r\n\r\n private _onViewModeChange = (mode: string) => {\r\n\r\n handelViewModeChange(this, mode);\r\n\r\n }\r\n\r\n /**\r\n * 渲染模板\r\n */\r\n render() {\r\n\r\n // console.log('render', this);\r\n\r\n return renderDollhouseView(this._onClick)\r\n\r\n }\r\n\r\n /**\r\n * 组件连接生命周期\r\n */\r\n connectedCallback() {\r\n\r\n // console.log('connectedCallback', this);\r\n\r\n this.qspace.view.addEventListener('mode.change', this._onViewModeChange);\r\n\r\n super.connectedCallback()\r\n\r\n }\r\n\r\n /**\r\n * 组件断开生命周期\r\n */\r\n disconnectedCallback() {\r\n\r\n // console.log('disconnectedCallback', this);\r\n\r\n this.setSwitching(false)\r\n this.setCurrentView(false)\r\n\r\n this.qspace.view.removeEventListener('mode.change', this._onViewModeChange);\r\n\r\n super.disconnectedCallback()\r\n\r\n }\r\n\r\n /**\r\n * 第一次更新\r\n */\r\n firstUpdated(changed: Map<string, unknown>) {\r\n\r\n // console.log('firstUpdated', this, changed);\r\n\r\n super.firstUpdated(changed)\r\n\r\n }\r\n\r\n /**\r\n * 组件更新\r\n */\r\n updated(changed: Map<string, unknown>) {\r\n\r\n // console.log('updated', this, changed);\r\n\r\n super.updated(changed)\r\n\r\n }\r\n\r\n /**\r\n * 将要更新\r\n */\r\n protected willUpdate(_changedProperties: PropertyValues): void {\r\n\r\n // console.log('willUpdate', this, _changedProperties);\r\n\r\n }\r\n\r\n}\r\n\r\ndeclare global {\r\n\r\n interface HTMLElementTagNameMap {\r\n\r\n [TAG]: LitSwitchDollhouseView\r\n\r\n }\r\n\r\n}\r\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;AAiBO,IAAM,yBAAN,cAAqC,WAAW;AAAA,EAAhD,cAAA;AAAA,UAAA,GAAA,SAAA;AAIL,SAAA,SAAc;AAYd,SAAA,gBAAgB;AAIhB,SAAQ,aAAa;AAIrB,SAAQ,iBAAiB;AAgCzB,SAAQ,WAAW,CAAC,MAAa;AAE/B,2BAAqB,MAAM,CAAC;AAAA,IAE9B;AAEA,SAAQ,oBAAoB,CAAC,SAAiB;AAE5C,2BAAqB,MAAM,IAAI;AAAA,IAEjC;AAAA,EAAA;AAAA,EAxCA,aAAa,OAAgB;AAE3B,SAAK,aAAa;AAGlB,SAAK,gBAAgB,aAAa,KAAK;AAAA,EAEzC;AAAA,EAEA,cAAc;AAEZ,WAAO,KAAK;AAAA,EAEd;AAAA,EAEA,eAAe,OAAgB;AAE7B,SAAK,iBAAiB;AACtB,SAAK,gBAAgB,gBAAgB,KAAK;AAAA,EAE5C;AAAA,EAEA,gBAAgB;AAEd,WAAO,KAAK;AAAA,EAEd;AAAA;AAAA;AAAA;AAAA,EAmBA,SAAS;AAIP,WAAO,oBAAoB,KAAK,QAAQ;AAAA,EAE1C;AAAA;AAAA;AAAA;AAAA,EAKA,oBAAoB;AAIlB,SAAK,OAAO,KAAK,iBAAiB,eAAe,KAAK,iBAAiB;AAEvE,UAAM,kBAAA;AAAA,EAER;AAAA;AAAA;AAAA;AAAA,EAKA,uBAAuB;AAIrB,SAAK,aAAa,KAAK;AACvB,SAAK,eAAe,KAAK;AAEzB,SAAK,OAAO,KAAK,oBAAoB,eAAe,KAAK,iBAAiB;AAE1E,UAAM,qBAAA;AAAA,EAER;AAAA;AAAA;AAAA;AAAA,EAKA,aAAa,SAA+B;AAI1C,UAAM,aAAa,OAAO;AAAA,EAE5B;AAAA;AAAA;AAAA;AAAA,EAKA,QAAQ,SAA+B;AAIrC,UAAM,QAAQ,OAAO;AAAA,EAEvB;AAAA;AAAA;AAAA;AAAA,EAKU,WAAW,oBAA0C;AAAA,EAI/D;AAEF;AA3Ia,uBAsDJ,SAAS;AAlDhB,gBAAA;AAAA,EADC,SAAS,EAAE,WAAW,MAAA,CAAO;AAAA,GAHnB,uBAIX,WAAA,UAAA,CAAA;AAYA,gBAAA;AAAA,EANC,SAAS;AAAA,IACR,MAAM;AAAA,IACN,WAAW;AAAA,IACX,SAAS;AAAA,IACT,WAAW;AAAA,EAAA,CACZ;AAAA,GAfU,uBAgBX,WAAA,iBAAA,CAAA;AAIQ,gBAAA;AAAA,EADP,MAAA;AAAM,GAnBI,uBAoBH,WAAA,cAAA,CAAA;AAIA,gBAAA;AAAA,EADP,MAAA;AAAM,GAvBI,uBAwBH,WAAA,kBAAA,CAAA;AAxBG,yBAAN,gBAAA;AAAA,EADN,kBAAkB,GAAG;AAAA,GACT,sBAAA;"}
|
|
@@ -1,7 +1,11 @@
|
|
|
1
1
|
export type DollhouseViewHost = HTMLElement & {
|
|
2
2
|
qspace: any;
|
|
3
3
|
buttonEnabled: boolean;
|
|
4
|
-
|
|
4
|
+
setSwitching: (value: boolean) => void;
|
|
5
|
+
isSwitching: () => boolean;
|
|
6
|
+
setCurrentView: (value: boolean) => void;
|
|
7
|
+
isCurrentView: () => boolean;
|
|
5
8
|
};
|
|
6
9
|
export declare function handleDollhouseClick(host: DollhouseViewHost, e: Event): void;
|
|
10
|
+
export declare function handelViewModeChange(host: DollhouseViewHost, mode: string): void;
|
|
7
11
|
//# sourceMappingURL=interaction.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"interaction.d.ts","sourceRoot":"","sources":["../../../../src/components/common/lit-switch-dollhouse-view/interaction.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"interaction.d.ts","sourceRoot":"","sources":["../../../../src/components/common/lit-switch-dollhouse-view/interaction.ts"],"names":[],"mappings":"AAUA,MAAM,MAAM,iBAAiB,GAAG,WAAW,GAAG;IAE5C,MAAM,EAAE,GAAG,CAAA;IACX,aAAa,EAAE,OAAO,CAAA;IACtB,YAAY,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,CAAA;IACtC,WAAW,EAAE,MAAM,OAAO,CAAA;IAC1B,cAAc,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,CAAA;IACxC,aAAa,EAAE,MAAM,OAAO,CAAA;CAE7B,CAAA;AAED,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,iBAAiB,EAAE,CAAC,EAAE,KAAK,QA8BrE;AAED,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,iBAAiB,EAAE,IAAI,EAAE,MAAM,QA6BzE"}
|
|
@@ -1,7 +1,8 @@
|
|
|
1
|
+
import { ViewMode } from "../../../enum/view.mode.js";
|
|
1
2
|
import { dispatchClick, dispatchComplete } from "./events.js";
|
|
2
3
|
import { turnToDollhouseView } from "./logic.js";
|
|
3
4
|
function handleDollhouseClick(host, e) {
|
|
4
|
-
if (!host.buttonEnabled || host.
|
|
5
|
+
if (!host.buttonEnabled || host.isSwitching() || host.isCurrentView()) {
|
|
5
6
|
e.preventDefault();
|
|
6
7
|
e.stopPropagation();
|
|
7
8
|
return;
|
|
@@ -10,11 +11,34 @@ function handleDollhouseClick(host, e) {
|
|
|
10
11
|
if (!host.qspace) {
|
|
11
12
|
return;
|
|
12
13
|
}
|
|
14
|
+
host.setSwitching(true);
|
|
13
15
|
turnToDollhouseView(host.qspace, () => {
|
|
14
16
|
dispatchComplete(host, e);
|
|
17
|
+
host.setSwitching(false);
|
|
18
|
+
host.setCurrentView(true);
|
|
15
19
|
});
|
|
16
20
|
}
|
|
21
|
+
function handelViewModeChange(host, mode) {
|
|
22
|
+
switch (mode) {
|
|
23
|
+
case ViewMode.Transitioning:
|
|
24
|
+
host.setSwitching(true);
|
|
25
|
+
break;
|
|
26
|
+
case ViewMode.Dollhouse:
|
|
27
|
+
host.setSwitching(false);
|
|
28
|
+
host.setCurrentView(true);
|
|
29
|
+
break;
|
|
30
|
+
case ViewMode.Floorplan:
|
|
31
|
+
host.setSwitching(false);
|
|
32
|
+
host.setCurrentView(false);
|
|
33
|
+
break;
|
|
34
|
+
case ViewMode.Panorama:
|
|
35
|
+
host.setSwitching(false);
|
|
36
|
+
host.setCurrentView(false);
|
|
37
|
+
break;
|
|
38
|
+
}
|
|
39
|
+
}
|
|
17
40
|
export {
|
|
41
|
+
handelViewModeChange,
|
|
18
42
|
handleDollhouseClick
|
|
19
43
|
};
|
|
20
44
|
//# sourceMappingURL=interaction.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"interaction.js","sources":["../../../../src/components/common/lit-switch-dollhouse-view/interaction.ts"],"sourcesContent":["/*\n * @Author: ncz\n * @Date: 2026-05-30\n * @Description: lit-switch-dollhouse-view 点击交互流程\n */\n\nimport { dispatchClick, dispatchComplete } from './events.js'\
|
|
1
|
+
{"version":3,"file":"interaction.js","sources":["../../../../src/components/common/lit-switch-dollhouse-view/interaction.ts"],"sourcesContent":["/*\n * @Author: ncz\n * @Date: 2026-05-30\n * @Description: lit-switch-dollhouse-view 点击交互流程\n */\n\nimport { ViewMode } from '@/enum/view.mode'\nimport { dispatchClick, dispatchComplete } from './events.js'\nimport { turnToDollhouseView } from './logic.js'\n\nexport type DollhouseViewHost = HTMLElement & {\n\n qspace: any\n buttonEnabled: boolean\n setSwitching: (value: boolean) => void\n isSwitching: () => boolean\n setCurrentView: (value: boolean) => void\n isCurrentView: () => boolean\n\n}\n\nexport function handleDollhouseClick(host: DollhouseViewHost, e: Event) {\n\n if (!host.buttonEnabled || host.isSwitching() || host.isCurrentView()) {\n\n e.preventDefault()\n e.stopPropagation()\n\n return\n\n }\n\n dispatchClick(host, e)\n\n if (!host.qspace) {\n\n return\n\n }\n\n host.setSwitching(true)\n\n turnToDollhouseView(host.qspace, () => {\n\n dispatchComplete(host, e)\n\n host.setSwitching(false)\n host.setCurrentView(true)\n\n })\n\n}\n\nexport function handelViewModeChange(host: DollhouseViewHost, mode: string) {\n\n // console.log('on mode change', mode);\n\n switch (mode) {\n\n case ViewMode.Transitioning:\n host.setSwitching(true)\n break\n\n case ViewMode.Dollhouse:\n host.setSwitching(false)\n host.setCurrentView(true)\n break\n\n case ViewMode.Floorplan:\n host.setSwitching(false)\n host.setCurrentView(false)\n break\n\n case ViewMode.Panorama:\n host.setSwitching(false)\n host.setCurrentView(false)\n break\n\n default:\n break\n }\n\n}\n"],"names":[],"mappings":";;;AAqBO,SAAS,qBAAqB,MAAyB,GAAU;AAEtE,MAAI,CAAC,KAAK,iBAAiB,KAAK,iBAAiB,KAAK,iBAAiB;AAErE,MAAE,eAAA;AACF,MAAE,gBAAA;AAEF;AAAA,EAEF;AAEA,gBAAc,MAAM,CAAC;AAErB,MAAI,CAAC,KAAK,QAAQ;AAEhB;AAAA,EAEF;AAEA,OAAK,aAAa,IAAI;AAEtB,sBAAoB,KAAK,QAAQ,MAAM;AAErC,qBAAiB,MAAM,CAAC;AAExB,SAAK,aAAa,KAAK;AACvB,SAAK,eAAe,IAAI;AAAA,EAE1B,CAAC;AAEH;AAEO,SAAS,qBAAqB,MAAyB,MAAc;AAI1E,UAAQ,MAAA;AAAA,IAEN,KAAK,SAAS;AACZ,WAAK,aAAa,IAAI;AACtB;AAAA,IAEF,KAAK,SAAS;AACZ,WAAK,aAAa,KAAK;AACvB,WAAK,eAAe,IAAI;AACxB;AAAA,IAEF,KAAK,SAAS;AACZ,WAAK,aAAa,KAAK;AACvB,WAAK,eAAe,KAAK;AACzB;AAAA,IAEF,KAAK,SAAS;AACZ,WAAK,aAAa,KAAK;AACvB,WAAK,eAAe,KAAK;AACzB;AAAA,EAGA;AAGN;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"logic.js","sources":["../../../../src/components/common/lit-switch-dollhouse-view/logic.ts"],"sourcesContent":["/*\n * @Author: ncz\n * @Date: 2026-05-30\n * @Description: lit-switch-dollhouse-view qspace 视图切换逻辑\n */\n\nexport function turnToDollhouseView(qspace: any, complete: () => void) {\
|
|
1
|
+
{"version":3,"file":"logic.js","sources":["../../../../src/components/common/lit-switch-dollhouse-view/logic.ts"],"sourcesContent":["/*\n * @Author: ncz\n * @Date: 2026-05-30\n * @Description: lit-switch-dollhouse-view qspace 视图切换逻辑\n */\n\nexport function turnToDollhouseView(qspace: any, complete: () => void) {\n\n qspace.view.turnToDollhouse({ complete })\n\n}\n"],"names":[],"mappings":"AAMO,SAAS,oBAAoB,QAAa,UAAsB;AAErE,SAAO,KAAK,gBAAgB,EAAE,SAAA,CAAU;AAE1C;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"styles.d.ts","sourceRoot":"","sources":["../../../../src/components/common/lit-switch-dollhouse-view/styles.ts"],"names":[],"mappings":"AASA,eAAO,MAAM,MAAM,
|
|
1
|
+
{"version":3,"file":"styles.d.ts","sourceRoot":"","sources":["../../../../src/components/common/lit-switch-dollhouse-view/styles.ts"],"names":[],"mappings":"AASA,eAAO,MAAM,MAAM,yBAgClB,CAAA"}
|
|
@@ -5,10 +5,6 @@ const styles = css`
|
|
|
5
5
|
display: inline-block;
|
|
6
6
|
}
|
|
7
7
|
|
|
8
|
-
:host([active]) {
|
|
9
|
-
display: none;
|
|
10
|
-
}
|
|
11
|
-
|
|
12
8
|
.mode-item {
|
|
13
9
|
box-sizing: border-box;
|
|
14
10
|
width: 26px;
|
|
@@ -25,13 +21,15 @@ const styles = css`
|
|
|
25
21
|
}
|
|
26
22
|
|
|
27
23
|
:host(:not([button-enabled])),
|
|
28
|
-
:host([switching])
|
|
24
|
+
:host([switching]),
|
|
25
|
+
:host([current-view]) {
|
|
29
26
|
pointer-events: none;
|
|
30
27
|
opacity: 0.5;
|
|
31
28
|
}
|
|
32
29
|
|
|
33
30
|
:host(:not([button-enabled])) .mode-item,
|
|
34
|
-
:host([switching]) .mode-item
|
|
31
|
+
:host([switching]) .mode-item,
|
|
32
|
+
:host([current-view]) .mode-item {
|
|
35
33
|
cursor: not-allowed;
|
|
36
34
|
}
|
|
37
35
|
`;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"styles.js","sources":["../../../../src/components/common/lit-switch-dollhouse-view/styles.ts"],"sourcesContent":["/*\n * @Author: ncz\n * @Date: 2026-05-30\n * @Description: lit-switch-dollhouse-view 样式\n */\n\nimport { css, unsafeCSS } from 'lit'\r\nimport iconUrl from './assets/icon.png?url'\r\n\r\nexport const styles = css`\r\n :host {\r\n display: inline-block;\r\n }\r\n\r\n
|
|
1
|
+
{"version":3,"file":"styles.js","sources":["../../../../src/components/common/lit-switch-dollhouse-view/styles.ts"],"sourcesContent":["/*\r\n * @Author: ncz\r\n * @Date: 2026-05-30\r\n * @Description: lit-switch-dollhouse-view 样式\r\n */\r\n\r\nimport { css, unsafeCSS } from 'lit'\r\nimport iconUrl from './assets/icon.png?url'\r\n\r\nexport const styles = css`\r\n :host {\r\n display: inline-block;\r\n }\r\n\r\n .mode-item {\r\n box-sizing: border-box;\r\n width: 26px;\r\n height: 26px;\r\n background-repeat: no-repeat;\r\n background-size: 26px 26px;\r\n background-position: center;\r\n cursor: pointer;\r\n }\r\n\r\n .mode-item.dollhouse {\r\n background-color: rgba(255, 0, 0, 0.4);\r\n background-image: var(--lit-mode-dollhouse-icon, url(${unsafeCSS(iconUrl)}));\r\n }\r\n\r\n :host(:not([button-enabled])),\r\n :host([switching]),\r\n :host([current-view]) {\r\n pointer-events: none;\r\n opacity: 0.5;\r\n }\r\n\r\n :host(:not([button-enabled])) .mode-item,\r\n :host([switching]) .mode-item,\r\n :host([current-view]) .mode-item {\r\n cursor: not-allowed;\r\n }\r\n`\r\n"],"names":[],"mappings":";;AASO,MAAM,SAAS;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,2DAiBqC,UAAU,OAAO,CAAC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"constants.js","sources":["../../../../src/components/common/lit-switch-floorplan-view/constants.ts"],"sourcesContent":["/*\n * @Author: ncz\n * @Date: 2026-05-30\n * @Description: lit-switch-floorplan-view 常量(标签、事件名、CSS 变量)\n */\n\nexport const TAG = 'lit-switch-floorplan-view' as const\
|
|
1
|
+
{"version":3,"file":"constants.js","sources":["../../../../src/components/common/lit-switch-floorplan-view/constants.ts"],"sourcesContent":["/*\n * @Author: ncz\n * @Date: 2026-05-30\n * @Description: lit-switch-floorplan-view 常量(标签、事件名、CSS 变量)\n */\n\nexport const TAG = 'lit-switch-floorplan-view' as const\n\nexport const VIEW = 'floorplan' as const\n\nexport const ICON_CSS_VAR = '--lit-mode-floorplan-icon' as const\n\nexport const CLICK_EVENT = 'lit-switch-floorplan-click' as const\n\nexport const COMPLETE_EVENT = 'lit-switch-floorplan-complete' as const\n"],"names":[],"mappings":"AAMO,MAAM,MAAM;AAEZ,MAAM,OAAO;AAIb,MAAM,cAAc;AAEpB,MAAM,iBAAiB;"}
|
|
@@ -1,14 +1,49 @@
|
|
|
1
|
-
import { LitElement } from 'lit';
|
|
1
|
+
import { LitElement, PropertyValues } from 'lit';
|
|
2
2
|
import { TAG } from './constants.js';
|
|
3
|
-
/** 切换到 floorplan 视图;qspace 须由宿主通过 :qspace
|
|
3
|
+
/** 切换到 floorplan 视图;qspace 须由宿主通过 :qspace 传入 */
|
|
4
4
|
export declare class LitSwitchFloorplanView extends LitElement {
|
|
5
|
+
/** qspace SDK 实例;仅 JS 属性绑定,不映射 HTML attribute(对象无法序列化) */
|
|
5
6
|
qspace: any;
|
|
7
|
+
/**
|
|
8
|
+
* 是否允许点击;默认 false,场景就绪后由宿主设为 true
|
|
9
|
+
* HTML: button-enabled / Vue: :button-enabled
|
|
10
|
+
*/
|
|
6
11
|
buttonEnabled: boolean;
|
|
7
|
-
|
|
8
|
-
|
|
12
|
+
/** 切换进行中(内部状态);调用 qspace 前禁用,complete 后恢复 */
|
|
13
|
+
private _switching;
|
|
14
|
+
/** 切换完成后禁用当前按钮,避免重复切换 */
|
|
15
|
+
private _isCurrentView;
|
|
16
|
+
setSwitching(value: boolean): void;
|
|
17
|
+
isSwitching(): boolean;
|
|
18
|
+
setCurrentView(value: boolean): void;
|
|
19
|
+
isCurrentView(): boolean;
|
|
9
20
|
static styles: import("lit").CSSResult;
|
|
10
21
|
private _onClick;
|
|
22
|
+
private _onViewModeChange;
|
|
23
|
+
/**
|
|
24
|
+
* 渲染模板
|
|
25
|
+
*/
|
|
11
26
|
render(): import("lit-html").TemplateResult;
|
|
27
|
+
/**
|
|
28
|
+
* 组件连接生命周期
|
|
29
|
+
*/
|
|
30
|
+
connectedCallback(): void;
|
|
31
|
+
/**
|
|
32
|
+
* 组件断开生命周期
|
|
33
|
+
*/
|
|
34
|
+
disconnectedCallback(): void;
|
|
35
|
+
/**
|
|
36
|
+
* 第一次更新
|
|
37
|
+
*/
|
|
38
|
+
firstUpdated(changed: Map<string, unknown>): void;
|
|
39
|
+
/**
|
|
40
|
+
* 组件更新
|
|
41
|
+
*/
|
|
42
|
+
updated(changed: Map<string, unknown>): void;
|
|
43
|
+
/**
|
|
44
|
+
* 将要更新
|
|
45
|
+
*/
|
|
46
|
+
protected willUpdate(_changedProperties: PropertyValues): void;
|
|
12
47
|
}
|
|
13
48
|
declare global {
|
|
14
49
|
interface HTMLElementTagNameMap {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/common/lit-switch-floorplan-view/index.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,UAAU,EAAE,MAAM,KAAK,CAAA;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/common/lit-switch-floorplan-view/index.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,KAAK,CAAA;AAGhD,OAAO,EAAE,GAAG,EAAE,MAAM,gBAAgB,CAAA;AAMpC,gDAAgD;AAChD,qBACa,sBAAuB,SAAQ,UAAU;IAEpD,0DAA0D;IAE1D,MAAM,EAAE,GAAG,CAAO;IAElB;;;OAGG;IAOH,aAAa,UAAQ;IAErB,6CAA6C;IAE7C,OAAO,CAAC,UAAU,CAAQ;IAE1B,yBAAyB;IAEzB,OAAO,CAAC,cAAc,CAAQ;IAE9B,YAAY,CAAC,KAAK,EAAE,OAAO;IAO3B,WAAW;IAMX,cAAc,CAAC,KAAK,EAAE,OAAO;IAO7B,aAAa;IAMb,MAAM,CAAC,MAAM,0BAAS;IAEtB,OAAO,CAAC,QAAQ,CAIf;IAED,OAAO,CAAC,iBAAiB,CAIxB;IAED;;OAEG;IACH,MAAM;IAMN;;OAEG;IACH,iBAAiB;IAUjB;;OAEG;IACH,oBAAoB;IAapB;;OAEG;IACH,YAAY,CAAC,OAAO,EAAE,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC;IAQ1C;;OAEG;IACH,OAAO,CAAC,OAAO,EAAE,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC;IAQrC;;OAEG;IACH,SAAS,CAAC,UAAU,CAAC,kBAAkB,EAAE,cAAc,GAAG,IAAI;CAM/D;AAED,OAAO,CAAC,MAAM,CAAC;IAEb,UAAU,qBAAqB;QAE7B,CAAC,GAAG,CAAC,EAAE,sBAAsB,CAAA;KAE9B;CAEF"}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { LitElement } from "lit";
|
|
2
|
-
import { property } from "lit/decorators.js";
|
|
2
|
+
import { property, state } from "lit/decorators.js";
|
|
3
3
|
import { safeCustomElement } from "../../../utils/define-lit-element.js";
|
|
4
4
|
import { TAG } from "./constants.js";
|
|
5
|
-
import { handleFloorplanClick } from "./interaction.js";
|
|
5
|
+
import { handleFloorplanClick, handelViewModeChange } from "./interaction.js";
|
|
6
6
|
import { booleanAttr } from "./properties.js";
|
|
7
7
|
import { styles } from "./styles.js";
|
|
8
8
|
import { renderFloorplanView } from "./template.js";
|
|
@@ -21,15 +21,68 @@ let LitSwitchFloorplanView = class extends LitElement {
|
|
|
21
21
|
super(...arguments);
|
|
22
22
|
this.qspace = null;
|
|
23
23
|
this.buttonEnabled = false;
|
|
24
|
-
this.
|
|
25
|
-
this.
|
|
24
|
+
this._switching = false;
|
|
25
|
+
this._isCurrentView = false;
|
|
26
26
|
this._onClick = (e) => {
|
|
27
27
|
handleFloorplanClick(this, e);
|
|
28
28
|
};
|
|
29
|
+
this._onViewModeChange = (mode) => {
|
|
30
|
+
handelViewModeChange(this, mode);
|
|
31
|
+
};
|
|
32
|
+
}
|
|
33
|
+
setSwitching(value) {
|
|
34
|
+
this._switching = value;
|
|
35
|
+
this.toggleAttribute("switching", value);
|
|
36
|
+
}
|
|
37
|
+
isSwitching() {
|
|
38
|
+
return this._switching;
|
|
39
|
+
}
|
|
40
|
+
setCurrentView(value) {
|
|
41
|
+
this._isCurrentView = value;
|
|
42
|
+
this.toggleAttribute("current-view", value);
|
|
43
|
+
}
|
|
44
|
+
isCurrentView() {
|
|
45
|
+
return this._isCurrentView;
|
|
29
46
|
}
|
|
47
|
+
/**
|
|
48
|
+
* 渲染模板
|
|
49
|
+
*/
|
|
30
50
|
render() {
|
|
31
51
|
return renderFloorplanView(this._onClick);
|
|
32
52
|
}
|
|
53
|
+
/**
|
|
54
|
+
* 组件连接生命周期
|
|
55
|
+
*/
|
|
56
|
+
connectedCallback() {
|
|
57
|
+
this.qspace.view.addEventListener("mode.change", this._onViewModeChange);
|
|
58
|
+
super.connectedCallback();
|
|
59
|
+
}
|
|
60
|
+
/**
|
|
61
|
+
* 组件断开生命周期
|
|
62
|
+
*/
|
|
63
|
+
disconnectedCallback() {
|
|
64
|
+
this.setSwitching(false);
|
|
65
|
+
this.setCurrentView(false);
|
|
66
|
+
this.qspace.view.removeEventListener("mode.change", this._onViewModeChange);
|
|
67
|
+
super.disconnectedCallback();
|
|
68
|
+
}
|
|
69
|
+
/**
|
|
70
|
+
* 第一次更新
|
|
71
|
+
*/
|
|
72
|
+
firstUpdated(changed) {
|
|
73
|
+
super.firstUpdated(changed);
|
|
74
|
+
}
|
|
75
|
+
/**
|
|
76
|
+
* 组件更新
|
|
77
|
+
*/
|
|
78
|
+
updated(changed) {
|
|
79
|
+
super.updated(changed);
|
|
80
|
+
}
|
|
81
|
+
/**
|
|
82
|
+
* 将要更新
|
|
83
|
+
*/
|
|
84
|
+
willUpdate(_changedProperties) {
|
|
85
|
+
}
|
|
33
86
|
};
|
|
34
87
|
LitSwitchFloorplanView.styles = styles;
|
|
35
88
|
__decorateClass([
|
|
@@ -44,11 +97,11 @@ __decorateClass([
|
|
|
44
97
|
})
|
|
45
98
|
], LitSwitchFloorplanView.prototype, "buttonEnabled", 2);
|
|
46
99
|
__decorateClass([
|
|
47
|
-
|
|
48
|
-
], LitSwitchFloorplanView.prototype, "
|
|
100
|
+
state()
|
|
101
|
+
], LitSwitchFloorplanView.prototype, "_switching", 2);
|
|
49
102
|
__decorateClass([
|
|
50
|
-
|
|
51
|
-
], LitSwitchFloorplanView.prototype, "
|
|
103
|
+
state()
|
|
104
|
+
], LitSwitchFloorplanView.prototype, "_isCurrentView", 2);
|
|
52
105
|
LitSwitchFloorplanView = __decorateClass([
|
|
53
106
|
safeCustomElement(TAG)
|
|
54
107
|
], LitSwitchFloorplanView);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../../../../src/components/common/lit-switch-floorplan-view/index.ts"],"sourcesContent":["/*\n * @Author: ncz\n * @Date: 2026-05-30\n * @Description: lit-switch-floorplan-view 组件注册与属性声明\n */\n\nimport { LitElement } from 'lit'\
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../../../src/components/common/lit-switch-floorplan-view/index.ts"],"sourcesContent":["/*\n * @Author: ncz\n * @Date: 2026-05-30\n * @Description: lit-switch-floorplan-view 组件注册与属性声明\n */\n\nimport { LitElement, PropertyValues } from 'lit'\nimport { property, state } from 'lit/decorators.js'\nimport { safeCustomElement } from '../../../utils/define-lit-element.js'\nimport { TAG } from './constants.js'\nimport { handleFloorplanClick, handelViewModeChange } from './interaction.js'\nimport { booleanAttr } from './properties.js'\nimport { styles } from './styles.js'\nimport { renderFloorplanView } from './template.js'\n\n/** 切换到 floorplan 视图;qspace 须由宿主通过 :qspace 传入 */\n@safeCustomElement(TAG)\nexport class LitSwitchFloorplanView extends LitElement {\n\n /** qspace SDK 实例;仅 JS 属性绑定,不映射 HTML attribute(对象无法序列化) */\n @property({ attribute: false })\n qspace: any = null\n\n /**\n * 是否允许点击;默认 false,场景就绪后由宿主设为 true\n * HTML: button-enabled / Vue: :button-enabled\n */\n @property({\n type: Boolean,\n attribute: 'button-enabled',\n reflect: true,\n converter: booleanAttr,\n })\n buttonEnabled = false\n\n /** 切换进行中(内部状态);调用 qspace 前禁用,complete 后恢复 */\n @state()\n private _switching = false\n\n /** 切换完成后禁用当前按钮,避免重复切换 */\n @state()\n private _isCurrentView = false\n\n setSwitching(value: boolean) {\n\n this._switching = value\n this.toggleAttribute('switching', value)\n\n }\n\n isSwitching() {\n\n return this._switching\n\n }\n\n setCurrentView(value: boolean) {\n\n this._isCurrentView = value\n this.toggleAttribute('current-view', value)\n\n }\n\n isCurrentView() {\n\n return this._isCurrentView\n\n }\n\n static styles = styles\n\n private _onClick = (e: Event) => {\n\n handleFloorplanClick(this, e)\n\n }\n\n private _onViewModeChange = (mode: string) => {\n\n handelViewModeChange(this, mode);\n\n }\n\n /**\n * 渲染模板\n */\n render() {\n\n return renderFloorplanView(this._onClick)\n\n }\n\n /**\n * 组件连接生命周期\n */\n connectedCallback() {\n\n // console.log('connectedCallback', this);\n\n this.qspace.view.addEventListener('mode.change', this._onViewModeChange);\n\n super.connectedCallback()\n\n }\n\n /**\n * 组件断开生命周期\n */\n disconnectedCallback() {\n\n // console.log('disconnectedCallback', this);\n\n this.setSwitching(false)\n this.setCurrentView(false)\n\n this.qspace.view.removeEventListener('mode.change', this._onViewModeChange);\n\n super.disconnectedCallback()\n\n }\n\n /**\n * 第一次更新\n */\n firstUpdated(changed: Map<string, unknown>) {\n\n // console.log('firstUpdated', this, changed);\n\n super.firstUpdated(changed)\n\n }\n\n /**\n * 组件更新\n */\n updated(changed: Map<string, unknown>) {\n\n // console.log('updated', this, changed);\n\n super.updated(changed)\n\n }\n\n /**\n * 将要更新\n */\n protected willUpdate(_changedProperties: PropertyValues): void {\n\n // console.log('willUpdate', this, _changedProperties);\n\n }\n\n}\n\ndeclare global {\n\n interface HTMLElementTagNameMap {\n\n [TAG]: LitSwitchFloorplanView\n\n }\n\n}\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;AAiBO,IAAM,yBAAN,cAAqC,WAAW;AAAA,EAAhD,cAAA;AAAA,UAAA,GAAA,SAAA;AAIL,SAAA,SAAc;AAYd,SAAA,gBAAgB;AAIhB,SAAQ,aAAa;AAIrB,SAAQ,iBAAiB;AA8BzB,SAAQ,WAAW,CAAC,MAAa;AAE/B,2BAAqB,MAAM,CAAC;AAAA,IAE9B;AAEA,SAAQ,oBAAoB,CAAC,SAAiB;AAE5C,2BAAqB,MAAM,IAAI;AAAA,IAEjC;AAAA,EAAA;AAAA,EAtCA,aAAa,OAAgB;AAE3B,SAAK,aAAa;AAClB,SAAK,gBAAgB,aAAa,KAAK;AAAA,EAEzC;AAAA,EAEA,cAAc;AAEZ,WAAO,KAAK;AAAA,EAEd;AAAA,EAEA,eAAe,OAAgB;AAE7B,SAAK,iBAAiB;AACtB,SAAK,gBAAgB,gBAAgB,KAAK;AAAA,EAE5C;AAAA,EAEA,gBAAgB;AAEd,WAAO,KAAK;AAAA,EAEd;AAAA;AAAA;AAAA;AAAA,EAmBA,SAAS;AAEP,WAAO,oBAAoB,KAAK,QAAQ;AAAA,EAE1C;AAAA;AAAA;AAAA;AAAA,EAKA,oBAAoB;AAIlB,SAAK,OAAO,KAAK,iBAAiB,eAAe,KAAK,iBAAiB;AAEvE,UAAM,kBAAA;AAAA,EAER;AAAA;AAAA;AAAA;AAAA,EAKA,uBAAuB;AAIrB,SAAK,aAAa,KAAK;AACvB,SAAK,eAAe,KAAK;AAEzB,SAAK,OAAO,KAAK,oBAAoB,eAAe,KAAK,iBAAiB;AAE1E,UAAM,qBAAA;AAAA,EAER;AAAA;AAAA;AAAA;AAAA,EAKA,aAAa,SAA+B;AAI1C,UAAM,aAAa,OAAO;AAAA,EAE5B;AAAA;AAAA;AAAA;AAAA,EAKA,QAAQ,SAA+B;AAIrC,UAAM,QAAQ,OAAO;AAAA,EAEvB;AAAA;AAAA;AAAA;AAAA,EAKU,WAAW,oBAA0C;AAAA,EAI/D;AAEF;AAvIa,uBAoDJ,SAAS;AAhDhB,gBAAA;AAAA,EADC,SAAS,EAAE,WAAW,MAAA,CAAO;AAAA,GAHnB,uBAIX,WAAA,UAAA,CAAA;AAYA,gBAAA;AAAA,EANC,SAAS;AAAA,IACR,MAAM;AAAA,IACN,WAAW;AAAA,IACX,SAAS;AAAA,IACT,WAAW;AAAA,EAAA,CACZ;AAAA,GAfU,uBAgBX,WAAA,iBAAA,CAAA;AAIQ,gBAAA;AAAA,EADP,MAAA;AAAM,GAnBI,uBAoBH,WAAA,cAAA,CAAA;AAIA,gBAAA;AAAA,EADP,MAAA;AAAM,GAvBI,uBAwBH,WAAA,kBAAA,CAAA;AAxBG,yBAAN,gBAAA;AAAA,EADN,kBAAkB,GAAG;AAAA,GACT,sBAAA;"}
|
|
@@ -1,7 +1,11 @@
|
|
|
1
1
|
export type FloorplanViewHost = HTMLElement & {
|
|
2
2
|
qspace: any;
|
|
3
3
|
buttonEnabled: boolean;
|
|
4
|
-
|
|
4
|
+
setSwitching: (value: boolean) => void;
|
|
5
|
+
isSwitching: () => boolean;
|
|
6
|
+
setCurrentView: (value: boolean) => void;
|
|
7
|
+
isCurrentView: () => boolean;
|
|
5
8
|
};
|
|
6
9
|
export declare function handleFloorplanClick(host: FloorplanViewHost, e: Event): void;
|
|
10
|
+
export declare function handelViewModeChange(host: FloorplanViewHost, mode: string): void;
|
|
7
11
|
//# sourceMappingURL=interaction.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"interaction.d.ts","sourceRoot":"","sources":["../../../../src/components/common/lit-switch-floorplan-view/interaction.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"interaction.d.ts","sourceRoot":"","sources":["../../../../src/components/common/lit-switch-floorplan-view/interaction.ts"],"names":[],"mappings":"AAUA,MAAM,MAAM,iBAAiB,GAAG,WAAW,GAAG;IAE5C,MAAM,EAAE,GAAG,CAAA;IACX,aAAa,EAAE,OAAO,CAAA;IACtB,YAAY,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,CAAA;IACtC,WAAW,EAAE,MAAM,OAAO,CAAA;IAC1B,cAAc,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,CAAA;IACxC,aAAa,EAAE,MAAM,OAAO,CAAA;CAE7B,CAAA;AAED,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,iBAAiB,EAAE,CAAC,EAAE,KAAK,QA6BrE;AAED,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,iBAAiB,EAAE,IAAI,EAAE,MAAM,QA8BzE"}
|
|
@@ -1,7 +1,8 @@
|
|
|
1
|
+
import { ViewMode } from "../../../enum/view.mode.js";
|
|
1
2
|
import { dispatchClick, dispatchComplete } from "./events.js";
|
|
2
3
|
import { turnToFloorplanView } from "./logic.js";
|
|
3
4
|
function handleFloorplanClick(host, e) {
|
|
4
|
-
if (!host.buttonEnabled || host.
|
|
5
|
+
if (!host.buttonEnabled || host.isSwitching() || host.isCurrentView()) {
|
|
5
6
|
e.preventDefault();
|
|
6
7
|
e.stopPropagation();
|
|
7
8
|
return;
|
|
@@ -10,11 +11,34 @@ function handleFloorplanClick(host, e) {
|
|
|
10
11
|
if (!host.qspace) {
|
|
11
12
|
return;
|
|
12
13
|
}
|
|
14
|
+
host.setSwitching(true);
|
|
13
15
|
turnToFloorplanView(host.qspace, () => {
|
|
14
16
|
dispatchComplete(host, e);
|
|
17
|
+
host.setSwitching(false);
|
|
18
|
+
host.setCurrentView(true);
|
|
15
19
|
});
|
|
16
20
|
}
|
|
21
|
+
function handelViewModeChange(host, mode) {
|
|
22
|
+
switch (mode) {
|
|
23
|
+
case ViewMode.Transitioning:
|
|
24
|
+
host.setSwitching(true);
|
|
25
|
+
break;
|
|
26
|
+
case ViewMode.Floorplan:
|
|
27
|
+
host.setSwitching(false);
|
|
28
|
+
host.setCurrentView(true);
|
|
29
|
+
break;
|
|
30
|
+
case ViewMode.Dollhouse:
|
|
31
|
+
host.setSwitching(false);
|
|
32
|
+
host.setCurrentView(false);
|
|
33
|
+
break;
|
|
34
|
+
case ViewMode.Panorama:
|
|
35
|
+
host.setSwitching(false);
|
|
36
|
+
host.setCurrentView(false);
|
|
37
|
+
break;
|
|
38
|
+
}
|
|
39
|
+
}
|
|
17
40
|
export {
|
|
41
|
+
handelViewModeChange,
|
|
18
42
|
handleFloorplanClick
|
|
19
43
|
};
|
|
20
44
|
//# sourceMappingURL=interaction.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"interaction.js","sources":["../../../../src/components/common/lit-switch-floorplan-view/interaction.ts"],"sourcesContent":["/*\n * @Author: ncz\n * @Date: 2026-05-30\n * @Description: lit-switch-floorplan-view 点击交互流程\n */\n\nimport { dispatchClick, dispatchComplete } from './events.js'\
|
|
1
|
+
{"version":3,"file":"interaction.js","sources":["../../../../src/components/common/lit-switch-floorplan-view/interaction.ts"],"sourcesContent":["/*\n * @Author: ncz\n * @Date: 2026-05-30\n * @Description: lit-switch-floorplan-view 点击交互流程\n */\n\nimport { ViewMode } from '@/enum/view.mode'\nimport { dispatchClick, dispatchComplete } from './events.js'\nimport { turnToFloorplanView } from './logic.js'\n\nexport type FloorplanViewHost = HTMLElement & {\n\n qspace: any\n buttonEnabled: boolean\n setSwitching: (value: boolean) => void\n isSwitching: () => boolean\n setCurrentView: (value: boolean) => void\n isCurrentView: () => boolean\n\n}\n\nexport function handleFloorplanClick(host: FloorplanViewHost, e: Event) {\n\n if (!host.buttonEnabled || host.isSwitching() || host.isCurrentView()) {\n\n e.preventDefault()\n e.stopPropagation()\n\n return\n\n }\n\n dispatchClick(host, e)\n\n if (!host.qspace) {\n\n return\n\n }\n\n host.setSwitching(true)\n\n turnToFloorplanView(host.qspace, () => {\n\n dispatchComplete(host, e)\n host.setSwitching(false)\n host.setCurrentView(true)\n\n })\n\n}\n\nexport function handelViewModeChange(host: FloorplanViewHost, mode: string) {\n\n // console.log('on mode change', mode);\n\n switch (mode) {\n\n case ViewMode.Transitioning:\n host.setSwitching(true)\n break\n\n case ViewMode.Floorplan:\n host.setSwitching(false)\n host.setCurrentView(true)\n break\n\n case ViewMode.Dollhouse:\n host.setSwitching(false)\n host.setCurrentView(false)\n break\n\n case ViewMode.Panorama:\n host.setSwitching(false)\n host.setCurrentView(false)\n break\n\n default:\n break\n\n }\n\n}\n"],"names":[],"mappings":";;;AAqBO,SAAS,qBAAqB,MAAyB,GAAU;AAEtE,MAAI,CAAC,KAAK,iBAAiB,KAAK,iBAAiB,KAAK,iBAAiB;AAErE,MAAE,eAAA;AACF,MAAE,gBAAA;AAEF;AAAA,EAEF;AAEA,gBAAc,MAAM,CAAC;AAErB,MAAI,CAAC,KAAK,QAAQ;AAEhB;AAAA,EAEF;AAEA,OAAK,aAAa,IAAI;AAEtB,sBAAoB,KAAK,QAAQ,MAAM;AAErC,qBAAiB,MAAM,CAAC;AACxB,SAAK,aAAa,KAAK;AACvB,SAAK,eAAe,IAAI;AAAA,EAE1B,CAAC;AAEH;AAEO,SAAS,qBAAqB,MAAyB,MAAc;AAI1E,UAAQ,MAAA;AAAA,IAEN,KAAK,SAAS;AACZ,WAAK,aAAa,IAAI;AACtB;AAAA,IAEF,KAAK,SAAS;AACZ,WAAK,aAAa,KAAK;AACvB,WAAK,eAAe,IAAI;AACxB;AAAA,IAEF,KAAK,SAAS;AACZ,WAAK,aAAa,KAAK;AACvB,WAAK,eAAe,KAAK;AACzB;AAAA,IAEF,KAAK,SAAS;AACZ,WAAK,aAAa,KAAK;AACvB,WAAK,eAAe,KAAK;AACzB;AAAA,EAGA;AAIN;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"logic.js","sources":["../../../../src/components/common/lit-switch-floorplan-view/logic.ts"],"sourcesContent":["/*\n * @Author: ncz\n * @Date: 2026-05-30\n * @Description: lit-switch-floorplan-view qspace 视图切换逻辑\n */\n\nexport function turnToFloorplanView(qspace: any, complete: () => void) {\
|
|
1
|
+
{"version":3,"file":"logic.js","sources":["../../../../src/components/common/lit-switch-floorplan-view/logic.ts"],"sourcesContent":["/*\n * @Author: ncz\n * @Date: 2026-05-30\n * @Description: lit-switch-floorplan-view qspace 视图切换逻辑\n */\n\nexport function turnToFloorplanView(qspace: any, complete: () => void) {\n\n qspace.view.turnToFloorplan({ complete })\n\n}\n"],"names":[],"mappings":"AAMO,SAAS,oBAAoB,QAAa,UAAsB;AAErE,SAAO,KAAK,gBAAgB,EAAE,SAAA,CAAU;AAE1C;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"styles.d.ts","sourceRoot":"","sources":["../../../../src/components/common/lit-switch-floorplan-view/styles.ts"],"names":[],"mappings":"AASA,eAAO,MAAM,MAAM,
|
|
1
|
+
{"version":3,"file":"styles.d.ts","sourceRoot":"","sources":["../../../../src/components/common/lit-switch-floorplan-view/styles.ts"],"names":[],"mappings":"AASA,eAAO,MAAM,MAAM,yBAgClB,CAAA"}
|
|
@@ -5,10 +5,6 @@ const styles = css`
|
|
|
5
5
|
display: inline-block;
|
|
6
6
|
}
|
|
7
7
|
|
|
8
|
-
:host([active]) {
|
|
9
|
-
display: none;
|
|
10
|
-
}
|
|
11
|
-
|
|
12
8
|
.mode-item {
|
|
13
9
|
box-sizing: border-box;
|
|
14
10
|
width: 26px;
|
|
@@ -25,13 +21,15 @@ const styles = css`
|
|
|
25
21
|
}
|
|
26
22
|
|
|
27
23
|
:host(:not([button-enabled])),
|
|
28
|
-
:host([switching])
|
|
24
|
+
:host([switching]),
|
|
25
|
+
:host([current-view]) {
|
|
29
26
|
pointer-events: none;
|
|
30
27
|
opacity: 0.5;
|
|
31
28
|
}
|
|
32
29
|
|
|
33
30
|
:host(:not([button-enabled])) .mode-item,
|
|
34
|
-
:host([switching]) .mode-item
|
|
31
|
+
:host([switching]) .mode-item,
|
|
32
|
+
:host([current-view]) .mode-item {
|
|
35
33
|
cursor: not-allowed;
|
|
36
34
|
}
|
|
37
35
|
`;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"styles.js","sources":["../../../../src/components/common/lit-switch-floorplan-view/styles.ts"],"sourcesContent":["/*\r\n * @Author: ncz\r\n * @Date: 2026-05-30\r\n * @Description: lit-switch-floorplan-view 样式\r\n */\r\n\r\nimport { css, unsafeCSS } from 'lit'\r\nimport iconUrl from './assets/icon.png?url'\r\n\r\nexport const styles = css`\r\n :host {\r\n display: inline-block;\r\n }\r\n\r\n
|
|
1
|
+
{"version":3,"file":"styles.js","sources":["../../../../src/components/common/lit-switch-floorplan-view/styles.ts"],"sourcesContent":["/*\r\n * @Author: ncz\r\n * @Date: 2026-05-30\r\n * @Description: lit-switch-floorplan-view 样式\r\n */\r\n\r\nimport { css, unsafeCSS } from 'lit'\r\nimport iconUrl from './assets/icon.png?url'\r\n\r\nexport const styles = css`\r\n :host {\r\n display: inline-block;\r\n }\r\n\r\n .mode-item {\r\n box-sizing: border-box;\r\n width: 26px;\r\n height: 26px;\r\n background-repeat: no-repeat;\r\n background-size: 26px 26px;\r\n background-position: center;\r\n cursor: pointer;\r\n }\r\n\r\n .mode-item.floorplan {\r\n background-color: rgba(255, 0, 0, 0.4);\r\n background-image: var(--lit-mode-floorplan-icon, url(${unsafeCSS(iconUrl)}));\r\n }\r\n\r\n :host(:not([button-enabled])),\r\n :host([switching]),\r\n :host([current-view]) {\r\n pointer-events: none;\r\n opacity: 0.5;\r\n }\r\n\r\n :host(:not([button-enabled])) .mode-item,\r\n :host([switching]) .mode-item,\r\n :host([current-view]) .mode-item {\r\n cursor: not-allowed;\r\n }\r\n`\r\n"],"names":[],"mappings":";;AASO,MAAM,SAAS;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,2DAiBqC,UAAU,OAAO,CAAC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"constants.js","sources":["../../../../src/components/common/lit-switch-panorama-view/constants.ts"],"sourcesContent":["/*\n * @Author: ncz\n * @Date: 2026-05-30\n * @Description: lit-switch-panorama-view 常量(标签、事件名、CSS 变量)\n */\n\nexport const TAG = 'lit-switch-panorama-view' as const\
|
|
1
|
+
{"version":3,"file":"constants.js","sources":["../../../../src/components/common/lit-switch-panorama-view/constants.ts"],"sourcesContent":["/*\n * @Author: ncz\n * @Date: 2026-05-30\n * @Description: lit-switch-panorama-view 常量(标签、事件名、CSS 变量)\n */\n\nexport const TAG = 'lit-switch-panorama-view' as const\n\nexport const VIEW = 'panorama' as const\n\nexport const ICON_CSS_VAR = '--lit-mode-panorama-icon' as const\n\nexport const CLICK_EVENT = 'lit-switch-panorama-click' as const\n\nexport const COMPLETE_EVENT = 'lit-switch-panorama-complete' as const\n"],"names":[],"mappings":"AAMO,MAAM,MAAM;AAEZ,MAAM,OAAO;AAIb,MAAM,cAAc;AAEpB,MAAM,iBAAiB;"}
|
|
@@ -1,14 +1,55 @@
|
|
|
1
|
-
import { LitElement } from 'lit';
|
|
1
|
+
import { LitElement, PropertyValues } from 'lit';
|
|
2
2
|
import { TAG } from './constants.js';
|
|
3
|
-
|
|
3
|
+
import { type PanoramaSwitchOption } from './properties.js';
|
|
4
|
+
/** 切换到 panorama 视图;qspace 须由宿主通过 :qspace 传入 */
|
|
4
5
|
export declare class LitSwitchPanoramaView extends LitElement {
|
|
6
|
+
/** qspace SDK 实例;仅 JS 属性绑定,不映射 HTML attribute(对象无法序列化) */
|
|
5
7
|
qspace: any;
|
|
8
|
+
/**
|
|
9
|
+
* 是否允许点击;默认 false,场景就绪后由宿主设为 true
|
|
10
|
+
* HTML: button-enabled / Vue: :button-enabled
|
|
11
|
+
*/
|
|
6
12
|
buttonEnabled: boolean;
|
|
7
|
-
|
|
8
|
-
|
|
13
|
+
/**
|
|
14
|
+
* 切换全景视图参数;仅 JS 属性绑定
|
|
15
|
+
* Vue: :option="{ locationId, quaternion }"
|
|
16
|
+
*/
|
|
17
|
+
option: PanoramaSwitchOption | null;
|
|
18
|
+
/** 切换进行中(内部状态);调用 qspace 前禁用,complete 后恢复 */
|
|
19
|
+
private _switching;
|
|
20
|
+
/** 切换完成后禁用当前按钮,避免重复切换 */
|
|
21
|
+
private _isCurrentView;
|
|
22
|
+
setSwitching(value: boolean): void;
|
|
23
|
+
isSwitching(): boolean;
|
|
24
|
+
setCurrentView(value: boolean): void;
|
|
25
|
+
isCurrentView(): boolean;
|
|
9
26
|
static styles: import("lit").CSSResult;
|
|
10
27
|
private _onClick;
|
|
28
|
+
private _onViewModeChange;
|
|
29
|
+
/**
|
|
30
|
+
* 渲染模板
|
|
31
|
+
*/
|
|
11
32
|
render(): import("lit-html").TemplateResult;
|
|
33
|
+
/**
|
|
34
|
+
* 组件连接生命周期
|
|
35
|
+
*/
|
|
36
|
+
connectedCallback(): void;
|
|
37
|
+
/**
|
|
38
|
+
* 组件断开生命周期
|
|
39
|
+
*/
|
|
40
|
+
disconnectedCallback(): void;
|
|
41
|
+
/**
|
|
42
|
+
* 第一次更新
|
|
43
|
+
*/
|
|
44
|
+
firstUpdated(changed: Map<string, unknown>): void;
|
|
45
|
+
/**
|
|
46
|
+
* 组件更新
|
|
47
|
+
*/
|
|
48
|
+
updated(changed: Map<string, unknown>): void;
|
|
49
|
+
/**
|
|
50
|
+
* 将要更新
|
|
51
|
+
*/
|
|
52
|
+
protected willUpdate(_changedProperties: PropertyValues): void;
|
|
12
53
|
}
|
|
13
54
|
declare global {
|
|
14
55
|
interface HTMLElementTagNameMap {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/common/lit-switch-panorama-view/index.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,UAAU,EAAE,MAAM,KAAK,CAAA;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/common/lit-switch-panorama-view/index.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,KAAK,CAAA;AAGhD,OAAO,EAAE,GAAG,EAAE,MAAM,gBAAgB,CAAA;AAEpC,OAAO,EAAe,KAAK,oBAAoB,EAAE,MAAM,iBAAiB,CAAA;AAIxE,+CAA+C;AAC/C,qBACa,qBAAsB,SAAQ,UAAU;IAEnD,0DAA0D;IAE1D,MAAM,EAAE,GAAG,CAAO;IAElB;;;OAGG;IAOH,aAAa,UAAQ;IAErB;;;OAGG;IAEH,MAAM,EAAE,oBAAoB,GAAG,IAAI,CAAO;IAE1C,6CAA6C;IAE7C,OAAO,CAAC,UAAU,CAAQ;IAE1B,yBAAyB;IAEzB,OAAO,CAAC,cAAc,CAAQ;IAE9B,YAAY,CAAC,KAAK,EAAE,OAAO;IAO3B,WAAW;IAMX,cAAc,CAAC,KAAK,EAAE,OAAO;IAO7B,aAAa;IAMb,MAAM,CAAC,MAAM,0BAAS;IAEtB,OAAO,CAAC,QAAQ,CAIf;IAED,OAAO,CAAC,iBAAiB,CAIxB;IAED;;OAEG;IACH,MAAM;IAMN;;OAEG;IACH,iBAAiB;IAUjB;;OAEG;IACH,oBAAoB;IAapB;;OAEG;IACH,YAAY,CAAC,OAAO,EAAE,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC;IAQ1C;;OAEG;IACH,OAAO,CAAC,OAAO,EAAE,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC;IAQrC;;OAEG;IACH,SAAS,CAAC,UAAU,CAAC,kBAAkB,EAAE,cAAc,GAAG,IAAI;CAM/D;AAED,OAAO,CAAC,MAAM,CAAC;IAEb,UAAU,qBAAqB;QAE7B,CAAC,GAAG,CAAC,EAAE,qBAAqB,CAAA;KAE7B;CAEF"}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { LitElement } from "lit";
|
|
2
|
-
import { property } from "lit/decorators.js";
|
|
2
|
+
import { property, state } from "lit/decorators.js";
|
|
3
3
|
import { safeCustomElement } from "../../../utils/define-lit-element.js";
|
|
4
4
|
import { TAG } from "./constants.js";
|
|
5
|
-
import { handlePanoramaClick } from "./interaction.js";
|
|
5
|
+
import { handlePanoramaClick, handelViewModeChange } from "./interaction.js";
|
|
6
6
|
import { booleanAttr } from "./properties.js";
|
|
7
7
|
import { styles } from "./styles.js";
|
|
8
8
|
import { renderPanoramaView } from "./template.js";
|
|
@@ -21,15 +21,69 @@ let LitSwitchPanoramaView = class extends LitElement {
|
|
|
21
21
|
super(...arguments);
|
|
22
22
|
this.qspace = null;
|
|
23
23
|
this.buttonEnabled = false;
|
|
24
|
-
this.
|
|
25
|
-
this.
|
|
24
|
+
this.option = null;
|
|
25
|
+
this._switching = false;
|
|
26
|
+
this._isCurrentView = false;
|
|
26
27
|
this._onClick = (e) => {
|
|
27
28
|
handlePanoramaClick(this, e);
|
|
28
29
|
};
|
|
30
|
+
this._onViewModeChange = (mode) => {
|
|
31
|
+
handelViewModeChange(this, mode);
|
|
32
|
+
};
|
|
33
|
+
}
|
|
34
|
+
setSwitching(value) {
|
|
35
|
+
this._switching = value;
|
|
36
|
+
this.toggleAttribute("switching", value);
|
|
37
|
+
}
|
|
38
|
+
isSwitching() {
|
|
39
|
+
return this._switching;
|
|
29
40
|
}
|
|
41
|
+
setCurrentView(value) {
|
|
42
|
+
this._isCurrentView = value;
|
|
43
|
+
this.toggleAttribute("current-view", value);
|
|
44
|
+
}
|
|
45
|
+
isCurrentView() {
|
|
46
|
+
return this._isCurrentView;
|
|
47
|
+
}
|
|
48
|
+
/**
|
|
49
|
+
* 渲染模板
|
|
50
|
+
*/
|
|
30
51
|
render() {
|
|
31
52
|
return renderPanoramaView(this._onClick);
|
|
32
53
|
}
|
|
54
|
+
/**
|
|
55
|
+
* 组件连接生命周期
|
|
56
|
+
*/
|
|
57
|
+
connectedCallback() {
|
|
58
|
+
this.qspace.view.addEventListener("mode.change", this._onViewModeChange);
|
|
59
|
+
super.connectedCallback();
|
|
60
|
+
}
|
|
61
|
+
/**
|
|
62
|
+
* 组件断开生命周期
|
|
63
|
+
*/
|
|
64
|
+
disconnectedCallback() {
|
|
65
|
+
this.setSwitching(false);
|
|
66
|
+
this.setCurrentView(false);
|
|
67
|
+
this.qspace.view.removeEventListener("mode.change", this._onViewModeChange);
|
|
68
|
+
super.disconnectedCallback();
|
|
69
|
+
}
|
|
70
|
+
/**
|
|
71
|
+
* 第一次更新
|
|
72
|
+
*/
|
|
73
|
+
firstUpdated(changed) {
|
|
74
|
+
super.firstUpdated(changed);
|
|
75
|
+
}
|
|
76
|
+
/**
|
|
77
|
+
* 组件更新
|
|
78
|
+
*/
|
|
79
|
+
updated(changed) {
|
|
80
|
+
super.updated(changed);
|
|
81
|
+
}
|
|
82
|
+
/**
|
|
83
|
+
* 将要更新
|
|
84
|
+
*/
|
|
85
|
+
willUpdate(_changedProperties) {
|
|
86
|
+
}
|
|
33
87
|
};
|
|
34
88
|
LitSwitchPanoramaView.styles = styles;
|
|
35
89
|
__decorateClass([
|
|
@@ -44,11 +98,14 @@ __decorateClass([
|
|
|
44
98
|
})
|
|
45
99
|
], LitSwitchPanoramaView.prototype, "buttonEnabled", 2);
|
|
46
100
|
__decorateClass([
|
|
47
|
-
property({
|
|
48
|
-
], LitSwitchPanoramaView.prototype, "
|
|
101
|
+
property({ attribute: false })
|
|
102
|
+
], LitSwitchPanoramaView.prototype, "option", 2);
|
|
103
|
+
__decorateClass([
|
|
104
|
+
state()
|
|
105
|
+
], LitSwitchPanoramaView.prototype, "_switching", 2);
|
|
49
106
|
__decorateClass([
|
|
50
|
-
|
|
51
|
-
], LitSwitchPanoramaView.prototype, "
|
|
107
|
+
state()
|
|
108
|
+
], LitSwitchPanoramaView.prototype, "_isCurrentView", 2);
|
|
52
109
|
LitSwitchPanoramaView = __decorateClass([
|
|
53
110
|
safeCustomElement(TAG)
|
|
54
111
|
], LitSwitchPanoramaView);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../../../../src/components/common/lit-switch-panorama-view/index.ts"],"sourcesContent":["/*\r\n * @Author: ncz\r\n * @Date: 2026-05-30\r\n * @Description: lit-switch-panorama-view 组件注册与属性声明\r\n */\r\n\r\nimport { LitElement } from 'lit'\r\nimport { property } from 'lit/decorators.js'\r\nimport { safeCustomElement } from '../../../utils/define-lit-element.js'\r\nimport { TAG } from './constants.js'\r\nimport { handlePanoramaClick } from './interaction.js'\r\nimport { booleanAttr } from './properties.js'\r\nimport { styles } from './styles.js'\r\nimport { renderPanoramaView } from './template.js'\r\n\r\n/** 切换到 panorama 视图;qspace 须由宿主通过 :qspace
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../../../src/components/common/lit-switch-panorama-view/index.ts"],"sourcesContent":["/*\r\n * @Author: ncz\r\n * @Date: 2026-05-30\r\n * @Description: lit-switch-panorama-view 组件注册与属性声明\r\n */\r\n\r\nimport { LitElement, PropertyValues } from 'lit'\r\nimport { property, state } from 'lit/decorators.js'\r\nimport { safeCustomElement } from '../../../utils/define-lit-element.js'\r\nimport { TAG } from './constants.js'\r\nimport { handlePanoramaClick, handelViewModeChange } from './interaction.js'\r\nimport { booleanAttr, type PanoramaSwitchOption } from './properties.js'\r\nimport { styles } from './styles.js'\r\nimport { renderPanoramaView } from './template.js'\r\n\r\n/** 切换到 panorama 视图;qspace 须由宿主通过 :qspace 传入 */\r\n@safeCustomElement(TAG)\r\nexport class LitSwitchPanoramaView extends LitElement {\r\n\r\n /** qspace SDK 实例;仅 JS 属性绑定,不映射 HTML attribute(对象无法序列化) */\r\n @property({ attribute: false })\r\n qspace: any = null\r\n\r\n /**\r\n * 是否允许点击;默认 false,场景就绪后由宿主设为 true\r\n * HTML: button-enabled / Vue: :button-enabled\r\n */\r\n @property({\r\n type: Boolean,\r\n attribute: 'button-enabled',\r\n reflect: true,\r\n converter: booleanAttr,\r\n })\r\n buttonEnabled = false\r\n\r\n /**\r\n * 切换全景视图参数;仅 JS 属性绑定\r\n * Vue: :option=\"{ locationId, quaternion }\"\r\n */\r\n @property({ attribute: false })\r\n option: PanoramaSwitchOption | null = null\r\n\r\n /** 切换进行中(内部状态);调用 qspace 前禁用,complete 后恢复 */\r\n @state()\r\n private _switching = false\r\n\r\n /** 切换完成后禁用当前按钮,避免重复切换 */\r\n @state()\r\n private _isCurrentView = false\r\n\r\n setSwitching(value: boolean) {\r\n\r\n this._switching = value\r\n this.toggleAttribute('switching', value)\r\n\r\n }\r\n\r\n isSwitching() {\r\n\r\n return this._switching\r\n\r\n }\r\n\r\n setCurrentView(value: boolean) {\r\n\r\n this._isCurrentView = value\r\n this.toggleAttribute('current-view', value)\r\n\r\n }\r\n\r\n isCurrentView() {\r\n\r\n return this._isCurrentView\r\n\r\n }\r\n\r\n static styles = styles\r\n\r\n private _onClick = (e: Event) => {\r\n\r\n handlePanoramaClick(this, e)\r\n\r\n }\r\n\r\n private _onViewModeChange = (mode: string) => {\r\n\r\n handelViewModeChange(this, mode);\r\n\r\n }\r\n\r\n /**\r\n * 渲染模板\r\n */\r\n render() {\r\n\r\n return renderPanoramaView(this._onClick)\r\n\r\n }\r\n\r\n /**\r\n * 组件连接生命周期\r\n */\r\n connectedCallback() {\r\n\r\n // console.log('connectedCallback', this);\r\n\r\n this.qspace.view.addEventListener('mode.change', this._onViewModeChange);\r\n\r\n super.connectedCallback()\r\n\r\n }\r\n\r\n /**\r\n * 组件断开生命周期\r\n */\r\n disconnectedCallback() {\r\n\r\n // console.log('disconnectedCallback', this);\r\n\r\n this.setSwitching(false)\r\n this.setCurrentView(false)\r\n\r\n this.qspace.view.removeEventListener('mode.change', this._onViewModeChange);\r\n\r\n super.disconnectedCallback()\r\n\r\n }\r\n\r\n /**\r\n * 第一次更新\r\n */\r\n firstUpdated(changed: Map<string, unknown>) {\r\n\r\n // console.log('firstUpdated', this, changed);\r\n\r\n super.firstUpdated(changed)\r\n\r\n }\r\n\r\n /**\r\n * 组件更新\r\n */\r\n updated(changed: Map<string, unknown>) {\r\n\r\n // console.log('updated', this, changed);\r\n\r\n super.updated(changed)\r\n\r\n }\r\n\r\n /**\r\n * 将要更新\r\n */\r\n protected willUpdate(_changedProperties: PropertyValues): void {\r\n\r\n // console.log('willUpdate', this, _changedProperties);\r\n\r\n }\r\n\r\n}\r\n\r\ndeclare global {\r\n\r\n interface HTMLElementTagNameMap {\r\n\r\n [TAG]: LitSwitchPanoramaView\r\n\r\n }\r\n\r\n}\r\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;AAiBO,IAAM,wBAAN,cAAoC,WAAW;AAAA,EAA/C,cAAA;AAAA,UAAA,GAAA,SAAA;AAIL,SAAA,SAAc;AAYd,SAAA,gBAAgB;AAOhB,SAAA,SAAsC;AAItC,SAAQ,aAAa;AAIrB,SAAQ,iBAAiB;AA8BzB,SAAQ,WAAW,CAAC,MAAa;AAE/B,0BAAoB,MAAM,CAAC;AAAA,IAE7B;AAEA,SAAQ,oBAAoB,CAAC,SAAiB;AAE5C,2BAAqB,MAAM,IAAI;AAAA,IAEjC;AAAA,EAAA;AAAA,EAtCA,aAAa,OAAgB;AAE3B,SAAK,aAAa;AAClB,SAAK,gBAAgB,aAAa,KAAK;AAAA,EAEzC;AAAA,EAEA,cAAc;AAEZ,WAAO,KAAK;AAAA,EAEd;AAAA,EAEA,eAAe,OAAgB;AAE7B,SAAK,iBAAiB;AACtB,SAAK,gBAAgB,gBAAgB,KAAK;AAAA,EAE5C;AAAA,EAEA,gBAAgB;AAEd,WAAO,KAAK;AAAA,EAEd;AAAA;AAAA;AAAA;AAAA,EAmBA,SAAS;AAEP,WAAO,mBAAmB,KAAK,QAAQ;AAAA,EAEzC;AAAA;AAAA;AAAA;AAAA,EAKA,oBAAoB;AAIlB,SAAK,OAAO,KAAK,iBAAiB,eAAe,KAAK,iBAAiB;AAEvE,UAAM,kBAAA;AAAA,EAER;AAAA;AAAA;AAAA;AAAA,EAKA,uBAAuB;AAIrB,SAAK,aAAa,KAAK;AACvB,SAAK,eAAe,KAAK;AAEzB,SAAK,OAAO,KAAK,oBAAoB,eAAe,KAAK,iBAAiB;AAE1E,UAAM,qBAAA;AAAA,EAER;AAAA;AAAA;AAAA;AAAA,EAKA,aAAa,SAA+B;AAI1C,UAAM,aAAa,OAAO;AAAA,EAE5B;AAAA;AAAA;AAAA;AAAA,EAKA,QAAQ,SAA+B;AAIrC,UAAM,QAAQ,OAAO;AAAA,EAEvB;AAAA;AAAA;AAAA;AAAA,EAKU,WAAW,oBAA0C;AAAA,EAI/D;AAEF;AA9Ia,sBA2DJ,SAAS;AAvDhB,gBAAA;AAAA,EADC,SAAS,EAAE,WAAW,MAAA,CAAO;AAAA,GAHnB,sBAIX,WAAA,UAAA,CAAA;AAYA,gBAAA;AAAA,EANC,SAAS;AAAA,IACR,MAAM;AAAA,IACN,WAAW;AAAA,IACX,SAAS;AAAA,IACT,WAAW;AAAA,EAAA,CACZ;AAAA,GAfU,sBAgBX,WAAA,iBAAA,CAAA;AAOA,gBAAA;AAAA,EADC,SAAS,EAAE,WAAW,MAAA,CAAO;AAAA,GAtBnB,sBAuBX,WAAA,UAAA,CAAA;AAIQ,gBAAA;AAAA,EADP,MAAA;AAAM,GA1BI,sBA2BH,WAAA,cAAA,CAAA;AAIA,gBAAA;AAAA,EADP,MAAA;AAAM,GA9BI,sBA+BH,WAAA,kBAAA,CAAA;AA/BG,wBAAN,gBAAA;AAAA,EADN,kBAAkB,GAAG;AAAA,GACT,qBAAA;"}
|
|
@@ -1,8 +1,14 @@
|
|
|
1
|
+
import type { PanoramaSwitchOption } from './properties.js';
|
|
1
2
|
export type PanoramaViewHost = HTMLElement & {
|
|
2
3
|
qspace: any;
|
|
4
|
+
option: PanoramaSwitchOption | null;
|
|
3
5
|
buttonEnabled: boolean;
|
|
4
|
-
|
|
6
|
+
setSwitching: (value: boolean) => void;
|
|
7
|
+
isSwitching: () => boolean;
|
|
8
|
+
setCurrentView: (value: boolean) => void;
|
|
9
|
+
isCurrentView: () => boolean;
|
|
5
10
|
};
|
|
6
11
|
/** 点击交互:校验 → 派发 click → 执行 qspace 切换 → 派发 complete */
|
|
7
12
|
export declare function handlePanoramaClick(host: PanoramaViewHost, e: Event): void;
|
|
13
|
+
export declare function handelViewModeChange(host: PanoramaViewHost, mode: string): void;
|
|
8
14
|
//# sourceMappingURL=interaction.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"interaction.d.ts","sourceRoot":"","sources":["../../../../src/components/common/lit-switch-panorama-view/interaction.ts"],"names":[],"mappings":"AASA,MAAM,MAAM,gBAAgB,GAAG,WAAW,GAAG;IAE3C,MAAM,EAAE,GAAG,CAAA;IACX,aAAa,EAAE,OAAO,CAAA;IACtB,
|
|
1
|
+
{"version":3,"file":"interaction.d.ts","sourceRoot":"","sources":["../../../../src/components/common/lit-switch-panorama-view/interaction.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,iBAAiB,CAAA;AAE3D,MAAM,MAAM,gBAAgB,GAAG,WAAW,GAAG;IAE3C,MAAM,EAAE,GAAG,CAAA;IACX,MAAM,EAAE,oBAAoB,GAAG,IAAI,CAAA;IACnC,aAAa,EAAE,OAAO,CAAA;IACtB,YAAY,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,CAAA;IACtC,WAAW,EAAE,MAAM,OAAO,CAAA;IAC1B,cAAc,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,CAAA;IACxC,aAAa,EAAE,MAAM,OAAO,CAAA;CAE7B,CAAA;AAED,sDAAsD;AACtD,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,gBAAgB,EAAE,CAAC,EAAE,KAAK,QA8BnE;AAED,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,gBAAgB,EAAE,IAAI,EAAE,MAAM,QA8BxE"}
|
|
@@ -1,7 +1,8 @@
|
|
|
1
|
+
import { ViewMode } from "../../../enum/view.mode.js";
|
|
1
2
|
import { dispatchClick, dispatchComplete } from "./events.js";
|
|
2
3
|
import { turnToPanoramaView } from "./logic.js";
|
|
3
4
|
function handlePanoramaClick(host, e) {
|
|
4
|
-
if (!host.buttonEnabled || host.
|
|
5
|
+
if (!host.buttonEnabled || host.isSwitching() || host.isCurrentView()) {
|
|
5
6
|
e.preventDefault();
|
|
6
7
|
e.stopPropagation();
|
|
7
8
|
return;
|
|
@@ -10,11 +11,34 @@ function handlePanoramaClick(host, e) {
|
|
|
10
11
|
if (!host.qspace) {
|
|
11
12
|
return;
|
|
12
13
|
}
|
|
13
|
-
|
|
14
|
+
host.setSwitching(true);
|
|
15
|
+
turnToPanoramaView(host.qspace, host.option, () => {
|
|
14
16
|
dispatchComplete(host, e);
|
|
17
|
+
host.setSwitching(false);
|
|
18
|
+
host.setCurrentView(true);
|
|
15
19
|
});
|
|
16
20
|
}
|
|
21
|
+
function handelViewModeChange(host, mode) {
|
|
22
|
+
switch (mode) {
|
|
23
|
+
case ViewMode.Transitioning:
|
|
24
|
+
host.setSwitching(true);
|
|
25
|
+
break;
|
|
26
|
+
case ViewMode.Panorama:
|
|
27
|
+
host.setSwitching(false);
|
|
28
|
+
host.setCurrentView(true);
|
|
29
|
+
break;
|
|
30
|
+
case ViewMode.Dollhouse:
|
|
31
|
+
host.setSwitching(false);
|
|
32
|
+
host.setCurrentView(false);
|
|
33
|
+
break;
|
|
34
|
+
case ViewMode.Floorplan:
|
|
35
|
+
host.setSwitching(false);
|
|
36
|
+
host.setCurrentView(false);
|
|
37
|
+
break;
|
|
38
|
+
}
|
|
39
|
+
}
|
|
17
40
|
export {
|
|
41
|
+
handelViewModeChange,
|
|
18
42
|
handlePanoramaClick
|
|
19
43
|
};
|
|
20
44
|
//# sourceMappingURL=interaction.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"interaction.js","sources":["../../../../src/components/common/lit-switch-panorama-view/interaction.ts"],"sourcesContent":["/*\n * @Author: ncz\n * @Date: 2026-05-30\n * @Description: lit-switch-panorama-view 点击交互流程\n */\n\nimport { dispatchClick, dispatchComplete } from './events.js'\
|
|
1
|
+
{"version":3,"file":"interaction.js","sources":["../../../../src/components/common/lit-switch-panorama-view/interaction.ts"],"sourcesContent":["/*\n * @Author: ncz\n * @Date: 2026-05-30\n * @Description: lit-switch-panorama-view 点击交互流程\n */\n\nimport { ViewMode } from '@/enum/view.mode'\nimport { dispatchClick, dispatchComplete } from './events.js'\nimport { turnToPanoramaView } from './logic.js'\nimport type { PanoramaSwitchOption } from './properties.js'\n\nexport type PanoramaViewHost = HTMLElement & {\n\n qspace: any\n option: PanoramaSwitchOption | null\n buttonEnabled: boolean\n setSwitching: (value: boolean) => void\n isSwitching: () => boolean\n setCurrentView: (value: boolean) => void\n isCurrentView: () => boolean\n\n}\n\n/** 点击交互:校验 → 派发 click → 执行 qspace 切换 → 派发 complete */\nexport function handlePanoramaClick(host: PanoramaViewHost, e: Event) {\n\n if (!host.buttonEnabled || host.isSwitching() || host.isCurrentView()) {\n\n e.preventDefault()\n e.stopPropagation()\n\n return\n\n }\n\n dispatchClick(host, e)\n\n if (!host.qspace) {\n\n return\n\n }\n\n host.setSwitching(true)\n\n turnToPanoramaView(host.qspace, host.option, () => {\n\n dispatchComplete(host, e)\n\n host.setSwitching(false)\n host.setCurrentView(true)\n\n })\n\n}\n\nexport function handelViewModeChange(host: PanoramaViewHost, mode: string) {\n\n // console.log('on mode change', mode);\n\n switch (mode) {\n\n case ViewMode.Transitioning:\n host.setSwitching(true)\n break\n\n case ViewMode.Panorama:\n host.setSwitching(false)\n host.setCurrentView(true)\n break\n\n case ViewMode.Dollhouse:\n host.setSwitching(false)\n host.setCurrentView(false)\n break\n\n case ViewMode.Floorplan:\n host.setSwitching(false)\n host.setCurrentView(false)\n break\n\n default:\n break\n\n }\n\n}\n"],"names":[],"mappings":";;;AAwBO,SAAS,oBAAoB,MAAwB,GAAU;AAEpE,MAAI,CAAC,KAAK,iBAAiB,KAAK,iBAAiB,KAAK,iBAAiB;AAErE,MAAE,eAAA;AACF,MAAE,gBAAA;AAEF;AAAA,EAEF;AAEA,gBAAc,MAAM,CAAC;AAErB,MAAI,CAAC,KAAK,QAAQ;AAEhB;AAAA,EAEF;AAEA,OAAK,aAAa,IAAI;AAEtB,qBAAmB,KAAK,QAAQ,KAAK,QAAQ,MAAM;AAEjD,qBAAiB,MAAM,CAAC;AAExB,SAAK,aAAa,KAAK;AACvB,SAAK,eAAe,IAAI;AAAA,EAE1B,CAAC;AAEH;AAEO,SAAS,qBAAqB,MAAwB,MAAc;AAIzE,UAAQ,MAAA;AAAA,IAEN,KAAK,SAAS;AACZ,WAAK,aAAa,IAAI;AACtB;AAAA,IAEF,KAAK,SAAS;AACZ,WAAK,aAAa,KAAK;AACvB,WAAK,eAAe,IAAI;AACxB;AAAA,IAEF,KAAK,SAAS;AACZ,WAAK,aAAa,KAAK;AACvB,WAAK,eAAe,KAAK;AACzB;AAAA,IAEF,KAAK,SAAS;AACZ,WAAK,aAAa,KAAK;AACvB,WAAK,eAAe,KAAK;AACzB;AAAA,EAGA;AAIN;"}
|
|
@@ -1,2 +1,3 @@
|
|
|
1
|
-
|
|
1
|
+
import type { PanoramaSwitchOption } from './properties.js';
|
|
2
|
+
export declare function turnToPanoramaView(qspace: any, option: PanoramaSwitchOption | null, complete: () => void): void;
|
|
2
3
|
//# sourceMappingURL=logic.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"logic.d.ts","sourceRoot":"","sources":["../../../../src/components/common/lit-switch-panorama-view/logic.ts"],"names":[],"mappings":"AAMA,wBAAgB,kBAAkB,
|
|
1
|
+
{"version":3,"file":"logic.d.ts","sourceRoot":"","sources":["../../../../src/components/common/lit-switch-panorama-view/logic.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,iBAAiB,CAAA;AAE3D,wBAAgB,kBAAkB,CAChC,MAAM,EAAE,GAAG,EACX,MAAM,EAAE,oBAAoB,GAAG,IAAI,EACnC,QAAQ,EAAE,MAAM,IAAI,QAkBrB"}
|
|
@@ -1,10 +1,13 @@
|
|
|
1
|
-
function turnToPanoramaView(qspace, complete) {
|
|
2
|
-
|
|
3
|
-
const
|
|
4
|
-
qspace.view.turnToPanorama({
|
|
1
|
+
function turnToPanoramaView(qspace, option, complete) {
|
|
2
|
+
const locationId = option == null ? void 0 : option.locationId;
|
|
3
|
+
const params = {
|
|
5
4
|
location_id: locationId,
|
|
6
5
|
complete
|
|
7
|
-
}
|
|
6
|
+
};
|
|
7
|
+
if (option == null ? void 0 : option.quaternion) {
|
|
8
|
+
params.quaternion = option.quaternion;
|
|
9
|
+
}
|
|
10
|
+
qspace.view.turnToPanorama(params);
|
|
8
11
|
}
|
|
9
12
|
export {
|
|
10
13
|
turnToPanoramaView
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"logic.js","sources":["../../../../src/components/common/lit-switch-panorama-view/logic.ts"],"sourcesContent":["/*\n * @Author: ncz\n * @Date: 2026-05-30\n * @Description: lit-switch-panorama-view qspace 视图切换逻辑\n */\n\nexport function turnToPanoramaView(qspace: any
|
|
1
|
+
{"version":3,"file":"logic.js","sources":["../../../../src/components/common/lit-switch-panorama-view/logic.ts"],"sourcesContent":["/*\r\n * @Author: ncz\r\n * @Date: 2026-05-30\r\n * @Description: lit-switch-panorama-view qspace 视图切换逻辑\r\n */\r\n\r\nimport type { PanoramaSwitchOption } from './properties.js'\r\n\r\nexport function turnToPanoramaView(\r\n qspace: any,\r\n option: PanoramaSwitchOption | null,\r\n complete: () => void,\r\n) {\r\n\r\n const locationId = option?.locationId;\r\n\r\n const params: Record<string, unknown> = {\r\n location_id: locationId,\r\n complete,\r\n }\r\n\r\n if (option?.quaternion) {\r\n\r\n params.quaternion = option.quaternion\r\n\r\n }\r\n\r\n qspace.view.turnToPanorama(params)\r\n\r\n}\r\n"],"names":[],"mappings":"AAQO,SAAS,mBACd,QACA,QACA,UACA;AAEA,QAAM,aAAa,iCAAQ;AAE3B,QAAM,SAAkC;AAAA,IACtC,aAAa;AAAA,IACb;AAAA,EAAA;AAGF,MAAI,iCAAQ,YAAY;AAEtB,WAAO,aAAa,OAAO;AAAA,EAE7B;AAEA,SAAO,KAAK,eAAe,MAAM;AAEnC;"}
|
|
@@ -1,3 +1,14 @@
|
|
|
1
|
+
export type PanoramaSwitchQuaternion = {
|
|
2
|
+
x: number;
|
|
3
|
+
y: number;
|
|
4
|
+
z: number;
|
|
5
|
+
w: number;
|
|
6
|
+
};
|
|
7
|
+
/** 切换全景视图参数;由宿主通过 :option 传入 */
|
|
8
|
+
export type PanoramaSwitchOption = {
|
|
9
|
+
locationId?: string;
|
|
10
|
+
quaternion?: PanoramaSwitchQuaternion;
|
|
11
|
+
};
|
|
1
12
|
export declare const booleanAttr: {
|
|
2
13
|
fromAttribute(value: string | null): boolean;
|
|
3
14
|
toAttribute(value: boolean): string | null;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"properties.d.ts","sourceRoot":"","sources":["../../../../src/components/common/lit-switch-panorama-view/properties.ts"],"names":[],"mappings":"AAMA,eAAO,MAAM,WAAW;yBACD,MAAM,GAAG,IAAI,GAAG,OAAO;uBAQzB,OAAO,GAAG,MAAM,GAAG,IAAI;CAK3C,CAAA"}
|
|
1
|
+
{"version":3,"file":"properties.d.ts","sourceRoot":"","sources":["../../../../src/components/common/lit-switch-panorama-view/properties.ts"],"names":[],"mappings":"AAMA,MAAM,MAAM,wBAAwB,GAAG;IAErC,CAAC,EAAE,MAAM,CAAA;IACT,CAAC,EAAE,MAAM,CAAA;IACT,CAAC,EAAE,MAAM,CAAA;IACT,CAAC,EAAE,MAAM,CAAA;CAEV,CAAA;AAED,gCAAgC;AAChC,MAAM,MAAM,oBAAoB,GAAG;IAEjC,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,UAAU,CAAC,EAAE,wBAAwB,CAAA;CAEtC,CAAA;AAED,eAAO,MAAM,WAAW;yBACD,MAAM,GAAG,IAAI,GAAG,OAAO;uBAQzB,OAAO,GAAG,MAAM,GAAG,IAAI;CAK3C,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"properties.js","sources":["../../../../src/components/common/lit-switch-panorama-view/properties.ts"],"sourcesContent":["/*\n * @Author: ncz\n * @Date: 2026-05-30\n * @Description: lit-switch-panorama-view
|
|
1
|
+
{"version":3,"file":"properties.js","sources":["../../../../src/components/common/lit-switch-panorama-view/properties.ts"],"sourcesContent":["/*\r\n * @Author: ncz\r\n * @Date: 2026-05-30\r\n * @Description: lit-switch-panorama-view 属性转换器与类型\r\n */\r\n\r\nexport type PanoramaSwitchQuaternion = {\r\n\r\n x: number\r\n y: number\r\n z: number\r\n w: number\r\n\r\n}\r\n\r\n/** 切换全景视图参数;由宿主通过 :option 传入 */\r\nexport type PanoramaSwitchOption = {\r\n\r\n locationId?: string\r\n quaternion?: PanoramaSwitchQuaternion\r\n\r\n}\r\n\r\nexport const booleanAttr = {\r\n fromAttribute(value: string | null): boolean {\r\n\r\n if (value === null) return false\r\n if (value === 'false' || value === '0') return false\r\n\r\n return true\r\n\r\n },\r\n toAttribute(value: boolean): string | null {\r\n\r\n return value ? '' : null\r\n\r\n },\r\n}\r\n"],"names":[],"mappings":"AAuBO,MAAM,cAAc;AAAA,EACzB,cAAc,OAA+B;AAE3C,QAAI,UAAU,KAAM,QAAO;AAC3B,QAAI,UAAU,WAAW,UAAU,IAAK,QAAO;AAE/C,WAAO;AAAA,EAET;AAAA,EACA,YAAY,OAA+B;AAEzC,WAAO,QAAQ,KAAK;AAAA,EAEtB;AACF;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"styles.d.ts","sourceRoot":"","sources":["../../../../src/components/common/lit-switch-panorama-view/styles.ts"],"names":[],"mappings":"AASA,eAAO,MAAM,MAAM,
|
|
1
|
+
{"version":3,"file":"styles.d.ts","sourceRoot":"","sources":["../../../../src/components/common/lit-switch-panorama-view/styles.ts"],"names":[],"mappings":"AASA,eAAO,MAAM,MAAM,yBAgClB,CAAA"}
|
|
@@ -5,10 +5,6 @@ const styles = css`
|
|
|
5
5
|
display: inline-block;
|
|
6
6
|
}
|
|
7
7
|
|
|
8
|
-
:host([active]) {
|
|
9
|
-
display: none;
|
|
10
|
-
}
|
|
11
|
-
|
|
12
8
|
.mode-item {
|
|
13
9
|
box-sizing: border-box;
|
|
14
10
|
width: 26px;
|
|
@@ -25,13 +21,15 @@ const styles = css`
|
|
|
25
21
|
}
|
|
26
22
|
|
|
27
23
|
:host(:not([button-enabled])),
|
|
28
|
-
:host([switching])
|
|
24
|
+
:host([switching]),
|
|
25
|
+
:host([current-view]) {
|
|
29
26
|
pointer-events: none;
|
|
30
27
|
opacity: 0.5;
|
|
31
28
|
}
|
|
32
29
|
|
|
33
30
|
:host(:not([button-enabled])) .mode-item,
|
|
34
|
-
:host([switching]) .mode-item
|
|
31
|
+
:host([switching]) .mode-item,
|
|
32
|
+
:host([current-view]) .mode-item {
|
|
35
33
|
cursor: not-allowed;
|
|
36
34
|
}
|
|
37
35
|
`;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"styles.js","sources":["../../../../src/components/common/lit-switch-panorama-view/styles.ts"],"sourcesContent":["/*\r\n * @Author: ncz\r\n * @Date: 2026-05-30\r\n * @Description: lit-switch-panorama-view 样式\r\n */\r\n\r\nimport { css, unsafeCSS } from 'lit'\r\nimport iconUrl from './assets/icon.png?url'\r\n\r\nexport const styles = css`\r\n :host {\r\n display: inline-block;\r\n }\r\n\r\n
|
|
1
|
+
{"version":3,"file":"styles.js","sources":["../../../../src/components/common/lit-switch-panorama-view/styles.ts"],"sourcesContent":["/*\r\n * @Author: ncz\r\n * @Date: 2026-05-30\r\n * @Description: lit-switch-panorama-view 样式\r\n */\r\n\r\nimport { css, unsafeCSS } from 'lit'\r\nimport iconUrl from './assets/icon.png?url'\r\n\r\nexport const styles = css`\r\n :host {\r\n display: inline-block;\r\n }\r\n\r\n .mode-item {\r\n box-sizing: border-box;\r\n width: 26px;\r\n height: 26px;\r\n background-repeat: no-repeat;\r\n background-size: 26px 26px;\r\n background-position: center;\r\n cursor: pointer;\r\n }\r\n\r\n .mode-item.panorama {\r\n background-color: rgba(255, 0, 0, 0.4);\r\n background-image: var(--lit-mode-panorama-icon, url(${unsafeCSS(iconUrl)}));\r\n }\r\n\r\n :host(:not([button-enabled])),\r\n :host([switching]),\r\n :host([current-view]) {\r\n pointer-events: none;\r\n opacity: 0.5;\r\n }\r\n\r\n :host(:not([button-enabled])) .mode-item,\r\n :host([switching]) .mode-item,\r\n :host([current-view]) .mode-item {\r\n cursor: not-allowed;\r\n }\r\n`\r\n"],"names":[],"mappings":";;AASO,MAAM,SAAS;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,0DAiBoC,UAAU,OAAO,CAAC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"view.mode.d.ts","sourceRoot":"","sources":["../../src/enum/view.mode.ts"],"names":[],"mappings":"AAKA,oBAAY,QAAQ;IAClB,SAAS,cAAc;IACvB,SAAS,cAAc;IACvB,QAAQ,aAAa;IACrB,aAAa,kBAAkB;CAChC"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
var ViewMode = /* @__PURE__ */ ((ViewMode2) => {
|
|
2
|
+
ViewMode2["Dollhouse"] = "dollhouse";
|
|
3
|
+
ViewMode2["Floorplan"] = "floorplan";
|
|
4
|
+
ViewMode2["Panorama"] = "panorama";
|
|
5
|
+
ViewMode2["Transitioning"] = "transitioning";
|
|
6
|
+
return ViewMode2;
|
|
7
|
+
})(ViewMode || {});
|
|
8
|
+
export {
|
|
9
|
+
ViewMode
|
|
10
|
+
};
|
|
11
|
+
//# sourceMappingURL=view.mode.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"view.mode.js","sources":["../../src/enum/view.mode.ts"],"sourcesContent":["/*\r\n * @Author: ncz\r\n * @Date: 2026-06-02 11:04:43\r\n * @Description: 视图模式枚举\r\n */\r\nexport enum ViewMode {\r\n Dollhouse = 'dollhouse',\r\n Floorplan = 'floorplan',\r\n Panorama = 'panorama',\r\n Transitioning = 'transitioning'\r\n}"],"names":["ViewMode"],"mappings":"AAKO,IAAK,6BAAAA,cAAL;AACLA,YAAA,WAAA,IAAY;AACZA,YAAA,WAAA,IAAY;AACZA,YAAA,UAAA,IAAW;AACXA,YAAA,eAAA,IAAgB;AAJN,SAAAA;AAAA,GAAA,YAAA,CAAA,CAAA;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"define-lit-element.js","sources":["../../src/utils/define-lit-element.ts"],"sourcesContent":["/**\
|
|
1
|
+
{"version":3,"file":"define-lit-element.js","sources":["../../src/utils/define-lit-element.ts"],"sourcesContent":["/**\n * 安全注册自定义元素:微前端多应用 / HMR 重复加载同一模块时跳过已注册标签\n */\nexport function safeCustomElement(tag: string) {\n\n return <T extends CustomElementConstructor>(\n cls: T,\n _context?: ClassDecoratorContext,\n ): T => {\n\n if (!customElements.get(tag)) {\n\n customElements.define(tag, cls)\n\n }\n\n return cls\n\n }\n\n}\n"],"names":[],"mappings":"AAGO,SAAS,kBAAkB,KAAa;AAE7C,SAAO,CACL,KACA,aACM;AAEN,QAAI,CAAC,eAAe,IAAI,GAAG,GAAG;AAE5B,qBAAe,OAAO,KAAK,GAAG;AAAA,IAEhC;AAEA,WAAO;AAAA,EAET;AAEF;"}
|