@qverse-ui/lit-components 1.0.7 → 1.0.8

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.
Files changed (25) hide show
  1. package/dist/components/common/lit-switch-dollhouse-view/index.d.ts +2 -0
  2. package/dist/components/common/lit-switch-dollhouse-view/index.d.ts.map +1 -1
  3. package/dist/components/common/lit-switch-dollhouse-view/index.js +11 -1
  4. package/dist/components/common/lit-switch-dollhouse-view/index.js.map +1 -1
  5. package/dist/components/common/lit-switch-dollhouse-view/interaction.d.ts +6 -0
  6. package/dist/components/common/lit-switch-dollhouse-view/interaction.d.ts.map +1 -1
  7. package/dist/components/common/lit-switch-dollhouse-view/interaction.js +11 -0
  8. package/dist/components/common/lit-switch-dollhouse-view/interaction.js.map +1 -1
  9. package/dist/components/common/lit-switch-floorplan-view/index.d.ts +2 -0
  10. package/dist/components/common/lit-switch-floorplan-view/index.d.ts.map +1 -1
  11. package/dist/components/common/lit-switch-floorplan-view/index.js +11 -1
  12. package/dist/components/common/lit-switch-floorplan-view/index.js.map +1 -1
  13. package/dist/components/common/lit-switch-floorplan-view/interaction.d.ts +4 -0
  14. package/dist/components/common/lit-switch-floorplan-view/interaction.d.ts.map +1 -1
  15. package/dist/components/common/lit-switch-floorplan-view/interaction.js +9 -0
  16. package/dist/components/common/lit-switch-floorplan-view/interaction.js.map +1 -1
  17. package/dist/components/common/lit-switch-panorama-view/index.d.ts +2 -0
  18. package/dist/components/common/lit-switch-panorama-view/index.d.ts.map +1 -1
  19. package/dist/components/common/lit-switch-panorama-view/index.js +11 -1
  20. package/dist/components/common/lit-switch-panorama-view/index.js.map +1 -1
  21. package/dist/components/common/lit-switch-panorama-view/interaction.d.ts +4 -0
  22. package/dist/components/common/lit-switch-panorama-view/interaction.d.ts.map +1 -1
  23. package/dist/components/common/lit-switch-panorama-view/interaction.js +9 -1
  24. package/dist/components/common/lit-switch-panorama-view/interaction.js.map +1 -1
  25. package/package.json +1 -1
@@ -14,6 +14,8 @@ export declare class LitSwitchDollhouseView extends LitElement {
14
14
  private _onClick;
15
15
  private _onCoreLoaded;
16
16
  private _onViewModeChange;
17
+ private _onSwitchWaypointStart;
18
+ private _onSwitchWaypointComplete;
17
19
  /**
18
20
  * 渲染模板
19
21
  */
@@ -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,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,OAAO,UAAQ;IAEf,UAAU,CAAC,KAAK,EAAE,OAAO;IAQzB,MAAM,CAAC,MAAM,0BAAS;IAEtB,OAAO,CAAC,QAAQ,CAIf;IAED,OAAO,CAAC,aAAa,CAIpB;IAED,OAAO,CAAC,iBAAiB,CAIxB;IAED;;OAEG;IACH,MAAM;IAMN;;OAEG;IACH,iBAAiB;IA6BjB;;OAEG;IACH,oBAAoB;IAcpB;;OAEG;IACH,YAAY,CAAC,OAAO,EAAE,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC;IAM1C;;OAEG;IACH,OAAO,CAAC,OAAO,EAAE,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC;IAMrC;;OAEG;IACH,SAAS,CAAC,UAAU,CAAC,kBAAkB,EAAE,cAAc,GAAG,IAAI;CAI/D;AAED,OAAO,CAAC,MAAM,CAAC;IAEb,UAAU,qBAAqB;QAE7B,CAAC,GAAG,CAAC,EAAE,sBAAsB,CAAA;KAE9B;CAEF"}
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,OAAO,UAAQ;IAEf,UAAU,CAAC,KAAK,EAAE,OAAO;IAQzB,MAAM,CAAC,MAAM,0BAAS;IAEtB,OAAO,CAAC,QAAQ,CAIf;IAED,OAAO,CAAC,aAAa,CAIpB;IAED,OAAO,CAAC,iBAAiB,CAIxB;IAED,OAAO,CAAC,sBAAsB,CAI7B;IAED,OAAO,CAAC,yBAAyB,CAIhC;IAED;;OAEG;IACH,MAAM;IAMN;;OAEG;IACH,iBAAiB;IAiCjB;;OAEG;IACH,oBAAoB;IAkBpB;;OAEG;IACH,YAAY,CAAC,OAAO,EAAE,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC;IAM1C;;OAEG;IACH,OAAO,CAAC,OAAO,EAAE,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC;IAMrC;;OAEG;IACH,SAAS,CAAC,UAAU,CAAC,kBAAkB,EAAE,cAAc,GAAG,IAAI;CAI/D;AAED,OAAO,CAAC,MAAM,CAAC;IAEb,UAAU,qBAAqB;QAE7B,CAAC,GAAG,CAAC,EAAE,sBAAsB,CAAA;KAE9B;CAEF"}
@@ -5,7 +5,7 @@ import { TAG } from "./constants.js";
5
5
  import { booleanAttr } from "./properties.js";
6
6
  import { styles } from "./styles.js";
7
7
  import { renderDollhouseView } from "./template.js";
8
- import { handleDollhouseClick, handelCoreLoaded, handelViewModeChange, syncEnabledFromMode } from "./interaction.js";
8
+ import { handleDollhouseClick, handelCoreLoaded, handelViewModeChange, handelWaypointStart, handelWaypointComplete, syncEnabledFromMode } from "./interaction.js";
9
9
  var __defProp = Object.defineProperty;
10
10
  var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
11
11
  var __decorateClass = (decorators, target, key, kind) => {
@@ -30,6 +30,12 @@ let LitSwitchDollhouseView = class extends LitElement {
30
30
  this._onViewModeChange = (mode) => {
31
31
  handelViewModeChange(this, mode);
32
32
  };
33
+ this._onSwitchWaypointStart = () => {
34
+ handelWaypointStart(this);
35
+ };
36
+ this._onSwitchWaypointComplete = () => {
37
+ handelWaypointComplete(this);
38
+ };
33
39
  }
34
40
  setEnabled(value) {
35
41
  this.enabled = value;
@@ -56,6 +62,8 @@ let LitSwitchDollhouseView = class extends LitElement {
56
62
  }
57
63
  this.qspace.core.addEventListener("loaded", this._onCoreLoaded);
58
64
  this.qspace.view.addEventListener("mode.change", this._onViewModeChange);
65
+ this.qspace.model.addEventListener("switch.waypoint.start", this._onSwitchWaypointStart);
66
+ this.qspace.model.addEventListener("switch.waypoint.complete", this._onSwitchWaypointComplete);
59
67
  }
60
68
  }
61
69
  /**
@@ -65,6 +73,8 @@ let LitSwitchDollhouseView = class extends LitElement {
65
73
  if (this.qspace) {
66
74
  this.qspace.core.removeEventListener("loaded", this._onCoreLoaded);
67
75
  this.qspace.view.removeEventListener("mode.change", this._onViewModeChange);
76
+ this.qspace.model.removeEventListener("switch.waypoint.start", this._onSwitchWaypointStart);
77
+ this.qspace.model.removeEventListener("switch.waypoint.complete", this._onSwitchWaypointComplete);
68
78
  }
69
79
  super.disconnectedCallback();
70
80
  }
@@ -1 +1 @@
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 } from 'lit/decorators.js'\r\nimport { safeCustomElement } from '../../../utils/define-lit-element.js'\r\nimport { TAG } from './constants.js'\r\nimport { booleanAttr } from './properties.js'\r\nimport { styles } from './styles.js'\r\nimport { renderDollhouseView } from './template.js'\r\nimport { handleDollhouseClick, handelViewModeChange, handelCoreLoaded, syncEnabledFromMode } from './interaction.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 * 是否可点击;由 core.loaded / mode.change 自动同步,宿主亦可覆盖\r\n * HTML: enabled / Vue: :enabled\r\n */\r\n @property({\r\n type: Boolean,\r\n attribute: 'enabled',\r\n reflect: true,\r\n converter: booleanAttr,\r\n })\r\n enabled = false\r\n\r\n setEnabled(value: boolean) {\r\n\r\n this.enabled = value\r\n\r\n this.toggleAttribute('enabled', value)\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 _onCoreLoaded = () => {\r\n\r\n handelCoreLoaded(this);\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 renderDollhouseView(this._onClick)\r\n\r\n }\r\n\r\n /**\r\n * 组件连接生命周期\r\n */\r\n connectedCallback() {\r\n\r\n super.connectedCallback()\r\n\r\n if (this.qspace) {\r\n\r\n if (this.qspace.view) {\r\n\r\n // 待优化\r\n try {\r\n\r\n syncEnabledFromMode(this, this.qspace.view.mode);\r\n\r\n } catch (error) {\r\n\r\n console.error(error);\r\n\r\n }\r\n\r\n }\r\n\r\n this.qspace.core.addEventListener('loaded', this._onCoreLoaded);\r\n\r\n this.qspace.view.addEventListener('mode.change', this._onViewModeChange);\r\n\r\n }\r\n\r\n }\r\n\r\n /**\r\n * 组件断开生命周期\r\n */\r\n disconnectedCallback() {\r\n\r\n if (this.qspace) {\r\n\r\n this.qspace.core.removeEventListener('loaded', this._onCoreLoaded);\r\n\r\n this.qspace.view.removeEventListener('mode.change', this._onViewModeChange);\r\n\r\n }\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 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 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 }\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,UAAU;AAYV,SAAQ,WAAW,CAAC,MAAa;AAE/B,2BAAqB,MAAM,CAAC;AAAA,IAE9B;AAEA,SAAQ,gBAAgB,MAAM;AAE5B,uBAAiB,IAAI;AAAA,IAEvB;AAEA,SAAQ,oBAAoB,CAAC,SAAiB;AAE5C,2BAAqB,MAAM,IAAI;AAAA,IAEjC;AAAA,EAAA;AAAA,EA1BA,WAAW,OAAgB;AAEzB,SAAK,UAAU;AAEf,SAAK,gBAAgB,WAAW,KAAK;AAAA,EAEvC;AAAA;AAAA;AAAA;AAAA,EAyBA,SAAS;AAEP,WAAO,oBAAoB,KAAK,QAAQ;AAAA,EAE1C;AAAA;AAAA;AAAA;AAAA,EAKA,oBAAoB;AAElB,UAAM,kBAAA;AAEN,QAAI,KAAK,QAAQ;AAEf,UAAI,KAAK,OAAO,MAAM;AAGpB,YAAI;AAEF,8BAAoB,MAAM,KAAK,OAAO,KAAK,IAAI;AAAA,QAEjD,SAAS,OAAO;AAEd,kBAAQ,MAAM,KAAK;AAAA,QAErB;AAAA,MAEF;AAEA,WAAK,OAAO,KAAK,iBAAiB,UAAU,KAAK,aAAa;AAE9D,WAAK,OAAO,KAAK,iBAAiB,eAAe,KAAK,iBAAiB;AAAA,IAEzE;AAAA,EAEF;AAAA;AAAA;AAAA;AAAA,EAKA,uBAAuB;AAErB,QAAI,KAAK,QAAQ;AAEf,WAAK,OAAO,KAAK,oBAAoB,UAAU,KAAK,aAAa;AAEjE,WAAK,OAAO,KAAK,oBAAoB,eAAe,KAAK,iBAAiB;AAAA,IAE5E;AAEA,UAAM,qBAAA;AAAA,EAER;AAAA;AAAA;AAAA;AAAA,EAKA,aAAa,SAA+B;AAE1C,UAAM,aAAa,OAAO;AAAA,EAE5B;AAAA;AAAA;AAAA;AAAA,EAKA,QAAQ,SAA+B;AAErC,UAAM,QAAQ,OAAO;AAAA,EAEvB;AAAA;AAAA;AAAA;AAAA,EAKU,WAAW,oBAA0C;AAAA,EAE/D;AAEF;AAjIa,uBA0BJ,SAAS;AAtBhB,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,WAAA,CAAA;AAhBW,yBAAN,gBAAA;AAAA,EADN,kBAAkB,GAAG;AAAA,GACT,sBAAA;"}
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 } from 'lit/decorators.js'\r\nimport { safeCustomElement } from '../../../utils/define-lit-element.js'\r\nimport { TAG } from './constants.js'\r\nimport { booleanAttr } from './properties.js'\r\nimport { styles } from './styles.js'\r\nimport { renderDollhouseView } from './template.js'\r\nimport { handleDollhouseClick, handelViewModeChange, handelCoreLoaded, syncEnabledFromMode, handelWaypointStart, handelWaypointComplete } from './interaction.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 * 是否可点击;由 core.loaded / mode.change 自动同步,宿主亦可覆盖\r\n * HTML: enabled / Vue: :enabled\r\n */\r\n @property({\r\n type: Boolean,\r\n attribute: 'enabled',\r\n reflect: true,\r\n converter: booleanAttr,\r\n })\r\n enabled = false\r\n\r\n setEnabled(value: boolean) {\r\n\r\n this.enabled = value\r\n\r\n this.toggleAttribute('enabled', value)\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 _onCoreLoaded = () => {\r\n\r\n handelCoreLoaded(this);\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 private _onSwitchWaypointStart = () => {\r\n\r\n handelWaypointStart(this);\r\n\r\n }\r\n\r\n private _onSwitchWaypointComplete = () => {\r\n\r\n handelWaypointComplete(this);\r\n\r\n }\r\n\r\n /**\r\n * 渲染模板\r\n */\r\n render() {\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 super.connectedCallback()\r\n\r\n if (this.qspace) {\r\n\r\n if (this.qspace.view) {\r\n\r\n // 待优化\r\n try {\r\n\r\n syncEnabledFromMode(this, this.qspace.view.mode);\r\n\r\n } catch (error) {\r\n\r\n console.error(error);\r\n\r\n }\r\n\r\n }\r\n\r\n this.qspace.core.addEventListener('loaded', this._onCoreLoaded);\r\n\r\n this.qspace.view.addEventListener('mode.change', this._onViewModeChange);\r\n\r\n this.qspace.model.addEventListener('switch.waypoint.start', this._onSwitchWaypointStart);\r\n\r\n this.qspace.model.addEventListener('switch.waypoint.complete', this._onSwitchWaypointComplete);\r\n\r\n }\r\n\r\n }\r\n\r\n /**\r\n * 组件断开生命周期\r\n */\r\n disconnectedCallback() {\r\n\r\n if (this.qspace) {\r\n\r\n this.qspace.core.removeEventListener('loaded', this._onCoreLoaded);\r\n\r\n this.qspace.view.removeEventListener('mode.change', this._onViewModeChange);\r\n\r\n this.qspace.model.removeEventListener('switch.waypoint.start', this._onSwitchWaypointStart);\r\n\r\n this.qspace.model.removeEventListener('switch.waypoint.complete', this._onSwitchWaypointComplete);\r\n\r\n }\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 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 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 }\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,UAAU;AAYV,SAAQ,WAAW,CAAC,MAAa;AAE/B,2BAAqB,MAAM,CAAC;AAAA,IAE9B;AAEA,SAAQ,gBAAgB,MAAM;AAE5B,uBAAiB,IAAI;AAAA,IAEvB;AAEA,SAAQ,oBAAoB,CAAC,SAAiB;AAE5C,2BAAqB,MAAM,IAAI;AAAA,IAEjC;AAEA,SAAQ,yBAAyB,MAAM;AAErC,0BAAoB,IAAI;AAAA,IAE1B;AAEA,SAAQ,4BAA4B,MAAM;AAExC,6BAAuB,IAAI;AAAA,IAE7B;AAAA,EAAA;AAAA,EAtCA,WAAW,OAAgB;AAEzB,SAAK,UAAU;AAEf,SAAK,gBAAgB,WAAW,KAAK;AAAA,EAEvC;AAAA;AAAA;AAAA;AAAA,EAqCA,SAAS;AAEP,WAAO,oBAAoB,KAAK,QAAQ;AAAA,EAE1C;AAAA;AAAA;AAAA;AAAA,EAKA,oBAAoB;AAElB,UAAM,kBAAA;AAEN,QAAI,KAAK,QAAQ;AAEf,UAAI,KAAK,OAAO,MAAM;AAGpB,YAAI;AAEF,8BAAoB,MAAM,KAAK,OAAO,KAAK,IAAI;AAAA,QAEjD,SAAS,OAAO;AAEd,kBAAQ,MAAM,KAAK;AAAA,QAErB;AAAA,MAEF;AAEA,WAAK,OAAO,KAAK,iBAAiB,UAAU,KAAK,aAAa;AAE9D,WAAK,OAAO,KAAK,iBAAiB,eAAe,KAAK,iBAAiB;AAEvE,WAAK,OAAO,MAAM,iBAAiB,yBAAyB,KAAK,sBAAsB;AAEvF,WAAK,OAAO,MAAM,iBAAiB,4BAA4B,KAAK,yBAAyB;AAAA,IAE/F;AAAA,EAEF;AAAA;AAAA;AAAA;AAAA,EAKA,uBAAuB;AAErB,QAAI,KAAK,QAAQ;AAEf,WAAK,OAAO,KAAK,oBAAoB,UAAU,KAAK,aAAa;AAEjE,WAAK,OAAO,KAAK,oBAAoB,eAAe,KAAK,iBAAiB;AAE1E,WAAK,OAAO,MAAM,oBAAoB,yBAAyB,KAAK,sBAAsB;AAE1F,WAAK,OAAO,MAAM,oBAAoB,4BAA4B,KAAK,yBAAyB;AAAA,IAElG;AAEA,UAAM,qBAAA;AAAA,EAER;AAAA;AAAA;AAAA;AAAA,EAKA,aAAa,SAA+B;AAE1C,UAAM,aAAa,OAAO;AAAA,EAE5B;AAAA;AAAA;AAAA;AAAA,EAKA,QAAQ,SAA+B;AAErC,UAAM,QAAQ,OAAO;AAAA,EAEvB;AAAA;AAAA;AAAA;AAAA,EAKU,WAAW,oBAA0C;AAAA,EAE/D;AAEF;AArJa,uBA0BJ,SAAS;AAtBhB,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,WAAA,CAAA;AAhBW,yBAAN,gBAAA;AAAA,EADN,kBAAkB,GAAG;AAAA,GACT,sBAAA;"}
@@ -6,6 +6,12 @@ export type DollhouseViewHost = HTMLElement & {
6
6
  /** 根据 qspace.view.mode 同步 enabled:当前视图或过渡中不可点 */
7
7
  export declare function syncEnabledFromMode(host: DollhouseViewHost, mode: string | undefined): void;
8
8
  export declare function handleDollhouseClick(host: DollhouseViewHost, e: Event): void;
9
+ /** 核心加载完成:按当前 view.mode 恢复 enabled */
9
10
  export declare function handelCoreLoaded(host: DollhouseViewHost): void;
11
+ /** 视图模式改变:按新模式恢复 enabled */
10
12
  export declare function handelViewModeChange(host: DollhouseViewHost, mode: string): void;
13
+ /** 全景点位切换开始:禁用视图切换按钮 */
14
+ export declare function handelWaypointStart(host: DollhouseViewHost): void;
15
+ /** 全景点位切换完成:按当前 view.mode 恢复 enabled */
16
+ export declare function handelWaypointComplete(host: DollhouseViewHost): void;
11
17
  //# 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":"AAUA,MAAM,MAAM,iBAAiB,GAAG,WAAW,GAAG;IAE5C,MAAM,EAAE,GAAG,CAAA;IACX,OAAO,EAAE,OAAO,CAAA;IAChB,UAAU,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,CAAA;CAErC,CAAA;AAED,iDAAiD;AACjD,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,iBAAiB,EAAE,IAAI,EAAE,MAAM,GAAG,SAAS,QAmBpF;AAED,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,iBAAiB,EAAE,CAAC,EAAE,KAAK,QA2BrE;AAED,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,iBAAiB,QAIvD;AAED,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,iBAAiB,EAAE,IAAI,EAAE,MAAM,QAIzE"}
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,OAAO,EAAE,OAAO,CAAA;IAChB,UAAU,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,CAAA;CAErC,CAAA;AAED,iDAAiD;AACjD,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,iBAAiB,EAAE,IAAI,EAAE,MAAM,GAAG,SAAS,QAmBpF;AAED,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,iBAAiB,EAAE,CAAC,EAAE,KAAK,QA2BrE;AAED,sCAAsC;AACtC,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,iBAAiB,QAIvD;AAED,4BAA4B;AAC5B,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,iBAAiB,EAAE,IAAI,EAAE,MAAM,QAIzE;AAED,wBAAwB;AACxB,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,iBAAiB,QAM1D;AAED,wCAAwC;AACxC,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,iBAAiB,QAM7D"}
@@ -35,9 +35,20 @@ function handelCoreLoaded(host) {
35
35
  function handelViewModeChange(host, mode) {
36
36
  syncEnabledFromMode(host, mode);
37
37
  }
38
+ function handelWaypointStart(host) {
39
+ console.log("handelWaypointStart");
40
+ host.setEnabled(false);
41
+ }
42
+ function handelWaypointComplete(host) {
43
+ var _a, _b;
44
+ console.log("handelWaypointStart");
45
+ syncEnabledFromMode(host, (_b = (_a = host.qspace) == null ? void 0 : _a.view) == null ? void 0 : _b.mode);
46
+ }
38
47
  export {
39
48
  handelCoreLoaded,
40
49
  handelViewModeChange,
50
+ handelWaypointComplete,
51
+ handelWaypointStart,
41
52
  handleDollhouseClick,
42
53
  syncEnabledFromMode
43
54
  };
@@ -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 { 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 enabled: boolean\n setEnabled: (value: boolean) => void\n\n}\n\n/** 根据 qspace.view.mode 同步 enabled:当前视图或过渡中不可点 */\nexport function syncEnabledFromMode(host: DollhouseViewHost, mode: string | undefined) {\n\n switch (mode) {\n\n case ViewMode.Transitioning:\n case ViewMode.Dollhouse:\n host.setEnabled(false)\n break\n\n case ViewMode.Floorplan:\n case ViewMode.Panorama:\n host.setEnabled(true)\n break\n\n default:\n break\n\n }\n\n}\n\nexport function handleDollhouseClick(host: DollhouseViewHost, e: Event) {\n\n if (!host.enabled) {\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.setEnabled(false)\n\n turnToDollhouseView(host.qspace, () => {\n\n dispatchComplete(host, e)\n\n })\n\n}\n\nexport function handelCoreLoaded(host: DollhouseViewHost) {\n\n syncEnabledFromMode(host, host.qspace?.view?.mode)\n\n}\n\nexport function handelViewModeChange(host: DollhouseViewHost, mode: string) {\n\n syncEnabledFromMode(host, mode)\n\n}\n"],"names":[],"mappings":";;;AAmBO,SAAS,oBAAoB,MAAyB,MAA0B;AAErF,UAAQ,MAAA;AAAA,IAEN,KAAK,SAAS;AAAA,IACd,KAAK,SAAS;AACZ,WAAK,WAAW,KAAK;AACrB;AAAA,IAEF,KAAK,SAAS;AAAA,IACd,KAAK,SAAS;AACZ,WAAK,WAAW,IAAI;AACpB;AAAA,EAGA;AAIN;AAEO,SAAS,qBAAqB,MAAyB,GAAU;AAEtE,MAAI,CAAC,KAAK,SAAS;AAEjB,MAAE,eAAA;AACF,MAAE,gBAAA;AAEF;AAAA,EAEF;AAEA,gBAAc,MAAM,CAAC;AAErB,MAAI,CAAC,KAAK,QAAQ;AAEhB;AAAA,EAEF;AAEA,OAAK,WAAW,KAAK;AAErB,sBAAoB,KAAK,QAAQ,MAAM;AAErC,qBAAiB,MAAM,CAAC;AAAA,EAE1B,CAAC;AAEH;AAEO,SAAS,iBAAiB,MAAyB;;AAExD,sBAAoB,OAAM,gBAAK,WAAL,mBAAa,SAAb,mBAAmB,IAAI;AAEnD;AAEO,SAAS,qBAAqB,MAAyB,MAAc;AAE1E,sBAAoB,MAAM,IAAI;AAEhC;"}
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 enabled: boolean\n setEnabled: (value: boolean) => void\n\n}\n\n/** 根据 qspace.view.mode 同步 enabled:当前视图或过渡中不可点 */\nexport function syncEnabledFromMode(host: DollhouseViewHost, mode: string | undefined) {\n\n switch (mode) {\n\n case ViewMode.Transitioning:\n case ViewMode.Dollhouse:\n host.setEnabled(false)\n break\n\n case ViewMode.Floorplan:\n case ViewMode.Panorama:\n host.setEnabled(true)\n break\n\n default:\n break\n\n }\n\n}\n\nexport function handleDollhouseClick(host: DollhouseViewHost, e: Event) {\n\n if (!host.enabled) {\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.setEnabled(false)\n\n turnToDollhouseView(host.qspace, () => {\n\n dispatchComplete(host, e)\n\n })\n\n}\n\n/** 核心加载完成:按当前 view.mode 恢复 enabled */\nexport function handelCoreLoaded(host: DollhouseViewHost) {\n\n syncEnabledFromMode(host, host.qspace?.view?.mode)\n\n}\n\n/** 视图模式改变:按新模式恢复 enabled */\nexport function handelViewModeChange(host: DollhouseViewHost, mode: string) {\n\n syncEnabledFromMode(host, mode)\n\n}\n\n/** 全景点位切换开始:禁用视图切换按钮 */\nexport function handelWaypointStart(host: DollhouseViewHost) {\n\n console.log('handelWaypointStart')\n\n host.setEnabled(false)\n\n}\n\n/** 全景点位切换完成:按当前 view.mode 恢复 enabled */\nexport function handelWaypointComplete(host: DollhouseViewHost) {\n\n console.log('handelWaypointStart')\n\n syncEnabledFromMode(host, host.qspace?.view?.mode)\n\n}\n"],"names":[],"mappings":";;;AAmBO,SAAS,oBAAoB,MAAyB,MAA0B;AAErF,UAAQ,MAAA;AAAA,IAEN,KAAK,SAAS;AAAA,IACd,KAAK,SAAS;AACZ,WAAK,WAAW,KAAK;AACrB;AAAA,IAEF,KAAK,SAAS;AAAA,IACd,KAAK,SAAS;AACZ,WAAK,WAAW,IAAI;AACpB;AAAA,EAGA;AAIN;AAEO,SAAS,qBAAqB,MAAyB,GAAU;AAEtE,MAAI,CAAC,KAAK,SAAS;AAEjB,MAAE,eAAA;AACF,MAAE,gBAAA;AAEF;AAAA,EAEF;AAEA,gBAAc,MAAM,CAAC;AAErB,MAAI,CAAC,KAAK,QAAQ;AAEhB;AAAA,EAEF;AAEA,OAAK,WAAW,KAAK;AAErB,sBAAoB,KAAK,QAAQ,MAAM;AAErC,qBAAiB,MAAM,CAAC;AAAA,EAE1B,CAAC;AAEH;AAGO,SAAS,iBAAiB,MAAyB;;AAExD,sBAAoB,OAAM,gBAAK,WAAL,mBAAa,SAAb,mBAAmB,IAAI;AAEnD;AAGO,SAAS,qBAAqB,MAAyB,MAAc;AAE1E,sBAAoB,MAAM,IAAI;AAEhC;AAGO,SAAS,oBAAoB,MAAyB;AAE3D,UAAQ,IAAI,qBAAqB;AAEjC,OAAK,WAAW,KAAK;AAEvB;AAGO,SAAS,uBAAuB,MAAyB;;AAE9D,UAAQ,IAAI,qBAAqB;AAEjC,sBAAoB,OAAM,gBAAK,WAAL,mBAAa,SAAb,mBAAmB,IAAI;AAEnD;"}
@@ -14,6 +14,8 @@ export declare class LitSwitchFloorplanView extends LitElement {
14
14
  private _onClick;
15
15
  private _onCoreLoaded;
16
16
  private _onViewModeChange;
17
+ private _onSwitchWaypointStart;
18
+ private _onSwitchWaypointComplete;
17
19
  /**
18
20
  * 渲染模板
19
21
  */
@@ -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,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,OAAO,UAAQ;IAEf,UAAU,CAAC,KAAK,EAAE,OAAO;IAQzB,MAAM,CAAC,MAAM,0BAAS;IAEtB,OAAO,CAAC,QAAQ,CAIf;IAED,OAAO,CAAC,aAAa,CAIpB;IAED,OAAO,CAAC,iBAAiB,CAIxB;IAED;;OAEG;IACH,MAAM;IAMN;;OAEG;IACH,iBAAiB;IA6BjB;;OAEG;IACH,oBAAoB;IAcpB;;OAEG;IACH,YAAY,CAAC,OAAO,EAAE,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC;IAM1C;;OAEG;IACH,OAAO,CAAC,OAAO,EAAE,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC;IAMrC;;OAEG;IACH,SAAS,CAAC,UAAU,CAAC,kBAAkB,EAAE,cAAc,GAAG,IAAI;CAI/D;AAED,OAAO,CAAC,MAAM,CAAC;IAEb,UAAU,qBAAqB;QAE7B,CAAC,GAAG,CAAC,EAAE,sBAAsB,CAAA;KAE9B;CAEF"}
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,OAAO,UAAQ;IAEf,UAAU,CAAC,KAAK,EAAE,OAAO;IAQzB,MAAM,CAAC,MAAM,0BAAS;IAEtB,OAAO,CAAC,QAAQ,CAIf;IAED,OAAO,CAAC,aAAa,CAIpB;IAED,OAAO,CAAC,iBAAiB,CAIxB;IAED,OAAO,CAAC,sBAAsB,CAI7B;IAED,OAAO,CAAC,yBAAyB,CAIhC;IAED;;OAEG;IACH,MAAM;IAMN;;OAEG;IACH,iBAAiB;IAiCjB;;OAEG;IACH,oBAAoB;IAkBpB;;OAEG;IACH,YAAY,CAAC,OAAO,EAAE,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC;IAM1C;;OAEG;IACH,OAAO,CAAC,OAAO,EAAE,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC;IAMrC;;OAEG;IACH,SAAS,CAAC,UAAU,CAAC,kBAAkB,EAAE,cAAc,GAAG,IAAI;CAI/D;AAED,OAAO,CAAC,MAAM,CAAC;IAEb,UAAU,qBAAqB;QAE7B,CAAC,GAAG,CAAC,EAAE,sBAAsB,CAAA;KAE9B;CAEF"}
@@ -2,7 +2,7 @@ import { LitElement } from "lit";
2
2
  import { property } from "lit/decorators.js";
3
3
  import { safeCustomElement } from "../../../utils/define-lit-element.js";
4
4
  import { TAG } from "./constants.js";
5
- import { handleFloorplanClick, handelCoreLoaded, handelViewModeChange, syncEnabledFromMode } from "./interaction.js";
5
+ import { handleFloorplanClick, handelCoreLoaded, handelViewModeChange, handelWaypointStart, handelWaypointComplete, syncEnabledFromMode } from "./interaction.js";
6
6
  import { booleanAttr } from "./properties.js";
7
7
  import { styles } from "./styles.js";
8
8
  import { renderFloorplanView } from "./template.js";
@@ -30,6 +30,12 @@ let LitSwitchFloorplanView = class extends LitElement {
30
30
  this._onViewModeChange = (mode) => {
31
31
  handelViewModeChange(this, mode);
32
32
  };
33
+ this._onSwitchWaypointStart = () => {
34
+ handelWaypointStart(this);
35
+ };
36
+ this._onSwitchWaypointComplete = () => {
37
+ handelWaypointComplete(this);
38
+ };
33
39
  }
34
40
  setEnabled(value) {
35
41
  this.enabled = value;
@@ -56,6 +62,8 @@ let LitSwitchFloorplanView = class extends LitElement {
56
62
  }
57
63
  this.qspace.core.addEventListener("loaded", this._onCoreLoaded);
58
64
  this.qspace.view.addEventListener("mode.change", this._onViewModeChange);
65
+ this.qspace.model.addEventListener("switch.waypoint.start", this._onSwitchWaypointStart);
66
+ this.qspace.model.addEventListener("switch.waypoint.complete", this._onSwitchWaypointComplete);
59
67
  }
60
68
  }
61
69
  /**
@@ -65,6 +73,8 @@ let LitSwitchFloorplanView = class extends LitElement {
65
73
  if (this.qspace) {
66
74
  this.qspace.core.removeEventListener("loaded", this._onCoreLoaded);
67
75
  this.qspace.view.removeEventListener("mode.change", this._onViewModeChange);
76
+ this.qspace.model.removeEventListener("switch.waypoint.start", this._onSwitchWaypointStart);
77
+ this.qspace.model.removeEventListener("switch.waypoint.complete", this._onSwitchWaypointComplete);
68
78
  }
69
79
  super.disconnectedCallback();
70
80
  }
@@ -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, PropertyValues } from 'lit'\nimport { property } from 'lit/decorators.js'\nimport { safeCustomElement } from '../../../utils/define-lit-element.js'\nimport { TAG } from './constants.js'\nimport { handleFloorplanClick, handelViewModeChange, handelCoreLoaded, syncEnabledFromMode } 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 * 是否可点击;由 core.loaded / mode.change 自动同步,宿主亦可覆盖\n * HTML: enabled / Vue: :enabled\n */\n @property({\n type: Boolean,\n attribute: 'enabled',\n reflect: true,\n converter: booleanAttr,\n })\n enabled = false\n\n setEnabled(value: boolean) {\n\n this.enabled = value\n\n this.toggleAttribute('enabled', value)\n\n }\n\n static styles = styles\n\n private _onClick = (e: Event) => {\n\n handleFloorplanClick(this, e)\n\n }\n\n private _onCoreLoaded = () => {\n\n handelCoreLoaded(this);\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 super.connectedCallback()\n\n if (this.qspace) {\n\n if (this.qspace.view) {\n\n // 待优化\n try {\n\n syncEnabledFromMode(this, this.qspace.view.mode);\n\n } catch (error) {\n\n console.error(error);\n\n }\n\n }\n\n this.qspace.core.addEventListener('loaded', this._onCoreLoaded);\n\n this.qspace.view.addEventListener('mode.change', this._onViewModeChange);\n\n }\n\n }\n\n /**\n * 组件断开生命周期\n */\n disconnectedCallback() {\n\n if (this.qspace) {\n\n this.qspace.core.removeEventListener('loaded', this._onCoreLoaded);\n\n this.qspace.view.removeEventListener('mode.change', this._onViewModeChange);\n\n }\n\n super.disconnectedCallback()\n\n }\n\n /**\n * 第一次更新\n */\n firstUpdated(changed: Map<string, unknown>) {\n\n super.firstUpdated(changed)\n\n }\n\n /**\n * 组件更新\n */\n updated(changed: Map<string, unknown>) {\n\n super.updated(changed)\n\n }\n\n /**\n * 将要更新\n */\n protected willUpdate(_changedProperties: PropertyValues): void {\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,UAAU;AAYV,SAAQ,WAAW,CAAC,MAAa;AAE/B,2BAAqB,MAAM,CAAC;AAAA,IAE9B;AAEA,SAAQ,gBAAgB,MAAM;AAE5B,uBAAiB,IAAI;AAAA,IAEvB;AAEA,SAAQ,oBAAoB,CAAC,SAAiB;AAE5C,2BAAqB,MAAM,IAAI;AAAA,IAEjC;AAAA,EAAA;AAAA,EA1BA,WAAW,OAAgB;AAEzB,SAAK,UAAU;AAEf,SAAK,gBAAgB,WAAW,KAAK;AAAA,EAEvC;AAAA;AAAA;AAAA;AAAA,EAyBA,SAAS;AAEP,WAAO,oBAAoB,KAAK,QAAQ;AAAA,EAE1C;AAAA;AAAA;AAAA;AAAA,EAKA,oBAAoB;AAElB,UAAM,kBAAA;AAEN,QAAI,KAAK,QAAQ;AAEf,UAAI,KAAK,OAAO,MAAM;AAGpB,YAAI;AAEF,8BAAoB,MAAM,KAAK,OAAO,KAAK,IAAI;AAAA,QAEjD,SAAS,OAAO;AAEd,kBAAQ,MAAM,KAAK;AAAA,QAErB;AAAA,MAEF;AAEA,WAAK,OAAO,KAAK,iBAAiB,UAAU,KAAK,aAAa;AAE9D,WAAK,OAAO,KAAK,iBAAiB,eAAe,KAAK,iBAAiB;AAAA,IAEzE;AAAA,EAEF;AAAA;AAAA;AAAA;AAAA,EAKA,uBAAuB;AAErB,QAAI,KAAK,QAAQ;AAEf,WAAK,OAAO,KAAK,oBAAoB,UAAU,KAAK,aAAa;AAEjE,WAAK,OAAO,KAAK,oBAAoB,eAAe,KAAK,iBAAiB;AAAA,IAE5E;AAEA,UAAM,qBAAA;AAAA,EAER;AAAA;AAAA;AAAA;AAAA,EAKA,aAAa,SAA+B;AAE1C,UAAM,aAAa,OAAO;AAAA,EAE5B;AAAA;AAAA;AAAA;AAAA,EAKA,QAAQ,SAA+B;AAErC,UAAM,QAAQ,OAAO;AAAA,EAEvB;AAAA;AAAA;AAAA;AAAA,EAKU,WAAW,oBAA0C;AAAA,EAE/D;AAEF;AAjIa,uBA0BJ,SAAS;AAtBhB,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,WAAA,CAAA;AAhBW,yBAAN,gBAAA;AAAA,EADN,kBAAkB,GAAG;AAAA,GACT,sBAAA;"}
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 } from 'lit/decorators.js'\nimport { safeCustomElement } from '../../../utils/define-lit-element.js'\nimport { TAG } from './constants.js'\nimport { handleFloorplanClick, handelViewModeChange, handelCoreLoaded, syncEnabledFromMode, handelWaypointStart, handelWaypointComplete } 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 * 是否可点击;由 core.loaded / mode.change 自动同步,宿主亦可覆盖\n * HTML: enabled / Vue: :enabled\n */\n @property({\n type: Boolean,\n attribute: 'enabled',\n reflect: true,\n converter: booleanAttr,\n })\n enabled = false\n\n setEnabled(value: boolean) {\n\n this.enabled = value\n\n this.toggleAttribute('enabled', value)\n\n }\n\n static styles = styles\n\n private _onClick = (e: Event) => {\n\n handleFloorplanClick(this, e)\n\n }\n\n private _onCoreLoaded = () => {\n\n handelCoreLoaded(this);\n\n }\n\n private _onViewModeChange = (mode: string) => {\n\n handelViewModeChange(this, mode);\n\n }\n\n private _onSwitchWaypointStart = () => {\n\n handelWaypointStart(this);\n\n }\n\n private _onSwitchWaypointComplete = () => {\n\n handelWaypointComplete(this);\n\n }\n\n /**\n * 渲染模板\n */\n render() {\n\n return renderFloorplanView(this._onClick)\n\n }\n\n /**\n * 组件连接生命周期\n */\n connectedCallback() {\n\n super.connectedCallback()\n\n if (this.qspace) {\n\n if (this.qspace.view) {\n\n // 待优化\n try {\n\n syncEnabledFromMode(this, this.qspace.view.mode);\n\n } catch (error) {\n\n console.error(error);\n\n }\n\n }\n\n this.qspace.core.addEventListener('loaded', this._onCoreLoaded);\n\n this.qspace.view.addEventListener('mode.change', this._onViewModeChange);\n\n this.qspace.model.addEventListener('switch.waypoint.start', this._onSwitchWaypointStart);\n\n this.qspace.model.addEventListener('switch.waypoint.complete', this._onSwitchWaypointComplete);\n\n }\n\n }\n\n /**\n * 组件断开生命周期\n */\n disconnectedCallback() {\n\n if (this.qspace) {\n\n this.qspace.core.removeEventListener('loaded', this._onCoreLoaded);\n\n this.qspace.view.removeEventListener('mode.change', this._onViewModeChange);\n\n this.qspace.model.removeEventListener('switch.waypoint.start', this._onSwitchWaypointStart);\n\n this.qspace.model.removeEventListener('switch.waypoint.complete', this._onSwitchWaypointComplete);\n\n }\n\n super.disconnectedCallback()\n\n }\n\n /**\n * 第一次更新\n */\n firstUpdated(changed: Map<string, unknown>) {\n\n super.firstUpdated(changed)\n\n }\n\n /**\n * 组件更新\n */\n updated(changed: Map<string, unknown>) {\n\n super.updated(changed)\n\n }\n\n /**\n * 将要更新\n */\n protected willUpdate(_changedProperties: PropertyValues): void {\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,UAAU;AAYV,SAAQ,WAAW,CAAC,MAAa;AAE/B,2BAAqB,MAAM,CAAC;AAAA,IAE9B;AAEA,SAAQ,gBAAgB,MAAM;AAE5B,uBAAiB,IAAI;AAAA,IAEvB;AAEA,SAAQ,oBAAoB,CAAC,SAAiB;AAE5C,2BAAqB,MAAM,IAAI;AAAA,IAEjC;AAEA,SAAQ,yBAAyB,MAAM;AAErC,0BAAoB,IAAI;AAAA,IAE1B;AAEA,SAAQ,4BAA4B,MAAM;AAExC,6BAAuB,IAAI;AAAA,IAE7B;AAAA,EAAA;AAAA,EAtCA,WAAW,OAAgB;AAEzB,SAAK,UAAU;AAEf,SAAK,gBAAgB,WAAW,KAAK;AAAA,EAEvC;AAAA;AAAA;AAAA;AAAA,EAqCA,SAAS;AAEP,WAAO,oBAAoB,KAAK,QAAQ;AAAA,EAE1C;AAAA;AAAA;AAAA;AAAA,EAKA,oBAAoB;AAElB,UAAM,kBAAA;AAEN,QAAI,KAAK,QAAQ;AAEf,UAAI,KAAK,OAAO,MAAM;AAGpB,YAAI;AAEF,8BAAoB,MAAM,KAAK,OAAO,KAAK,IAAI;AAAA,QAEjD,SAAS,OAAO;AAEd,kBAAQ,MAAM,KAAK;AAAA,QAErB;AAAA,MAEF;AAEA,WAAK,OAAO,KAAK,iBAAiB,UAAU,KAAK,aAAa;AAE9D,WAAK,OAAO,KAAK,iBAAiB,eAAe,KAAK,iBAAiB;AAEvE,WAAK,OAAO,MAAM,iBAAiB,yBAAyB,KAAK,sBAAsB;AAEvF,WAAK,OAAO,MAAM,iBAAiB,4BAA4B,KAAK,yBAAyB;AAAA,IAE/F;AAAA,EAEF;AAAA;AAAA;AAAA;AAAA,EAKA,uBAAuB;AAErB,QAAI,KAAK,QAAQ;AAEf,WAAK,OAAO,KAAK,oBAAoB,UAAU,KAAK,aAAa;AAEjE,WAAK,OAAO,KAAK,oBAAoB,eAAe,KAAK,iBAAiB;AAE1E,WAAK,OAAO,MAAM,oBAAoB,yBAAyB,KAAK,sBAAsB;AAE1F,WAAK,OAAO,MAAM,oBAAoB,4BAA4B,KAAK,yBAAyB;AAAA,IAElG;AAEA,UAAM,qBAAA;AAAA,EAER;AAAA;AAAA;AAAA;AAAA,EAKA,aAAa,SAA+B;AAE1C,UAAM,aAAa,OAAO;AAAA,EAE5B;AAAA;AAAA;AAAA;AAAA,EAKA,QAAQ,SAA+B;AAErC,UAAM,QAAQ,OAAO;AAAA,EAEvB;AAAA;AAAA;AAAA;AAAA,EAKU,WAAW,oBAA0C;AAAA,EAE/D;AAEF;AArJa,uBA0BJ,SAAS;AAtBhB,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,WAAA,CAAA;AAhBW,yBAAN,gBAAA;AAAA,EADN,kBAAkB,GAAG;AAAA,GACT,sBAAA;"}
@@ -8,4 +8,8 @@ export declare function syncEnabledFromMode(host: FloorplanViewHost, mode: strin
8
8
  export declare function handleFloorplanClick(host: FloorplanViewHost, e: Event): void;
9
9
  export declare function handelCoreLoaded(host: FloorplanViewHost): void;
10
10
  export declare function handelViewModeChange(host: FloorplanViewHost, mode: string): void;
11
+ /** 全景点位切换开始:禁用视图切换按钮 */
12
+ export declare function handelWaypointStart(host: FloorplanViewHost): void;
13
+ /** 全景点位切换完成:按当前 view.mode 恢复 enabled */
14
+ export declare function handelWaypointComplete(host: FloorplanViewHost): void;
11
15
  //# 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":"AAUA,MAAM,MAAM,iBAAiB,GAAG,WAAW,GAAG;IAE5C,MAAM,EAAE,GAAG,CAAA;IACX,OAAO,EAAE,OAAO,CAAA;IAChB,UAAU,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,CAAA;CAErC,CAAA;AAED,iDAAiD;AACjD,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,iBAAiB,EAAE,IAAI,EAAE,MAAM,GAAG,SAAS,QAmBpF;AAED,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,iBAAiB,EAAE,CAAC,EAAE,KAAK,QA2BrE;AAED,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,iBAAiB,QAIvD;AAED,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,iBAAiB,EAAE,IAAI,EAAE,MAAM,QAIzE"}
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,OAAO,EAAE,OAAO,CAAA;IAChB,UAAU,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,CAAA;CAErC,CAAA;AAED,iDAAiD;AACjD,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,iBAAiB,EAAE,IAAI,EAAE,MAAM,GAAG,SAAS,QAmBpF;AAED,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,iBAAiB,EAAE,CAAC,EAAE,KAAK,QA2BrE;AAED,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,iBAAiB,QAIvD;AAED,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,iBAAiB,EAAE,IAAI,EAAE,MAAM,QAIzE;AAED,wBAAwB;AACxB,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,iBAAiB,QAI1D;AAED,wCAAwC;AACxC,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,iBAAiB,QAI7D"}
@@ -35,9 +35,18 @@ function handelCoreLoaded(host) {
35
35
  function handelViewModeChange(host, mode) {
36
36
  syncEnabledFromMode(host, mode);
37
37
  }
38
+ function handelWaypointStart(host) {
39
+ host.setEnabled(false);
40
+ }
41
+ function handelWaypointComplete(host) {
42
+ var _a, _b;
43
+ syncEnabledFromMode(host, (_b = (_a = host.qspace) == null ? void 0 : _a.view) == null ? void 0 : _b.mode);
44
+ }
38
45
  export {
39
46
  handelCoreLoaded,
40
47
  handelViewModeChange,
48
+ handelWaypointComplete,
49
+ handelWaypointStart,
41
50
  handleFloorplanClick,
42
51
  syncEnabledFromMode
43
52
  };
@@ -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 { 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 enabled: boolean\n setEnabled: (value: boolean) => void\n\n}\n\n/** 根据 qspace.view.mode 同步 enabled:当前视图或过渡中不可点 */\nexport function syncEnabledFromMode(host: FloorplanViewHost, mode: string | undefined) {\n\n switch (mode) {\n\n case ViewMode.Transitioning:\n case ViewMode.Floorplan:\n host.setEnabled(false)\n break\n\n case ViewMode.Dollhouse:\n case ViewMode.Panorama:\n host.setEnabled(true)\n break\n\n default:\n break\n\n }\n\n}\n\nexport function handleFloorplanClick(host: FloorplanViewHost, e: Event) {\n\n if (!host.enabled) {\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.setEnabled(false)\n\n turnToFloorplanView(host.qspace, () => {\n\n dispatchComplete(host, e)\n\n })\n\n}\n\nexport function handelCoreLoaded(host: FloorplanViewHost) {\n\n syncEnabledFromMode(host, host.qspace?.view?.mode)\n\n}\n\nexport function handelViewModeChange(host: FloorplanViewHost, mode: string) {\n\n syncEnabledFromMode(host, mode)\n\n}\n"],"names":[],"mappings":";;;AAmBO,SAAS,oBAAoB,MAAyB,MAA0B;AAErF,UAAQ,MAAA;AAAA,IAEN,KAAK,SAAS;AAAA,IACd,KAAK,SAAS;AACZ,WAAK,WAAW,KAAK;AACrB;AAAA,IAEF,KAAK,SAAS;AAAA,IACd,KAAK,SAAS;AACZ,WAAK,WAAW,IAAI;AACpB;AAAA,EAGA;AAIN;AAEO,SAAS,qBAAqB,MAAyB,GAAU;AAEtE,MAAI,CAAC,KAAK,SAAS;AAEjB,MAAE,eAAA;AACF,MAAE,gBAAA;AAEF;AAAA,EAEF;AAEA,gBAAc,MAAM,CAAC;AAErB,MAAI,CAAC,KAAK,QAAQ;AAEhB;AAAA,EAEF;AAEA,OAAK,WAAW,KAAK;AAErB,sBAAoB,KAAK,QAAQ,MAAM;AAErC,qBAAiB,MAAM,CAAC;AAAA,EAE1B,CAAC;AAEH;AAEO,SAAS,iBAAiB,MAAyB;;AAExD,sBAAoB,OAAM,gBAAK,WAAL,mBAAa,SAAb,mBAAmB,IAAI;AAEnD;AAEO,SAAS,qBAAqB,MAAyB,MAAc;AAE1E,sBAAoB,MAAM,IAAI;AAEhC;"}
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 enabled: boolean\n setEnabled: (value: boolean) => void\n\n}\n\n/** 根据 qspace.view.mode 同步 enabled:当前视图或过渡中不可点 */\nexport function syncEnabledFromMode(host: FloorplanViewHost, mode: string | undefined) {\n\n switch (mode) {\n\n case ViewMode.Transitioning:\n case ViewMode.Floorplan:\n host.setEnabled(false)\n break\n\n case ViewMode.Dollhouse:\n case ViewMode.Panorama:\n host.setEnabled(true)\n break\n\n default:\n break\n\n }\n\n}\n\nexport function handleFloorplanClick(host: FloorplanViewHost, e: Event) {\n\n if (!host.enabled) {\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.setEnabled(false)\n\n turnToFloorplanView(host.qspace, () => {\n\n dispatchComplete(host, e)\n\n })\n\n}\n\nexport function handelCoreLoaded(host: FloorplanViewHost) {\n\n syncEnabledFromMode(host, host.qspace?.view?.mode)\n\n}\n\nexport function handelViewModeChange(host: FloorplanViewHost, mode: string) {\n\n syncEnabledFromMode(host, mode)\n\n}\n\n/** 全景点位切换开始:禁用视图切换按钮 */\nexport function handelWaypointStart(host: FloorplanViewHost) {\n\n host.setEnabled(false)\n\n}\n\n/** 全景点位切换完成:按当前 view.mode 恢复 enabled */\nexport function handelWaypointComplete(host: FloorplanViewHost) {\n\n syncEnabledFromMode(host, host.qspace?.view?.mode)\n\n}\n"],"names":[],"mappings":";;;AAmBO,SAAS,oBAAoB,MAAyB,MAA0B;AAErF,UAAQ,MAAA;AAAA,IAEN,KAAK,SAAS;AAAA,IACd,KAAK,SAAS;AACZ,WAAK,WAAW,KAAK;AACrB;AAAA,IAEF,KAAK,SAAS;AAAA,IACd,KAAK,SAAS;AACZ,WAAK,WAAW,IAAI;AACpB;AAAA,EAGA;AAIN;AAEO,SAAS,qBAAqB,MAAyB,GAAU;AAEtE,MAAI,CAAC,KAAK,SAAS;AAEjB,MAAE,eAAA;AACF,MAAE,gBAAA;AAEF;AAAA,EAEF;AAEA,gBAAc,MAAM,CAAC;AAErB,MAAI,CAAC,KAAK,QAAQ;AAEhB;AAAA,EAEF;AAEA,OAAK,WAAW,KAAK;AAErB,sBAAoB,KAAK,QAAQ,MAAM;AAErC,qBAAiB,MAAM,CAAC;AAAA,EAE1B,CAAC;AAEH;AAEO,SAAS,iBAAiB,MAAyB;;AAExD,sBAAoB,OAAM,gBAAK,WAAL,mBAAa,SAAb,mBAAmB,IAAI;AAEnD;AAEO,SAAS,qBAAqB,MAAyB,MAAc;AAE1E,sBAAoB,MAAM,IAAI;AAEhC;AAGO,SAAS,oBAAoB,MAAyB;AAE3D,OAAK,WAAW,KAAK;AAEvB;AAGO,SAAS,uBAAuB,MAAyB;;AAE9D,sBAAoB,OAAM,gBAAK,WAAL,mBAAa,SAAb,mBAAmB,IAAI;AAEnD;"}
@@ -20,6 +20,8 @@ export declare class LitSwitchPanoramaView extends LitElement {
20
20
  private _onClick;
21
21
  private _onCoreLoaded;
22
22
  private _onViewModeChange;
23
+ private _onSwitchWaypointStart;
24
+ private _onSwitchWaypointComplete;
23
25
  /**
24
26
  * 渲染模板
25
27
  */
@@ -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,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;IAK1D,MAAM,EAAE,GAAG,CAAO;IAElB;;;OAGG;IAOH,OAAO,UAAQ;IAEf;;;OAGG;IAKH,MAAM,EAAE,oBAAoB,CAAK;IAEjC,UAAU,CAAC,KAAK,EAAE,OAAO;IAQzB,MAAM,CAAC,MAAM,0BAAS;IAEtB,OAAO,CAAC,QAAQ,CAIf;IAED,OAAO,CAAC,aAAa,CAIpB;IAED,OAAO,CAAC,iBAAiB,CAIxB;IAED;;OAEG;IACH,MAAM;IAMN;;OAEG;IACH,iBAAiB;IA6BjB;;OAEG;IACH,oBAAoB;IAcpB;;OAEG;IACH,YAAY,CAAC,OAAO,EAAE,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC;IAM1C;;OAEG;IACH,OAAO,CAAC,OAAO,EAAE,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC;IAMrC;;OAEG;IACH,SAAS,CAAC,UAAU,CAAC,kBAAkB,EAAE,cAAc,GAAG,IAAI;CAI/D;AAED,OAAO,CAAC,MAAM,CAAC;IAEb,UAAU,qBAAqB;QAE7B,CAAC,GAAG,CAAC,EAAE,qBAAqB,CAAA;KAE7B;CAEF"}
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;IAK1D,MAAM,EAAE,GAAG,CAAO;IAElB;;;OAGG;IAOH,OAAO,UAAQ;IAEf;;;OAGG;IAKH,MAAM,EAAE,oBAAoB,CAAK;IAEjC,UAAU,CAAC,KAAK,EAAE,OAAO;IAQzB,MAAM,CAAC,MAAM,0BAAS;IAEtB,OAAO,CAAC,QAAQ,CAIf;IAED,OAAO,CAAC,aAAa,CAIpB;IAED,OAAO,CAAC,iBAAiB,CAIxB;IAED,OAAO,CAAC,sBAAsB,CAI7B;IAED,OAAO,CAAC,yBAAyB,CAIhC;IAED;;OAEG;IACH,MAAM;IAMN;;OAEG;IACH,iBAAiB;IAiCjB;;OAEG;IACH,oBAAoB;IAkBpB;;OAEG;IACH,YAAY,CAAC,OAAO,EAAE,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC;IAM1C;;OAEG;IACH,OAAO,CAAC,OAAO,EAAE,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC;IAMrC;;OAEG;IACH,SAAS,CAAC,UAAU,CAAC,kBAAkB,EAAE,cAAc,GAAG,IAAI;CAI/D;AAED,OAAO,CAAC,MAAM,CAAC;IAEb,UAAU,qBAAqB;QAE7B,CAAC,GAAG,CAAC,EAAE,qBAAqB,CAAA;KAE7B;CAEF"}
@@ -2,7 +2,7 @@ import { LitElement } from "lit";
2
2
  import { property } from "lit/decorators.js";
3
3
  import { safeCustomElement } from "../../../utils/define-lit-element.js";
4
4
  import { TAG } from "./constants.js";
5
- import { handlePanoramaClick, handelCoreLoaded, handelViewModeChange, syncEnabledFromMode } from "./interaction.js";
5
+ import { handlePanoramaClick, handelCoreLoaded, handelViewModeChange, handelWaypointStart, handelWaypointComplete, syncEnabledFromMode } from "./interaction.js";
6
6
  import { booleanAttr } from "./properties.js";
7
7
  import { styles } from "./styles.js";
8
8
  import { renderPanoramaView } from "./template.js";
@@ -31,6 +31,12 @@ let LitSwitchPanoramaView = class extends LitElement {
31
31
  this._onViewModeChange = (mode) => {
32
32
  handelViewModeChange(this, mode);
33
33
  };
34
+ this._onSwitchWaypointStart = () => {
35
+ handelWaypointStart(this);
36
+ };
37
+ this._onSwitchWaypointComplete = () => {
38
+ handelWaypointComplete(this);
39
+ };
34
40
  }
35
41
  setEnabled(value) {
36
42
  this.enabled = value;
@@ -57,6 +63,8 @@ let LitSwitchPanoramaView = class extends LitElement {
57
63
  }
58
64
  this.qspace.core.addEventListener("loaded", this._onCoreLoaded);
59
65
  this.qspace.view.addEventListener("mode.change", this._onViewModeChange);
66
+ this.qspace.model.addEventListener("switch.waypoint.start", this._onSwitchWaypointStart);
67
+ this.qspace.model.addEventListener("switch.waypoint.complete", this._onSwitchWaypointComplete);
60
68
  }
61
69
  }
62
70
  /**
@@ -66,6 +74,8 @@ let LitSwitchPanoramaView = class extends LitElement {
66
74
  if (this.qspace) {
67
75
  this.qspace.core.removeEventListener("loaded", this._onCoreLoaded);
68
76
  this.qspace.view.removeEventListener("mode.change", this._onViewModeChange);
77
+ this.qspace.model.removeEventListener("switch.waypoint.start", this._onSwitchWaypointStart);
78
+ this.qspace.model.removeEventListener("switch.waypoint.complete", this._onSwitchWaypointComplete);
69
79
  }
70
80
  super.disconnectedCallback();
71
81
  }
@@ -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, PropertyValues } 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, handelViewModeChange, handelCoreLoaded, syncEnabledFromMode } 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({\r\n type: Object,\r\n attribute: false\r\n })\r\n qspace: any = null\r\n\r\n /**\r\n * 是否可点击;由 core.loaded / mode.change 自动同步,宿主亦可覆盖\r\n * HTML: enabled / Vue: :enabled\r\n */\r\n @property({\r\n type: Boolean, // 属性类型\r\n attribute: 'enabled', // HTML attribute\r\n reflect: true, // 反射属性到 HTML attribute\r\n converter: booleanAttr, // 布尔属性转换器\r\n })\r\n enabled = false\r\n\r\n /**\r\n * 切换全景视图参数;仅 JS 属性绑定\r\n * Vue: :option=\"{ locationId, quaternion }\"\r\n */\r\n @property({\r\n type: Object,\r\n attribute: false\r\n })\r\n option: PanoramaSwitchOption = {}\r\n\r\n setEnabled(value: boolean) {\r\n\r\n this.enabled = value\r\n\r\n this.toggleAttribute('enabled', value)\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 _onCoreLoaded = () => {\r\n\r\n handelCoreLoaded(this);\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 super.connectedCallback()\r\n\r\n if (this.qspace) {\r\n\r\n if (this.qspace.view) {\r\n\r\n // 待优化\r\n try {\r\n\r\n syncEnabledFromMode(this, this.qspace.view.mode);\r\n\r\n } catch (error) {\r\n\r\n console.error(error);\r\n\r\n }\r\n\r\n }\r\n\r\n this.qspace.core.addEventListener('loaded', this._onCoreLoaded);\r\n\r\n this.qspace.view.addEventListener('mode.change', this._onViewModeChange);\r\n\r\n }\r\n\r\n }\r\n\r\n /**\r\n * 组件断开生命周期\r\n */\r\n disconnectedCallback() {\r\n\r\n if (this.qspace) {\r\n\r\n this.qspace.core.removeEventListener('loaded', this._onCoreLoaded);\r\n\r\n this.qspace.view.removeEventListener('mode.change', this._onViewModeChange);\r\n\r\n }\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 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 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 }\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;AAOL,SAAA,SAAc;AAYd,SAAA,UAAU;AAUV,SAAA,SAA+B,CAAA;AAY/B,SAAQ,WAAW,CAAC,MAAa;AAE/B,0BAAoB,MAAM,CAAC;AAAA,IAE7B;AAEA,SAAQ,gBAAgB,MAAM;AAE5B,uBAAiB,IAAI;AAAA,IAEvB;AAEA,SAAQ,oBAAoB,CAAC,SAAiB;AAE5C,2BAAqB,MAAM,IAAI;AAAA,IAEjC;AAAA,EAAA;AAAA,EA1BA,WAAW,OAAgB;AAEzB,SAAK,UAAU;AAEf,SAAK,gBAAgB,WAAW,KAAK;AAAA,EAEvC;AAAA;AAAA;AAAA;AAAA,EAyBA,SAAS;AAEP,WAAO,mBAAmB,KAAK,QAAQ;AAAA,EAEzC;AAAA;AAAA;AAAA;AAAA,EAKA,oBAAoB;AAElB,UAAM,kBAAA;AAEN,QAAI,KAAK,QAAQ;AAEf,UAAI,KAAK,OAAO,MAAM;AAGpB,YAAI;AAEF,8BAAoB,MAAM,KAAK,OAAO,KAAK,IAAI;AAAA,QAEjD,SAAS,OAAO;AAEd,kBAAQ,MAAM,KAAK;AAAA,QAErB;AAAA,MAEF;AAEA,WAAK,OAAO,KAAK,iBAAiB,UAAU,KAAK,aAAa;AAE9D,WAAK,OAAO,KAAK,iBAAiB,eAAe,KAAK,iBAAiB;AAAA,IAEzE;AAAA,EAEF;AAAA;AAAA;AAAA;AAAA,EAKA,uBAAuB;AAErB,QAAI,KAAK,QAAQ;AAEf,WAAK,OAAO,KAAK,oBAAoB,UAAU,KAAK,aAAa;AAEjE,WAAK,OAAO,KAAK,oBAAoB,eAAe,KAAK,iBAAiB;AAAA,IAE5E;AAEA,UAAM,qBAAA;AAAA,EAER;AAAA;AAAA;AAAA;AAAA,EAKA,aAAa,SAA+B;AAE1C,UAAM,aAAa,OAAO;AAAA,EAE5B;AAAA;AAAA;AAAA;AAAA,EAKA,QAAQ,SAA+B;AAErC,UAAM,QAAQ,OAAO;AAAA,EAEvB;AAAA;AAAA;AAAA;AAAA,EAKU,WAAW,oBAA0C;AAAA,EAE/D;AAEF;AA9Ia,sBAuCJ,SAAS;AAhChB,gBAAA;AAAA,EAJC,SAAS;AAAA,IACR,MAAM;AAAA,IACN,WAAW;AAAA,EAAA,CACZ;AAAA,GANU,sBAOX,WAAA,UAAA,CAAA;AAYA,gBAAA;AAAA,EANC,SAAS;AAAA,IACR,MAAM;AAAA;AAAA,IACN,WAAW;AAAA;AAAA,IACX,SAAS;AAAA;AAAA,IACT,WAAW;AAAA;AAAA,EAAA,CACZ;AAAA,GAlBU,sBAmBX,WAAA,WAAA,CAAA;AAUA,gBAAA;AAAA,EAJC,SAAS;AAAA,IACR,MAAM;AAAA,IACN,WAAW;AAAA,EAAA,CACZ;AAAA,GA5BU,sBA6BX,WAAA,UAAA,CAAA;AA7BW,wBAAN,gBAAA;AAAA,EADN,kBAAkB,GAAG;AAAA,GACT,qBAAA;"}
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 } from 'lit/decorators.js'\r\nimport { safeCustomElement } from '../../../utils/define-lit-element.js'\r\nimport { TAG } from './constants.js'\r\nimport { handlePanoramaClick, handelViewModeChange, handelCoreLoaded, syncEnabledFromMode, handelWaypointStart, handelWaypointComplete } 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({\r\n type: Object,\r\n attribute: false\r\n })\r\n qspace: any = null\r\n\r\n /**\r\n * 是否可点击;由 core.loaded / mode.change 自动同步,宿主亦可覆盖\r\n * HTML: enabled / Vue: :enabled\r\n */\r\n @property({\r\n type: Boolean, // 属性类型\r\n attribute: 'enabled', // HTML attribute\r\n reflect: true, // 反射属性到 HTML attribute\r\n converter: booleanAttr, // 布尔属性转换器\r\n })\r\n enabled = false\r\n\r\n /**\r\n * 切换全景视图参数;仅 JS 属性绑定\r\n * Vue: :option=\"{ locationId, quaternion }\"\r\n */\r\n @property({\r\n type: Object,\r\n attribute: false\r\n })\r\n option: PanoramaSwitchOption = {}\r\n\r\n setEnabled(value: boolean) {\r\n\r\n this.enabled = value\r\n\r\n this.toggleAttribute('enabled', value)\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 _onCoreLoaded = () => {\r\n\r\n handelCoreLoaded(this);\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 private _onSwitchWaypointStart = () => {\r\n\r\n handelWaypointStart(this);\r\n\r\n }\r\n\r\n private _onSwitchWaypointComplete = () => {\r\n\r\n handelWaypointComplete(this);\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 super.connectedCallback()\r\n\r\n if (this.qspace) {\r\n\r\n if (this.qspace.view) {\r\n\r\n // 待优化\r\n try {\r\n\r\n syncEnabledFromMode(this, this.qspace.view.mode);\r\n\r\n } catch (error) {\r\n\r\n console.error(error);\r\n\r\n }\r\n\r\n }\r\n\r\n this.qspace.core.addEventListener('loaded', this._onCoreLoaded);\r\n\r\n this.qspace.view.addEventListener('mode.change', this._onViewModeChange);\r\n\r\n this.qspace.model.addEventListener('switch.waypoint.start', this._onSwitchWaypointStart);\r\n\r\n this.qspace.model.addEventListener('switch.waypoint.complete', this._onSwitchWaypointComplete);\r\n\r\n }\r\n\r\n }\r\n\r\n /**\r\n * 组件断开生命周期\r\n */\r\n disconnectedCallback() {\r\n\r\n if (this.qspace) {\r\n\r\n this.qspace.core.removeEventListener('loaded', this._onCoreLoaded);\r\n\r\n this.qspace.view.removeEventListener('mode.change', this._onViewModeChange);\r\n\r\n this.qspace.model.removeEventListener('switch.waypoint.start', this._onSwitchWaypointStart);\r\n\r\n this.qspace.model.removeEventListener('switch.waypoint.complete', this._onSwitchWaypointComplete);\r\n\r\n }\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 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 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 }\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;AAOL,SAAA,SAAc;AAYd,SAAA,UAAU;AAUV,SAAA,SAA+B,CAAA;AAY/B,SAAQ,WAAW,CAAC,MAAa;AAE/B,0BAAoB,MAAM,CAAC;AAAA,IAE7B;AAEA,SAAQ,gBAAgB,MAAM;AAE5B,uBAAiB,IAAI;AAAA,IAEvB;AAEA,SAAQ,oBAAoB,CAAC,SAAiB;AAE5C,2BAAqB,MAAM,IAAI;AAAA,IAEjC;AAEA,SAAQ,yBAAyB,MAAM;AAErC,0BAAoB,IAAI;AAAA,IAE1B;AAEA,SAAQ,4BAA4B,MAAM;AAExC,6BAAuB,IAAI;AAAA,IAE7B;AAAA,EAAA;AAAA,EAtCA,WAAW,OAAgB;AAEzB,SAAK,UAAU;AAEf,SAAK,gBAAgB,WAAW,KAAK;AAAA,EAEvC;AAAA;AAAA;AAAA;AAAA,EAqCA,SAAS;AAEP,WAAO,mBAAmB,KAAK,QAAQ;AAAA,EAEzC;AAAA;AAAA;AAAA;AAAA,EAKA,oBAAoB;AAElB,UAAM,kBAAA;AAEN,QAAI,KAAK,QAAQ;AAEf,UAAI,KAAK,OAAO,MAAM;AAGpB,YAAI;AAEF,8BAAoB,MAAM,KAAK,OAAO,KAAK,IAAI;AAAA,QAEjD,SAAS,OAAO;AAEd,kBAAQ,MAAM,KAAK;AAAA,QAErB;AAAA,MAEF;AAEA,WAAK,OAAO,KAAK,iBAAiB,UAAU,KAAK,aAAa;AAE9D,WAAK,OAAO,KAAK,iBAAiB,eAAe,KAAK,iBAAiB;AAEvE,WAAK,OAAO,MAAM,iBAAiB,yBAAyB,KAAK,sBAAsB;AAEvF,WAAK,OAAO,MAAM,iBAAiB,4BAA4B,KAAK,yBAAyB;AAAA,IAE/F;AAAA,EAEF;AAAA;AAAA;AAAA;AAAA,EAKA,uBAAuB;AAErB,QAAI,KAAK,QAAQ;AAEf,WAAK,OAAO,KAAK,oBAAoB,UAAU,KAAK,aAAa;AAEjE,WAAK,OAAO,KAAK,oBAAoB,eAAe,KAAK,iBAAiB;AAE1E,WAAK,OAAO,MAAM,oBAAoB,yBAAyB,KAAK,sBAAsB;AAE1F,WAAK,OAAO,MAAM,oBAAoB,4BAA4B,KAAK,yBAAyB;AAAA,IAElG;AAEA,UAAM,qBAAA;AAAA,EAER;AAAA;AAAA;AAAA;AAAA,EAKA,aAAa,SAA+B;AAE1C,UAAM,aAAa,OAAO;AAAA,EAE5B;AAAA;AAAA;AAAA;AAAA,EAKA,QAAQ,SAA+B;AAErC,UAAM,QAAQ,OAAO;AAAA,EAEvB;AAAA;AAAA;AAAA;AAAA,EAKU,WAAW,oBAA0C;AAAA,EAE/D;AAEF;AAlKa,sBAuCJ,SAAS;AAhChB,gBAAA;AAAA,EAJC,SAAS;AAAA,IACR,MAAM;AAAA,IACN,WAAW;AAAA,EAAA,CACZ;AAAA,GANU,sBAOX,WAAA,UAAA,CAAA;AAYA,gBAAA;AAAA,EANC,SAAS;AAAA,IACR,MAAM;AAAA;AAAA,IACN,WAAW;AAAA;AAAA,IACX,SAAS;AAAA;AAAA,IACT,WAAW;AAAA;AAAA,EAAA,CACZ;AAAA,GAlBU,sBAmBX,WAAA,WAAA,CAAA;AAUA,gBAAA;AAAA,EAJC,SAAS;AAAA,IACR,MAAM;AAAA,IACN,WAAW;AAAA,EAAA,CACZ;AAAA,GA5BU,sBA6BX,WAAA,UAAA,CAAA;AA7BW,wBAAN,gBAAA;AAAA,EADN,kBAAkB,GAAG;AAAA,GACT,qBAAA;"}
@@ -11,4 +11,8 @@ export declare function syncEnabledFromMode(host: PanoramaViewHost, mode: string
11
11
  export declare function handlePanoramaClick(host: PanoramaViewHost, e: Event): void;
12
12
  export declare function handelCoreLoaded(host: PanoramaViewHost): void;
13
13
  export declare function handelViewModeChange(host: PanoramaViewHost, mode: string): void;
14
+ /** 全景点位切换开始:禁用视图切换按钮 */
15
+ export declare function handelWaypointStart(host: PanoramaViewHost): void;
16
+ /** 全景点位切换完成:按当前 view.mode 恢复 enabled */
17
+ export declare function handelWaypointComplete(host: PanoramaViewHost): void;
14
18
  //# 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,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,OAAO,EAAE,OAAO,CAAA;IAChB,UAAU,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,CAAA;CAErC,CAAA;AAED,iDAAiD;AACjD,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,gBAAgB,EAAE,IAAI,EAAE,MAAM,GAAG,SAAS,QAmBnF;AAED,sDAAsD;AACtD,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,gBAAgB,EAAE,CAAC,EAAE,KAAK,QA6BnE;AAED,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,gBAAgB,QAItD;AAED,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,gBAAgB,EAAE,IAAI,EAAE,MAAM,QAIxE"}
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,OAAO,EAAE,OAAO,CAAA;IAChB,UAAU,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,CAAA;CAErC,CAAA;AAED,iDAAiD;AACjD,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,gBAAgB,EAAE,IAAI,EAAE,MAAM,GAAG,SAAS,QAmBnF;AAED,sDAAsD;AACtD,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,gBAAgB,EAAE,CAAC,EAAE,KAAK,QA6BnE;AAED,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,gBAAgB,QAItD;AAED,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,gBAAgB,EAAE,IAAI,EAAE,MAAM,QAIxE;AAED,wBAAwB;AACxB,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,gBAAgB,QAIzD;AAED,wCAAwC;AACxC,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,gBAAgB,QAI5D"}
@@ -24,7 +24,6 @@ function handlePanoramaClick(host, e) {
24
24
  return;
25
25
  }
26
26
  host.setEnabled(false);
27
- console.log("host.option", host.option);
28
27
  turnToPanoramaView(host.qspace, host.option, () => {
29
28
  dispatchComplete(host, e);
30
29
  });
@@ -36,9 +35,18 @@ function handelCoreLoaded(host) {
36
35
  function handelViewModeChange(host, mode) {
37
36
  syncEnabledFromMode(host, mode);
38
37
  }
38
+ function handelWaypointStart(host) {
39
+ host.setEnabled(false);
40
+ }
41
+ function handelWaypointComplete(host) {
42
+ var _a, _b;
43
+ syncEnabledFromMode(host, (_b = (_a = host.qspace) == null ? void 0 : _a.view) == null ? void 0 : _b.mode);
44
+ }
39
45
  export {
40
46
  handelCoreLoaded,
41
47
  handelViewModeChange,
48
+ handelWaypointComplete,
49
+ handelWaypointStart,
42
50
  handlePanoramaClick,
43
51
  syncEnabledFromMode
44
52
  };
@@ -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 { 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 enabled: boolean\n setEnabled: (value: boolean) => void\n\n}\n\n/** 根据 qspace.view.mode 同步 enabled:当前视图或过渡中不可点 */\nexport function syncEnabledFromMode(host: PanoramaViewHost, mode: string | undefined) {\n\n switch (mode) {\n\n case ViewMode.Transitioning:\n case ViewMode.Panorama:\n host.setEnabled(false)\n break\n\n case ViewMode.Dollhouse:\n case ViewMode.Floorplan:\n host.setEnabled(true)\n break\n\n default:\n break\n\n }\n\n}\n\n/** 点击交互:校验 → 派发 click → 执行 qspace 切换 → 派发 complete */\nexport function handlePanoramaClick(host: PanoramaViewHost, e: Event) {\n\n if (!host.enabled) {\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.setEnabled(false)\n\n console.log('host.option', host.option);\n\n turnToPanoramaView(host.qspace, host.option, () => {\n\n dispatchComplete(host, e)\n\n })\n\n}\n\nexport function handelCoreLoaded(host: PanoramaViewHost) {\n\n syncEnabledFromMode(host, host.qspace?.view?.mode)\n\n}\n\nexport function handelViewModeChange(host: PanoramaViewHost, mode: string) {\n\n syncEnabledFromMode(host, mode)\n\n}\n"],"names":[],"mappings":";;;AAqBO,SAAS,oBAAoB,MAAwB,MAA0B;AAEpF,UAAQ,MAAA;AAAA,IAEN,KAAK,SAAS;AAAA,IACd,KAAK,SAAS;AACZ,WAAK,WAAW,KAAK;AACrB;AAAA,IAEF,KAAK,SAAS;AAAA,IACd,KAAK,SAAS;AACZ,WAAK,WAAW,IAAI;AACpB;AAAA,EAGA;AAIN;AAGO,SAAS,oBAAoB,MAAwB,GAAU;AAEpE,MAAI,CAAC,KAAK,SAAS;AAEjB,MAAE,eAAA;AACF,MAAE,gBAAA;AAEF;AAAA,EAEF;AAEA,gBAAc,MAAM,CAAC;AAErB,MAAI,CAAC,KAAK,QAAQ;AAEhB;AAAA,EAEF;AAEA,OAAK,WAAW,KAAK;AAErB,UAAQ,IAAI,eAAe,KAAK,MAAM;AAEtC,qBAAmB,KAAK,QAAQ,KAAK,QAAQ,MAAM;AAEjD,qBAAiB,MAAM,CAAC;AAAA,EAE1B,CAAC;AAEH;AAEO,SAAS,iBAAiB,MAAwB;;AAEvD,sBAAoB,OAAM,gBAAK,WAAL,mBAAa,SAAb,mBAAmB,IAAI;AAEnD;AAEO,SAAS,qBAAqB,MAAwB,MAAc;AAEzE,sBAAoB,MAAM,IAAI;AAEhC;"}
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 enabled: boolean\n setEnabled: (value: boolean) => void\n\n}\n\n/** 根据 qspace.view.mode 同步 enabled:当前视图或过渡中不可点 */\nexport function syncEnabledFromMode(host: PanoramaViewHost, mode: string | undefined) {\n\n switch (mode) {\n\n case ViewMode.Transitioning:\n case ViewMode.Panorama:\n host.setEnabled(false)\n break\n\n case ViewMode.Dollhouse:\n case ViewMode.Floorplan:\n host.setEnabled(true)\n break\n\n default:\n break\n\n }\n\n}\n\n/** 点击交互:校验 → 派发 click → 执行 qspace 切换 → 派发 complete */\nexport function handlePanoramaClick(host: PanoramaViewHost, e: Event) {\n\n if (!host.enabled) {\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.setEnabled(false)\n\n // console.log('host.option', host.option);\n\n turnToPanoramaView(host.qspace, host.option, () => {\n\n dispatchComplete(host, e)\n\n })\n\n}\n\nexport function handelCoreLoaded(host: PanoramaViewHost) {\n\n syncEnabledFromMode(host, host.qspace?.view?.mode)\n\n}\n\nexport function handelViewModeChange(host: PanoramaViewHost, mode: string) {\n\n syncEnabledFromMode(host, mode)\n\n}\n\n/** 全景点位切换开始:禁用视图切换按钮 */\nexport function handelWaypointStart(host: PanoramaViewHost) {\n\n host.setEnabled(false)\n\n}\n\n/** 全景点位切换完成:按当前 view.mode 恢复 enabled */\nexport function handelWaypointComplete(host: PanoramaViewHost) {\n\n syncEnabledFromMode(host, host.qspace?.view?.mode)\n\n}\n"],"names":[],"mappings":";;;AAqBO,SAAS,oBAAoB,MAAwB,MAA0B;AAEpF,UAAQ,MAAA;AAAA,IAEN,KAAK,SAAS;AAAA,IACd,KAAK,SAAS;AACZ,WAAK,WAAW,KAAK;AACrB;AAAA,IAEF,KAAK,SAAS;AAAA,IACd,KAAK,SAAS;AACZ,WAAK,WAAW,IAAI;AACpB;AAAA,EAGA;AAIN;AAGO,SAAS,oBAAoB,MAAwB,GAAU;AAEpE,MAAI,CAAC,KAAK,SAAS;AAEjB,MAAE,eAAA;AACF,MAAE,gBAAA;AAEF;AAAA,EAEF;AAEA,gBAAc,MAAM,CAAC;AAErB,MAAI,CAAC,KAAK,QAAQ;AAEhB;AAAA,EAEF;AAEA,OAAK,WAAW,KAAK;AAIrB,qBAAmB,KAAK,QAAQ,KAAK,QAAQ,MAAM;AAEjD,qBAAiB,MAAM,CAAC;AAAA,EAE1B,CAAC;AAEH;AAEO,SAAS,iBAAiB,MAAwB;;AAEvD,sBAAoB,OAAM,gBAAK,WAAL,mBAAa,SAAb,mBAAmB,IAAI;AAEnD;AAEO,SAAS,qBAAqB,MAAwB,MAAc;AAEzE,sBAAoB,MAAM,IAAI;AAEhC;AAGO,SAAS,oBAAoB,MAAwB;AAE1D,OAAK,WAAW,KAAK;AAEvB;AAGO,SAAS,uBAAuB,MAAwB;;AAE7D,sBAAoB,OAAM,gBAAK,WAAL,mBAAa,SAAb,mBAAmB,IAAI;AAEnD;"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@qverse-ui/lit-components",
3
- "version": "1.0.7",
3
+ "version": "1.0.8",
4
4
  "private": false,
5
5
  "publishConfig": {
6
6
  "access": "public"