@vertigis/arcgis-extensions 41.2.0 → 41.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/docs/html/assets/search.js +1 -1
- package/docs/html/classes/tasks_identify_ArcGISSublayerQueryIdentifyProvider.ArcGISSublayerQueryIdentifyProvider.html +37 -3
- package/docs/html/classes/tasks_identify_BuildingComponentSublayerClientSideIdentifyProvider.BuildingComponentSublayerClientSideIdentifyProvider.html +37 -3
- package/docs/html/classes/tasks_identify_BuildingComponentSublayerHitTestIdentifyProvider.BuildingComponentSublayerHitTestIdentifyProvider.html +37 -3
- package/docs/html/classes/tasks_identify_CSVLayer3DHitTestIdentifyProvider.CSVLayer3DHitTestIdentifyProvider.html +37 -3
- package/docs/html/classes/tasks_identify_CSVLayerClientSideQueryIdentifyProvider.CSVLayerClientSideQueryIdentifyProvider.html +37 -3
- package/docs/html/classes/tasks_identify_ClientSideIdentifyProvider.ClientSideIdentifyProvider.html +37 -3
- package/docs/html/classes/tasks_identify_FeatureLayer3DHitTestIdentifyProvider.FeatureLayer3DHitTestIdentifyProvider.html +37 -3
- package/docs/html/classes/tasks_identify_FeatureLayerClientSideIdentifyProvider.FeatureLayerClientSideIdentifyProvider.html +37 -3
- package/docs/html/classes/tasks_identify_FeatureLayerQueryIdentifyProvider.FeatureLayerQueryIdentifyProvider.html +37 -3
- package/docs/html/classes/tasks_identify_GeoJSONLayer3DHitTestIdentifyProvider.GeoJSONLayer3DHitTestIdentifyProvider.html +37 -3
- package/docs/html/classes/tasks_identify_GeoJSONLayerClientSideQueryIdentifyProvider.GeoJSONLayerClientSideQueryIdentifyProvider.html +37 -3
- package/docs/html/classes/tasks_identify_GeoRSSLayerIdentifyProvider.GeoRSSLayerIdentifyProvider.html +37 -3
- package/docs/html/classes/tasks_identify_GraphicsLayerQueryIdentifyProvider.GraphicsLayerQueryIdentifyProvider.html +37 -3
- package/docs/html/classes/tasks_identify_HitTestIdentifyProvider.HitTestIdentifyProvider.html +37 -3
- package/docs/html/classes/tasks_identify_IdentifyError.IdentifyError.html +13 -0
- package/docs/html/classes/tasks_identify_IdentifyProviderBase.IdentifyProviderBase.html +36 -3
- package/docs/html/classes/tasks_identify_ImageryLayerIdentifyProvider.ImageryLayerIdentifyProvider.html +37 -3
- package/docs/html/classes/tasks_identify_KMLLayerQueryIdentifyProvider.KMLLayerQueryIdentifyProvider.html +37 -3
- package/docs/html/classes/tasks_identify_MapNotesSublayerQueryIdentifyProvider.MapNotesSublayerQueryIdentifyProvider.html +37 -3
- package/docs/html/classes/tasks_identify_PointCloudLayerHitTestIdentifyProvider.PointCloudLayerHitTestIdentifyProvider.html +37 -3
- package/docs/html/classes/tasks_identify_RouteLayerQueryIdentifyProvider.RouteLayerQueryIdentifyProvider.html +37 -3
- package/docs/html/classes/tasks_identify_SceneLayerClientSideIdentifyProvider.SceneLayerClientSideIdentifyProvider.html +37 -3
- package/docs/html/classes/tasks_identify_SceneLayerHitTestIdentifyProvider.SceneLayerHitTestIdentifyProvider.html +37 -3
- package/docs/html/classes/tasks_identify_SceneLayerQueryIdentifyProvider.SceneLayerQueryIdentifyProvider.html +37 -3
- package/docs/html/classes/tasks_identify_StreamLayerClientSideQueryIdentifyProvider.StreamLayerClientSideQueryIdentifyProvider.html +37 -3
- package/docs/html/classes/tasks_identify_SubtypeSublayerClientSideIdentifyProvider.SubtypeSublayerClientSideIdentifyProvider.html +37 -3
- package/docs/html/classes/tasks_identify_SubtypeSublayerQueryIdentifyProvider.SubtypeSublayerQueryIdentifyProvider.html +32 -3
- package/docs/html/classes/tasks_identify_WMSSublayerIdentifyProvider.WMSSublayerIdentifyProvider.html +37 -3
- package/docs/html/interfaces/tasks_identify_IdentifyProvider.IdentifyProvider.html +1 -1
- package/docs/html/variables/version.version.html +1 -1
- package/mapping/SubtypeSublayerExtension.js +1 -1
- package/package.json +1 -1
- package/portal/SubtypeSublayer.js +1 -1
- package/support/_query.js +1 -1
- package/tasks/identify/IdentifyError.d.ts +1 -0
- package/tasks/identify/IdentifyError.js +1 -1
- package/tasks/identify/IdentifyProvider.d.ts +1 -1
- package/tasks/identify/IdentifyProviderBase.d.ts +16 -3
- package/tasks/identify/IdentifyProviderBase.js +1 -1
- package/tasks/identify/IdentifyService.js +1 -1
- package/tasks/identify/SubtypeSublayerQueryIdentifyProvider.d.ts +7 -1
- package/tasks/identify/SubtypeSublayerQueryIdentifyProvider.js +1 -1
- package/version.d.ts +1 -1
- package/version.js +1 -1
|
@@ -39,6 +39,7 @@
|
|
|
39
39
|
<div class="tsd-index-list"><a href="tasks_identify_SubtypeSublayerQueryIdentifyProvider.SubtypeSublayerQueryIdentifyProvider.html#_applyTolerance" class="tsd-index-link tsd-is-protected tsd-is-inherited"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><rect fill="var(--color-icon-background)" stroke="#FF4DB8" stroke-width="1.5" x="1" y="1" width="22" height="22" rx="12" id="icon-2048-path"></rect><path d="M9.162 16V7.24H10.578L11.514 10.072C11.602 10.328 11.674 10.584 11.73 10.84C11.794 11.088 11.842 11.28 11.874 11.416C11.906 11.28 11.954 11.088 12.018 10.84C12.082 10.584 12.154 10.324 12.234 10.06L13.122 7.24H14.538V16H13.482V12.82C13.482 12.468 13.49 12.068 13.506 11.62C13.53 11.172 13.558 10.716 13.59 10.252C13.622 9.78 13.654 9.332 13.686 8.908C13.726 8.476 13.762 8.1 13.794 7.78L12.366 12.16H11.334L9.894 7.78C9.934 8.092 9.97 8.456 10.002 8.872C10.042 9.28 10.078 9.716 10.11 10.18C10.142 10.636 10.166 11.092 10.182 11.548C10.206 12.004 10.218 12.428 10.218 12.82V16H9.162Z" fill="var(--color-text)" id="icon-2048-text"></path></svg><span>_apply<wbr/>Tolerance</span></a>
|
|
40
40
|
<a href="tasks_identify_SubtypeSublayerQueryIdentifyProvider.SubtypeSublayerQueryIdentifyProvider.html#_count" class="tsd-index-link tsd-is-protected"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-2048-path"></use><use href="#icon-2048-text"></use></svg><span>_count</span></a>
|
|
41
41
|
<a href="tasks_identify_SubtypeSublayerQueryIdentifyProvider.SubtypeSublayerQueryIdentifyProvider.html#_identify" class="tsd-index-link tsd-is-protected"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-2048-path"></use><use href="#icon-2048-text"></use></svg><span>_identify</span></a>
|
|
42
|
+
<a href="tasks_identify_SubtypeSublayerQueryIdentifyProvider.SubtypeSublayerQueryIdentifyProvider.html#_identifyMany" class="tsd-index-link tsd-is-protected"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-2048-path"></use><use href="#icon-2048-text"></use></svg><span>_identify<wbr/>Many</span></a>
|
|
42
43
|
<a href="tasks_identify_SubtypeSublayerQueryIdentifyProvider.SubtypeSublayerQueryIdentifyProvider.html#count" class="tsd-index-link tsd-is-inherited"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-2048-path"></use><use href="#icon-2048-text"></use></svg><span>count</span></a>
|
|
43
44
|
<a href="tasks_identify_SubtypeSublayerQueryIdentifyProvider.SubtypeSublayerQueryIdentifyProvider.html#identify" class="tsd-index-link tsd-is-inherited"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-2048-path"></use><use href="#icon-2048-text"></use></svg><span>identify</span></a>
|
|
44
45
|
<a href="tasks_identify_SubtypeSublayerQueryIdentifyProvider.SubtypeSublayerQueryIdentifyProvider.html#isSupported" class="tsd-index-link"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-2048-path"></use><use href="#icon-2048-text"></use></svg><span>is<wbr/>Supported</span></a>
|
|
@@ -104,8 +105,9 @@ should override this method rather than count().</p>
|
|
|
104
105
|
<ul class="tsd-signatures tsd-is-protected">
|
|
105
106
|
<li class="tsd-signature tsd-anchor-link" id="_identify._identify-1"><span class="tsd-kind-call-signature">_identify</span><span class="tsd-signature-symbol">(</span><span class="tsd-kind-parameter">source</span>, <span class="tsd-kind-parameter">geometry</span>, <span class="tsd-kind-parameter">options</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type ">AsyncIterable</span><span class="tsd-signature-symbol"><</span><a href="data_Feature.Feature.html" class="tsd-signature-type tsd-kind-class">Feature</a><span class="tsd-signature-symbol">></span><a href="#_identify._identify-1" aria-label="Permalink" class="tsd-anchor-icon"><svg class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><use href="#icon-anchor-a"></use><use href="#icon-anchor-b"></use><use href="#icon-anchor-c"></use></svg></a></li>
|
|
106
107
|
<li class="tsd-description">
|
|
107
|
-
<div class="tsd-comment tsd-typography"><p>Invoked to perform the actual work for <a href="tasks_identify_ArcGISSublayerQueryIdentifyProvider.ArcGISSublayerQueryIdentifyProvider.html#identify" class="tsd-kind-method">identify</a
|
|
108
|
-
should override this method rather than
|
|
108
|
+
<div class="tsd-comment tsd-typography"><p>Invoked to perform the actual work for <a href="tasks_identify_ArcGISSublayerQueryIdentifyProvider.ArcGISSublayerQueryIdentifyProvider.html#identify" class="tsd-kind-method">identify</a> on a single
|
|
109
|
+
source. Derived classes should override this method rather than
|
|
110
|
+
identify().</p>
|
|
109
111
|
</div>
|
|
110
112
|
<div class="tsd-parameters">
|
|
111
113
|
<h4 class="tsd-parameters-title">Parameters</h4>
|
|
@@ -124,6 +126,32 @@ should override this method rather than identify().</p>
|
|
|
124
126
|
</div></li></ul></div>
|
|
125
127
|
<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type ">AsyncIterable</span><span class="tsd-signature-symbol"><</span><a href="data_Feature.Feature.html" class="tsd-signature-type tsd-kind-class">Feature</a><span class="tsd-signature-symbol">></span></h4><aside class="tsd-sources">
|
|
126
128
|
<p>Overrides <a href="tasks_identify_IdentifyProviderBase.IdentifyProviderBase.html">IdentifyProviderBase</a>.<a href="tasks_identify_IdentifyProviderBase.IdentifyProviderBase.html#_identify">_identify</a></p></aside></li></ul></section>
|
|
129
|
+
<section class="tsd-panel tsd-member tsd-is-protected"><a id="_identifyMany" class="tsd-anchor"></a>
|
|
130
|
+
<h3 class="tsd-anchor-link"><code class="tsd-tag ts-flagProtected">Protected</code> <span>_identify<wbr/>Many</span><a href="#_identifyMany" aria-label="Permalink" class="tsd-anchor-icon"><svg class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><use href="#icon-anchor-a"></use><use href="#icon-anchor-b"></use><use href="#icon-anchor-c"></use></svg></a></h3>
|
|
131
|
+
<ul class="tsd-signatures tsd-is-protected">
|
|
132
|
+
<li class="tsd-signature tsd-anchor-link" id="_identifyMany._identifyMany-1"><span class="tsd-kind-call-signature">_identify<wbr/>Many</span><span class="tsd-signature-symbol">(</span><span class="tsd-kind-parameter">sources</span>, <span class="tsd-kind-parameter">geometry</span>, <span class="tsd-kind-parameter">options</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type ">AsyncIterable</span><span class="tsd-signature-symbol"><</span><a href="data_Feature.Feature.html" class="tsd-signature-type tsd-kind-class">Feature</a><span class="tsd-signature-symbol">></span><a href="#_identifyMany._identifyMany-1" aria-label="Permalink" class="tsd-anchor-icon"><svg class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><use href="#icon-anchor-a"></use><use href="#icon-anchor-b"></use><use href="#icon-anchor-c"></use></svg></a></li>
|
|
133
|
+
<li class="tsd-description">
|
|
134
|
+
<div class="tsd-comment tsd-typography"><p>Invoked to perform the work for <a href="tasks_identify_ArcGISSublayerQueryIdentifyProvider.ArcGISSublayerQueryIdentifyProvider.html#identify" class="tsd-kind-method">identify</a>. Default implementation
|
|
135
|
+
calls <a href="tasks_identify_IdentifyProviderBase.IdentifyProviderBase.html#_identify" class="tsd-kind-method">_identify</a> for each source. Derived classes can override this
|
|
136
|
+
method to implement special handling for multiple sources.</p>
|
|
137
|
+
</div>
|
|
138
|
+
<div class="tsd-parameters">
|
|
139
|
+
<h4 class="tsd-parameters-title">Parameters</h4>
|
|
140
|
+
<ul class="tsd-parameter-list">
|
|
141
|
+
<li>
|
|
142
|
+
<h5><span class="tsd-kind-parameter">sources</span>: <a href="../interfaces/data_FeatureSource.FeatureSource.html" class="tsd-signature-type tsd-kind-interface">FeatureSource</a><span class="tsd-signature-symbol">[]</span></h5>
|
|
143
|
+
<div class="tsd-comment tsd-typography"><p>The sources to identify.</p>
|
|
144
|
+
</div></li>
|
|
145
|
+
<li>
|
|
146
|
+
<h5><span class="tsd-kind-parameter">geometry</span>: <span class="tsd-signature-type ">Geometry</span></h5>
|
|
147
|
+
<div class="tsd-comment tsd-typography"><p>The geometry to match against.</p>
|
|
148
|
+
</div></li>
|
|
149
|
+
<li>
|
|
150
|
+
<h5><span class="tsd-kind-parameter">options</span>: <a href="../interfaces/tasks_identify_IdentifyOptions.IdentifyOptions-1.html" class="tsd-signature-type tsd-kind-interface">IdentifyOptions</a></h5>
|
|
151
|
+
<div class="tsd-comment tsd-typography"><p>Options that affect the identify operation.</p>
|
|
152
|
+
</div></li></ul></div>
|
|
153
|
+
<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type ">AsyncIterable</span><span class="tsd-signature-symbol"><</span><a href="data_Feature.Feature.html" class="tsd-signature-type tsd-kind-class">Feature</a><span class="tsd-signature-symbol">></span></h4><aside class="tsd-sources">
|
|
154
|
+
<p>Overrides <a href="tasks_identify_IdentifyProviderBase.IdentifyProviderBase.html">IdentifyProviderBase</a>.<a href="tasks_identify_IdentifyProviderBase.IdentifyProviderBase.html#_identifyMany">_identifyMany</a></p></aside></li></ul></section>
|
|
127
155
|
<section class="tsd-panel tsd-member tsd-is-inherited"><a id="count" class="tsd-anchor"></a>
|
|
128
156
|
<h3 class="tsd-anchor-link"><span>count</span><a href="#count" aria-label="Permalink" class="tsd-anchor-icon"><svg class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><use href="#icon-anchor-a"></use><use href="#icon-anchor-b"></use><use href="#icon-anchor-c"></use></svg></a></h3>
|
|
129
157
|
<ul class="tsd-signatures tsd-is-inherited">
|
|
@@ -163,7 +191,7 @@ should override this method rather than identify().</p>
|
|
|
163
191
|
<h4 class="tsd-parameters-title">Parameters</h4>
|
|
164
192
|
<ul class="tsd-parameter-list">
|
|
165
193
|
<li>
|
|
166
|
-
<h5><span class="tsd-kind-parameter">source</span>: <a href="../interfaces/data_FeatureSource.FeatureSource.html" class="tsd-signature-type tsd-kind-interface">FeatureSource</a></h5>
|
|
194
|
+
<h5><span class="tsd-kind-parameter">source</span>: <a href="../interfaces/data_FeatureSource.FeatureSource.html" class="tsd-signature-type tsd-kind-interface">FeatureSource</a><span class="tsd-signature-symbol"> | </span><a href="../interfaces/data_FeatureSource.FeatureSource.html" class="tsd-signature-type tsd-kind-interface">FeatureSource</a><span class="tsd-signature-symbol">[]</span></h5>
|
|
167
195
|
<div class="tsd-comment tsd-typography"><p>The source to identify.</p>
|
|
168
196
|
</div></li>
|
|
169
197
|
<li>
|
|
@@ -222,6 +250,7 @@ given feature source.</p>
|
|
|
222
250
|
<li><a href="#_applyTolerance" class="tsd-is-protected tsd-is-inherited"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-2048-path"></use><use href="#icon-2048-text"></use></svg><span>_apply<wbr/>Tolerance</span></a></li>
|
|
223
251
|
<li><a href="#_count" class="tsd-is-protected"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-2048-path"></use><use href="#icon-2048-text"></use></svg><span>_count</span></a></li>
|
|
224
252
|
<li><a href="#_identify" class="tsd-is-protected"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-2048-path"></use><use href="#icon-2048-text"></use></svg><span>_identify</span></a></li>
|
|
253
|
+
<li><a href="#_identifyMany" class="tsd-is-protected"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-2048-path"></use><use href="#icon-2048-text"></use></svg><span>_identify<wbr/>Many</span></a></li>
|
|
225
254
|
<li><a href="#count" class="tsd-is-inherited"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-2048-path"></use><use href="#icon-2048-text"></use></svg><span>count</span></a></li>
|
|
226
255
|
<li><a href="#identify" class="tsd-is-inherited"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-2048-path"></use><use href="#icon-2048-text"></use></svg><span>identify</span></a></li>
|
|
227
256
|
<li><a href="#isSupported" class=""><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-2048-path"></use><use href="#icon-2048-text"></use></svg><span>is<wbr/>Supported</span></a></li></ul></div></details></div>
|
|
@@ -43,6 +43,7 @@
|
|
|
43
43
|
<div class="tsd-index-list"><a href="tasks_identify_WMSSublayerIdentifyProvider.WMSSublayerIdentifyProvider.html#_applyTolerance" class="tsd-index-link tsd-is-protected tsd-is-inherited"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><rect fill="var(--color-icon-background)" stroke="#FF4DB8" stroke-width="1.5" x="1" y="1" width="22" height="22" rx="12" id="icon-2048-path"></rect><path d="M9.162 16V7.24H10.578L11.514 10.072C11.602 10.328 11.674 10.584 11.73 10.84C11.794 11.088 11.842 11.28 11.874 11.416C11.906 11.28 11.954 11.088 12.018 10.84C12.082 10.584 12.154 10.324 12.234 10.06L13.122 7.24H14.538V16H13.482V12.82C13.482 12.468 13.49 12.068 13.506 11.62C13.53 11.172 13.558 10.716 13.59 10.252C13.622 9.78 13.654 9.332 13.686 8.908C13.726 8.476 13.762 8.1 13.794 7.78L12.366 12.16H11.334L9.894 7.78C9.934 8.092 9.97 8.456 10.002 8.872C10.042 9.28 10.078 9.716 10.11 10.18C10.142 10.636 10.166 11.092 10.182 11.548C10.206 12.004 10.218 12.428 10.218 12.82V16H9.162Z" fill="var(--color-text)" id="icon-2048-text"></path></svg><span>_apply<wbr/>Tolerance</span></a>
|
|
44
44
|
<a href="tasks_identify_WMSSublayerIdentifyProvider.WMSSublayerIdentifyProvider.html#_count" class="tsd-index-link"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-2048-path"></use><use href="#icon-2048-text"></use></svg><span>_count</span></a>
|
|
45
45
|
<a href="tasks_identify_WMSSublayerIdentifyProvider.WMSSublayerIdentifyProvider.html#_identify" class="tsd-index-link"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-2048-path"></use><use href="#icon-2048-text"></use></svg><span>_identify</span></a>
|
|
46
|
+
<a href="tasks_identify_WMSSublayerIdentifyProvider.WMSSublayerIdentifyProvider.html#_identifyMany" class="tsd-index-link tsd-is-protected tsd-is-inherited"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-2048-path"></use><use href="#icon-2048-text"></use></svg><span>_identify<wbr/>Many</span></a>
|
|
46
47
|
<a href="tasks_identify_WMSSublayerIdentifyProvider.WMSSublayerIdentifyProvider.html#count" class="tsd-index-link tsd-is-inherited"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-2048-path"></use><use href="#icon-2048-text"></use></svg><span>count</span></a>
|
|
47
48
|
<a href="tasks_identify_WMSSublayerIdentifyProvider.WMSSublayerIdentifyProvider.html#identify" class="tsd-index-link tsd-is-inherited"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-2048-path"></use><use href="#icon-2048-text"></use></svg><span>identify</span></a>
|
|
48
49
|
<a href="tasks_identify_WMSSublayerIdentifyProvider.WMSSublayerIdentifyProvider.html#isSupported" class="tsd-index-link"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-2048-path"></use><use href="#icon-2048-text"></use></svg><span>is<wbr/>Supported</span></a>
|
|
@@ -115,8 +116,9 @@ should override this method rather than count().</p>
|
|
|
115
116
|
<ul class="tsd-signatures">
|
|
116
117
|
<li class="tsd-signature tsd-anchor-link" id="_identify._identify-1"><span class="tsd-kind-call-signature">_identify</span><span class="tsd-signature-symbol">(</span><span class="tsd-kind-parameter">source</span>, <span class="tsd-kind-parameter">geometry</span>, <span class="tsd-kind-parameter">options</span><span class="tsd-signature-symbol">?</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type ">AsyncIterable</span><span class="tsd-signature-symbol"><</span><a href="data_Feature.Feature.html" class="tsd-signature-type tsd-kind-class">Feature</a><span class="tsd-signature-symbol">></span><a href="#_identify._identify-1" aria-label="Permalink" class="tsd-anchor-icon"><svg class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><use href="#icon-anchor-a"></use><use href="#icon-anchor-b"></use><use href="#icon-anchor-c"></use></svg></a></li>
|
|
117
118
|
<li class="tsd-description">
|
|
118
|
-
<div class="tsd-comment tsd-typography"><p>Invoked to perform the actual work for <a href="tasks_identify_ArcGISSublayerQueryIdentifyProvider.ArcGISSublayerQueryIdentifyProvider.html#identify" class="tsd-kind-method">identify</a
|
|
119
|
-
should override this method rather than
|
|
119
|
+
<div class="tsd-comment tsd-typography"><p>Invoked to perform the actual work for <a href="tasks_identify_ArcGISSublayerQueryIdentifyProvider.ArcGISSublayerQueryIdentifyProvider.html#identify" class="tsd-kind-method">identify</a> on a single
|
|
120
|
+
source. Derived classes should override this method rather than
|
|
121
|
+
identify().</p>
|
|
120
122
|
</div>
|
|
121
123
|
<div class="tsd-parameters">
|
|
122
124
|
<h4 class="tsd-parameters-title">Parameters</h4>
|
|
@@ -135,6 +137,37 @@ should override this method rather than identify().</p>
|
|
|
135
137
|
</div></li></ul></div>
|
|
136
138
|
<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type ">AsyncIterable</span><span class="tsd-signature-symbol"><</span><a href="data_Feature.Feature.html" class="tsd-signature-type tsd-kind-class">Feature</a><span class="tsd-signature-symbol">></span></h4><aside class="tsd-sources">
|
|
137
139
|
<p>Overrides <a href="tasks_identify_IdentifyProviderBase.IdentifyProviderBase.html">IdentifyProviderBase</a>.<a href="tasks_identify_IdentifyProviderBase.IdentifyProviderBase.html#_identify">_identify</a></p></aside></li></ul></section>
|
|
140
|
+
<section class="tsd-panel tsd-member tsd-is-protected tsd-is-inherited"><a id="_identifyMany" class="tsd-anchor"></a>
|
|
141
|
+
<h3 class="tsd-anchor-link"><code class="tsd-tag ts-flagProtected">Protected</code> <span>_identify<wbr/>Many</span><a href="#_identifyMany" aria-label="Permalink" class="tsd-anchor-icon"><svg class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><use href="#icon-anchor-a"></use><use href="#icon-anchor-b"></use><use href="#icon-anchor-c"></use></svg></a></h3>
|
|
142
|
+
<ul class="tsd-signatures tsd-is-protected tsd-is-inherited">
|
|
143
|
+
<li class="tsd-signature tsd-anchor-link" id="_identifyMany._identifyMany-1"><span class="tsd-kind-call-signature">_identify<wbr/>Many</span><span class="tsd-signature-symbol">(</span><span class="tsd-kind-parameter">sources</span>, <span class="tsd-kind-parameter">geometry</span>, <span class="tsd-kind-parameter">options</span>, <span class="tsd-kind-parameter">geometryType</span><span class="tsd-signature-symbol">?</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type ">AsyncIterable</span><span class="tsd-signature-symbol"><</span><a href="data_Feature.Feature.html" class="tsd-signature-type tsd-kind-class">Feature</a><span class="tsd-signature-symbol">></span><a href="#_identifyMany._identifyMany-1" aria-label="Permalink" class="tsd-anchor-icon"><svg class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><use href="#icon-anchor-a"></use><use href="#icon-anchor-b"></use><use href="#icon-anchor-c"></use></svg></a></li>
|
|
144
|
+
<li class="tsd-description">
|
|
145
|
+
<div class="tsd-comment tsd-typography"><p>Invoked to perform the work for <a href="tasks_identify_ArcGISSublayerQueryIdentifyProvider.ArcGISSublayerQueryIdentifyProvider.html#identify" class="tsd-kind-method">identify</a>. Default implementation
|
|
146
|
+
calls <a href="tasks_identify_IdentifyProviderBase.IdentifyProviderBase.html#_identify" class="tsd-kind-method">_identify</a> for each source. Derived classes can override this
|
|
147
|
+
method to implement special handling for multiple sources.</p>
|
|
148
|
+
</div>
|
|
149
|
+
<div class="tsd-parameters">
|
|
150
|
+
<h4 class="tsd-parameters-title">Parameters</h4>
|
|
151
|
+
<ul class="tsd-parameter-list">
|
|
152
|
+
<li>
|
|
153
|
+
<h5><span class="tsd-kind-parameter">sources</span>: <a href="../interfaces/data_FeatureSource.FeatureSource.html" class="tsd-signature-type tsd-kind-interface">FeatureSource</a><span class="tsd-signature-symbol">[]</span></h5>
|
|
154
|
+
<div class="tsd-comment tsd-typography"><p>The sources to identify.</p>
|
|
155
|
+
</div></li>
|
|
156
|
+
<li>
|
|
157
|
+
<h5><span class="tsd-kind-parameter">geometry</span>: <span class="tsd-signature-type ">Geometry</span></h5>
|
|
158
|
+
<div class="tsd-comment tsd-typography"><p>The geometry to match against.</p>
|
|
159
|
+
</div></li>
|
|
160
|
+
<li>
|
|
161
|
+
<h5><span class="tsd-kind-parameter">options</span>: <a href="../interfaces/tasks_identify_IdentifyOptions.IdentifyOptions-1.html" class="tsd-signature-type tsd-kind-interface">IdentifyOptions</a></h5>
|
|
162
|
+
<div class="tsd-comment tsd-typography"><p>Options that affect the identify operation.</p>
|
|
163
|
+
</div></li>
|
|
164
|
+
<li>
|
|
165
|
+
<h5><code class="tsd-tag ts-flagOptional">Optional</code> <span class="tsd-kind-parameter">geometryType</span>: <span class="tsd-signature-type">string</span></h5>
|
|
166
|
+
<div class="tsd-comment tsd-typography"><p>The geometry type before a tolerance buffer is
|
|
167
|
+
applied.</p>
|
|
168
|
+
</div></li></ul></div>
|
|
169
|
+
<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type ">AsyncIterable</span><span class="tsd-signature-symbol"><</span><a href="data_Feature.Feature.html" class="tsd-signature-type tsd-kind-class">Feature</a><span class="tsd-signature-symbol">></span></h4><aside class="tsd-sources">
|
|
170
|
+
<p>Inherited from <a href="tasks_identify_IdentifyProviderBase.IdentifyProviderBase.html">IdentifyProviderBase</a>.<a href="tasks_identify_IdentifyProviderBase.IdentifyProviderBase.html#_identifyMany">_identifyMany</a></p></aside></li></ul></section>
|
|
138
171
|
<section class="tsd-panel tsd-member tsd-is-inherited"><a id="count" class="tsd-anchor"></a>
|
|
139
172
|
<h3 class="tsd-anchor-link"><span>count</span><a href="#count" aria-label="Permalink" class="tsd-anchor-icon"><svg class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><use href="#icon-anchor-a"></use><use href="#icon-anchor-b"></use><use href="#icon-anchor-c"></use></svg></a></h3>
|
|
140
173
|
<ul class="tsd-signatures tsd-is-inherited">
|
|
@@ -174,7 +207,7 @@ should override this method rather than identify().</p>
|
|
|
174
207
|
<h4 class="tsd-parameters-title">Parameters</h4>
|
|
175
208
|
<ul class="tsd-parameter-list">
|
|
176
209
|
<li>
|
|
177
|
-
<h5><span class="tsd-kind-parameter">source</span>: <a href="../interfaces/data_FeatureSource.FeatureSource.html" class="tsd-signature-type tsd-kind-interface">FeatureSource</a></h5>
|
|
210
|
+
<h5><span class="tsd-kind-parameter">source</span>: <a href="../interfaces/data_FeatureSource.FeatureSource.html" class="tsd-signature-type tsd-kind-interface">FeatureSource</a><span class="tsd-signature-symbol"> | </span><a href="../interfaces/data_FeatureSource.FeatureSource.html" class="tsd-signature-type tsd-kind-interface">FeatureSource</a><span class="tsd-signature-symbol">[]</span></h5>
|
|
178
211
|
<div class="tsd-comment tsd-typography"><p>The source to identify.</p>
|
|
179
212
|
</div></li>
|
|
180
213
|
<li>
|
|
@@ -234,6 +267,7 @@ given feature source.</p>
|
|
|
234
267
|
<li><a href="#_applyTolerance" class="tsd-is-protected tsd-is-inherited"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-2048-path"></use><use href="#icon-2048-text"></use></svg><span>_apply<wbr/>Tolerance</span></a></li>
|
|
235
268
|
<li><a href="#_count" class=""><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-2048-path"></use><use href="#icon-2048-text"></use></svg><span>_count</span></a></li>
|
|
236
269
|
<li><a href="#_identify" class=""><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-2048-path"></use><use href="#icon-2048-text"></use></svg><span>_identify</span></a></li>
|
|
270
|
+
<li><a href="#_identifyMany" class="tsd-is-protected tsd-is-inherited"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-2048-path"></use><use href="#icon-2048-text"></use></svg><span>_identify<wbr/>Many</span></a></li>
|
|
237
271
|
<li><a href="#count" class="tsd-is-inherited"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-2048-path"></use><use href="#icon-2048-text"></use></svg><span>count</span></a></li>
|
|
238
272
|
<li><a href="#identify" class="tsd-is-inherited"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-2048-path"></use><use href="#icon-2048-text"></use></svg><span>identify</span></a></li>
|
|
239
273
|
<li><a href="#isSupported" class=""><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-2048-path"></use><use href="#icon-2048-text"></use></svg><span>is<wbr/>Supported</span></a></li></ul></div></details></div>
|
|
@@ -79,7 +79,7 @@
|
|
|
79
79
|
<h4 class="tsd-parameters-title">Parameters</h4>
|
|
80
80
|
<ul class="tsd-parameter-list">
|
|
81
81
|
<li>
|
|
82
|
-
<h5><span class="tsd-kind-parameter">source</span>: <a href="data_FeatureSource.FeatureSource.html" class="tsd-signature-type tsd-kind-interface">FeatureSource</a></h5>
|
|
82
|
+
<h5><span class="tsd-kind-parameter">source</span>: <a href="data_FeatureSource.FeatureSource.html" class="tsd-signature-type tsd-kind-interface">FeatureSource</a><span class="tsd-signature-symbol"> | </span><a href="data_FeatureSource.FeatureSource.html" class="tsd-signature-type tsd-kind-interface">FeatureSource</a><span class="tsd-signature-symbol">[]</span></h5>
|
|
83
83
|
<div class="tsd-comment tsd-typography"><p>The source to identify.</p>
|
|
84
84
|
</div></li>
|
|
85
85
|
<li>
|
|
@@ -16,7 +16,7 @@
|
|
|
16
16
|
<li><a href="../modules/version.html">version</a></li>
|
|
17
17
|
<li><a href="version.version.html">version</a></li></ul>
|
|
18
18
|
<h1>Variable version<code class="tsd-tag ts-flagConst">Const</code> </h1></div>
|
|
19
|
-
<div class="tsd-signature"><span class="tsd-kind-variable">version</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">"41.
|
|
19
|
+
<div class="tsd-signature"><span class="tsd-kind-variable">version</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">"41.3.0"</span><span class="tsd-signature-symbol"> = "41.3.0"</span></div>
|
|
20
20
|
<div class="tsd-comment tsd-typography"><p>The current version of the Geocortex ArcGIS Extensions API.</p>
|
|
21
21
|
</div></div>
|
|
22
22
|
<div class="col-sidebar">
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{__decorate as e}from"tslib";import t from"@arcgis/core/core/Collection";import r from"@arcgis/core/rest/support/AttachmentQuery";import{InvalidOperationError as s}from"../InvalidOperationError.js";import{toAttachment as a}from"../data/Attachment.js";import{FeatureSaveError as i}from"../data/FeatureSaveError.js";import{addAttachment as n,deleteAttachments as o}from"../data/support/attachments.js";import{applyJsonToSublayer as l,jsonToSublayer as u,sublayerToJson as y}from"../json/SublayerJson.js";import{cancelify as p}from"../support/Cancellable.js";import{serializable as c}from"../support/Serializable.js";import{ArcGISRelationshipCollection as d}from"../support/_ArcGISRelationshipCollection.js";import{ReadOnlyCollection as h}from"../utilities/ReadOnlyCollection.js";import{isFeatureLayer as m,isSubtypeGroupLayer as b,isSubtypeSublayer as
|
|
1
|
+
import{__decorate as e}from"tslib";import t from"@arcgis/core/core/Collection";import r from"@arcgis/core/rest/support/AttachmentQuery";import{InvalidOperationError as s}from"../InvalidOperationError.js";import{toAttachment as a}from"../data/Attachment.js";import{FeatureSaveError as i}from"../data/FeatureSaveError.js";import{addAttachment as n,deleteAttachments as o}from"../data/support/attachments.js";import{applyJsonToSublayer as l,jsonToSublayer as u,sublayerToJson as y}from"../json/SublayerJson.js";import{cancelify as p}from"../support/Cancellable.js";import{serializable as c}from"../support/Serializable.js";import{ArcGISRelationshipCollection as d}from"../support/_ArcGISRelationshipCollection.js";import{ReadOnlyCollection as h}from"../utilities/ReadOnlyCollection.js";import{isFeatureLayer as m,isSubtypeGroupLayer as b,isSubtypeSublayer as f}from"../utilities/layers.js";import{parse as _}from"../utilities/number.js";import{SublayerExtension as g,SublayerSchema as w}from"./_SublayerExtension.js";import{ArrayWrappedCollection as E}from"./support/ArrayWrappedCollection.js";import{ExtensionBaseLayerListSettings as x}from"./support/LayerListSettings.js";import{PopupTemplateFeatureSettings as F}from"./support/PopupTemplateFeatureSettings.js";import{getGlobalIdField as S,isGlobalIdUsed as I}from"./support/layers.js";let j=class extends g{get supportsSublayers(){return!1}get layerExtension(){return super.layerExtension}get renderer(){return this.sublayer?.renderer}get hasFeatures(){return!0}get sublayer(){return super.sublayer}get sublayerExtensions(){return super.sublayerExtensions}get attachmentTypes(){return this.layerExtension?.attachmentTypes}get canChangeRenderer(){return!0}get canChangeOpacity(){return!1}async _addAttachment(e,t){return n(e,this.sublayer.layer,t,{attachmentTypes:this.layerExtension?.attachmentTypes})}async _deleteAttachments(e,t){return o(e,this.sublayer.layer,t)}_isSupportedSublayer(e){return f(e)}_createLayerListSettings(e){return new v(e,this)}_createFeatureSettings(){return new T(this)}_createSublayer(e){return u(e,"SubtypeGroupLayer")}_createSchema(){return new R(this)}_createRelationships(){return new SubtypeSublayerRelationshipCollection(this)}async _applySublayerProperties(e,t){return l(e,t)}_capabilities(){return this.layerExtension?.capabilities}async _onInitialize(){const e=(await import("@arcgis/core/layers/support/SubtypeSublayer.js")).default;"layer"in e.prototype||Object.defineProperty(e.prototype,"layer",{get:function(){return this.parent},set:function(e){this.parent=e}}),await super._onInitialize(),await this.relationships.initialize(),this._watchHandles.push(this.watch("layerExtension.attachmentTypes",(()=>this.notifyChange("attachmentTypes"))))}async _postInitialize(){await super._postInitialize(),this.layerListSettings.onLayerExtensionInitialized()}_getFeatures(e,t){if(!this.sublayer?.layer)return super._getFeatures(e,t);const r=this.sublayer?.layer.createQuery();r.objectIds=e.map((e=>_(e))),r.where=void 0,r.outFields=t.outFields,r.returnGeometry=t.returnGeometry;const s=this;return{async*[Symbol.asyncIterator](){yield*(await import("../support/_query.js")).executeQuery(r,s,s.sublayer.layer,t.cancelToken)}}}async _getAttachments(e){if(!this.sublayer?.layer?.capabilities?.data?.supportsAttachment)return[];const t=+e.primaryKey,s=new r({objectIds:[t]}),i=await this.sublayer.layer.queryAttachments(s);return i?.[t]?.length?i[t].map((e=>a(e,e.url))):[]}async _addFeatures(e,t){const r=Array.from(e);if(0===r.length||!this.sublayer?.layer)return;const s=await this._applyEdits({addFeatures:r.map((e=>e.toGraphic()))},t);if(!s.addFeatureResults||s.addFeatureResults.length!==r.length)throw new i("Received malformed response from server while saving feature(s).");let a;if(s.addFeatureResults.forEach(((e,t)=>{const{objectId:s,globalId:n,error:o}=e,l=r[t];if(o){a=a||new i("Errors encountered when adding features.");const{title:r}=l;a.errors.set(`${r}-${t}`,new Error(`Failed to add feature '${r}'. ${e.error.name} : ${e.error.message}`))}else{const{primaryKeyField:e}=l.schema;l.attributes.set(e,s);const t=S(this.sublayer.layer);t&&n&&l.attributes.set(t,n)}})),a)throw a}async _updateFeatures(e,t){const r=Array.from(e);if(0===r.length)return;const s=await this._applyEdits({updateFeatures:Array.from(e).map((e=>e.toGraphic()))},t);if(!s.updateFeatureResults||s.updateFeatureResults.length!==r.length)throw new i("Received malformed response from server while saving feature(s).");let a;if(s.updateFeatureResults.forEach(((e,t)=>{if(e.error){a=a||new i("Errors encountered when updating features.");const{primaryKey:s}=r[t];a.errors.set(s,new Error(`Failed to update feature with id ${s}. ${e.error.name} : ${e.error.message}`))}})),a)throw a}async _deleteFeatures(e,t){if(0===e.length)return;const r=await this._applyEdits({deleteFeatures:e.map((e=>({objectId:e})))},t);if(!r.deleteFeatureResults)throw new i("Received malformed response from server while saving feature(s).");let s;if(r.deleteFeatureResults.forEach(((t,r)=>{if(t.error){s=s||new i("Errors encountered when deleting features.");const a=e[r];s.errors.set(a,new Error(`Failed to delete feature with id ${a}. ${t.error.name} : ${t.error.message}`))}})),s)throw s}_serializeSublayer(e){return y(e)}async _applyEdits(e,t={}){const r=I(this.sublayer.layer,e),s=this.sublayer.layer.applyEdits(e,{globalIdUsed:r}),a=await p(s,t.cancelToken);if(!a)throw new i("Received malformed response from server while saving feature(s).");return a}};j=e([c],j);export{j as SubtypeSublayerExtension};const C="This schema property is read-only.";let R=class extends w{get primaryKeyField(){return this._sublayerExtension.sublayer?.layer?.objectIdField}set primaryKeyField(e){throw new s(C)}get geometryType(){return this._sublayerExtension.sublayer?.layer?.geometryType}set geometryType(e){throw new s(C)}get displayField(){return this._sublayerExtension.sublayer?.layer?.displayField}set displayField(e){throw new s(C)}get typeIdField(){return this._sublayerExtension.sublayer?.layer?.subtypeField}set typeIdField(e){throw new s(C)}get types(){return this._readonlyTypesCollection}constructor(e){super(e),this._fieldCollection=this._createFieldCollection(),this._typesCollection=new t,this._readonlyTypesCollection=new h(this._typesCollection);const r=()=>this._sublayerExtension.sublayer?.subtypeCode,s=()=>{const e=this._sublayerExtension.layerExtension?._subtypes?.find((e=>e.id===r()));return!!e&&(this._typesCollection.add(e),!0)};if(this._sublayerExtension.layerExtension?._subtypes?.some((e=>e.id===r())))s();else{const e=this._sublayerExtension.watch("layerExtension._subtypes",(()=>{s()&&e.remove()}),!0)}}get _fields(){return this._fieldCollection}_createFieldCollection(){return new h(new E({parent:this._sublayerExtension,targetProperty:"sublayer",arrayProperty:"parent.fields"}))}_getPropertyBindings(){return{primaryKeyField:"parent.objectIdField",geometryType:"parent.geometryType",spatialReference:"parent.spatialReference",displayField:"parent.displayField",typeIdField:"parent.typeIdField"}}};R=e([c],R);export{R as SubtypeSublayerSchema};let T=class extends F{get zoomScale(){const e="point"===this._layerExtension.schema.geometryType?this._layerExtension.sublayer.maxScale:void 0;return this._getSetting("zoomScale",e)}set zoomScale(e){this._setSetting("zoomScale",e)}};T=e([c],T);let v=class extends x{get _layerSupportsHideChildren(){return!1}get _esriLayer(){return this._extension.sublayer}get _listModePath(){return"sublayer.listMode"}get _supportsChildren(){return!1}};v=e([c],v);export class SubtypeSublayerRelationshipCollection extends d{get _sourceUrl(){const e=this._source.sublayer?.layer;if(e)return`${e.url}/${e.layerId}`}get _sourceLayerId(){const e=this._source.sublayer?.layer;return e?.layerId}_findRelatedSource(e){if(!this._source.layerExtension?.mapExtension||!this._source.sublayer||!this._sourceUrl)return;const t=this._sourceUrl.slice(0,this._sourceUrl.length-`${this._sourceLayerId}`.length-1),r=this._source.layerExtension.mapExtension.allLayerExtensions.initializedItems.find((r=>(m(r.layer)||b(r.layer))&&r.layer.url===t&&r.layer.layerId===e));return r||this._source.layerExtension.mapExtension.tableExtensions.initializedItems.find((r=>m(r.table)&&r.table.url===t&&r.table.layerId===e))}}
|
package/package.json
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import e from"@arcgis/core/layers/support/SubtypeSublayer";import{isSubtypeSublayer as p}from"../utilities/_layers.js";import{checkArg as r}from"../utilities/checkArg.js";import{LayerDefinition as s}from"./LayerDefinition.js";import{PopupInfo as a}from"./PopupInfo.js";import{ERR_LAYER_TYPE_MISMATCH as i,applyLayerBaseToEsriApiLayer as t,fromEsriApiLayerToLayerBase as o}from"./_layerHelper.js";Object.defineProperty(e.prototype,"layer",{get:function(){return this.parent},set:function(e){this.parent=e}});export var SubtypeSublayer;!function(e){async function l(e,o){r("sublayerJson",e).isNotMissing(),r("sublayerJson.layerType",e.layerType).satisfies((e=>!e||"ArcGISFeatureLayer"===e),i),r("sublayer",o).isNotMissing().satisfies((e=>p(e)),i),t(e,o),e.hasOwnProperty("popupInfo")&&(o.popupTemplate=a.toEsriApiPopupTemplate(e.popupInfo)),e.hasOwnProperty("disablePopup")&&(o.popupEnabled=!e.disablePopup),e.hasOwnProperty("showLabels")&&(o.labelsVisible=e.showLabels),e.hasOwnProperty("subtypeCode")&&(o.subtypeCode=+e.subtypeCode),e.hasOwnProperty("layerDefinition")&&await s.applyToEsriApiLayer(e.layerDefinition,o)}e.esriSubtypeSublayerDefaults={labelsVisible:!0,legendEnabled:!0,popupEnabled:!0,visible:!0,minScale:0,maxScale:0},e.toEsriApiLayer=async function(e){r("sublayerJson",e).isNotMissing(),r("sublayerJson.layerType",e.layerType).satisfies((e=>!e||"ArcGISFeatureLayer"===e),i);const p=new((await import("@arcgis/core/layers/support/SubtypeSublayer")).default);return await l(e,p),p},e.applyToEsriApiLayer=l,e.fromEsriApiSubtypeSublayer=function(t){r("sublayer",t).isNotMissing().satisfies((e=>p(e)),i);const l={...o(t,e.esriSubtypeSublayerDefaults),layerType:"ArcGISFeatureLayer"};return t.popupEnabled!==e.esriSubtypeSublayerDefaults.popupEnabled&&(l.disablePopup=!t.popupEnabled),t.popupTemplate&&(l.popupInfo=a.fromEsriApiPopupTemplate(t.popupTemplate)),t.labelsVisible!==e.esriSubtypeSublayerDefaults.labelsVisible&&(l.showLabels=t.labelsVisible),t.hasOwnProperty("subtypeCode")&&(l.subtypeCode=t.subtypeCode),l.layerDefinition=s.fromEsriApiLayer(t),l}}(SubtypeSublayer||(SubtypeSublayer={}));
|
|
1
|
+
import e from"@arcgis/core/layers/support/SubtypeSublayer";import{isSubtypeSublayer as p}from"../utilities/_layers.js";import{checkArg as r}from"../utilities/checkArg.js";import{LayerDefinition as s}from"./LayerDefinition.js";import{PopupInfo as a}from"./PopupInfo.js";import{ERR_LAYER_TYPE_MISMATCH as i,applyLayerBaseToEsriApiLayer as t,fromEsriApiLayerToLayerBase as o}from"./_layerHelper.js";"layer"in e.prototype||Object.defineProperty(e.prototype,"layer",{get:function(){return this.parent},set:function(e){this.parent=e}});export var SubtypeSublayer;!function(e){async function l(e,o){r("sublayerJson",e).isNotMissing(),r("sublayerJson.layerType",e.layerType).satisfies((e=>!e||"ArcGISFeatureLayer"===e),i),r("sublayer",o).isNotMissing().satisfies((e=>p(e)),i),t(e,o),e.hasOwnProperty("popupInfo")&&(o.popupTemplate=a.toEsriApiPopupTemplate(e.popupInfo)),e.hasOwnProperty("disablePopup")&&(o.popupEnabled=!e.disablePopup),e.hasOwnProperty("showLabels")&&(o.labelsVisible=e.showLabels),e.hasOwnProperty("subtypeCode")&&(o.subtypeCode=+e.subtypeCode),e.hasOwnProperty("layerDefinition")&&await s.applyToEsriApiLayer(e.layerDefinition,o)}e.esriSubtypeSublayerDefaults={labelsVisible:!0,legendEnabled:!0,popupEnabled:!0,visible:!0,minScale:0,maxScale:0},e.toEsriApiLayer=async function(e){r("sublayerJson",e).isNotMissing(),r("sublayerJson.layerType",e.layerType).satisfies((e=>!e||"ArcGISFeatureLayer"===e),i);const p=new((await import("@arcgis/core/layers/support/SubtypeSublayer")).default);return await l(e,p),p},e.applyToEsriApiLayer=l,e.fromEsriApiSubtypeSublayer=function(t){r("sublayer",t).isNotMissing().satisfies((e=>p(e)),i);const l={...o(t,e.esriSubtypeSublayerDefaults),layerType:"ArcGISFeatureLayer"};return t.popupEnabled!==e.esriSubtypeSublayerDefaults.popupEnabled&&(l.disablePopup=!t.popupEnabled),t.popupTemplate&&(l.popupInfo=a.fromEsriApiPopupTemplate(t.popupTemplate)),t.labelsVisible!==e.esriSubtypeSublayerDefaults.labelsVisible&&(l.showLabels=t.labelsVisible),t.hasOwnProperty("subtypeCode")&&(l.subtypeCode=t.subtypeCode),l.layerDefinition=s.fromEsriApiLayer(t),l}}(SubtypeSublayer||(SubtypeSublayer={}));
|
package/support/_query.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{isLayerExtension as e,isSublayerExtension as t}from"../ItemType.js";import{toFeature as n}from"../data/Feature.js";import{isTimeAwareLayer as i}from"../utilities/_layers.js";import{checkArg as s}from"../utilities/checkArg.js";import{cancelifyWithAbortSignal as r}from"./Cancellable.js";export function concatenateWhereClauses(e,t){return e?.length>0&&t?.length>0?`(${e}) and (${t})`:e||t}export function executeQuery(e,t,i,o){return s("query",e).isNotMissing(),s("source",t).isNotMissing(),s("queryable",i).isNotMissing(),e.where=concatenateWhereClauses(i.definitionExpression,e.where),constrainQueryTimeExtentToView(e,t),async function*(){const s=e.num;let a=(await r((async t=>i.queryFeatures(e,{signal:t})),o)).features;s>0&&a.length>s&&(a=a.slice(0,s)),yield*a.map((e=>n(e,{source:t})))}()}export async function executeCount(e,t,n,i){s("query",e).isNotMissing(),s("source",t).isNotMissing(),s("queryable",n).isNotMissing(),e.where=concatenateWhereClauses(n.definitionExpression,e.where),constrainQueryTimeExtentToView(e,t);const o=e.num;e.num=void 0;let a=await r((async t=>n.queryFeatureCount(e,{signal:t})),i);return o>0&&a>o&&(a=o),{source:t,count:a}}export async function executeCountByQuery(e,t,n,i){s("query",e).isNotMissing(),s("source",t).isNotMissing(),s("queryable",n).isNotMissing(),e.where=concatenateWhereClauses(n.definitionExpression,e.where),constrainQueryTimeExtentToView(e,t);const o=e.num;let a=(await r((async t=>n.queryFeatures(e,{signal:t})),i)).features.length;return o>0&&a>o&&(a=o),{source:t,count:a}}export function constrainQueryTimeExtentToView(n,s){let r;if(e(s)?r=s:t(s)&&(r=s.layerExtension),!i(r?.layer))return;const{layer:o,mapExtension:a}=r,u=a?._allLayerViews.find((e=>e.layer===o))?.view?.timeExtent;if(n.timeExtent||(n.timeExtent=o.timeExtent?.clone()),o.useViewTime&&u)if(n.timeExtent){const e=[n.timeExtent.start?.valueOf(),u.start?.valueOf()].filter((e=>!!e)),t=[n.timeExtent.end?.valueOf(),u.end?.valueOf()].filter((e=>!!e));n.timeExtent.start=e.length?new Date(Math.max(...e)):void 0,n.timeExtent.end=t.length?new Date(Math.min(...t)):void 0}else n.timeExtent=u?.clone()}
|
|
1
|
+
import{isLayerExtension as e,isSublayerExtension as t}from"../ItemType.js";import{toFeature as n}from"../data/Feature.js";import{isTimeAwareLayer as i}from"../utilities/_layers.js";import{checkArg as s}from"../utilities/checkArg.js";import{cancelifyWithAbortSignal as r}from"./Cancellable.js";export function concatenateWhereClauses(e,t){return e?.length>0&&t?.length>0?`(${e}) and (${t})`:e||t}export function executeQuery(e,t,i,o){return s("query",e).isNotMissing(),s("source",t).isNotMissing(),s("queryable",i).isNotMissing(),e.where=concatenateWhereClauses(i.definitionExpression,e.where),"function"!=typeof t&&constrainQueryTimeExtentToView(e,t),async function*(){const s=e.num;let a=(await r((async t=>i.queryFeatures(e,{signal:t})),o)).features;s>0&&a.length>s&&(a=a.slice(0,s)),yield*a.map((e=>n(e,{source:"function"==typeof t?t(e):t})))}()}export async function executeCount(e,t,n,i){s("query",e).isNotMissing(),s("source",t).isNotMissing(),s("queryable",n).isNotMissing(),e.where=concatenateWhereClauses(n.definitionExpression,e.where),constrainQueryTimeExtentToView(e,t);const o=e.num;e.num=void 0;let a=await r((async t=>n.queryFeatureCount(e,{signal:t})),i);return o>0&&a>o&&(a=o),{source:t,count:a}}export async function executeCountByQuery(e,t,n,i){s("query",e).isNotMissing(),s("source",t).isNotMissing(),s("queryable",n).isNotMissing(),e.where=concatenateWhereClauses(n.definitionExpression,e.where),constrainQueryTimeExtentToView(e,t);const o=e.num;let a=(await r((async t=>n.queryFeatures(e,{signal:t})),i)).features.length;return o>0&&a>o&&(a=o),{source:t,count:a}}export function constrainQueryTimeExtentToView(n,s){let r;if(e(s)?r=s:t(s)&&(r=s.layerExtension),!i(r?.layer))return;const{layer:o,mapExtension:a}=r,u=a?._allLayerViews.find((e=>e.layer===o))?.view?.timeExtent;if(n.timeExtent||(n.timeExtent=o.timeExtent?.clone()),o.useViewTime&&u)if(n.timeExtent){const e=[n.timeExtent.start?.valueOf(),u.start?.valueOf()].filter((e=>!!e)),t=[n.timeExtent.end?.valueOf(),u.end?.valueOf()].filter((e=>!!e));n.timeExtent.start=e.length?new Date(Math.max(...e)):void 0,n.timeExtent.end=t.length?new Date(Math.min(...t)):void 0}else n.timeExtent=u?.clone()}
|
|
@@ -17,4 +17,5 @@ export declare class IdentifyError extends Error {
|
|
|
17
17
|
* @param args Values for placeholders in the message.
|
|
18
18
|
*/
|
|
19
19
|
constructor(errors: Iterable<[FeatureSource, Error]>, message?: string, ...args: unknown[]);
|
|
20
|
+
constructor(errors: Iterable<[FeatureSource[], Error]>, message?: string, ...args: unknown[]);
|
|
20
21
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{format as r}from"../../utilities/string.js";export class IdentifyError extends Error{constructor(e
|
|
1
|
+
import{format as r}from"../../utilities/string.js";export class IdentifyError extends Error{constructor(s,e,...o){super(e&&r(e,...o)||"One or more sources could not be identified."),this.name="IdentifyError",this.errors=new Map;for(const[r,e]of s)if(Array.isArray(r))for(const s of r)this.errors.set(s,e);else this.errors.set(r,e)}}
|
|
@@ -26,7 +26,7 @@ export interface IdentifyProvider {
|
|
|
26
26
|
* an instance of {@link support/Cancellable!Cancellation}, though it may
|
|
27
27
|
* still fulfill with results instead.
|
|
28
28
|
*/
|
|
29
|
-
identify(source: FeatureSource, geometry: Geometry, options?: IdentifyOptions): AsyncIterable<Feature>;
|
|
29
|
+
identify(source: FeatureSource | FeatureSource[], geometry: Geometry, options?: IdentifyOptions): AsyncIterable<Feature>;
|
|
30
30
|
/**
|
|
31
31
|
* Counts features in a given source that intersect the given geometry.
|
|
32
32
|
*
|
|
@@ -16,11 +16,23 @@ export declare abstract class IdentifyProviderBase implements IdentifyProvider {
|
|
|
16
16
|
/**
|
|
17
17
|
* @inheritDoc
|
|
18
18
|
*/
|
|
19
|
-
identify(source: FeatureSource, geometry: Geometry, options?: IdentifyOptions): AsyncIterable<Feature>;
|
|
19
|
+
identify(source: FeatureSource | FeatureSource[], geometry: Geometry, options?: IdentifyOptions): AsyncIterable<Feature>;
|
|
20
20
|
/**
|
|
21
21
|
* @inheritDoc
|
|
22
22
|
*/
|
|
23
23
|
count(source: FeatureSource, geometry: Geometry, options?: IdentifyOptions): Promise<CountResult>;
|
|
24
|
+
/**
|
|
25
|
+
* Invoked to perform the work for {@link identify}. Default implementation
|
|
26
|
+
* calls {@link _identify} for each source. Derived classes can override this
|
|
27
|
+
* method to implement special handling for multiple sources.
|
|
28
|
+
*
|
|
29
|
+
* @param sources The sources to identify.
|
|
30
|
+
* @param geometry The geometry to match against.
|
|
31
|
+
* @param options Options that affect the identify operation.
|
|
32
|
+
* @param geometryType The geometry type before a tolerance buffer is
|
|
33
|
+
* applied.
|
|
34
|
+
*/
|
|
35
|
+
protected _identifyMany(sources: FeatureSource[], geometry: Geometry, options: IdentifyOptions, geometryType?: string): AsyncIterable<Feature>;
|
|
24
36
|
/**
|
|
25
37
|
* Adds a tolerance to input geometries if configured in the options.
|
|
26
38
|
*
|
|
@@ -29,8 +41,9 @@ export declare abstract class IdentifyProviderBase implements IdentifyProvider {
|
|
|
29
41
|
*/
|
|
30
42
|
protected _applyTolerance(geometry: Geometry, options?: IdentifyOptions): Promise<Geometry>;
|
|
31
43
|
/**
|
|
32
|
-
* Invoked to perform the actual work for {@link identify}
|
|
33
|
-
* should override this method rather than
|
|
44
|
+
* Invoked to perform the actual work for {@link identify} on a single
|
|
45
|
+
* source. Derived classes should override this method rather than
|
|
46
|
+
* identify().
|
|
34
47
|
*
|
|
35
48
|
* @param source The source to identify.
|
|
36
49
|
* @param geometry The geometry to match against.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{InvalidOperationError as
|
|
1
|
+
import{InvalidOperationError as t}from"../../InvalidOperationError.js";import{AsyncQueue as e}from"../../utilities/asyncIterable.js";import{checkArg as i}from"../../utilities/checkArg.js";import{buffer as r}from"../../utilities/geometry.js";import{parallelEach as o}from"../../utilities/promise.js";import{IdentifyOptions as n}from"./IdentifyOptions.js";export class IdentifyProviderBase{identify(e,r,n){i("source",e).isNotMissing().isNotEmpty(),i("geometry",r).isNotMissing();const s=Array.isArray(e)?e:[e];if(!s.every((t=>this.isSupported(t,r,n))))throw new t("Unsupported feature source.");const a=this;return async function*(){await o(s,(t=>t.initialize())),yield*a._identifyMany(s,await a._applyTolerance(r,n),n,r.type)}()}async count(e,r,o){if(i("source",e).isNotMissing(),i("geometry",r).isNotMissing(),!this.isSupported(e,r,o))throw new t("Unsupported feature source.");await e.initialize();return this._count(e,await this._applyTolerance(r,o),{...n.fromFeatureSource(e),...o,returnGeometry:!1},r.type)}_identifyMany(t,i,r,o){const s=new e;if(0===t.length)return s.done(),s;let a=0;for(const e of t)(async()=>{if(s.isDone)return;const c={...n.DEFAULTS,...n.fromFeatureSource(e),...r};try{for await(const t of this._identify(e,i,c,o)){if(s.isDone)return;s.add(t)}}catch(t){s.reject(t)}finally{++a===t.length&&s.done()}})();return s}async _applyTolerance(t,e){switch(t.type){case"point":case"multipoint":case"polygon":case"polyline":return!e?.tolerance||e.tolerance<=0?t:await r(t,e.tolerance,"meters")??t;default:return t}}}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{__decorate as e}from"tslib";import i from"@arcgis/core/core/Collection";import{isLayerExtension as r,isMapExtension as t,isSublayerExtension as o}from"../../ItemType.js";import{MapExtension as
|
|
1
|
+
import{__decorate as e}from"tslib";import i from"@arcgis/core/core/Collection";import{isLayerExtension as r,isMapExtension as t,isSublayerExtension as o}from"../../ItemType.js";import{MapExtension as s}from"../../mapping/MapExtension.js";import{InitializableBase as n}from"../../support/InitializableBase.js";import{serializable as d}from"../../support/Serializable.js";import{isCancellation as a}from"../../support/utilities.js";import{groupBy as y}from"../../utilities/array.js";import{AsyncQueue as p,empty as f,from as u}from"../../utilities/asyncIterable.js";import{checkArg as l}from"../../utilities/checkArg.js";import{createCrossTypeUnion as c}from"../../utilities/geometry.js";import{isMap as v}from"../../utilities/mapping.js";import{parallelEach as m}from"../../utilities/promise.js";import{IdentifyError as w}from"./IdentifyError.js";import{IdentifyOptions as h}from"./IdentifyOptions.js";let S=class extends n{constructor(){super(...arguments),this.providers=new i}isSupported(e,i,r){return!!this.providers.find((t=>t.isSupported(e,i,r)))}identify(e,r,o){l("sources",e).isNotMissing(),l("geometry",r).isNotMissing();const n={...h.DEFAULTS,...o},{outSpatialReference:d,onSourceComplete:S}=n;if(void 0!==o?.maxResults&&o.maxResults<=0)return f();let I,P,g;Array.isArray(r)?(l("geometry",r).isNotEmpty(),I=r):I=[r];let b=[];i.isCollection(e)?b=e.toArray():t(e)?g=e:v(e)?g=new s({map:e}):b=[...e];let j=0;const L=new p,C=new Map,z=(e,i)=>{if(!i||0===e.length)return;j++;const r=new Map;for(const i of e)r.set(i,{source:i,count:0,time:-1});(async()=>{try{if(L.isDone)return;const t=Date.now();await m(e,(e=>e.initialize())),P=P??await c(I);for await(const o of u(P.map((r=>i.identify(e,r,n))),"eager")){const e=r.get(o.source);if(e&&(e.count++,e.time<0&&(e.time=Date.now()-t)),L.isDone)return;d&&(o.schema.spatialReference=d),L.add(o)}for(const i of e){const e=r.get(i);e&&e.time<0&&(e.time=Date.now()-t)}}catch(i){for(const t of e){const e=r.get(t);e&&(e.failureReason=i)}if(a(i))return void L.reject(i);C.set(e,i)}finally{for(const i of e){const e=r.get(i);e&&S?.(e)}}0==--j&&(C.size?L.reject(new w(C)):L.done())})()};return(async()=>{await this.initialize();try{g&&(await g.initialize(),b=g.getAllFeatureSources(isIdentifiable))}catch(e){L.reject(new Error("Map failed to initialize.",{cause:e}))}y(b,(e=>this.providers.find((i=>i.isSupported(e,r,n))))).forEach(z),0===j&&L.done()})(),L}count(e,r,o){l("sources",e).isNotMissing(),l("geometry",r).isNotMissing();const n={...o,returnGeometry:!1};let d,y=[];i.isCollection(e)?y=e.toArray():t(e)?d=e:v(e)?d=new s({map:e}):y=[...e];let f=0;const u=new p,c=new Map,m=e=>{const i=this.providers.find((i=>i.isSupported(e,r,o)));i&&(f++,(async()=>{if(!u.isDone){try{if(await e.initialize(),u.isDone)return;u.add(await i.count(e,r,n))}catch(i){if(a(i))return void u.reject(i);c.set(e,i)}0==--f&&(c.size?u.reject(new w(c)):u.done())}})())};return(async()=>{await this.initialize();try{d&&(await d.initialize(),y=d.getAllFeatureSources(isIdentifiable))}catch(e){u.reject(new Error("Map failed to initialize.",{cause:e}))}y.forEach(m),0===f&&u.done()})(),u}async _onInitialize(){await super._onInitialize();const{ArcGISSublayerQueryIdentifyProvider:e,BuildingComponentSublayerClientSideIdentifyProvider:i,BuildingComponentSublayerHitTestIdentifyProvider:r,CSVLayer3DHitTestIdentifyProvider:t,CSVLayerClientSideQueryIdentifyProvider:o,FeatureLayer3DHitTestIdentifyProvider:s,FeatureLayerClientSideIdentifyProvider:n,FeatureLayerQueryIdentifyProvider:d,GeoJSONLayer3DHitTestIdentifyProvider:a,GeoJSONLayerClientSideQueryIdentifyProvider:y,GeoRSSLayerIdentifyProvider:p,GraphicsLayerQueryIdentifyProvider:f,ImageryLayerIdentifyProvider:u,KMLLayerQueryIdentifyProvider:l,MapNotesSublayerQueryIdentifyProvider:c,PointCloudLayerHitTestIdentifyProvider:v,RouteLayerQueryIdentifyProvider:m,SceneLayerClientSideIdentifyProvider:w,SceneLayerHitTestIdentifyProvider:h,SceneLayerQueryIdentifyProvider:S,StreamLayerClientSideQueryIdentifyProvider:I,SubtypeSublayerClientSideIdentifyProvider:P,SubtypeSublayerQueryIdentifyProvider:g,WMSSublayerIdentifyProvider:b}=await import("./defaultProviders.js");this.providers.add(new e),this.providers.add(new t),this.providers.add(new o),this.providers.add(new s),this.providers.add(new n),this.providers.add(new d),this.providers.add(new a),this.providers.add(new y),this.providers.add(new p),this.providers.add(new u),this.providers.add(new l),this.providers.add(new b),this.providers.add(new v),this.providers.add(new h),this.providers.add(new S),this.providers.add(new w),this.providers.add(new I),this.providers.add(new f),this.providers.add(new r),this.providers.add(new i),this.providers.add(new P),this.providers.add(new g),this.providers.add(new m),this.providers.add(new c)}};S=e([d],S);export{S as IdentifyService};export function isIdentifiable(e){return!!e.taskSettings.enableIdentify&&(r(e)?e.layer?.visible:!o(e)||e.sublayer?.visible)}
|
|
@@ -2,7 +2,7 @@ import type Geometry from "@arcgis/core/geometry/Geometry";
|
|
|
2
2
|
import type { Feature } from "../../data/Feature.js";
|
|
3
3
|
import type { FeatureSource } from "../../data/FeatureSource.js";
|
|
4
4
|
import type { CountResult } from "../CountResult.js";
|
|
5
|
-
import
|
|
5
|
+
import { IdentifyOptions } from "./IdentifyOptions.js";
|
|
6
6
|
import { IdentifyProviderBase } from "./IdentifyProviderBase.js";
|
|
7
7
|
/**
|
|
8
8
|
* An identify provider for feature layers that uses the query endpoint.
|
|
@@ -16,8 +16,14 @@ export declare class SubtypeSublayerQueryIdentifyProvider extends IdentifyProvid
|
|
|
16
16
|
* @inheritDoc
|
|
17
17
|
*/
|
|
18
18
|
protected _identify(source: FeatureSource, geometry: Geometry, options: IdentifyOptions): AsyncIterable<Feature>;
|
|
19
|
+
/**
|
|
20
|
+
* @inheritDoc
|
|
21
|
+
*/
|
|
22
|
+
protected _identifyMany(sources: FeatureSource[], geometry: Geometry, options: IdentifyOptions): AsyncIterable<Feature>;
|
|
19
23
|
/**
|
|
20
24
|
* @inheritDoc
|
|
21
25
|
*/
|
|
22
26
|
protected _count(source: FeatureSource, geometry: Geometry, options: IdentifyOptions): Promise<CountResult>;
|
|
27
|
+
private _createIdentifyQuery;
|
|
28
|
+
private _createBasicQuery;
|
|
23
29
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{executeQuery as e,executeCount as t}from"../../support/_query.js";import{isSubtypeSublayerExtension as
|
|
1
|
+
import{executeQuery as e,executeCount as t,constrainQueryTimeExtentToView as r}from"../../support/_query.js";import{AsyncQueue as s}from"../../utilities/asyncIterable.js";import{isSubtypeSublayerExtension as i}from"../../utilities/extensions.js";import{removeZValues as o}from"../../utilities/geometry.js";import{isSubtypeSublayer as u}from"../../utilities/layers.js";import{IdentifyOptions as n}from"./IdentifyOptions.js";import{IdentifyProviderBase as l}from"./IdentifyProviderBase.js";export class SubtypeSublayerQueryIdentifyProvider extends l{isSupported(e,t,r){return i(e)&&u(e.sublayer)&&!!e.sublayer.layer}_identify(t,r,s){const i=t,{layer:o}=i.sublayer,u=this._createIdentifyQuery(o,r,s,s.outFields??t.featureSettings.outFields);return u.where=`${o.subtypeField}=${i.sublayer.subtypeCode}`,e(u,i,o,s.cancelToken)}_identifyMany(t,i,o){if(1===t.length){const e={...n.DEFAULTS,...n.fromFeatureSource(t[0]),...o};return this._identify(t[0],i,e)}const u=new s,l=t.length;let a=0;const y=t.reduce(((e,t)=>{const r=t,s={...n.DEFAULTS,...n.fromFeatureSource(r),...o},i=s.outFields??r.featureSettings.outFields;if(e.has(r.sublayer.layer)){const t=e.get(r.sublayer.layer);let o=!1;for(const{sources:e,identifyOptions:n,outFields:a}of t)if(l=s,(u=n).returnGeometry===l.returnGeometry&&(u.outSpatialReference===l.outSpatialReference||u.outSpatialReference?.equals(l.outSpatialReference))&&u.maxAllowableOffset===l.maxAllowableOffset&&u.maxResults===l.maxResults&&i.length===a.length&&i.every((e=>a.includes(e)))){e.push(r),o=!0;break}o||t.push({sources:[r],identifyOptions:s,outFields:i})}else e.set(r.sublayer.layer,[{sources:[r],identifyOptions:s,outFields:i}]);var u,l;return e}),new Map);for(const[t,s]of y)for(const{sources:o,identifyOptions:n,outFields:y}of s)(async()=>{if(u.isDone)return;const s=new Map,c=[];for(const e of o)s.set(e.sublayer.subtypeCode,e),c.push(e.sublayer.subtypeCode);const f=this._createIdentifyQuery(t,i,n,y);let d=!1;f.outFields.includes(t.subtypeField)||(d=!0,f.outFields=[...f.outFields,t.subtypeField]),f.where=`${t.subtypeField} IN (${c.join(",")})`,r(f,o[0]);try{for await(const r of e(f,(e=>{if(null!=e.attributes)return s.get(e.attributes[t.subtypeField])}),t,n.cancelToken)){if(u.isDone)return;d&&r.attributes.delete(t.subtypeField),u.add(r)}}catch(e){u.reject(e)}finally{a+=o.length,a===l&&u.done()}})();return u}_count(e,r,s){const i=e,{layer:o}=i.sublayer,u=this._createBasicQuery(o,r,s,s.outFields??e.featureSettings.outFields);return u.num=s.maxResults,u.where=`${o.subtypeField}=${i.sublayer.subtypeCode}`,t(u,i,o,s.cancelToken)}_createIdentifyQuery(e,t,r,s){const i=this._createBasicQuery(e,t,r,s);return i.outSpatialReference=r.outSpatialReference,i.maxAllowableOffset=r.maxAllowableOffset,e.capabilities.query.supportsPagination&&(i.num=r.maxResults),i}_createBasicQuery(e,t,r,s){const i=e.createQuery();return i.geometry=t,i.geometry&&(e.hasZ||e.capabilities?.data?.supportsZ)&&(i.geometry=o(t.clone())),i.outFields=s,i.returnGeometry=r.returnGeometry,i}}
|
package/version.d.ts
CHANGED
package/version.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
export const version="41.
|
|
1
|
+
export const version="41.3.0";
|