@vertexvis/viewer 0.15.2-testing.4 → 0.15.2

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 (273) hide show
  1. package/dist/cjs/_commonjsHelpers-dcc4cf71.js +1 -1
  2. package/dist/cjs/app-globals-2035678d.js +1 -1
  3. package/dist/cjs/browser.esm-5d246754.js +1 -1
  4. package/dist/cjs/bundle.esm-22b6f2d6.js +1 -1
  5. package/dist/cjs/bundle.esm-b43c197a.js +38280 -0
  6. package/dist/cjs/{config-4a86ae0b.js → config-3fc1c093.js} +2 -2
  7. package/dist/cjs/{cursors-85d403e9.js → cursors-02a06ec9.js} +7 -1
  8. package/dist/cjs/dom-8d90bfaf.js +1 -1
  9. package/dist/cjs/dom-92728e58.js +1 -1
  10. package/dist/cjs/dom-d1bbd67c.js +1 -1
  11. package/dist/cjs/dom-d57d3c3b.js +1 -1
  12. package/dist/cjs/elementRectObserver-9b28f182.js +1 -1
  13. package/dist/cjs/entities-9eb7e608.js +1 -1
  14. package/dist/cjs/{entities-496b61cd.js → entities-c1c3c6a3.js} +3 -3
  15. package/dist/cjs/errors-1b37642b.js +97 -0
  16. package/dist/cjs/grpc-web-client.umd-2af20c1b.js +1 -1
  17. package/dist/cjs/index-70db349e.js +1 -1
  18. package/dist/cjs/index-b9d13137.js +1 -1
  19. package/dist/cjs/index.cjs.js +9 -6
  20. package/dist/cjs/loader.cjs.js +2 -2
  21. package/dist/cjs/{mapper-216603b0.js → mapper-d4145b72.js} +2 -2
  22. package/dist/cjs/markup-4a2fc281.js +1 -1
  23. package/dist/cjs/{model-b61f4d20.js → model-19fb560a.js} +27 -6
  24. package/dist/cjs/model-20a70d27.js +1 -1
  25. package/dist/cjs/overlays-b03ec80b.js +1 -1
  26. package/dist/cjs/png-decoder-ef097f37.js +1 -1
  27. package/dist/cjs/results-178e89a3.js +1 -1
  28. package/dist/cjs/{scene-0ce59b26.js → scene-a94e6fa5.js} +276 -225
  29. package/dist/cjs/shadow-css-6b9daa41.js +1 -1
  30. package/dist/cjs/stencil-fc92b387.js +1 -1
  31. package/dist/cjs/{streamAttributes-7725f5c4.js → streamAttributes-cf0c513d.js} +5408 -39951
  32. package/dist/cjs/templates-e57b3741.js +1 -1
  33. package/dist/cjs/utils-2c8e2aa3.js +1 -1
  34. package/dist/cjs/utils-ea359796.js +1 -1
  35. package/dist/cjs/vertex-scene-tree-search_3.cjs.entry.js +1 -1
  36. package/dist/cjs/vertex-scene-tree-table-cell.cjs.entry.js +1 -1
  37. package/dist/cjs/vertex-scene-tree-table-column.cjs.entry.js +1 -1
  38. package/dist/cjs/vertex-scene-tree-table-header.cjs.entry.js +1 -1
  39. package/dist/cjs/vertex-scene-tree-table-resize-divider.cjs.entry.js +1 -1
  40. package/dist/cjs/vertex-scene-tree-toolbar-group.cjs.entry.js +1 -1
  41. package/dist/cjs/vertex-scene-tree.cjs.entry.js +158 -37
  42. package/dist/cjs/vertex-viewer-box-query-tool.cjs.entry.js +229 -49
  43. package/dist/cjs/vertex-viewer-button_3.cjs.entry.js +1 -1
  44. package/dist/cjs/vertex-viewer-default-toolbar.cjs.entry.js +1 -1
  45. package/dist/cjs/vertex-viewer-dom-element_2.cjs.entry.js +3 -2
  46. package/dist/cjs/vertex-viewer-dom-group.cjs.entry.js +1 -1
  47. package/dist/cjs/vertex-viewer-icon.cjs.entry.js +1 -1
  48. package/dist/cjs/vertex-viewer-layer.cjs.entry.js +1 -1
  49. package/dist/cjs/vertex-viewer-markup-arrow_3.cjs.entry.js +1 -1
  50. package/dist/cjs/vertex-viewer-markup-tool.cjs.entry.js +1 -1
  51. package/dist/cjs/vertex-viewer-markup.cjs.entry.js +1 -1
  52. package/dist/cjs/vertex-viewer-measurement-details.cjs.entry.js +3 -2
  53. package/dist/cjs/vertex-viewer-measurement-distance.cjs.entry.js +5 -4
  54. package/dist/cjs/vertex-viewer-measurement-line_2.cjs.entry.js +4 -3
  55. package/dist/cjs/vertex-viewer-measurement-precise.cjs.entry.js +7 -6
  56. package/dist/cjs/vertex-viewer-pin-group.cjs.entry.js +10 -5
  57. package/dist/cjs/vertex-viewer-pin-label_2.cjs.entry.js +15 -13
  58. package/dist/cjs/vertex-viewer-pin-tool.cjs.entry.js +20 -9
  59. package/dist/cjs/vertex-viewer-spinner.cjs.entry.js +1 -1
  60. package/dist/cjs/vertex-viewer-transform-widget.cjs.entry.js +6 -4
  61. package/dist/cjs/vertex-viewer-view-cube.cjs.entry.js +5 -4
  62. package/dist/cjs/vertex-viewer.cjs.entry.js +80 -53
  63. package/dist/cjs/viewer.cjs.js +2 -2
  64. package/dist/cjs/viewport-5ca619f7.js +1 -1
  65. package/dist/collection/components/scene-tree/lib/controller.js +108 -28
  66. package/dist/collection/components/scene-tree/lib/errors.js +35 -2
  67. package/dist/collection/components/scene-tree/scene-tree.js +12 -5
  68. package/dist/collection/components/viewer/viewer.js +17 -15
  69. package/dist/collection/components/viewer-box-query-tool/viewer-box-query-tool.css +7 -2
  70. package/dist/collection/components/viewer-box-query-tool/viewer-box-query-tool.js +105 -18
  71. package/dist/collection/components/viewer-pin-group/viewer-pin-group.js +5 -1
  72. package/dist/collection/components/viewer-pin-label/viewer-pin-label.css +1 -1
  73. package/dist/collection/components/viewer-pin-label/viewer-pin-label.js +14 -12
  74. package/dist/collection/components/viewer-pin-tool/utils.js +25 -4
  75. package/dist/collection/components/viewer-pin-tool/viewer-pin-tool.css +12 -0
  76. package/dist/collection/components/viewer-pin-tool/viewer-pin-tool.js +9 -2
  77. package/dist/collection/components/viewer-transform-widget/viewer-transform-widget.js +3 -2
  78. package/dist/collection/components/viewer-view-cube/viewer-view-cube.js +5 -5
  79. package/dist/collection/lib/cursors.js +6 -1
  80. package/dist/collection/lib/interactions/baseInteractionHandler.js +12 -2
  81. package/dist/collection/lib/interactions/mouseInteractions.js +5 -4
  82. package/dist/collection/lib/mappers/frameStreaming.js +11 -11
  83. package/dist/collection/lib/pins/interactions.js +9 -5
  84. package/dist/collection/lib/pins/model.js +2 -2
  85. package/dist/collection/lib/rendering/matrices.js +2 -4
  86. package/dist/collection/lib/scenes/camera.js +4 -2
  87. package/dist/collection/lib/scenes/mapper.js +98 -36
  88. package/dist/collection/lib/scenes/queries.js +89 -50
  89. package/dist/collection/lib/scenes/scene.js +15 -7
  90. package/dist/collection/lib/stream/stream.js +24 -12
  91. package/dist/collection/lib/transforms/drawable.js +2 -2
  92. package/dist/collection/lib/types/frame.js +4 -3
  93. package/dist/collection/lib/types/frameCamera.js +6 -1
  94. package/dist/collection/lib/types/index.js +3 -2
  95. package/dist/collection/lib/types/loadableResource.js +24 -4
  96. package/dist/collection/lib/types/sceneViewStateIdentifier.js +7 -0
  97. package/dist/collection/lib/volume-intersection/controller.js +71 -15
  98. package/dist/collection/lib/volume-intersection/interactions.js +54 -9
  99. package/dist/collection/lib/volume-intersection/model.js +27 -10
  100. package/dist/custom-elements/index.js +20207 -15976
  101. package/dist/custom-elements/png-decoder.js +1 -1
  102. package/dist/esm/_commonjsHelpers-11ca3be1.js +1 -1
  103. package/dist/esm/app-globals-40df99a0.js +1 -1
  104. package/dist/esm/{browser.esm-ae4ca1f1.js → browser.esm-07e7db8f.js} +2 -2
  105. package/dist/esm/bundle.esm-91404853.js +38273 -0
  106. package/dist/esm/{bundle.esm-ce2c7ad3.js → bundle.esm-92e615bf.js} +2 -2
  107. package/dist/esm/{config-6cdeb6ca.js → config-25384fe6.js} +3 -3
  108. package/dist/esm/{cursors-a8d4b3f4.js → cursors-127a3bb7.js} +8 -3
  109. package/dist/esm/dom-0440435d.js +1 -1
  110. package/dist/esm/dom-be140992.js +1 -1
  111. package/dist/esm/dom-e19ee80b.js +1 -1
  112. package/dist/esm/{dom-5b164305.js → dom-e436f0c0.js} +2 -2
  113. package/dist/esm/elementRectObserver-39cf7b95.js +1 -1
  114. package/dist/esm/{entities-6f3c5437.js → entities-0e325765.js} +4 -4
  115. package/dist/esm/entities-ce81dd7f.js +1 -1
  116. package/dist/esm/errors-a4cc9caa.js +85 -0
  117. package/dist/esm/grpc-web-client.umd-5409853c.js +1 -1
  118. package/dist/esm/index-26dfb2d0.js +1 -1
  119. package/dist/esm/index-e841d91b.js +1 -1
  120. package/dist/esm/index.js +15 -13
  121. package/dist/esm/index.mjs +15 -13
  122. package/dist/esm/loader.js +2 -2
  123. package/dist/esm/loader.mjs +2 -2
  124. package/dist/esm/{mapper-941ff03c.js → mapper-dd937684.js} +3 -3
  125. package/dist/esm/{markup-3c2900f3.js → markup-2dde1f10.js} +3 -3
  126. package/dist/esm/{model-fa9af61a.js → model-3cd8cd47.js} +2 -2
  127. package/dist/esm/{model-40bd1711.js → model-bfe1c4d8.js} +29 -8
  128. package/dist/esm/{overlays-cc3efc30.js → overlays-8f195eb3.js} +3 -3
  129. package/dist/esm/{png-decoder-d4b65417.js → png-decoder-45f38ea3.js} +2 -2
  130. package/dist/esm/{results-3b4df2cf.js → results-38baef59.js} +2 -2
  131. package/dist/esm/{scene-970f5000.js → scene-2543b3bd.js} +237 -178
  132. package/dist/esm/shadow-css-51dd7708.js +1 -1
  133. package/dist/esm/stencil-bfbf099f.js +1 -1
  134. package/dist/esm/{streamAttributes-24bd7b3a.js → streamAttributes-23270e27.js} +5419 -39956
  135. package/dist/esm/templates-022199c1.js +1 -1
  136. package/dist/esm/{utils-81347571.js → utils-2306c744.js} +2 -2
  137. package/dist/esm/{utils-559e1632.js → utils-f03802ef.js} +2 -2
  138. package/dist/esm/vertex-scene-tree-search_3.entry.js +3 -3
  139. package/dist/esm/vertex-scene-tree-table-cell.entry.js +1 -1
  140. package/dist/esm/vertex-scene-tree-table-column.entry.js +1 -1
  141. package/dist/esm/vertex-scene-tree-table-header.entry.js +1 -1
  142. package/dist/esm/vertex-scene-tree-table-resize-divider.entry.js +1 -1
  143. package/dist/esm/vertex-scene-tree-toolbar-group.entry.js +1 -1
  144. package/dist/esm/vertex-scene-tree.entry.js +160 -39
  145. package/dist/esm/vertex-viewer-box-query-tool.entry.js +229 -49
  146. package/dist/esm/vertex-viewer-button_3.entry.js +1 -1
  147. package/dist/esm/vertex-viewer-default-toolbar.entry.js +1 -1
  148. package/dist/esm/vertex-viewer-dom-element_2.entry.js +6 -5
  149. package/dist/esm/vertex-viewer-dom-group.entry.js +3 -3
  150. package/dist/esm/vertex-viewer-icon.entry.js +1 -1
  151. package/dist/esm/vertex-viewer-layer.entry.js +1 -1
  152. package/dist/esm/vertex-viewer-markup-arrow_3.entry.js +4 -4
  153. package/dist/esm/vertex-viewer-markup-tool.entry.js +5 -5
  154. package/dist/esm/vertex-viewer-markup.entry.js +5 -5
  155. package/dist/esm/vertex-viewer-measurement-details.entry.js +5 -4
  156. package/dist/esm/vertex-viewer-measurement-distance.entry.js +13 -12
  157. package/dist/esm/vertex-viewer-measurement-line_2.entry.js +8 -7
  158. package/dist/esm/vertex-viewer-measurement-precise.entry.js +12 -11
  159. package/dist/esm/vertex-viewer-pin-group.entry.js +13 -8
  160. package/dist/esm/vertex-viewer-pin-label_2.entry.js +18 -16
  161. package/dist/esm/vertex-viewer-pin-tool.entry.js +23 -12
  162. package/dist/esm/vertex-viewer-spinner.entry.js +1 -1
  163. package/dist/esm/vertex-viewer-transform-widget.entry.js +9 -7
  164. package/dist/esm/vertex-viewer-view-cube.entry.js +7 -6
  165. package/dist/esm/vertex-viewer.entry.js +65 -38
  166. package/dist/esm/viewer.js +2 -2
  167. package/dist/esm/{viewport-e39e2eba.js → viewport-f19fc583.js} +2 -2
  168. package/dist/types/components/scene-tree/lib/controller.d.ts +18 -3
  169. package/dist/types/components/scene-tree/lib/errors.d.ts +17 -2
  170. package/dist/types/components/viewer/viewer.d.ts +2 -0
  171. package/dist/types/components/viewer-box-query-tool/viewer-box-query-tool.d.ts +36 -2
  172. package/dist/types/components/viewer-pin-tool/utils.d.ts +1 -1
  173. package/dist/types/components.d.ts +11 -3
  174. package/dist/types/lib/cursors.d.ts +5 -0
  175. package/dist/types/lib/interactions/baseInteractionHandler.d.ts +1 -0
  176. package/dist/types/lib/interactions/mouseInteractions.d.ts +2 -1
  177. package/dist/types/lib/pins/interactions.d.ts +4 -2
  178. package/dist/types/lib/pins/model.d.ts +1 -1
  179. package/dist/types/lib/scenes/camera.d.ts +1 -1
  180. package/dist/types/lib/scenes/mapper.d.ts +5 -1
  181. package/dist/types/lib/scenes/queries.d.ts +45 -30
  182. package/dist/types/lib/scenes/scene.d.ts +10 -1
  183. package/dist/types/lib/types/frame.d.ts +1 -1
  184. package/dist/types/lib/types/index.d.ts +2 -1
  185. package/dist/types/lib/types/loadableResource.d.ts +8 -2
  186. package/dist/types/lib/types/sceneViewStateIdentifier.d.ts +15 -0
  187. package/dist/types/lib/volume-intersection/controller.d.ts +33 -5
  188. package/dist/types/lib/volume-intersection/interactions.d.ts +12 -1
  189. package/dist/types/lib/volume-intersection/model.d.ts +7 -0
  190. package/dist/viewer/index.esm.js +2 -2
  191. package/dist/viewer/{p-ad09c92e.entry.js → p-029fba92.entry.js} +1 -1
  192. package/dist/viewer/p-07aeee89.js +1 -1
  193. package/dist/viewer/{p-29986489.js → p-0a017be7.js} +2 -2
  194. package/dist/viewer/p-0c583cad.entry.js +4 -0
  195. package/dist/viewer/p-0d494d01.js +4 -0
  196. package/dist/viewer/p-0fdad1a5.js +1 -1
  197. package/dist/viewer/{p-3ca4a7c1.js → p-1812c82d.js} +2 -2
  198. package/dist/viewer/{p-7663a603.entry.js → p-191156ad.entry.js} +1 -1
  199. package/dist/viewer/{p-a57dc6e4.entry.js → p-1998284a.entry.js} +2 -2
  200. package/dist/viewer/p-27f715f8.entry.js +4 -0
  201. package/dist/viewer/{p-7f6251da.js → p-283aeac4.js} +2 -2
  202. package/dist/viewer/p-298b63c2.entry.js +4 -0
  203. package/dist/viewer/p-2ace066b.entry.js +4 -0
  204. package/dist/viewer/{p-597cc9b5.js → p-2b60a8b0.js} +2 -2
  205. package/dist/viewer/{p-050f912b.entry.js → p-2fd123c8.entry.js} +1 -1
  206. package/dist/viewer/p-305a8be6.entry.js +4 -0
  207. package/dist/viewer/p-31724d24.js +4 -0
  208. package/dist/viewer/p-32cc2209.js +4 -0
  209. package/dist/viewer/p-3829dd99.entry.js +4 -0
  210. package/dist/viewer/{p-6da8a28f.entry.js → p-3aae4bf1.entry.js} +2 -2
  211. package/dist/viewer/{p-99352cf0.js → p-42760392.js} +2 -2
  212. package/dist/viewer/p-440c8174.js +4 -0
  213. package/dist/viewer/{p-e422deaf.entry.js → p-4f25e367.entry.js} +2 -2
  214. package/dist/viewer/{p-a107b65e.entry.js → p-507b5aeb.entry.js} +2 -2
  215. package/dist/viewer/{p-52ab9ec0.js → p-51401063.js} +2 -2
  216. package/dist/viewer/{p-426970b3.entry.js → p-533b1c63.entry.js} +1 -1
  217. package/dist/viewer/{p-dcb9804c.entry.js → p-569ed94a.entry.js} +2 -2
  218. package/dist/viewer/p-5809b400.js +1 -1
  219. package/dist/viewer/p-6072cf84.js +4 -0
  220. package/dist/viewer/{p-e4a26a32.entry.js → p-6406a70a.entry.js} +1 -1
  221. package/dist/viewer/p-6bf0594b.entry.js +4 -0
  222. package/dist/viewer/p-72c59115.entry.js +4 -0
  223. package/dist/viewer/{p-d71652b0.entry.js → p-8ac7290a.entry.js} +1 -1
  224. package/dist/viewer/{p-f184bcab.entry.js → p-8afcbd99.entry.js} +1 -1
  225. package/dist/viewer/p-92fe4417.js +1 -1
  226. package/dist/viewer/{p-5746931d.entry.js → p-952a217d.entry.js} +1 -1
  227. package/dist/viewer/p-98e6a50e.js +1 -1
  228. package/dist/viewer/{p-99fd27e0.entry.js → p-9cb99ea8.entry.js} +1 -1
  229. package/dist/viewer/p-a2e9e8a5.js +4 -0
  230. package/dist/viewer/p-a380f0c2.js +1 -1
  231. package/dist/viewer/{p-661b5234.js → p-acfc5c50.js} +2 -2
  232. package/dist/viewer/{p-82bd25e8.entry.js → p-b3540dce.entry.js} +1 -1
  233. package/dist/viewer/p-b5ca30cd.js +4 -0
  234. package/dist/viewer/p-b74242dc.js +1 -1
  235. package/dist/viewer/p-bc1160cf.entry.js +4 -0
  236. package/dist/viewer/{p-c5e67a1e.entry.js → p-bd5a302c.entry.js} +2 -2
  237. package/dist/viewer/p-c738296e.js +1 -1
  238. package/dist/viewer/p-c8c4343b.js +1 -1
  239. package/dist/viewer/p-cd9ccb9e.entry.js +4 -0
  240. package/dist/viewer/{p-9e1384c9.js → p-cf689bbd.js} +2 -2
  241. package/dist/viewer/{p-70e5e8a8.js → p-d216a866.js} +2 -2
  242. package/dist/viewer/p-d4ed7b8d.js +4 -0
  243. package/dist/viewer/p-d6d5d5de.entry.js +4 -0
  244. package/dist/viewer/p-d6fce4c1.js +1 -1
  245. package/dist/viewer/p-df8fbe56.js +1 -1
  246. package/dist/viewer/p-dfe5a97d.js +1 -1
  247. package/dist/viewer/{p-00ce31a0.js → p-e1896ce4.js} +2 -2
  248. package/dist/viewer/p-e23af70c.js +4 -0
  249. package/dist/viewer/p-e4aa9cdb.js +1 -1
  250. package/dist/viewer/p-e929dd63.entry.js +4 -0
  251. package/dist/viewer/{p-65af7a89.js → p-fc7d8c03.js} +3 -3
  252. package/dist/viewer/viewer.esm.js +2 -2
  253. package/package.json +9 -9
  254. package/readme.md +4 -4
  255. package/dist/viewer/p-096e60bd.js +0 -4
  256. package/dist/viewer/p-0cf4f05d.entry.js +0 -4
  257. package/dist/viewer/p-0fcafbf9.js +0 -4
  258. package/dist/viewer/p-10145045.js +0 -4
  259. package/dist/viewer/p-1abfe4bf.js +0 -4
  260. package/dist/viewer/p-1bba9ade.entry.js +0 -4
  261. package/dist/viewer/p-24cda14a.entry.js +0 -4
  262. package/dist/viewer/p-27dbc865.js +0 -4
  263. package/dist/viewer/p-2b58afc3.entry.js +0 -4
  264. package/dist/viewer/p-51966cef.entry.js +0 -4
  265. package/dist/viewer/p-608925c5.entry.js +0 -4
  266. package/dist/viewer/p-68e192b9.js +0 -4
  267. package/dist/viewer/p-69a3fce8.entry.js +0 -4
  268. package/dist/viewer/p-74c772bb.entry.js +0 -4
  269. package/dist/viewer/p-990f98c2.js +0 -4
  270. package/dist/viewer/p-9dfe0b43.entry.js +0 -4
  271. package/dist/viewer/p-bb425931.entry.js +0 -4
  272. package/dist/viewer/p-bfacbaa8.entry.js +0 -4
  273. package/dist/viewer/p-c72da0fb.entry.js +0 -4
@@ -75,6 +75,11 @@ export function toProtobuf(camera) {
75
75
  position: Object.assign({}, camera.position),
76
76
  lookAt: Object.assign({}, camera.lookAt),
77
77
  up: Object.assign({}, camera.up),
78
+ fovY: camera.fovY
79
+ ? {
80
+ value: camera.fovY,
81
+ }
82
+ : null,
78
83
  },
79
84
  position: Object.assign({}, camera.position),
80
85
  lookAt: Object.assign({}, camera.lookAt),
@@ -85,4 +90,4 @@ export function toProtobuf(camera) {
85
90
  return Object.assign({}, camera);
86
91
  }
87
92
  }
88
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZnJhbWVDYW1lcmEuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbGliL3R5cGVzL2ZyYW1lQ2FtZXJhLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFDTCxLQUFLLEVBRUwsY0FBYyxFQUNkLE9BQU8sR0FDUixNQUFNLHFCQUFxQixDQUFDO0FBb0I3QixNQUFNLFVBQVUsd0JBQXdCLENBQ3RDLE1BQTRCO0VBRTVCLE9BQU8sQ0FDSixNQUFpQyxDQUFDLFFBQVEsSUFBSSxJQUFJO0lBQ2xELE1BQWtDLENBQUMsU0FBUyxJQUFJLElBQUksQ0FDdEQsQ0FBQztBQUNKLENBQUM7QUFFRCxNQUFNLFVBQVUseUJBQXlCLENBQ3ZDLE1BQTRCO0VBRTVCLE1BQU0sT0FBTyxHQUFHLE1BQWlDLENBQUM7RUFDbEQsT0FBTyxPQUFPLENBQUMsVUFBVSxJQUFJLElBQUksSUFBSSxPQUFPLENBQUMsU0FBUyxJQUFJLElBQUksQ0FBQztBQUNqRSxDQUFDO0FBRUQsTUFBTSxVQUFVLHlCQUF5QixDQUFDLE1BQW1CO0VBSTNELElBQUkseUJBQXlCLENBQUMsTUFBTSxDQUFDLEVBQUU7SUFDckMsdUNBQ0ssTUFBTSxLQUNULFFBQVEsRUFBRSxPQUFPLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxNQUFNLEVBQUUsT0FBTyxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsVUFBVSxDQUFDLENBQUMsSUFDdkU7R0FDSDtPQUFNO0lBQ0wsdUNBQ0ssTUFBTSxLQUNULFVBQVUsRUFBRSxPQUFPLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxNQUFNLEVBQUUsTUFBTSxDQUFDLFFBQVEsQ0FBQyxJQUM1RDtHQUNIO0FBQ0gsQ0FBQztBQUVELE1BQU0sVUFBVSxpQkFBaUIsQ0FDL0IsT0FBd0MsRUFBRTs7RUFFMUMsT0FBTztJQUNMLFFBQVEsRUFBRSxNQUFBLElBQUksQ0FBQyxRQUFRLG1DQUFJLE9BQU8sQ0FBQyxPQUFPLEVBQUU7SUFD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
93
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZnJhbWVDYW1lcmEuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbGliL3R5cGVzL2ZyYW1lQ2FtZXJhLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFDTCxLQUFLLEVBRUwsY0FBYyxFQUNkLE9BQU8sR0FDUixNQUFNLHFCQUFxQixDQUFDO0FBb0I3QixNQUFNLFVBQVUsd0JBQXdCLENBQ3RDLE1BQTRCO0VBRTVCLE9BQU8sQ0FDSixNQUFpQyxDQUFDLFFBQVEsSUFBSSxJQUFJO0lBQ2xELE1BQWtDLENBQUMsU0FBUyxJQUFJLElBQUksQ0FDdEQsQ0FBQztBQUNKLENBQUM7QUFFRCxNQUFNLFVBQVUseUJBQXlCLENBQ3ZDLE1BQTRCO0VBRTVCLE1BQU0sT0FBTyxHQUFHLE1BQWlDLENBQUM7RUFDbEQsT0FBTyxPQUFPLENBQUMsVUFBVSxJQUFJLElBQUksSUFBSSxPQUFPLENBQUMsU0FBUyxJQUFJLElBQUksQ0FBQztBQUNqRSxDQUFDO0FBRUQsTUFBTSxVQUFVLHlCQUF5QixDQUFDLE1BQW1CO0VBSTNELElBQUkseUJBQXlCLENBQUMsTUFBTSxDQUFDLEVBQUU7SUFDckMsdUNBQ0ssTUFBTSxLQUNULFFBQVEsRUFBRSxPQUFPLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxNQUFNLEVBQUUsT0FBTyxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsVUFBVSxDQUFDLENBQUMsSUFDdkU7R0FDSDtPQUFNO0lBQ0wsdUNBQ0ssTUFBTSxLQUNULFVBQVUsRUFBRSxPQUFPLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxNQUFNLEVBQUUsTUFBTSxDQUFDLFFBQVEsQ0FBQyxJQUM1RDtHQUNIO0FBQ0gsQ0FBQztBQUVELE1BQU0sVUFBVSxpQkFBaUIsQ0FDL0IsT0FBd0MsRUFBRTs7RUFFMUMsT0FBTztJQUNMLFFBQVEsRUFBRSxNQUFBLElBQUksQ0FBQyxRQUFRLG1DQUFJLE9BQU8sQ0FBQyxPQUFPLEVBQUU7SUFD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
@@ -10,6 +10,7 @@ import * as FlyTo from './flyToOptions';
10
10
  import * as FrameCamera from './frameCamera';
11
11
  import * as Interactions from './interactions';
12
12
  import * as LoadableResource from './loadableResource';
13
+ import * as SceneViewStateIdentifier from './sceneViewStateIdentifier';
13
14
  export * from './depthBuffer';
14
15
  export * from './entities';
15
16
  export * from './featureMap';
@@ -22,5 +23,5 @@ export * from './stencilBuffer';
22
23
  export * from './synchronizedClock';
23
24
  export * from './typeGuards';
24
25
  export * from './viewport';
25
- export { Animation, ClippingPlanes, CrossSectioning, Events, Flags, FlyTo, FrameCamera, Interactions, LoadableResource, };
26
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbGliL3R5cGVzL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBQ0gsT0FBTyxLQUFLLFNBQVMsTUFBTSxhQUFhLENBQUM7QUFDekMsT0FBTyxLQUFLLGNBQWMsTUFBTSxrQkFBa0IsQ0FBQztBQUNuRCxPQUFPLEtBQUssZUFBZSxNQUFNLG1CQUFtQixDQUFDO0FBQ3JELE9BQU8sS0FBSyxNQUFNLE1BQU0sVUFBVSxDQUFDO0FBQ25DLE9BQU8sS0FBSyxLQUFLLE1BQU0sU0FBUyxDQUFDO0FBQ2pDLE9BQU8sS0FBSyxLQUFLLE1BQU0sZ0JBQWdCLENBQUM7QUFDeEMsT0FBTyxLQUFLLFdBQVcsTUFBTSxlQUFlLENBQUM7QUFDN0MsT0FBTyxLQUFLLFlBQVksTUFBTSxnQkFBZ0IsQ0FBQztBQUMvQyxPQUFPLEtBQUssZ0JBQWdCLE1BQU0sb0JBQW9CLENBQUM7QUFFdkQsY0FBYyxlQUFlLENBQUM7QUFDOUIsY0FBYyxZQUFZLENBQUM7QUFDM0IsY0FBYyxjQUFjLENBQUM7QUFDN0IsY0FBYyxTQUFTLENBQUM7QUFDeEIsY0FBYyxVQUFVLENBQUM7QUFDekIsY0FBYyxvQkFBb0IsQ0FBQztBQUNuQyxjQUFjLGVBQWUsQ0FBQztBQUM5QixjQUFjLGdCQUFnQixDQUFDO0FBQy9CLGNBQWMsaUJBQWlCLENBQUM7QUFDaEMsY0FBYyxxQkFBcUIsQ0FBQztBQUNwQyxjQUFjLGNBQWMsQ0FBQztBQUM3QixjQUFjLFlBQVksQ0FBQztBQUUzQixPQUFPLEVBQ0wsU0FBUyxFQUNULGNBQWMsRUFDZCxlQUFlLEVBQ2YsTUFBTSxFQUNOLEtBQUssRUFDTCxLQUFLLEVBQ0wsV0FBVyxFQUNYLFlBQVksRUFDWixnQkFBZ0IsR0FDakIsQ0FBQyJ9
26
+ export { Animation, ClippingPlanes, CrossSectioning, Events, Flags, FlyTo, FrameCamera, Interactions, LoadableResource, SceneViewStateIdentifier, };
27
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbGliL3R5cGVzL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBQ0gsT0FBTyxLQUFLLFNBQVMsTUFBTSxhQUFhLENBQUM7QUFDekMsT0FBTyxLQUFLLGNBQWMsTUFBTSxrQkFBa0IsQ0FBQztBQUNuRCxPQUFPLEtBQUssZUFBZSxNQUFNLG1CQUFtQixDQUFDO0FBQ3JELE9BQU8sS0FBSyxNQUFNLE1BQU0sVUFBVSxDQUFDO0FBQ25DLE9BQU8sS0FBSyxLQUFLLE1BQU0sU0FBUyxDQUFDO0FBQ2pDLE9BQU8sS0FBSyxLQUFLLE1BQU0sZ0JBQWdCLENBQUM7QUFDeEMsT0FBTyxLQUFLLFdBQVcsTUFBTSxlQUFlLENBQUM7QUFDN0MsT0FBTyxLQUFLLFlBQVksTUFBTSxnQkFBZ0IsQ0FBQztBQUMvQyxPQUFPLEtBQUssZ0JBQWdCLE1BQU0sb0JBQW9CLENBQUM7QUFDdkQsT0FBTyxLQUFLLHdCQUF3QixNQUFNLDRCQUE0QixDQUFDO0FBRXZFLGNBQWMsZUFBZSxDQUFDO0FBQzlCLGNBQWMsWUFBWSxDQUFDO0FBQzNCLGNBQWMsY0FBYyxDQUFDO0FBQzdCLGNBQWMsU0FBUyxDQUFDO0FBQ3hCLGNBQWMsVUFBVSxDQUFDO0FBQ3pCLGNBQWMsb0JBQW9CLENBQUM7QUFDbkMsY0FBYyxlQUFlLENBQUM7QUFDOUIsY0FBYyxnQkFBZ0IsQ0FBQztBQUMvQixjQUFjLGlCQUFpQixDQUFDO0FBQ2hDLGNBQWMscUJBQXFCLENBQUM7QUFDcEMsY0FBYyxjQUFjLENBQUM7QUFDN0IsY0FBYyxZQUFZLENBQUM7QUFFM0IsT0FBTyxFQUNMLFNBQVMsRUFDVCxjQUFjLEVBQ2QsZUFBZSxFQUNmLE1BQU0sRUFDTixLQUFLLEVBQ0wsS0FBSyxFQUNMLFdBQVcsRUFDWCxZQUFZLEVBQ1osZ0JBQWdCLEVBQ2hCLHdCQUF3QixHQUN6QixDQUFDIn0=
@@ -1,33 +1,53 @@
1
1
  import { Uri } from '@vertexvis/utils';
2
2
  import { InvalidResourceUrnError } from '../errors';
3
3
  export function fromUrn(urn) {
4
+ var _a;
4
5
  const uri = Uri.parse(urn);
5
6
  if (uri.scheme !== 'urn' || uri.path == null) {
6
7
  throw new Error('Invalid URN. Expected URN scheme.');
7
8
  }
8
- const [nid, resourceType, resourceId] = uri.path.split(':');
9
+ const [nid, resourceType, resourceId, ...subResourcePath] = uri.path.split(/[:/]/);
9
10
  if (nid !== 'vertexvis') {
10
11
  throw new Error('Invalid URN. Expected URN to be vertexvis namespace');
11
12
  }
12
13
  switch (resourceType) {
13
14
  case 'stream-key':
15
+ const queries = fromQuery(uri.query);
16
+ const subResource = (_a = fromSubResourcePath(subResourcePath.join('/'))) !== null && _a !== void 0 ? _a : queries.find((q) => q.type === 'scene-view-state');
14
17
  return {
15
18
  resource: { type: 'stream-key', id: resourceId },
16
- queries: fromQuery(uri.query),
19
+ subResource,
20
+ queries: queries.filter((q) => q.type !== 'scene-view-state'),
17
21
  };
18
22
  default:
19
23
  throw new InvalidResourceUrnError(`Invalid URN. Unknown resource type ${resourceType}`);
20
24
  }
21
25
  }
26
+ function fromSubResourcePath(path) {
27
+ if (path != null) {
28
+ const [subResourceType, subResourceId] = path.split('/');
29
+ switch (subResourceType) {
30
+ case 'scene-view-states':
31
+ return {
32
+ type: 'scene-view-state',
33
+ id: subResourceId,
34
+ };
35
+ default:
36
+ return undefined;
37
+ }
38
+ }
39
+ }
22
40
  function fromQuery(query) {
23
41
  if (query != null) {
24
42
  return query.split('&').map((queryFragment) => {
25
43
  const [resourceType, resourceId] = queryFragment.split('=');
26
44
  switch (resourceType) {
45
+ case 'supplied-id':
46
+ return { type: 'supplied-id', id: resourceId };
27
47
  case 'scene-view-state':
28
48
  return { type: 'scene-view-state', id: resourceId };
29
49
  default:
30
- throw new Error('Invalid URN. Unknown query resource type');
50
+ throw new Error('Invalid URN. Unknown query value type');
31
51
  }
32
52
  });
33
53
  }
@@ -35,4 +55,4 @@ function fromQuery(query) {
35
55
  return [];
36
56
  }
37
57
  }
38
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9hZGFibGVSZXNvdXJjZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9saWIvdHlwZXMvbG9hZGFibGVSZXNvdXJjZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsR0FBRyxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFFdkMsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sV0FBVyxDQUFDO0FBY3BELE1BQU0sVUFBVSxPQUFPLENBQUMsR0FBVztFQUNqQyxNQUFNLEdBQUcsR0FBRyxHQUFHLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDO0VBRTNCLElBQUksR0FBRyxDQUFDLE1BQU0sS0FBSyxLQUFLLElBQUksR0FBRyxDQUFDLElBQUksSUFBSSxJQUFJLEVBQUU7SUFDNUMsTUFBTSxJQUFJLEtBQUssQ0FBQyxtQ0FBbUMsQ0FBQyxDQUFDO0dBQ3REO0VBRUQsTUFBTSxDQUFDLEdBQUcsRUFBRSxZQUFZLEVBQUUsVUFBVSxDQUFDLEdBQUcsR0FBRyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUM7RUFFNUQsSUFBSSxHQUFHLEtBQUssV0FBVyxFQUFFO0lBQ3ZCLE1BQU0sSUFBSSxLQUFLLENBQUMscURBQXFELENBQUMsQ0FBQztHQUN4RTtFQUVELFFBQVEsWUFBWSxFQUFFO0lBQ3BCLEtBQUssWUFBWTtNQUNmLE9BQU87UUFDTCxRQUFRLEVBQUUsRUFBRSxJQUFJLEVBQUUsWUFBWSxFQUFFLEVBQUUsRUFBRSxVQUFVLEVBQUU7UUFDaEQsT0FBTyxFQUFFLFNBQVMsQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDO09BQzlCLENBQUM7SUFDSjtNQUNFLE1BQU0sSUFBSSx1QkFBdUIsQ0FDL0Isc0NBQXNDLFlBQVksRUFBRSxDQUNyRCxDQUFDO0dBQ0w7QUFDSCxDQUFDO0FBU0QsU0FBUyxTQUFTLENBQUMsS0FBYztFQUMvQixJQUFJLEtBQUssSUFBSSxJQUFJLEVBQUU7SUFDakIsT0FBTyxLQUFLLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLGFBQWEsRUFBRSxFQUFFO01BQzVDLE1BQU0sQ0FBQyxZQUFZLEVBQUUsVUFBVSxDQUFDLEdBQUcsYUFBYSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQztNQUU1RCxRQUFRLFlBQVksRUFBRTtRQUNwQixLQUFLLGtCQUFrQjtVQUNyQixPQUFPLEVBQUUsSUFBSSxFQUFFLGtCQUFrQixFQUFFLEVBQUUsRUFBRSxVQUFVLEVBQUUsQ0FBQztRQUN0RDtVQUNFLE1BQU0sSUFBSSxLQUFLLENBQUMsMENBQTBDLENBQUMsQ0FBQztPQUMvRDtJQUNILENBQUMsQ0FBQyxDQUFDO0dBQ0o7T0FBTTtJQUNMLE9BQU8sRUFBRSxDQUFDO0dBQ1g7QUFDSCxDQUFDIn0=
58
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9hZGFibGVSZXNvdXJjZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9saWIvdHlwZXMvbG9hZGFibGVSZXNvdXJjZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsR0FBRyxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFFdkMsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sV0FBVyxDQUFDO0FBZXBELE1BQU0sVUFBVSxPQUFPLENBQUMsR0FBVzs7RUFDakMsTUFBTSxHQUFHLEdBQUcsR0FBRyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQztFQUUzQixJQUFJLEdBQUcsQ0FBQyxNQUFNLEtBQUssS0FBSyxJQUFJLEdBQUcsQ0FBQyxJQUFJLElBQUksSUFBSSxFQUFFO0lBQzVDLE1BQU0sSUFBSSxLQUFLLENBQUMsbUNBQW1DLENBQUMsQ0FBQztHQUN0RDtFQUVELE1BQU0sQ0FBQyxHQUFHLEVBQUUsWUFBWSxFQUFFLFVBQVUsRUFBRSxHQUFHLGVBQWUsQ0FBQyxHQUN2RCxHQUFHLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQztFQUV6QixJQUFJLEdBQUcsS0FBSyxXQUFXLEVBQUU7SUFDdkIsTUFBTSxJQUFJLEtBQUssQ0FBQyxxREFBcUQsQ0FBQyxDQUFDO0dBQ3hFO0VBRUQsUUFBUSxZQUFZLEVBQUU7SUFDcEIsS0FBSyxZQUFZO01BQ2YsTUFBTSxPQUFPLEdBQUcsU0FBUyxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQztNQUNyQyxNQUFNLFdBQVcsR0FDZixNQUFBLG1CQUFtQixDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsbUNBQzdDLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLEtBQUssa0JBQWtCLENBRXBDLENBQUM7TUFFakIsT0FBTztRQUNMLFFBQVEsRUFBRSxFQUFFLElBQUksRUFBRSxZQUFZLEVBQUUsRUFBRSxFQUFFLFVBQVUsRUFBRTtRQUNoRCxXQUFXO1FBQ1gsT0FBTyxFQUFFLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLEtBQUssa0JBQWtCLENBQUM7T0FDOUQsQ0FBQztJQUNKO01BQ0UsTUFBTSxJQUFJLHVCQUF1QixDQUMvQixzQ0FBc0MsWUFBWSxFQUFFLENBQ3JELENBQUM7R0FDTDtBQUNILENBQUM7QUFTRCxTQUFTLG1CQUFtQixDQUFDLElBQWE7RUFDeEMsSUFBSSxJQUFJLElBQUksSUFBSSxFQUFFO0lBQ2hCLE1BQU0sQ0FBQyxlQUFlLEVBQUUsYUFBYSxDQUFDLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUV6RCxRQUFRLGVBQWUsRUFBRTtNQUN2QixLQUFLLG1CQUFtQjtRQUN0QixPQUFPO1VBQ0wsSUFBSSxFQUFFLGtCQUFrQjtVQUN4QixFQUFFLEVBQUUsYUFBYTtTQUNsQixDQUFDO01BQ0o7UUFDRSxPQUFPLFNBQVMsQ0FBQztLQUNwQjtHQUNGO0FBQ0gsQ0FBQztBQVNELFNBQVMsU0FBUyxDQUFDLEtBQWM7RUFDL0IsSUFBSSxLQUFLLElBQUksSUFBSSxFQUFFO0lBQ2pCLE9BQU8sS0FBSyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxhQUFhLEVBQUUsRUFBRTtNQUM1QyxNQUFNLENBQUMsWUFBWSxFQUFFLFVBQVUsQ0FBQyxHQUFHLGFBQWEsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUM7TUFFNUQsUUFBUSxZQUFZLEVBQUU7UUFDcEIsS0FBSyxhQUFhO1VBQ2hCLE9BQU8sRUFBRSxJQUFJLEVBQUUsYUFBYSxFQUFFLEVBQUUsRUFBRSxVQUFVLEVBQUUsQ0FBQztRQUNqRCxLQUFLLGtCQUFrQjtVQUNyQixPQUFPLEVBQUUsSUFBSSxFQUFFLGtCQUFrQixFQUFFLEVBQUUsRUFBRSxVQUFVLEVBQUUsQ0FBQztRQUN0RDtVQUNFLE1BQU0sSUFBSSxLQUFLLENBQUMsdUNBQXVDLENBQUMsQ0FBQztPQUM1RDtJQUNILENBQUMsQ0FBQyxDQUFDO0dBQ0o7T0FBTTtJQUNMLE9BQU8sRUFBRSxDQUFDO0dBQ1g7QUFDSCxDQUFDIn0=
@@ -0,0 +1,7 @@
1
+ export function isSceneViewStateId(identifier) {
2
+ return identifier.id != null;
3
+ }
4
+ export function isSceneViewStateSuppliedId(identifier) {
5
+ return identifier.suppliedId != null;
6
+ }
7
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2NlbmVWaWV3U3RhdGVJZGVudGlmaWVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2xpYi90eXBlcy9zY2VuZVZpZXdTdGF0ZUlkZW50aWZpZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBbUJBLE1BQU0sVUFBVSxrQkFBa0IsQ0FDaEMsVUFBb0M7RUFFcEMsT0FBUSxVQUErQixDQUFDLEVBQUUsSUFBSSxJQUFJLENBQUM7QUFDckQsQ0FBQztBQUVELE1BQU0sVUFBVSwwQkFBMEIsQ0FDeEMsVUFBb0M7RUFFcEMsT0FBUSxVQUF1QyxDQUFDLFVBQVUsSUFBSSxJQUFJLENBQUM7QUFDckUsQ0FBQyJ9
@@ -1,9 +1,16 @@
1
- export const DEFAULT_CONCURRENT_VOLUME_QUERY_LIMIT = 5;
1
+ import { StreamRequestError } from '@vertexvis/stream-api';
2
+ import { EventDispatcher } from '@vertexvis/utils';
2
3
  export class VolumeIntersectionQueryController {
3
4
  constructor(model, viewer) {
4
5
  this.model = model;
5
6
  this.viewer = viewer;
6
- this.inFlightOperations = 0;
7
+ this.additionalTransforms = [];
8
+ this.operationInFlight = false;
9
+ this.operationAborted = false;
10
+ this.executeStarted = new EventDispatcher();
11
+ this.executeComplete = new EventDispatcher();
12
+ this.executeAborted = new EventDispatcher();
13
+ this.additionalTransforms = [(op) => op.where((q) => q.all()).deselect()];
7
14
  this.operationTransform = (builder) => builder.select();
8
15
  }
9
16
  setStartPoint(point) {
@@ -14,35 +21,84 @@ export class VolumeIntersectionQueryController {
14
21
  setEndPoint(point) {
15
22
  this.model.setEndPoint(point);
16
23
  }
24
+ /**
25
+ * Updates the operation that will be applied based on the volume intersection
26
+ * query. Defaults to `(builder) => builder.select()`, which will select any
27
+ * of the results of the query.
28
+ */
17
29
  setOperationTransform(operationTransform) {
18
30
  this.operationTransform = operationTransform;
19
31
  }
32
+ /**
33
+ * Updates any additional operations that should be performed independent of
34
+ * the volume intersection query. This can be used to perform an operation on
35
+ * the entirety of the scene prior to the operation on the result of the
36
+ * volume intersection query.
37
+ * Defaults to `[(op) => op.where((q) => q.all()).deselect()]`, which will
38
+ * clear any prior selection before the default selection.
39
+ */
40
+ setAdditionalTransforms(additionalTransforms) {
41
+ this.additionalTransforms = additionalTransforms;
42
+ }
43
+ onExecuteStarted(listener) {
44
+ return this.executeStarted.on(listener);
45
+ }
46
+ onExecuteComplete(listener) {
47
+ return this.executeComplete.on(listener);
48
+ }
49
+ onExecuteAborted(listener) {
50
+ return this.executeAborted.on(listener);
51
+ }
20
52
  async execute() {
21
- var _a;
53
+ var _a, _b, _c;
22
54
  const screenBounds = this.model.getScreenBounds();
23
55
  const type = this.model.getType();
24
- this.viewer.cameraControls = (_a = this.previousViewerCameraControls) !== null && _a !== void 0 ? _a : true;
25
- this.model.complete();
26
- if (screenBounds != null &&
27
- this.inFlightOperations < DEFAULT_CONCURRENT_VOLUME_QUERY_LIMIT) {
28
- this.inFlightOperations = this.inFlightOperations + 1;
56
+ if (screenBounds != null && !this.operationInFlight) {
57
+ this.model.complete();
29
58
  try {
59
+ this.operationInFlight = true;
60
+ this.executeStarted.emit();
61
+ const additionalTransforms = (op) => this.additionalTransforms.map((t) => t(op)).flat();
62
+ const operationTransforms = (op) => [
63
+ this.operationTransform(op.where((q) => q.withVolumeIntersection(screenBounds, type === 'exclusive'))),
64
+ ].flat();
30
65
  const scene = await this.viewer.scene();
31
66
  await scene
32
- .items((op) => this.operationTransform(op.where((q) => q.withVolumeIntersection(screenBounds, type === 'exclusive'))))
67
+ .items((op) => [
68
+ ...additionalTransforms(op),
69
+ ...operationTransforms(op),
70
+ ])
33
71
  .execute();
34
72
  }
35
73
  catch (e) {
36
- console.error('Failed to perform volume intersection query', e);
37
- throw e;
74
+ if (e instanceof StreamRequestError &&
75
+ ((_a = e.summary) === null || _a === void 0 ? void 0 : _a.toLocaleLowerCase().includes('operation aborted'))) {
76
+ this.executeAborted.emit(e);
77
+ this.operationAborted = true;
78
+ }
79
+ else {
80
+ console.error('Failed to perform volume intersection query', e);
81
+ throw e;
82
+ }
38
83
  }
39
84
  finally {
40
- this.inFlightOperations = this.inFlightOperations - 1;
85
+ this.viewer.cameraControls = (_b = this.previousViewerCameraControls) !== null && _b !== void 0 ? _b : true;
86
+ this.previousViewerCameraControls = undefined;
87
+ this.operationInFlight = false;
88
+ this.executeComplete.emit({
89
+ aborted: this.operationAborted,
90
+ });
91
+ this.operationAborted = false;
41
92
  }
42
93
  }
43
- else if (this.inFlightOperations >= DEFAULT_CONCURRENT_VOLUME_QUERY_LIMIT) {
44
- throw new Error(`Unable to perform volume intersection query due to the limit of ${DEFAULT_CONCURRENT_VOLUME_QUERY_LIMIT}.`);
94
+ else if (this.operationInFlight) {
95
+ this.model.cancel();
96
+ throw new Error(`Unable to perform volume intersection query as there is already one in-flight.`);
97
+ }
98
+ else {
99
+ this.model.cancel();
100
+ this.viewer.cameraControls = (_c = this.previousViewerCameraControls) !== null && _c !== void 0 ? _c : true;
45
101
  }
46
102
  }
47
103
  }
48
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udHJvbGxlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9saWIvdm9sdW1lLWludGVyc2VjdGlvbi9jb250cm9sbGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUtBLE1BQU0sQ0FBQyxNQUFNLHFDQUFxQyxHQUFHLENBQUMsQ0FBQztBQU12RCxNQUFNLE9BQU8saUNBQWlDO0VBSzVDLFlBQ1UsS0FBbUMsRUFDbkMsTUFBK0I7SUFEL0IsVUFBSyxHQUFMLEtBQUssQ0FBOEI7SUFDbkMsV0FBTSxHQUFOLE1BQU0sQ0FBeUI7SUFKakMsdUJBQWtCLEdBQUcsQ0FBQyxDQUFDO0lBTTdCLElBQUksQ0FBQyxrQkFBa0IsR0FBRyxDQUFDLE9BQU8sRUFBRSxFQUFFLENBQUMsT0FBTyxDQUFDLE1BQU0sRUFBRSxDQUFDO0VBQzFELENBQUM7RUFFTSxhQUFhLENBQUMsS0FBa0I7SUFDckMsSUFBSSxDQUFDLDRCQUE0QixHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsY0FBYyxDQUFDO0lBQy9ELElBQUksQ0FBQyxNQUFNLENBQUMsY0FBYyxHQUFHLEtBQUssQ0FBQztJQUVuQyxJQUFJLENBQUMsS0FBSyxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUMsQ0FBQztFQUNsQyxDQUFDO0VBRU0sV0FBVyxDQUFDLEtBQWtCO0lBQ25DLElBQUksQ0FBQyxLQUFLLENBQUMsV0FBVyxDQUFDLEtBQUssQ0FBQyxDQUFDO0VBQ2hDLENBQUM7RUFFTSxxQkFBcUIsQ0FDMUIsa0JBRStCO0lBRS9CLElBQUksQ0FBQyxrQkFBa0IsR0FBRyxrQkFBa0IsQ0FBQztFQUMvQyxDQUFDO0VBRU0sS0FBSyxDQUFDLE9BQU87O0lBQ2xCLE1BQU0sWUFBWSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsZUFBZSxFQUFFLENBQUM7SUFDbEQsTUFBTSxJQUFJLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLEVBQUUsQ0FBQztJQUNsQyxJQUFJLENBQUMsTUFBTSxDQUFDLGNBQWMsR0FBRyxNQUFBLElBQUksQ0FBQyw0QkFBNEIsbUNBQUksSUFBSSxDQUFDO0lBQ3ZFLElBQUksQ0FBQyxLQUFLLENBQUMsUUFBUSxFQUFFLENBQUM7SUFFdEIsSUFDRSxZQUFZLElBQUksSUFBSTtNQUNwQixJQUFJLENBQUMsa0JBQWtCLEdBQUcscUNBQXFDLEVBQy9EO01BQ0EsSUFBSSxDQUFDLGtCQUFrQixHQUFHLElBQUksQ0FBQyxrQkFBa0IsR0FBRyxDQUFDLENBQUM7TUFDdEQsSUFBSTtRQUNGLE1BQU0sS0FBSyxHQUFHLE1BQU0sSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLEVBQUUsQ0FBQztRQUN4QyxNQUFNLEtBQUs7V0FDUixLQUFLLENBQUMsQ0FBQyxFQUFFLEVBQUUsRUFBRSxDQUNaLElBQUksQ0FBQyxrQkFBa0IsQ0FDckIsRUFBRSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQ2IsQ0FBQyxDQUFDLHNCQUFzQixDQUFDLFlBQVksRUFBRSxJQUFJLEtBQUssV0FBVyxDQUFDLENBQzdELENBQ0YsQ0FDRjtXQUNBLE9BQU8sRUFBRSxDQUFDO09BQ2Q7TUFBQyxPQUFPLENBQUMsRUFBRTtRQUNWLE9BQU8sQ0FBQyxLQUFLLENBQUMsNkNBQTZDLEVBQUUsQ0FBQyxDQUFDLENBQUM7UUFDaEUsTUFBTSxDQUFDLENBQUM7T0FDVDtjQUFTO1FBQ1IsSUFBSSxDQUFDLGtCQUFrQixHQUFHLElBQUksQ0FBQyxrQkFBa0IsR0FBRyxDQUFDLENBQUM7T0FDdkQ7S0FDRjtTQUFNLElBQ0wsSUFBSSxDQUFDLGtCQUFrQixJQUFJLHFDQUFxQyxFQUNoRTtNQUNBLE1BQU0sSUFBSSxLQUFLLENBQ2IsbUVBQW1FLHFDQUFxQyxHQUFHLENBQzVHLENBQUM7S0FDSDtFQUNILENBQUM7Q0FDRiJ9
104
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udHJvbGxlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9saWIvdm9sdW1lLWludGVyc2VjdGlvbi9jb250cm9sbGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQzNELE9BQU8sRUFBYyxlQUFlLEVBQVksTUFBTSxrQkFBa0IsQ0FBQztBQW9CekUsTUFBTSxPQUFPLGlDQUFpQztFQVc1QyxZQUNVLEtBQW1DLEVBQ25DLE1BQStCO0lBRC9CLFVBQUssR0FBTCxLQUFLLENBQThCO0lBQ25DLFdBQU0sR0FBTixNQUFNLENBQXlCO0lBVmpDLHlCQUFvQixHQUEwQixFQUFFLENBQUM7SUFDakQsc0JBQWlCLEdBQUcsS0FBSyxDQUFDO0lBQzFCLHFCQUFnQixHQUFHLEtBQUssQ0FBQztJQUV6QixtQkFBYyxHQUFHLElBQUksZUFBZSxFQUFRLENBQUM7SUFDN0Msb0JBQWUsR0FBRyxJQUFJLGVBQWUsRUFBNEIsQ0FBQztJQUNsRSxtQkFBYyxHQUFHLElBQUksZUFBZSxFQUFzQixDQUFDO0lBTWpFLElBQUksQ0FBQyxvQkFBb0IsR0FBRyxDQUFDLENBQUMsRUFBRSxFQUFFLEVBQUUsQ0FBQyxFQUFFLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDO0lBQzFFLElBQUksQ0FBQyxrQkFBa0IsR0FBRyxDQUFDLE9BQU8sRUFBRSxFQUFFLENBQUMsT0FBTyxDQUFDLE1BQU0sRUFBRSxDQUFDO0VBQzFELENBQUM7RUFFTSxhQUFhLENBQUMsS0FBa0I7SUFDckMsSUFBSSxDQUFDLDRCQUE0QixHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsY0FBYyxDQUFDO0lBQy9ELElBQUksQ0FBQyxNQUFNLENBQUMsY0FBYyxHQUFHLEtBQUssQ0FBQztJ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
@@ -1,37 +1,82 @@
1
- import { Point } from '@vertexvis/geometry';
1
+ import { boxQueryCursor } from '../cursors';
2
+ import { getMouseClientPosition } from '../dom';
2
3
  export class VolumeIntersectionQueryInteractionHandler {
3
4
  constructor(controller) {
4
5
  this.controller = controller;
5
6
  this.handleDragBegin = this.handleDragBegin.bind(this);
6
7
  this.handleDrag = this.handleDrag.bind(this);
7
8
  this.handleDragEnd = this.handleDragEnd.bind(this);
9
+ this.enabled = true;
8
10
  }
9
- initialize(element) {
11
+ initialize(element, api) {
10
12
  this.element = element;
13
+ this.api = api;
11
14
  this.element.addEventListener('pointerdown', this.handleDragBegin);
15
+ this.addCrosshairCursor();
12
16
  }
13
17
  dispose() {
14
- var _a;
18
+ var _a, _b, _c;
15
19
  (_a = this.element) === null || _a === void 0 ? void 0 : _a.removeEventListener('pointerdown', this.handleDragBegin);
16
20
  window.removeEventListener('pointermove', this.handleDrag);
17
21
  window.removeEventListener('pointerup', this.handleDragEnd);
22
+ (_b = this.crosshairCursorDisposable) === null || _b === void 0 ? void 0 : _b.dispose();
23
+ (_c = this.waitCursorDisposable) === null || _c === void 0 ? void 0 : _c.dispose();
24
+ this.element = undefined;
25
+ this.api = undefined;
26
+ this.enabled = true;
27
+ }
28
+ disable() {
29
+ this.enabled = false;
30
+ }
31
+ enable() {
32
+ this.enabled = true;
18
33
  }
19
34
  handleDragBegin(event) {
20
- if (event.buttons === 1 && !this.isInteracting) {
35
+ var _a;
36
+ if (this.enabled &&
37
+ this.isPrimaryMouseButtonClick(event) &&
38
+ !this.isInteracting) {
39
+ this.elementBounds = (_a = this.element) === null || _a === void 0 ? void 0 : _a.getBoundingClientRect();
21
40
  this.isInteracting = true;
22
- this.controller.setStartPoint(Point.create(event.offsetX, event.offsetY));
41
+ this.controller.setStartPoint(getMouseClientPosition(event, this.elementBounds));
23
42
  window.addEventListener('pointermove', this.handleDrag);
24
43
  window.addEventListener('pointerup', this.handleDragEnd);
25
44
  }
26
45
  }
27
46
  handleDrag(event) {
28
- this.controller.setEndPoint(Point.create(event.offsetX, event.offsetY));
47
+ if (this.enabled) {
48
+ this.controller.setEndPoint(getMouseClientPosition(event, this.elementBounds));
49
+ }
29
50
  }
30
- handleDragEnd() {
31
- this.controller.execute();
51
+ async handleDragEnd() {
52
+ var _a, _b;
32
53
  this.isInteracting = false;
33
54
  window.removeEventListener('pointermove', this.handleDrag);
34
55
  window.removeEventListener('pointerup', this.handleDragEnd);
56
+ (_a = this.crosshairCursorDisposable) === null || _a === void 0 ? void 0 : _a.dispose();
57
+ if (this.enabled) {
58
+ this.addWaitCursor();
59
+ try {
60
+ await this.controller.execute();
61
+ }
62
+ finally {
63
+ (_b = this.waitCursorDisposable) === null || _b === void 0 ? void 0 : _b.dispose();
64
+ this.addCrosshairCursor();
65
+ }
66
+ }
67
+ }
68
+ isPrimaryMouseButtonClick(event) {
69
+ return event.buttons === 1;
70
+ }
71
+ addCrosshairCursor() {
72
+ var _a, _b;
73
+ (_a = this.crosshairCursorDisposable) === null || _a === void 0 ? void 0 : _a.dispose();
74
+ this.crosshairCursorDisposable = (_b = this.api) === null || _b === void 0 ? void 0 : _b.addCursor(boxQueryCursor);
75
+ }
76
+ addWaitCursor() {
77
+ var _a, _b;
78
+ (_a = this.waitCursorDisposable) === null || _a === void 0 ? void 0 : _a.dispose();
79
+ this.waitCursorDisposable = (_b = this.api) === null || _b === void 0 ? void 0 : _b.addCursor('wait');
35
80
  }
36
81
  }
37
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW50ZXJhY3Rpb25zLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2xpYi92b2x1bWUtaW50ZXJzZWN0aW9uL2ludGVyYWN0aW9ucy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFLNUMsTUFBTSxPQUFPLHlDQUF5QztFQU1wRCxZQUEyQixVQUE2QztJQUE3QyxlQUFVLEdBQVYsVUFBVSxDQUFtQztJQUN0RSxJQUFJLENBQUMsZUFBZSxHQUFHLElBQUksQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ3ZELElBQUksQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDN0MsSUFBSSxDQUFDLGFBQWEsR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztFQUNyRCxDQUFDO0VBRU0sVUFBVSxDQUFDLE9BQW9CO0lBQ3BDLElBQUksQ0FBQyxPQUFPLEdBQUcsT0FBTyxDQUFDO0lBRXZCLElBQUksQ0FBQyxPQUFPLENBQUMsZ0JBQWdCLENBQUMsYUFBYSxFQUFFLElBQUksQ0FBQyxlQUFlLENBQUMsQ0FBQztFQUNyRSxDQUFDO0VBRU0sT0FBTzs7SUFDWixNQUFBLElBQUksQ0FBQyxPQUFPLDBDQUFFLG1CQUFtQixDQUFDLGFBQWEsRUFBRSxJQUFJLENBQUMsZUFBZSxDQUFDLENBQUM7SUFDdkUsTUFBTSxDQUFDLG1CQUFtQixDQUFDLGFBQWEsRUFBRSxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUM7SUFDM0QsTUFBTSxDQUFDLG1CQUFtQixDQUFDLFdBQVcsRUFBRSxJQUFJLENBQUMsYUFBYSxDQUFDLENBQUM7RUFDOUQsQ0FBQztFQUVPLGVBQWUsQ0FBQyxLQUFtQjtJQUN6QyxJQUFJLEtBQUssQ0FBQyxPQUFPLEtBQUssQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLGFBQWEsRUFBRTtNQUM5QyxJQUFJLENBQUMsYUFBYSxHQUFHLElBQUksQ0FBQztNQUMxQixJQUFJLENBQUMsVUFBVSxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxPQUFPLEVBQUUsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUM7TUFFMUUsTUFBTSxDQUFDLGdCQUFnQixDQUFDLGFBQWEsRUFBRSxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUM7TUFDeEQsTUFBTSxDQUFDLGdCQUFnQixDQUFDLFdBQVcsRUFBRSxJQUFJLENBQUMsYUFBYSxDQUFDLENBQUM7S0FDMUQ7RUFDSCxDQUFDO0VBRU8sVUFBVSxDQUFDLEtBQW1CO0lBQ3BDLElBQUksQ0FBQyxVQUFVLENBQUMsV0FBVyxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLE9BQU8sRUFBRSxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQztFQUMxRSxDQUFDO0VBRU8sYUFBYTtJQUNuQixJQUFJLENBQUMsVUFBVSxDQUFDLE9BQU8sRUFBRSxDQUFDO0lBQzFCLElBQUksQ0FBQyxhQUFhLEdBQUcsS0FBSyxDQUFDO0lBRTNCLE1BQU0sQ0FBQyxtQkFBbUIsQ0FBQyxhQUFhLEVBQUUsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDO0lBQzNELE1BQU0sQ0FBQyxtQkFBbUIsQ0FBQyxXQUFXLEVBQUUsSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDO0VBQzlELENBQUM7Q0FDRiJ9
82
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW50ZXJhY3Rpb25zLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2xpYi92b2x1bWUtaW50ZXJzZWN0aW9uL2ludGVyYWN0aW9ucy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sWUFBWSxDQUFDO0FBQzVDLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLFFBQVEsQ0FBQztBQUtoRCxNQUFNLE9BQU8seUNBQXlDO0VBV3BELFlBQTJCLFVBQTZDO0lBQTdDLGVBQVUsR0FBVixVQUFVLENBQW1DO0lBQ3RFLElBQUksQ0FBQyxlQUFlLEdBQUcsSUFBSSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDdkQsSUFBSSxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUM3QyxJQUFJLENBQUMsYUFBYSxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBRW5ELElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDO0VBQ3RCLENBQUM7RUFFTSxVQUFVLENBQUMsT0FBb0IsRUFBRSxHQUFtQjtJQUN6RCxJQUFJLENBQUMsT0FBTyxHQUFHLE9BQU8sQ0FBQztJQUN2QixJQUFJLENBQUMsR0FBRyxHQUFHLEdBQUcsQ0FBQztJQUVmLElBQUksQ0FBQyxPQUFPLENBQUMsZ0JBQWdCLENBQUMsYUFBYSxFQUFFLElBQUksQ0FBQyxlQUFlLENBQUMsQ0FBQztJQUNuRSxJQUFJLENBQUMsa0JBQWtCLEVBQUUsQ0FBQztFQUM1QixDQUFDO0VBRU0sT0FBTzs7SUFDWixNQUFBLElBQUksQ0FBQyxPQUFPLDBDQUFFLG1CQUFtQixDQUFDLGFBQWEsRUFBRSxJQUFJLENBQUMsZUFBZSxDQUFDLENBQUM7SUFDdkUsTUFBTSxDQUFDLG1CQUFtQixDQUFDLGFBQWEsRUFB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
@@ -1,9 +1,11 @@
1
1
  import { Point, Rectangle } from '@vertexvis/geometry';
2
2
  import { EventDispatcher } from '@vertexvis/utils';
3
3
  export class VolumeIntersectionQueryModel {
4
- constructor() {
4
+ constructor(mode) {
5
+ this.mode = mode;
5
6
  this.dragStarted = new EventDispatcher();
6
7
  this.dragComplete = new EventDispatcher();
8
+ this.dragCancelled = new EventDispatcher();
7
9
  this.screenBoundsChanged = new EventDispatcher();
8
10
  }
9
11
  setStartPoint(point) {
@@ -11,9 +13,15 @@ export class VolumeIntersectionQueryModel {
11
13
  this.dragStarted.emit();
12
14
  }
13
15
  setEndPoint(point) {
14
- this.endPoint = point;
15
- this.updateQueryType();
16
- this.screenBoundsChanged.emit(this.getQueryDetails());
16
+ if (this.startPoint != null &&
17
+ Point.distance(this.startPoint, point) >= 2) {
18
+ this.endPoint = point;
19
+ this.updateQueryType();
20
+ this.screenBoundsChanged.emit(this.getQueryDetails());
21
+ }
22
+ }
23
+ setMode(mode) {
24
+ this.mode = mode;
17
25
  }
18
26
  complete() {
19
27
  if (this.startPoint != null && this.endPoint != null) {
@@ -22,6 +30,11 @@ export class VolumeIntersectionQueryModel {
22
30
  this.reset();
23
31
  }
24
32
  }
33
+ cancel() {
34
+ this.screenBoundsChanged.emit(undefined);
35
+ this.dragCancelled.emit();
36
+ this.reset();
37
+ }
25
38
  reset() {
26
39
  this.startPoint = undefined;
27
40
  this.endPoint = undefined;
@@ -44,6 +57,9 @@ export class VolumeIntersectionQueryModel {
44
57
  onDragComplete(listener) {
45
58
  return this.dragComplete.on(listener);
46
59
  }
60
+ onDragCancelled(listener) {
61
+ return this.dragCancelled.on(listener);
62
+ }
47
63
  getQueryDetails() {
48
64
  if (this.startPoint != null && this.endPoint != null && this.type != null) {
49
65
  return {
@@ -56,12 +72,13 @@ export class VolumeIntersectionQueryModel {
56
72
  }
57
73
  }
58
74
  updateQueryType() {
59
- if (this.startPoint != null && this.endPoint) {
60
- this.type =
61
- Point.subtract(this.endPoint, this.startPoint).x > 0
62
- ? 'exclusive'
63
- : 'inclusive';
75
+ var _a;
76
+ if (this.startPoint != null && this.endPoint != null) {
77
+ const directionalType = Point.subtract(this.endPoint, this.startPoint).x > 0
78
+ ? 'exclusive'
79
+ : 'inclusive';
80
+ this.type = (_a = this.mode) !== null && _a !== void 0 ? _a : directionalType;
64
81
  }
65
82
  }
66
83
  }
67
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kZWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbGliL3ZvbHVtZS1pbnRlcnNlY3Rpb24vbW9kZWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLEtBQUssRUFBRSxTQUFTLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUN2RCxPQUFPLEVBQWMsZUFBZSxFQUFZLE1BQU0sa0JBQWtCLENBQUM7QUFTekUsTUFBTSxPQUFPLDRCQUE0QjtFQUF6QztJQUtVLGdCQUFXLEdBQUcsSUFBSSxlQUFlLEVBQVEsQ0FBQztJQUMxQyxpQkFBWSxHQUFHLElBQUksZUFBZSxFQUFrQyxDQUFDO0lBRXJFLHdCQUFtQixHQUFHLElBQUksZUFBZSxFQUU5QyxDQUFDO0VBNEVOLENBQUM7RUExRVEsYUFBYSxDQUFDLEtBQWtCO0lBQ3JDLElBQUksQ0FBQyxVQUFVLEdBQUcsS0FBSyxDQUFDO0lBRXhCLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxFQUFFLENBQUM7RUFDMUIsQ0FBQztFQUVNLFdBQVcsQ0FBQyxLQUFrQjtJQUNuQyxJQUFJLENBQUMsUUFBUSxHQUFHLEtBQUssQ0FBQztJQUV0QixJQUFJLENBQUMsZUFBZSxFQUFFLENBQUM7SUFDdkIsSUFBSSxDQUFDLG1CQUFtQixDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsZUFBZSxFQUFFLENBQUMsQ0FBQztFQUN4RCxDQUFDO0VBRU0sUUFBUTtJQUNiLElBQUksSUFBSSxDQUFDLFVBQVUsSUFBSSxJQUFJLElBQUksSUFBSSxDQUFDLFFBQVEsSUFBSSxJQUFJLEVBQUU7TUFDcEQsSUFBSSxDQUFDLG1CQUFtQixDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQztNQUN6QyxJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsZUFBZSxFQUFFLENBQUMsQ0FBQztNQUMvQyxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUM7S0FDZDtFQUNILENBQUM7RUFFTSxLQUFLO0lBQ1YsSUFBSSxDQUFDLFVBQVUsR0FBRyxTQUFTLENBQUM7SUFDNUIsSUFBSSxDQUFDLFFBQVEsR0FBRyxTQUFTLENBQUM7SUFDMUIsSUFBSSxDQUFDLElBQUksR0FBRyxTQUFTLENBQUM7RUFDeEIsQ0FBQztFQUVNLGVBQWU7SUFDcEIsT0FBTyxJQUFJLENBQUMsVUFBVSxJQUFJLElBQUksSUFBSSxJQUFJLENBQUMsUUFBUSxJQUFJLElBQUk7TUFDckQsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLFVBQVUsRUFBRSxJQUFJLENBQUMsUUFBUSxDQUFDO01BQ3RELENBQUMsQ0FBQyxTQUFTLENBQUM7RUFDaEIsQ0FBQztFQUVNLE9BQU87SUFDWixPQUFPLElBQUksQ0FBQyxJQUFJLENBQUM7RUFDbkIsQ0FBQztFQUVNLHFCQUFxQixDQUMxQixRQUE4RDtJQUU5RCxPQUFPLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxFQUFFLENBQUMsUUFBUSxDQUFDLENBQUM7RUFDL0MsQ0FBQztFQUVNLGFBQWEsQ0FBQyxRQUF3QjtJQUMzQyxPQUFPLElBQUksQ0FBQyxXQUFXLENBQUMsRUFBRSxDQUFDLFFBQVEsQ0FBQyxDQUFDO0VBQ3ZDLENBQUM7RUFFTSxjQUFjLENBQ25CLFFBQWtEO0lBRWxELE9BQU8sSUFBSSxDQUFDLFlBQVksQ0FBQyxFQUFFLENBQUMsUUFBUSxDQUFDLENBQUM7RUFDeEMsQ0FBQztFQUVPLGVBQWU7SUFDckIsSUFBSSxJQUFJLENBQUMsVUFBVSxJQUFJLElBQUksSUFBSSxJQUFJLENBQUMsUUFBUSxJQUFJLElBQUksSUFBSSxJQUFJLENBQUMsSUFBSSxJQUFJLElBQUksRUFBRTtNQUN6RSxPQUFPO1FBQ0wsWUFBWSxFQUFFLFNBQVMsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLFVBQVUsRUFBRSxJQUFJLENBQUMsUUFBUSxDQUFDO1FBQ2xFLElBQUksRUFBRSxJQUFJLENBQUMsSUFBSTtPQUNoQixDQUFDO0tBQ0g7U0FBTTtNQUNMLE1BQU0sSUFBSSxLQUFLLENBQ2IsdUVBQXVFLENBQ3hFLENBQUM7S0FDSDtFQUNILENBQUM7RUFFTyxlQUFlO0lBQ3JCLElBQUksSUFBSSxDQUFDLFVBQVUsSUFBSSxJQUFJLElBQUksSUFBSSxDQUFDLFFBQVEsRUFBRTtNQUM1QyxJQUFJLENBQUMsSUFBSTtRQUNQLEtBQUssQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRSxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUM7VUFDbEQsQ0FBQyxDQUFDLFdBQVc7VUFDYixDQUFDLENBQUMsV0FBVyxDQUFDO0tBQ25CO0VBQ0gsQ0FBQztDQUNGIn0=
84
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kZWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbGliL3ZvbHVtZS1pbnRlcnNlY3Rpb24vbW9kZWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLEtBQUssRUFBRSxTQUFTLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUN2RCxPQUFPLEVBQWMsZUFBZSxFQUFZLE1BQU0sa0JBQWtCLENBQUM7QUFXekUsTUFBTSxPQUFPLDRCQUE0QjtFQWF2QyxZQUEyQixJQUFrQztJQUFsQyxTQUFJLEdBQUosSUFBSSxDQUE4QjtJQVJyRCxnQkFBVyxHQUFHLElBQUksZUFBZSxFQUFRLENBQUM7SUFDMUMsaUJBQVksR0FBRyxJQUFJLGVBQWUsRUFBa0MsQ0FBQztJQUNyRSxrQkFBYSxHQUFHLElBQUksZUFBZSxFQUFRLENBQUM7SUFFNUMsd0JBQW1CLEdBQUcsSUFBSSxlQUFlLEVBRTlDLENBQUM7RUFFNEQsQ0FBQztFQUUxRCxhQUFhLENBQUMsS0FBa0I7SUFDckMsSUFBSSxDQUFDLFVBQVUsR0FBRyxLQUFLLENBQUM7SUFFeEIsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLEVBQUUsQ0FBQztFQUMxQixDQUFDO0VBRU0sV0FBVyxDQUFDLEtBQWtCO0lBQ25DLElBQ0UsSUFBSSxDQUFDLFVBQVUsSUFBSSxJQUFJO01BQ3ZCLEtBQUssQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLFVBQVUsRUFBRSxLQUFLLENBQUMsSUFBSSxDQUFDLEVBQzNDO01BQ0EsSUFBSSxDQUFDLFFBQVEsR0FBRyxLQUFLLENBQUM7TUFFdEIsSUFBSSxDQUFDLGVBQWUsRUFBRSxDQUFDO01BQ3ZCLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLGVBQWUsRUFBRSxDQUFDLENBQUM7S0FDdkQ7RUFDSCxDQUFDO0VBRU0sT0FBTyxDQUFDLElBQWtDO0lBQy9DLElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDO0VBQ25CLENBQUM7RUFFTSxRQUFRO0lBQ2IsSUFBSSxJQUFJLENBQUMsVUFBVSxJQUFJLElBQUksSUFBSSxJQUFJLENBQUMsUUFBUSxJQUFJLElBQUksRUFBRTtNQUNwRCxJQUFJLENBQUMsbUJBQW1CLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDO01BQ3pDLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxlQUFlLEVBQUUsQ0FBQyxDQUFDO01BQy9DLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQztLQUNkO0VBQ0gsQ0FBQztFQUVNLE1BQU07SUFDWCxJQUFJLENBQUMsbUJBQW1CLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBQ3pDLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDMUIsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDO0VBQ2YsQ0FBQztFQUVNLEtBQUs7SUFDVixJQUFJLENBQUMsVUFBVSxHQUFHLFNBQVMsQ0FBQztJQUM1QixJQUFJLENBQUMsUUFBUSxHQUFHLFNBQVMsQ0FBQztJQUMxQixJQUFJLENBQUMsSUFBSSxHQUFHLFNBQVMsQ0FBQztFQUN4QixDQUFDO0VBRU0sZUFBZTtJQUNwQixPQUFPLElBQUksQ0FBQyxVQUFVLElBQUksSUFBSSxJQUFJLElBQUksQ0FBQyxRQUFRLElBQUksSUFBSTtNQUNyRCxDQUFDLENBQUMsU0FBUyxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsVUFBVSxFQUFFLElBQUksQ0FBQyxRQUFRLENBQUM7TUFDdEQsQ0FBQyxDQUFDLFNBQVMsQ0FBQztFQUNoQixDQUFDO0VBRU0sT0FBTztJQUNaLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQztFQUNuQixDQUFDO0VBRU0scUJBQXFCLENBQzFCLFFBQThEO0lBRTlELE9BQU8sSUFBSSxDQUFDLG1CQUFtQixDQUFDLEVBQUUsQ0FBQyxRQUFRLENBQUMsQ0FBQztFQUMvQyxDQUFDO0VBRU0sYUFBYSxDQUFDLFFBQXdCO0lBQzNDLE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQyxFQUFFLENBQUMsUUFBUSxDQUFDLENBQUM7RUFDdkMsQ0FBQztFQUVNLGNBQWMsQ0FDbkIsUUFBa0Q7SUFFbEQsT0FBTyxJQUFJLENBQUMsWUFBWSxDQUFDLEVBQUUsQ0FBQyxRQUFRLENBQUMsQ0FBQztFQUN4QyxDQUFDO0VBRU0sZUFBZSxDQUFDLFFBQXdCO0lBQzdDLE9BQU8sSUFBSSxDQUFDLGFBQWEsQ0FBQyxFQUFFLENBQUMsUUFBUSxDQUFDLENBQUM7RUFDekMsQ0FBQztFQUVPLGVBQWU7SUFDckIsSUFBSSxJQUFJLENBQUMsVUFBVSxJQUFJLElBQUksSUFBSSxJQUFJLENBQUMsUUFBUSxJQUFJLElBQUksSUFBSSxJQUFJLENBQUMsSUFBSSxJQUFJLElBQUksRUFBRTtNQUN6RSxPQUFPO1FBQ0wsWUFBWSxFQUFFLFNBQVMsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLFVBQVUsRUFBRSxJQUFJLENBQUMsUUFBUSxDQUFDO1FBQ2xFLElBQUksRUFBRSxJQUFJLENBQUMsSUFBSTtPQUNoQixDQUFDO0tBQ0g7U0FBTTtNQUNMLE1BQU0sSUFBSSxLQUFLLENBQ2IsdUVBQXVFLENBQ3hFLENBQUM7S0FDSDtFQUNILENBQUM7RUFFTyxlQUFlOztJQUNyQixJQUFJLElBQUksQ0FBQyxVQUFVLElBQUksSUFBSSxJQUFJLElBQUksQ0FBQyxRQUFRLElBQUksSUFBSSxFQUFFO01BQ3BELE1BQU0sZUFBZSxHQUNuQixLQUFLLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUUsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDO1FBQ2xELENBQUMsQ0FBQyxXQUFXO1FBQ2IsQ0FBQyxDQUFDLFdBQVcsQ0FBQztNQUVsQixJQUFJLENBQUMsSUFBSSxHQUFHLE1BQUEsSUFBSSxDQUFDLElBQUksbUNBQUksZUFBZSxDQUFDO0tBQzFDO0VBQ0gsQ0FBQztDQUNGIn0=