@mlightcad/cad-simple-viewer 1.6.2 → 1.6.3

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 (171) hide show
  1. package/dist/cad-simple-viewer.js +11046 -8236
  2. package/dist/cad-simple-viewer.umd.cjs +26 -26
  3. package/icons.ts +7 -0
  4. package/lib/app/AcApBusyIndicator.d.ts +6 -0
  5. package/lib/app/AcApBusyIndicator.d.ts.map +1 -1
  6. package/lib/app/AcApBusyIndicator.js +8 -0
  7. package/lib/app/AcApBusyIndicator.js.map +1 -1
  8. package/lib/app/AcApContext.d.ts +24 -0
  9. package/lib/app/AcApContext.d.ts.map +1 -1
  10. package/lib/app/AcApContext.js +103 -18
  11. package/lib/app/AcApContext.js.map +1 -1
  12. package/lib/app/AcApDocManager.d.ts +221 -21
  13. package/lib/app/AcApDocManager.d.ts.map +1 -1
  14. package/lib/app/AcApDocManager.js +820 -134
  15. package/lib/app/AcApDocManager.js.map +1 -1
  16. package/lib/app/AcApDocSession.d.ts +41 -0
  17. package/lib/app/AcApDocSession.d.ts.map +1 -0
  18. package/lib/app/AcApDocSession.js +29 -0
  19. package/lib/app/AcApDocSession.js.map +1 -0
  20. package/lib/app/AcApDocument.d.ts +5 -0
  21. package/lib/app/AcApDocument.d.ts.map +1 -1
  22. package/lib/app/AcApDocument.js +21 -0
  23. package/lib/app/AcApDocument.js.map +1 -1
  24. package/lib/app/AcApOpenFileProgressController.d.ts +14 -0
  25. package/lib/app/AcApOpenFileProgressController.d.ts.map +1 -1
  26. package/lib/app/AcApOpenFileProgressController.js +18 -0
  27. package/lib/app/AcApOpenFileProgressController.js.map +1 -1
  28. package/lib/app/AcApProgress.d.ts +6 -0
  29. package/lib/app/AcApProgress.d.ts.map +1 -1
  30. package/lib/app/AcApProgress.js +17 -0
  31. package/lib/app/AcApProgress.js.map +1 -1
  32. package/lib/app/index.d.ts +1 -0
  33. package/lib/app/index.d.ts.map +1 -1
  34. package/lib/app/index.js +1 -0
  35. package/lib/app/index.js.map +1 -1
  36. package/lib/command/AcApCloseCmd.d.ts +15 -0
  37. package/lib/command/AcApCloseCmd.d.ts.map +1 -0
  38. package/lib/command/AcApCloseCmd.js +83 -0
  39. package/lib/command/AcApCloseCmd.js.map +1 -0
  40. package/lib/command/index.d.ts +1 -0
  41. package/lib/command/index.d.ts.map +1 -1
  42. package/lib/command/index.js +1 -0
  43. package/lib/command/index.js.map +1 -1
  44. package/lib/command/markup/AcApMarkupCalloutCmd.d.ts.map +1 -1
  45. package/lib/command/markup/AcApMarkupCalloutCmd.js +29 -10
  46. package/lib/command/markup/AcApMarkupCalloutCmd.js.map +1 -1
  47. package/lib/command/markup/AcApMarkupGeometry.d.ts +20 -1
  48. package/lib/command/markup/AcApMarkupGeometry.d.ts.map +1 -1
  49. package/lib/command/markup/AcApMarkupGeometry.js +84 -24
  50. package/lib/command/markup/AcApMarkupGeometry.js.map +1 -1
  51. package/lib/command/markup/AcApMarkupHistory.d.ts +1 -1
  52. package/lib/command/markup/AcApMarkupHistory.d.ts.map +1 -1
  53. package/lib/command/markup/AcApMarkupHistory.js +4 -11
  54. package/lib/command/markup/AcApMarkupHistory.js.map +1 -1
  55. package/lib/command/markup/AcApMarkupPresenter.d.ts +8 -2
  56. package/lib/command/markup/AcApMarkupPresenter.d.ts.map +1 -1
  57. package/lib/command/markup/AcApMarkupPresenter.js +35 -5
  58. package/lib/command/markup/AcApMarkupPresenter.js.map +1 -1
  59. package/lib/command/markup/AcApMarkupSession.d.ts +54 -0
  60. package/lib/command/markup/AcApMarkupSession.d.ts.map +1 -0
  61. package/lib/command/markup/AcApMarkupSession.js +85 -0
  62. package/lib/command/markup/AcApMarkupSession.js.map +1 -0
  63. package/lib/command/markup/AcApMarkupSessionBootstrap.d.ts +2 -0
  64. package/lib/command/markup/AcApMarkupSessionBootstrap.d.ts.map +1 -0
  65. package/lib/command/markup/AcApMarkupSessionBootstrap.js +12 -0
  66. package/lib/command/markup/AcApMarkupSessionBootstrap.js.map +1 -0
  67. package/lib/command/markup/AcApMarkupShapeCallout.d.ts +21 -1
  68. package/lib/command/markup/AcApMarkupShapeCallout.d.ts.map +1 -1
  69. package/lib/command/markup/AcApMarkupShapeCallout.js +29 -22
  70. package/lib/command/markup/AcApMarkupShapeCallout.js.map +1 -1
  71. package/lib/command/markup/AcApMarkupStore.d.ts +1 -1
  72. package/lib/command/markup/AcApMarkupStore.d.ts.map +1 -1
  73. package/lib/command/markup/AcApMarkupStore.js +3 -6
  74. package/lib/command/markup/AcApMarkupStore.js.map +1 -1
  75. package/lib/command/markup/index.d.ts +2 -0
  76. package/lib/command/markup/index.d.ts.map +1 -1
  77. package/lib/command/markup/index.js +3 -0
  78. package/lib/command/markup/index.js.map +1 -1
  79. package/lib/editor/view/AcEdBaseView.d.ts +12 -0
  80. package/lib/editor/view/AcEdBaseView.d.ts.map +1 -1
  81. package/lib/editor/view/AcEdBaseView.js +29 -1
  82. package/lib/editor/view/AcEdBaseView.js.map +1 -1
  83. package/lib/i18n/AcApI18n.d.ts +1 -1
  84. package/lib/i18n/AcApI18n.d.ts.map +1 -1
  85. package/lib/i18n/AcApI18n.js +2 -1
  86. package/lib/i18n/AcApI18n.js.map +1 -1
  87. package/lib/i18n/ar/command.d.ts +456 -0
  88. package/lib/i18n/ar/command.d.ts.map +1 -0
  89. package/lib/i18n/ar/command.js +14 -0
  90. package/lib/i18n/ar/command.js.map +1 -0
  91. package/lib/i18n/ar/jig.d.ts +1231 -0
  92. package/lib/i18n/ar/jig.d.ts.map +1 -0
  93. package/lib/i18n/ar/jig.js +594 -0
  94. package/lib/i18n/ar/jig.js.map +1 -0
  95. package/lib/i18n/ar/main.d.ts +64 -0
  96. package/lib/i18n/ar/main.d.ts.map +1 -0
  97. package/lib/i18n/ar/main.js +63 -0
  98. package/lib/i18n/ar/main.js.map +1 -0
  99. package/lib/i18n/cs/command.d.ts +3 -0
  100. package/lib/i18n/cs/command.d.ts.map +1 -1
  101. package/lib/i18n/cs/command.js +3 -0
  102. package/lib/i18n/cs/command.js.map +1 -1
  103. package/lib/i18n/cs/jig.js +1 -1
  104. package/lib/i18n/cs/jig.js.map +1 -1
  105. package/lib/i18n/en/command.d.ts +3 -0
  106. package/lib/i18n/en/command.d.ts.map +1 -1
  107. package/lib/i18n/en/command.js +3 -0
  108. package/lib/i18n/en/command.js.map +1 -1
  109. package/lib/i18n/en/jig.js +1 -1
  110. package/lib/i18n/en/jig.js.map +1 -1
  111. package/lib/i18n/index.d.ts.map +1 -1
  112. package/lib/i18n/index.js +8 -0
  113. package/lib/i18n/index.js.map +1 -1
  114. package/lib/i18n/tr/command.d.ts +3 -0
  115. package/lib/i18n/tr/command.d.ts.map +1 -1
  116. package/lib/i18n/tr/command.js +3 -0
  117. package/lib/i18n/tr/command.js.map +1 -1
  118. package/lib/i18n/tr/jig.js +1 -1
  119. package/lib/i18n/tr/jig.js.map +1 -1
  120. package/lib/i18n/zh/command.d.ts +3 -0
  121. package/lib/i18n/zh/command.d.ts.map +1 -1
  122. package/lib/i18n/zh/command.js +3 -0
  123. package/lib/i18n/zh/command.js.map +1 -1
  124. package/lib/i18n/zh/jig.js +1 -1
  125. package/lib/i18n/zh/jig.js.map +1 -1
  126. package/lib/plugin/AcApPluginManager.d.ts +10 -0
  127. package/lib/plugin/AcApPluginManager.d.ts.map +1 -1
  128. package/lib/plugin/AcApPluginManager.js +18 -0
  129. package/lib/plugin/AcApPluginManager.js.map +1 -1
  130. package/lib/ui/icons.d.ts +148 -0
  131. package/lib/ui/icons.d.ts.map +1 -0
  132. package/lib/ui/icons.js +173 -0
  133. package/lib/ui/icons.js.map +1 -0
  134. package/lib/ui/index.d.ts +1 -0
  135. package/lib/ui/index.d.ts.map +1 -1
  136. package/lib/ui/index.js +1 -0
  137. package/lib/ui/index.js.map +1 -1
  138. package/lib/view/AcApCompareDisplay.d.ts +37 -0
  139. package/lib/view/AcApCompareDisplay.d.ts.map +1 -0
  140. package/lib/view/AcApCompareDisplay.js +8 -0
  141. package/lib/view/AcApCompareDisplay.js.map +1 -0
  142. package/lib/view/AcEdReviewOverlayPick.d.ts +9 -0
  143. package/lib/view/AcEdReviewOverlayPick.d.ts.map +1 -1
  144. package/lib/view/AcEdReviewOverlayPick.js +30 -1
  145. package/lib/view/AcEdReviewOverlayPick.js.map +1 -1
  146. package/lib/view/AcTrLayer.d.ts +6 -0
  147. package/lib/view/AcTrLayer.d.ts.map +1 -1
  148. package/lib/view/AcTrLayer.js +8 -0
  149. package/lib/view/AcTrLayer.js.map +1 -1
  150. package/lib/view/AcTrLayout.d.ts +12 -0
  151. package/lib/view/AcTrLayout.d.ts.map +1 -1
  152. package/lib/view/AcTrLayout.js +12 -0
  153. package/lib/view/AcTrLayout.js.map +1 -1
  154. package/lib/view/AcTrScene.d.ts +7 -0
  155. package/lib/view/AcTrScene.d.ts.map +1 -1
  156. package/lib/view/AcTrScene.js +13 -0
  157. package/lib/view/AcTrScene.js.map +1 -1
  158. package/lib/view/AcTrView2d.d.ts +44 -1
  159. package/lib/view/AcTrView2d.d.ts.map +1 -1
  160. package/lib/view/AcTrView2d.js +148 -3
  161. package/lib/view/AcTrView2d.js.map +1 -1
  162. package/lib/view/AcTrViewSessionState.d.ts +26 -0
  163. package/lib/view/AcTrViewSessionState.d.ts.map +1 -0
  164. package/lib/view/AcTrViewSessionState.js +2 -0
  165. package/lib/view/AcTrViewSessionState.js.map +1 -0
  166. package/lib/view/index.d.ts +2 -0
  167. package/lib/view/index.d.ts.map +1 -1
  168. package/lib/view/index.js +2 -0
  169. package/lib/view/index.js.map +1 -1
  170. package/package.json +12 -5
  171. package/src/ui/icons.ts +293 -0
package/icons.ts ADDED
@@ -0,0 +1,7 @@
1
+ /**
2
+ * Subpath entry for `@mlightcad/cad-simple-viewer/icons`.
3
+ *
4
+ * Lets Node10 module resolution and the HTML viewer IIFE import icon
5
+ * strings without loading the rest of the viewer.
6
+ */
7
+ export * from './src/ui/icons'
@@ -12,6 +12,12 @@ export declare class AcApBusyIndicator {
12
12
  * @param host - Element that receives the overlay (typically canvas or viewer shell)
13
13
  */
14
14
  constructor(host: HTMLElement);
15
+ /**
16
+ * Moves the overlay onto another host (e.g. the focused split pane).
17
+ *
18
+ * @param host - New parent element for the overlay.
19
+ */
20
+ setHost(host: HTMLElement): void;
15
21
  /**
16
22
  * Shows the busy overlay, optionally with a message.
17
23
  *
@@ -1 +1 @@
1
- {"version":3,"file":"AcApBusyIndicator.d.ts","sourceRoot":"","sources":["../../src/app/AcApBusyIndicator.ts"],"names":[],"mappings":"AAKA;;;;;GAKG;AACH,qBAAa,iBAAiB;IAC5B,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAc;IACxC,OAAO,CAAC,SAAS,CAAI;IACrB,OAAO,CAAC,QAAQ,CAAK;IAErB;;OAEG;gBACS,IAAI,EAAE,WAAW;IAK7B;;;;;OAKG;IACH,IAAI,CAAC,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI;IAkB5B;;;;OAIG;IACH,IAAI,IAAI,IAAI;IAaZ;;OAEG;IACH,UAAU,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IAQjC;;;;;OAKG;IACG,iBAAiB,CAAC,CAAC,EACvB,IAAI,EAAE,MAAM,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,EAC1B,OAAO,CAAC,EAAE,MAAM,GACf,OAAO,CAAC,CAAC,CAAC;IAUb,OAAO,CAAC,SAAS;CAMlB"}
1
+ {"version":3,"file":"AcApBusyIndicator.d.ts","sourceRoot":"","sources":["../../src/app/AcApBusyIndicator.ts"],"names":[],"mappings":"AAKA;;;;;GAKG;AACH,qBAAa,iBAAiB;IAC5B,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAc;IACxC,OAAO,CAAC,SAAS,CAAI;IACrB,OAAO,CAAC,QAAQ,CAAK;IAErB;;OAEG;gBACS,IAAI,EAAE,WAAW;IAK7B;;;;OAIG;IACH,OAAO,CAAC,IAAI,EAAE,WAAW,GAAG,IAAI;IAIhC;;;;;OAKG;IACH,IAAI,CAAC,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI;IAkB5B;;;;OAIG;IACH,IAAI,IAAI,IAAI;IAaZ;;OAEG;IACH,UAAU,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IAQjC;;;;;OAKG;IACG,iBAAiB,CAAC,CAAC,EACvB,IAAI,EAAE,MAAM,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,EAC1B,OAAO,CAAC,EAAE,MAAM,GACf,OAAO,CAAC,CAAC,CAAC;IAUb,OAAO,CAAC,SAAS;CAMlB"}
@@ -53,6 +53,14 @@ var AcApBusyIndicator = /** @class */ (function () {
53
53
  this._progress = new AcApProgress({ host: host });
54
54
  this._progress.hide();
55
55
  }
56
+ /**
57
+ * Moves the overlay onto another host (e.g. the focused split pane).
58
+ *
59
+ * @param host - New parent element for the overlay.
60
+ */
61
+ AcApBusyIndicator.prototype.setHost = function (host) {
62
+ this._progress.setHost(host);
63
+ };
56
64
  /**
57
65
  * Shows the busy overlay, optionally with a message.
58
66
  *
@@ -1 +1 @@
1
- {"version":3,"file":"AcApBusyIndicator.js","sourceRoot":"","sources":["../../src/app/AcApBusyIndicator.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAA;AAEzD,OAAO,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAA;AACpC,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAA;AAE7C;;;;;GAKG;AACH;IAKE;;OAEG;IACH,2BAAY,IAAiB;QANrB,cAAS,GAAG,CAAC,CAAA;QACb,aAAQ,GAAG,EAAE,CAAA;QAMnB,IAAI,CAAC,SAAS,GAAG,IAAI,YAAY,CAAC,EAAE,IAAI,MAAA,EAAE,CAAC,CAAA;QAC3C,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,CAAA;IACvB,CAAC;IAED;;;;;OAKG;IACH,gCAAI,GAAJ,UAAK,OAAgB;QACnB,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;YAC1B,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAA;QACzB,CAAC;aAAM,IAAI,IAAI,CAAC,SAAS,KAAK,CAAC,EAAE,CAAC;YAChC,IAAI,CAAC,QAAQ,GAAG,EAAE,CAAA;QACpB,CAAC;QAED,IAAI,CAAC,SAAS,EAAE,CAAA;QAChB,IAAI,IAAI,CAAC,SAAS,KAAK,CAAC,EAAE,CAAC;YACzB,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;YACxC,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,CAAA;YACrB,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAA;QACtB,CAAC;aAAM,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;YACjC,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,OAAO,CAAC,CAAA;YAClC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAA;QACtB,CAAC;IACH,CAAC;IAED;;;;OAIG;IACH,gCAAI,GAAJ;QACE,IAAI,IAAI,CAAC,SAAS,IAAI,CAAC,EAAE,CAAC;YACxB,OAAM;QACR,CAAC;QAED,IAAI,CAAC,SAAS,EAAE,CAAA;QAChB,IAAI,IAAI,CAAC,SAAS,KAAK,CAAC,EAAE,CAAC;YACzB,IAAI,CAAC,QAAQ,GAAG,EAAE,CAAA;YAClB,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,CAAA;YACrB,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAA;QACvB,CAAC;IACH,CAAC;IAED;;OAEG;IACH,sCAAU,GAAV,UAAW,OAAe;QACxB,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAA;QACvB,IAAI,IAAI,CAAC,SAAS,GAAG,CAAC,EAAE,CAAC;YACvB,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,OAAO,CAAC,CAAA;YAClC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAA;QACtB,CAAC;IACH,CAAC;IAED;;;;;OAKG;IACG,6CAAiB,GAAvB,UACE,IAA0B,EAC1B,OAAgB;;;;;wBAEhB,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;;;;wBAEhB,qBAAM,iBAAiB,EAAE,EAAA;;wBAAzB,SAAyB,CAAA;wBAClB,qBAAM,IAAI,EAAE,EAAA;4BAAnB,sBAAO,SAAY,EAAA;;wBAEnB,IAAI,CAAC,IAAI,EAAE,CAAA;;;;;;KAEd;IAEO,qCAAS,GAAjB,UAAkB,OAAgB;QAChC,QAAQ,CAAC,IAAI,CAAC,gBAAgB,EAAE;YAC9B,OAAO,SAAA;YACP,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,IAAI,SAAS,CAAC,CAAC,CAAC,SAAS;SAC1D,CAAC,CAAA;IACJ,CAAC;IACH,wBAAC;AAAD,CAAC,AA3FD,IA2FC"}
1
+ {"version":3,"file":"AcApBusyIndicator.js","sourceRoot":"","sources":["../../src/app/AcApBusyIndicator.ts"],"names":[],"mappings":"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"}
@@ -13,6 +13,10 @@ import { AcApDocument } from './AcApDocument';
13
13
  * - System variable changes (like point display mode)
14
14
  * - Entity selection and highlighting
15
15
  *
16
+ * Call {@link dispose} when the document is closed. Use {@link suspend} /
17
+ * {@link resume} when parking an inactive document so its database events do
18
+ * not mutate the shared view while another document is on screen.
19
+ *
16
20
  * @example
17
21
  * ```typescript
18
22
  * const document = new AcApDocument();
@@ -28,6 +32,10 @@ export declare class AcApContext {
28
32
  private _view;
29
33
  /** The document containing the CAD database */
30
34
  private _doc;
35
+ /** When false, database and selection listeners no-op (inactive MDI session). */
36
+ private _active;
37
+ /** Unbind functions registered in the constructor. */
38
+ private readonly _disposers;
31
39
  /**
32
40
  * Creates a new application context that binds a document with its view.
33
41
  *
@@ -53,5 +61,21 @@ export declare class AcApContext {
53
61
  * @returns The associated document instance
54
62
  */
55
63
  get doc(): AcApDocument;
64
+ /**
65
+ * Whether this context currently forwards database events to the shared view.
66
+ */
67
+ get isActive(): boolean;
68
+ /**
69
+ * Stops forwarding database events to the view (document is no longer on screen).
70
+ */
71
+ suspend(): void;
72
+ /**
73
+ * Resumes forwarding database events after {@link suspend}.
74
+ */
75
+ resume(): void;
76
+ /**
77
+ * Removes all event listeners. Call when the document session is discarded.
78
+ */
79
+ dispose(): void;
56
80
  }
57
81
  //# sourceMappingURL=AcApContext.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"AcApContext.d.ts","sourceRoot":"","sources":["../../src/app/AcApContext.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAA;AAE1D,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAA;AAU7C;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,qBAAa,WAAW;IACtB,sDAAsD;IACtD,OAAO,CAAC,KAAK,CAAc;IAC3B,+CAA+C;IAC/C,OAAO,CAAC,IAAI,CAAc;IAE1B;;;;;;;;;;;OAWG;gBACS,IAAI,EAAE,YAAY,EAAE,GAAG,EAAE,YAAY;IAwFjD;;;;OAIG;IACH,IAAI,IAAI,iBAEP;IAED;;;;OAIG;IACH,IAAI,GAAG,IAAI,YAAY,CAEtB;CACF"}
1
+ {"version":3,"file":"AcApContext.d.ts","sourceRoot":"","sources":["../../src/app/AcApContext.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAA;AAE1D,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAA;AAU7C;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,qBAAa,WAAW;IACtB,sDAAsD;IACtD,OAAO,CAAC,KAAK,CAAc;IAC3B,+CAA+C;IAC/C,OAAO,CAAC,IAAI,CAAc;IAC1B,iFAAiF;IACjF,OAAO,CAAC,OAAO,CAAO;IACtB,sDAAsD;IACtD,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAwB;IAEnD;;;;;;;;;;;OAWG;gBACS,IAAI,EAAE,YAAY,EAAE,GAAG,EAAE,YAAY;IA2GjD;;;;OAIG;IACH,IAAI,IAAI,iBAEP;IAED;;;;OAIG;IACH,IAAI,GAAG,IAAI,YAAY,CAEtB;IAED;;OAEG;IACH,IAAI,QAAQ,YAEX;IAED;;OAEG;IACH,OAAO;IAIP;;OAEG;IACH,MAAM;IAIN;;OAEG;IACH,OAAO;CAOR"}
@@ -1,3 +1,14 @@
1
+ var __values = (this && this.__values) || function(o) {
2
+ var s = typeof Symbol === "function" && Symbol.iterator, m = s && o[s], i = 0;
3
+ if (m) return m.call(o);
4
+ if (o && typeof o.length === "number") return {
5
+ next: function () {
6
+ if (o && i >= o.length) o = void 0;
7
+ return { value: o && o[i++], done: !o };
8
+ }
9
+ };
10
+ throw new TypeError(s ? "Object is not iterable." : "Symbol.iterator is not defined.");
11
+ };
1
12
  import { AcDbLayout, AcDbSystemVariables, AcDbSysVarManager } from '@mlightcad/data-model';
2
13
  import { AcTrView2d } from '../view';
3
14
  import { canApplyVisibilityOnlySceneUpdate } from './AcApEntityUpdate';
@@ -17,6 +28,10 @@ function asEntityList(entity) {
17
28
  * - System variable changes (like point display mode)
18
29
  * - Entity selection and highlighting
19
30
  *
31
+ * Call {@link dispose} when the document is closed. Use {@link suspend} /
32
+ * {@link resume} when parking an inactive document so its database events do
33
+ * not mutate the shared view while another document is on screen.
34
+ *
20
35
  * @example
21
36
  * ```typescript
22
37
  * const document = new AcApDocument();
@@ -42,10 +57,20 @@ var AcApContext = /** @class */ (function () {
42
57
  */
43
58
  function AcApContext(view, doc) {
44
59
  var _this = this;
60
+ /** When false, database and selection listeners no-op (inactive MDI session). */
61
+ this._active = true;
62
+ /** Unbind functions registered in the constructor. */
63
+ this._disposers = [];
45
64
  this._view = view;
46
65
  this._doc = doc;
66
+ var bind = function (manager, listener) {
67
+ manager.addEventListener(listener);
68
+ _this._disposers.push(function () { return manager.removeEventListener(listener); });
69
+ };
47
70
  // Add entity to scene
48
- doc.database.events.entityAppended.addEventListener(function (args) {
71
+ bind(doc.database.events.entityAppended, function (args) {
72
+ if (!_this._active)
73
+ return;
49
74
  var pending = asEntityList(args.entity).filter(function (entity) { return !_this.view.hasEntity(entity.objectId); });
50
75
  if (pending.length === 0) {
51
76
  return;
@@ -53,18 +78,22 @@ var AcApContext = /** @class */ (function () {
53
78
  _this.view.addEntity(pending.length === 1 ? pending[0] : pending);
54
79
  });
55
80
  // Update entity
56
- doc.database.events.entityModified.addEventListener(function (args) {
81
+ bind(doc.database.events.entityModified, function (args) {
82
+ if (!_this._active)
83
+ return;
57
84
  var eventArgs = args;
58
- var view = _this.view;
59
- if (view instanceof AcTrView2d &&
60
- canApplyVisibilityOnlySceneUpdate(eventArgs, function (objectId) { return view.hasEntity(objectId); }, function (objectId) { return view.getEntityVisible(objectId); }) &&
61
- view.updateEntityVisibility(eventArgs.entity)) {
85
+ var currentView = _this.view;
86
+ if (currentView instanceof AcTrView2d &&
87
+ canApplyVisibilityOnlySceneUpdate(eventArgs, function (objectId) { return currentView.hasEntity(objectId); }, function (objectId) { return currentView.getEntityVisible(objectId); }) &&
88
+ currentView.updateEntityVisibility(eventArgs.entity)) {
62
89
  return;
63
90
  }
64
91
  _this.view.updateEntity(eventArgs.entity);
65
92
  });
66
93
  // Erase entity
67
- doc.database.events.entityErased.addEventListener(function (args) {
94
+ bind(doc.database.events.entityErased, function (args) {
95
+ if (!_this._active)
96
+ return;
68
97
  var pending = asEntityList(args.entity).filter(function (entity) {
69
98
  return _this.view.hasEntity(entity.objectId);
70
99
  });
@@ -74,42 +103,55 @@ var AcApContext = /** @class */ (function () {
74
103
  _this.view.removeEntity(pending.length === 1 ? pending[0] : pending);
75
104
  });
76
105
  // Set layer visibility
77
- doc.database.events.layerAppended.addEventListener(function (args) {
106
+ bind(doc.database.events.layerAppended, function (args) {
107
+ if (!_this._active)
108
+ return;
78
109
  _this._view.addLayer(args.layer);
79
110
  });
80
111
  // Update layer information such as visibility
81
- doc.database.events.layerModified.addEventListener(function (args) {
112
+ bind(doc.database.events.layerModified, function (args) {
113
+ if (!_this._active)
114
+ return;
82
115
  _this._view.updateLayer(args.layer, args.changes);
83
116
  });
84
- // Set point display mode
85
- AcDbSysVarManager.instance().events.sysVarChanged.addEventListener(function (args) {
117
+ // Set point display mode. Sysvars are global; ignore other documents.
118
+ bind(AcDbSysVarManager.instance().events.sysVarChanged, function (args) {
119
+ if (!_this._active || args.database !== _this._doc.database) {
120
+ return;
121
+ }
86
122
  if (args.name == AcDbSystemVariables.PDMODE.toLowerCase()) {
87
123
  ;
88
124
  _this._view.rerenderPoints(args.database.pdmode);
89
125
  }
90
126
  else if (args.name == AcDbSystemVariables.LWDISPLAY.toLowerCase()) {
91
- var view_1 = _this._view;
127
+ var currentView = _this._view;
92
128
  var showLineWeight = !!args.database.lwdisplay;
93
- if (view_1.renderer.showLineWeight !== showLineWeight) {
94
- view_1.renderer.showLineWeight = showLineWeight;
129
+ if (currentView.renderer.showLineWeight !== showLineWeight) {
130
+ currentView.renderer.showLineWeight = showLineWeight;
95
131
  // Existing line objects may need different geometry/material classes.
96
132
  // Regenerate to rebuild scene content using the new display mode.
97
- view_1.clear();
133
+ currentView.clear();
98
134
  args.database.regen();
99
135
  }
100
136
  }
101
137
  });
102
- doc.database.events.dictObjetSet.addEventListener(function (args) {
138
+ bind(doc.database.events.dictObjetSet, function (args) {
139
+ if (!_this._active)
140
+ return;
103
141
  if (args.object instanceof AcDbLayout) {
104
142
  _this._view.addLayout(args.object);
105
143
  }
106
144
  });
107
145
  // Show their grip points when entities are selected
108
- view.selectionSet.events.selectionAdded.addEventListener(function (args) {
146
+ bind(view.selectionSet.events.selectionAdded, function (args) {
147
+ if (!_this._active)
148
+ return;
109
149
  view.highlight(args.ids);
110
150
  });
111
151
  // Hide their grip points when entities are deselected
112
- view.selectionSet.events.selectionRemoved.addEventListener(function (args) {
152
+ bind(view.selectionSet.events.selectionRemoved, function (args) {
153
+ if (!_this._active)
154
+ return;
113
155
  view.unhighlight(args.ids);
114
156
  });
115
157
  }
@@ -137,6 +179,49 @@ var AcApContext = /** @class */ (function () {
137
179
  enumerable: false,
138
180
  configurable: true
139
181
  });
182
+ Object.defineProperty(AcApContext.prototype, "isActive", {
183
+ /**
184
+ * Whether this context currently forwards database events to the shared view.
185
+ */
186
+ get: function () {
187
+ return this._active;
188
+ },
189
+ enumerable: false,
190
+ configurable: true
191
+ });
192
+ /**
193
+ * Stops forwarding database events to the view (document is no longer on screen).
194
+ */
195
+ AcApContext.prototype.suspend = function () {
196
+ this._active = false;
197
+ };
198
+ /**
199
+ * Resumes forwarding database events after {@link suspend}.
200
+ */
201
+ AcApContext.prototype.resume = function () {
202
+ this._active = true;
203
+ };
204
+ /**
205
+ * Removes all event listeners. Call when the document session is discarded.
206
+ */
207
+ AcApContext.prototype.dispose = function () {
208
+ var e_1, _a;
209
+ this._active = false;
210
+ try {
211
+ for (var _b = __values(this._disposers), _c = _b.next(); !_c.done; _c = _b.next()) {
212
+ var dispose = _c.value;
213
+ dispose();
214
+ }
215
+ }
216
+ catch (e_1_1) { e_1 = { error: e_1_1 }; }
217
+ finally {
218
+ try {
219
+ if (_c && !_c.done && (_a = _b.return)) _a.call(_b);
220
+ }
221
+ finally { if (e_1) throw e_1.error; }
222
+ }
223
+ this._disposers.length = 0;
224
+ };
140
225
  return AcApContext;
141
226
  }());
142
227
  export { AcApContext };
@@ -1 +1 @@
1
- {"version":3,"file":"AcApContext.js","sourceRoot":"","sources":["../../src/app/AcApContext.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"AcApContext.js","sourceRoot":"","sources":["../../src/app/AcApContext.ts"],"names":[],"mappings":"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"}