@arcgis/coding-components 5.2.0-next.5 → 5.2.0-next.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cdn/{4G3EYLJY.js → 2YYB74Y3.js} +1 -1
- package/dist/cdn/{WWVPYM5B.js → 4HJRS4I7.js} +1 -1
- package/dist/cdn/DOCWTXKZ.js +12 -0
- package/dist/cdn/HBKQDGYR.js +2 -0
- package/dist/cdn/{QW7OA32G.js → HDEGIRFB.js} +1 -1
- package/dist/cdn/{HRM2JUGO.js → HQPGLNWP.js} +1 -1
- package/dist/cdn/I3XXIRZX.js +2 -0
- package/dist/cdn/ID5LCA7T.js +2 -0
- package/dist/cdn/{LUJKYDO7.js → IL7DUQH7.js} +1 -1
- package/dist/cdn/JEBRK3DP.js +2 -0
- package/dist/cdn/MZMKV7FA.js +2 -0
- package/dist/cdn/{IETP57KJ.js → NKDL6NEF.js} +1 -1
- package/dist/cdn/NL736YG3.js +6 -0
- package/dist/cdn/{3CHKFCKR.js → SFHJYB2X.js} +1 -1
- package/dist/cdn/{O3PQD5N5.js → SYW5WY2N.js} +1 -1
- package/dist/cdn/{CA3GVMWI.js → UDPKHTMC.js} +1 -1
- package/dist/cdn/UQRZDUGL.js +2 -0
- package/dist/cdn/{QGBZYXBS.js → XMXK333I.js} +1 -1
- package/dist/cdn/{QUR4WECO.js → XWUEYP6T.js} +1 -1
- package/dist/cdn/assets/code-editor/sql-expr.worker.js +2 -2
- package/dist/cdn/index.js +1 -1
- package/dist/chunks/arcade-defaults.js +56 -54
- package/dist/chunks/fields.js +18 -14
- package/dist/chunks/language-defaults-base.js +230 -221
- package/dist/chunks/sql-expr-defaults.js +63 -59
- package/dist/components/arcgis-arcade-debugger-console/customElement.js +6 -6
- package/dist/components/arcgis-arcade-editor/customElement.js +147 -151
- package/dist/components/arcgis-code-editor-shell/customElement.js +5 -5
- package/dist/components/arcgis-editor-variables/customElement.js +12 -6
- package/dist/components/arcgis-sql-expression-editor/customElement.d.ts +11 -0
- package/dist/components/arcgis-sql-expression-editor/customElement.js +5 -5
- package/dist/docs/api.json +1 -1
- package/dist/docs/docs.json +1 -1
- package/dist/docs/vscode.html-custom-data.json +1 -1
- package/dist/docs/web-types.json +1 -1
- package/dist/loader.js +2 -2
- package/dist/types/lumina.d.ts +1 -1
- package/dist/types/preact.d.ts +1 -1
- package/dist/types/react.d.ts +1 -1
- package/dist/types/stencil.d.ts +1 -1
- package/package.json +6 -6
- package/dist/cdn/4N67XYKO.js +0 -2
- package/dist/cdn/B5A6XU2C.js +0 -2
- package/dist/cdn/CQTJWVFM.js +0 -6
- package/dist/cdn/G5IXPOCO.js +0 -2
- package/dist/cdn/RMVHO2AH.js +0 -12
- package/dist/cdn/RO6RHW6I.js +0 -2
- package/dist/cdn/TWEJITWD.js +0 -2
- package/dist/cdn/ZTCCL565.js +0 -2
|
@@ -1,24 +1,24 @@
|
|
|
1
1
|
/* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
|
|
2
|
-
import { l as
|
|
3
|
-
import { p as
|
|
4
|
-
import
|
|
5
|
-
import
|
|
6
|
-
import
|
|
2
|
+
import { l as w, j as se, o as ae, p as oe, q as ne, r as le, s as ue, t as J, u as d, v as Z, w as ce, x as pe, y as O, z as he, A as de, B as fe, C as D, D as R, E as T, F as me, G as F, H as N, I as _e, n as ye } from "./utils.js";
|
|
3
|
+
import { p as be } from "./utilities.js";
|
|
4
|
+
import ge from "@arcgis/core/portal/PortalItem.js";
|
|
5
|
+
import we from "@arcgis/core/WebMap.js";
|
|
6
|
+
import De from "@arcgis/core/WebScene.js";
|
|
7
7
|
import P from "@arcgis/core/layers/FeatureLayer.js";
|
|
8
|
-
import { getDeclaredVoxelMembers as
|
|
9
|
-
import { isNotNull as
|
|
10
|
-
import { addLtrMark as
|
|
11
|
-
import { s as C, f as
|
|
8
|
+
import { getDeclaredVoxelMembers as Se, getDeclaredPixelMembers as Ie } from "@arcgis/core/applications/Components/arcadeEditorUtils.js";
|
|
9
|
+
import { isNotNull as _, isNotUndefined as I } from "@arcgis/toolkit/predicate";
|
|
10
|
+
import { addLtrMark as Ce, setValuesInString as B } from "@arcgis/toolkit/string";
|
|
11
|
+
import { s as C, f as X, a as Y, b as S, m as Fe } from "./fields.js";
|
|
12
12
|
import { CompletionItemKind as x, InsertTextFormat as V, InsertTextMode as M } from "vscode-languageserver-types";
|
|
13
|
-
import { log as
|
|
14
|
-
import
|
|
15
|
-
import
|
|
16
|
-
import { i as
|
|
17
|
-
import { g as
|
|
18
|
-
import { normalizeLocale as
|
|
19
|
-
import { filterApiLibraryForContext as
|
|
20
|
-
import { Emitter as
|
|
21
|
-
function
|
|
13
|
+
import { log as c } from "@arcgis/toolkit/log";
|
|
14
|
+
import ve from "@arcgis/core/core/Error.js";
|
|
15
|
+
import Te from "@arcgis/core/portal/Portal.js";
|
|
16
|
+
import { i as Pe } from "./monaco-importer.js";
|
|
17
|
+
import { g as xe } from "./runtime.js";
|
|
18
|
+
import { normalizeLocale as Ve } from "@arcgis/toolkit/intl";
|
|
19
|
+
import { filterApiLibraryForContext as Me } from "@arcgis/languages-api-utils";
|
|
20
|
+
import { Emitter as k, Uri as z } from "monaco-editor";
|
|
21
|
+
function Le(s) {
|
|
22
22
|
switch (s) {
|
|
23
23
|
case "esriFieldTypeOID":
|
|
24
24
|
return "oid";
|
|
@@ -58,20 +58,20 @@ function Ve(s) {
|
|
|
58
58
|
return "string";
|
|
59
59
|
}
|
|
60
60
|
}
|
|
61
|
-
function
|
|
61
|
+
function $e(s) {
|
|
62
62
|
return {
|
|
63
63
|
fields: s.fields.map((e) => ({
|
|
64
64
|
name: e.name,
|
|
65
|
-
type:
|
|
65
|
+
type: Le(e.type),
|
|
66
66
|
serverType: e.type,
|
|
67
67
|
nullable: e.nullable
|
|
68
68
|
}))
|
|
69
69
|
};
|
|
70
70
|
}
|
|
71
|
-
function
|
|
71
|
+
function W(s) {
|
|
72
72
|
return typeof s?.query == "object" && s.query ? s.query : {};
|
|
73
73
|
}
|
|
74
|
-
class
|
|
74
|
+
class Ee {
|
|
75
75
|
constructor(e) {
|
|
76
76
|
this.itemId = e.itemId, this.portal = e.portal, this.serviceUrl = e.serviceUrl, this._requestOptions = e.requestOptions;
|
|
77
77
|
}
|
|
@@ -96,7 +96,7 @@ class Le {
|
|
|
96
96
|
*/
|
|
97
97
|
async fetchDatasets(e) {
|
|
98
98
|
return (await this.portal.request(
|
|
99
|
-
|
|
99
|
+
v(this._datastoreUrl, "datasets"),
|
|
100
100
|
this._createRequestOptions(e)
|
|
101
101
|
)).datasets;
|
|
102
102
|
}
|
|
@@ -111,22 +111,22 @@ class Le {
|
|
|
111
111
|
*/
|
|
112
112
|
async fetchTableDescription(e, t) {
|
|
113
113
|
if (!e)
|
|
114
|
-
throw new
|
|
114
|
+
throw new ve("portal:invalid-parameter", 'The "tableName" parameter must be provided.');
|
|
115
115
|
const i = await this.portal.request(
|
|
116
|
-
|
|
116
|
+
v(this._datastoreUrl, "tableDescription"),
|
|
117
117
|
{
|
|
118
118
|
...this._createRequestOptions(t),
|
|
119
119
|
query: {
|
|
120
|
-
...
|
|
121
|
-
...
|
|
120
|
+
...W(this._requestOptions),
|
|
121
|
+
...W(t),
|
|
122
122
|
tableName: e
|
|
123
123
|
}
|
|
124
124
|
}
|
|
125
125
|
);
|
|
126
|
-
return
|
|
126
|
+
return $e(i);
|
|
127
127
|
}
|
|
128
128
|
get _datastoreUrl() {
|
|
129
|
-
return
|
|
129
|
+
return v(this.serviceUrl, "datastores", encodeURIComponent(this.itemId));
|
|
130
130
|
}
|
|
131
131
|
_createRequestOptions(e) {
|
|
132
132
|
return {
|
|
@@ -135,11 +135,11 @@ class Le {
|
|
|
135
135
|
};
|
|
136
136
|
}
|
|
137
137
|
}
|
|
138
|
-
function
|
|
138
|
+
function v(s, ...e) {
|
|
139
139
|
const t = s.replaceAll(/\/+$/gu, ""), i = e.filter((r) => !!r).map((r) => r.replaceAll(/^\/+|\/+$/gu, ""));
|
|
140
140
|
return [t, ...i].join("/");
|
|
141
141
|
}
|
|
142
|
-
const
|
|
142
|
+
const Ae = {
|
|
143
143
|
id: "ansi",
|
|
144
144
|
keywords: [],
|
|
145
145
|
functions: [],
|
|
@@ -151,20 +151,20 @@ const $e = {
|
|
|
151
151
|
escapeKey: { start: null, end: null },
|
|
152
152
|
escapeClause: { keyword: "ESCAPE", suffix: null }
|
|
153
153
|
}
|
|
154
|
-
},
|
|
155
|
-
ansi: async () => await Promise.resolve(
|
|
154
|
+
}, H = /* @__PURE__ */ new Map(), qe = {
|
|
155
|
+
ansi: async () => await Promise.resolve(Ae),
|
|
156
156
|
bigquery: async () => (await import("./bigquery.js")).bigqueryDialect,
|
|
157
157
|
postgres: async () => (await import("./postgres.js")).postgresDialect,
|
|
158
158
|
sqlServer: async () => (await import("./sqlServer.js")).sqlServerDialect
|
|
159
159
|
};
|
|
160
|
-
async function
|
|
161
|
-
const e =
|
|
160
|
+
async function Ge(s) {
|
|
161
|
+
const e = H.get(s);
|
|
162
162
|
if (e)
|
|
163
163
|
return await e;
|
|
164
|
-
const t =
|
|
165
|
-
return
|
|
164
|
+
const t = qe[s]();
|
|
165
|
+
return H.set(s, t), await t;
|
|
166
166
|
}
|
|
167
|
-
const
|
|
167
|
+
const Ue = [
|
|
168
168
|
"SELECT",
|
|
169
169
|
"FROM",
|
|
170
170
|
"WHERE",
|
|
@@ -196,11 +196,11 @@ const qe = [
|
|
|
196
196
|
"FALSE",
|
|
197
197
|
"ASC",
|
|
198
198
|
"DESC"
|
|
199
|
-
],
|
|
200
|
-
const t = new Set(e.baseKeywords ??
|
|
199
|
+
], Oe = ["<=", ">=", "<>", "!=", "=", "<", ">", "+", "-", "*", "/", "%", "||"], Re = (s, e = {}) => {
|
|
200
|
+
const t = new Set(e.baseKeywords ?? Ue);
|
|
201
201
|
for (const r of s.keywords)
|
|
202
202
|
t.add(r.toUpperCase());
|
|
203
|
-
const i = new Set(e.baseOperators ??
|
|
203
|
+
const i = new Set(e.baseOperators ?? Oe);
|
|
204
204
|
for (const r of s.operators)
|
|
205
205
|
i.add(r);
|
|
206
206
|
return {
|
|
@@ -209,53 +209,53 @@ const qe = [
|
|
|
209
209
|
operators: Array.from(i),
|
|
210
210
|
specialChars: s.specialChars
|
|
211
211
|
};
|
|
212
|
-
},
|
|
212
|
+
}, m = {
|
|
213
213
|
sqlServer: "sql-layer-sql-server",
|
|
214
214
|
postgres: "sql-layer-postgres",
|
|
215
215
|
bigquery: "sql-layer-bigquery"
|
|
216
|
-
},
|
|
217
|
-
[
|
|
218
|
-
[
|
|
219
|
-
[
|
|
216
|
+
}, K = m.postgres, Ne = {
|
|
217
|
+
[m.sqlServer]: "sqlServer",
|
|
218
|
+
[m.postgres]: "postgres",
|
|
219
|
+
[m.bigquery]: "bigquery"
|
|
220
220
|
// snowflake and oracle should be prioritized next
|
|
221
221
|
};
|
|
222
|
-
function
|
|
223
|
-
return
|
|
222
|
+
function Be(s) {
|
|
223
|
+
return Ne[s];
|
|
224
224
|
}
|
|
225
|
-
async function
|
|
226
|
-
return
|
|
225
|
+
async function ke(s) {
|
|
226
|
+
return Re(await Ge(Be(s)));
|
|
227
227
|
}
|
|
228
|
-
const
|
|
229
|
-
function
|
|
230
|
-
return s === "esriDBMS_PostgreSQL" ?
|
|
228
|
+
const ze = /^[A-Za-z_][A-Za-z0-9_$]*$/u;
|
|
229
|
+
function We(s) {
|
|
230
|
+
return s === "esriDBMS_PostgreSQL" ? K : s === "esriDBMS_SQLServer" ? m.sqlServer : K;
|
|
231
231
|
}
|
|
232
|
-
function
|
|
232
|
+
function vt(s) {
|
|
233
233
|
return s.trim().toLowerCase();
|
|
234
234
|
}
|
|
235
|
-
function
|
|
235
|
+
function He(s) {
|
|
236
236
|
return s.specialChars.identifierQuote;
|
|
237
237
|
}
|
|
238
|
-
function
|
|
238
|
+
function Ke(s, e) {
|
|
239
239
|
const t = s.trim();
|
|
240
|
-
return t ?
|
|
240
|
+
return t ? ze.test(t) ? e.keywords.includes(t.toUpperCase()) : !0 : !1;
|
|
241
241
|
}
|
|
242
|
-
function
|
|
242
|
+
function ee(s, e) {
|
|
243
243
|
const t = s.trim();
|
|
244
|
-
if (!t || !
|
|
244
|
+
if (!t || !Ke(t, e))
|
|
245
245
|
return t;
|
|
246
|
-
const i =
|
|
246
|
+
const i = He(e), r = t.replaceAll(i.end, `${i.end}${i.end}`);
|
|
247
247
|
return `${i.start}${r}${i.end}`;
|
|
248
248
|
}
|
|
249
|
-
function
|
|
250
|
-
return s.split(".").map((t) =>
|
|
249
|
+
function Qe(s, e) {
|
|
250
|
+
return s.split(".").map((t) => ee(t, e)).join(".");
|
|
251
251
|
}
|
|
252
|
-
function
|
|
252
|
+
function Tt(s) {
|
|
253
253
|
return s.split(".").at(-1) ?? s;
|
|
254
254
|
}
|
|
255
|
-
function
|
|
256
|
-
return
|
|
255
|
+
function je(s) {
|
|
256
|
+
return ke(We(s));
|
|
257
257
|
}
|
|
258
|
-
async function
|
|
258
|
+
async function Je(s, e) {
|
|
259
259
|
const t = new P({ url: `${s.url}/${e.relatedTableId}` });
|
|
260
260
|
return await t.load(), t;
|
|
261
261
|
}
|
|
@@ -265,7 +265,7 @@ function L(s) {
|
|
|
265
265
|
return -1;
|
|
266
266
|
if (t.type === "oid")
|
|
267
267
|
return 1;
|
|
268
|
-
if (
|
|
268
|
+
if (D(s)) {
|
|
269
269
|
if (e.name === s.subtypeField)
|
|
270
270
|
return -1;
|
|
271
271
|
if (t.name === s.subtypeField)
|
|
@@ -280,68 +280,69 @@ function L(s) {
|
|
|
280
280
|
return e.name.localeCompare(t.name, "en", { sensitivity: "base" });
|
|
281
281
|
};
|
|
282
282
|
}
|
|
283
|
-
function
|
|
283
|
+
function Q(s, e) {
|
|
284
284
|
return s?.every((t) => t.domains?.[e.name]?.type === "inherited") ?? !1;
|
|
285
285
|
}
|
|
286
|
-
const
|
|
286
|
+
const Ze = /^[a-z_$][a-z0-9_$]*$/giu;
|
|
287
287
|
function $(s, e = !0) {
|
|
288
|
-
return s.match(
|
|
288
|
+
return s.match(Ze) ? `${e ? "." : ""}${s}` : `["${s}"]`;
|
|
289
289
|
}
|
|
290
|
-
function
|
|
290
|
+
function te(s, e) {
|
|
291
291
|
return s ? `${s}${$(e)}` : e;
|
|
292
292
|
}
|
|
293
|
-
function
|
|
294
|
-
return
|
|
293
|
+
function j(s) {
|
|
294
|
+
return he(s) ? s.portalItem : null;
|
|
295
295
|
}
|
|
296
|
-
function
|
|
296
|
+
function Xe(s, e) {
|
|
297
297
|
return e ? s?.nullable ?? "nullable" : s?.notnull ?? "not nullable";
|
|
298
298
|
}
|
|
299
|
-
function
|
|
300
|
-
|
|
301
|
-
|
|
302
|
-
|
|
303
|
-
|
|
299
|
+
function Pt(s, e, t) {
|
|
300
|
+
const { includeAliases: i = !1, supportGeometryFields: r = !1 } = t ?? {};
|
|
301
|
+
let a = e;
|
|
302
|
+
const n = [], h = [];
|
|
303
|
+
return C(s, { supportGeometry: r }).forEach((o) => {
|
|
304
|
+
a && (a += `
|
|
304
305
|
|
|
305
|
-
`),
|
|
306
|
-
${o.type}`, o.description && (
|
|
306
|
+
`), a += `**${o.name}** (${o.alias})
|
|
307
|
+
${o.type}`, o.description && (a += `
|
|
307
308
|
'${o.description}`);
|
|
308
|
-
const
|
|
309
|
-
if (
|
|
309
|
+
const g = Y(o, { supportGeometryFields: r }), f = $(o.name, !1), G = S(o);
|
|
310
|
+
if (n.push({
|
|
310
311
|
name: o.name,
|
|
311
|
-
description:
|
|
312
|
-
type:
|
|
312
|
+
description: G,
|
|
313
|
+
type: g,
|
|
313
314
|
completion: {
|
|
314
315
|
label: o.name,
|
|
315
|
-
detail:
|
|
316
|
-
insertText:
|
|
316
|
+
detail: G,
|
|
317
|
+
insertText: f,
|
|
317
318
|
insertTextMode: M.asIs,
|
|
318
319
|
insertTextFormat: V.PlainText,
|
|
319
320
|
kind: x.Field
|
|
320
321
|
}
|
|
321
|
-
}),
|
|
322
|
+
}), i) {
|
|
322
323
|
if (!o.alias || o.alias.toLowerCase() === o.name.toLowerCase())
|
|
323
324
|
return;
|
|
324
|
-
let
|
|
325
|
+
let U = `**${o.alias}**
|
|
325
326
|
${o.type}`;
|
|
326
|
-
o.description && (
|
|
327
|
-
'${o.description}`),
|
|
327
|
+
o.description && (U += `
|
|
328
|
+
'${o.description}`), h.push({
|
|
328
329
|
name: o.alias,
|
|
329
330
|
description: o.name,
|
|
330
|
-
type:
|
|
331
|
+
type: g,
|
|
331
332
|
completion: {
|
|
332
333
|
label: o.alias,
|
|
333
334
|
detail: o.name,
|
|
334
|
-
insertText:
|
|
335
|
+
insertText: f,
|
|
335
336
|
insertTextMode: M.asIs,
|
|
336
337
|
insertTextFormat: V.PlainText,
|
|
337
338
|
kind: x.Field,
|
|
338
|
-
documentation: { kind: "markdown", value:
|
|
339
|
+
documentation: { kind: "markdown", value: U }
|
|
339
340
|
}
|
|
340
341
|
});
|
|
341
342
|
}
|
|
342
|
-
}), [[...
|
|
343
|
+
}), [[...n, ...h], a];
|
|
343
344
|
}
|
|
344
|
-
function
|
|
345
|
+
function xt(s, e) {
|
|
345
346
|
let t = e;
|
|
346
347
|
const i = [];
|
|
347
348
|
return s.forEach((r) => {
|
|
@@ -365,7 +366,7 @@ ${r.type}`, r.name && (t += `
|
|
|
365
366
|
});
|
|
366
367
|
}), [i, t];
|
|
367
368
|
}
|
|
368
|
-
class
|
|
369
|
+
class ie {
|
|
369
370
|
constructor(e, t, i) {
|
|
370
371
|
this._profile = e, this._label = t, this.description = i, this.filterDescription = !1;
|
|
371
372
|
}
|
|
@@ -373,13 +374,13 @@ class ee {
|
|
|
373
374
|
* Returns the label string.
|
|
374
375
|
*/
|
|
375
376
|
getLabel() {
|
|
376
|
-
return this._label == null ? "" : typeof this._label == "string" ?
|
|
377
|
+
return this._label == null ? "" : typeof this._label == "string" ? Ce(this._label) : B(this._profile?.intlStrings[this._label.code], this._label.formatValues);
|
|
377
378
|
}
|
|
378
379
|
/**
|
|
379
380
|
* Returns the description string.
|
|
380
381
|
*/
|
|
381
382
|
getDescription() {
|
|
382
|
-
return this.description == null ? "" : typeof this.description == "string" ? this.description :
|
|
383
|
+
return this.description == null ? "" : typeof this.description == "string" ? this.description : B(this._profile?.intlStrings[this.description.code], this.description.formatValues);
|
|
383
384
|
}
|
|
384
385
|
/**
|
|
385
386
|
* Returns true if the item pass the filter test
|
|
@@ -388,7 +389,7 @@ class ee {
|
|
|
388
389
|
return !e || e.test(this.getLabel()) ? !0 : this.filterDescription && e.test(this.getDescription());
|
|
389
390
|
}
|
|
390
391
|
}
|
|
391
|
-
class E extends
|
|
392
|
+
class E extends ie {
|
|
392
393
|
constructor(e) {
|
|
393
394
|
super(e.profile, e.label, e.description ?? e.declaration?.description), this.declaration = e.declaration ?? {}, this.name = e.declaration?.name ?? "", this.snippet = e.snippet ?? "", this.nonInteractive = e.nonInteractive ?? !1, this.filterDescription = e.filterDescription ?? !1, this.icon = e.icon;
|
|
394
395
|
}
|
|
@@ -404,7 +405,7 @@ class l extends E {
|
|
|
404
405
|
return { type: this.type, name: "", ...this.declaration };
|
|
405
406
|
}
|
|
406
407
|
}
|
|
407
|
-
class
|
|
408
|
+
class Ye extends E {
|
|
408
409
|
constructor(e) {
|
|
409
410
|
super(e), this.type = "array", this.isCollection = !1, this.elementType = e.declaration?.elementType ?? { type: "number", name: "number" };
|
|
410
411
|
}
|
|
@@ -442,7 +443,7 @@ class b extends E {
|
|
|
442
443
|
return "";
|
|
443
444
|
}
|
|
444
445
|
}
|
|
445
|
-
class u extends
|
|
446
|
+
class u extends ie {
|
|
446
447
|
constructor(e, t, i = [], r = !1) {
|
|
447
448
|
super(e, t), this.variables = i, this.isHeader = r, this.type = "group", this.isCollection = !0;
|
|
448
449
|
}
|
|
@@ -469,7 +470,7 @@ class y extends b {
|
|
|
469
470
|
}), t;
|
|
470
471
|
}
|
|
471
472
|
createVariableInstance(e) {
|
|
472
|
-
const t =
|
|
473
|
+
const t = te(this.snippet, e.name);
|
|
473
474
|
switch (e.type) {
|
|
474
475
|
case "number":
|
|
475
476
|
case "text":
|
|
@@ -481,17 +482,17 @@ class y extends b {
|
|
|
481
482
|
case "knowledgeGraph":
|
|
482
483
|
return new l({ profile: this._profile, declaration: e, label: t, snippet: t });
|
|
483
484
|
case "pixel":
|
|
484
|
-
return new
|
|
485
|
+
return new it(this, { profile: this._profile, declaration: e, label: t, snippet: t });
|
|
485
486
|
case "voxel":
|
|
486
|
-
return new
|
|
487
|
+
return new tt(this, { profile: this._profile, declaration: e, label: t, snippet: t });
|
|
487
488
|
case "feature":
|
|
488
|
-
return new
|
|
489
|
+
return new et(this, { profile: this._profile, declaration: e, label: t, snippet: t });
|
|
489
490
|
case "featureSet":
|
|
490
491
|
return new q(this, { profile: this._profile, declaration: e, label: t, snippet: t }, [
|
|
491
492
|
new l({ profile: this._profile, label: t, description: "", snippet: t })
|
|
492
493
|
]);
|
|
493
494
|
case "featureSetCollection":
|
|
494
|
-
return new
|
|
495
|
+
return new rt(this, {
|
|
495
496
|
profile: this._profile,
|
|
496
497
|
declaration: e,
|
|
497
498
|
label: t,
|
|
@@ -505,16 +506,16 @@ class y extends b {
|
|
|
505
506
|
snippet: t
|
|
506
507
|
});
|
|
507
508
|
case "array":
|
|
508
|
-
return new
|
|
509
|
+
return new Ye({
|
|
509
510
|
profile: this._profile,
|
|
510
511
|
declaration: e,
|
|
511
512
|
label: t,
|
|
512
513
|
snippet: t
|
|
513
514
|
});
|
|
514
515
|
case "dataCatalogDatastore":
|
|
515
|
-
return new
|
|
516
|
+
return new st(this, { profile: this._profile, declaration: e, label: t, snippet: t });
|
|
516
517
|
default:
|
|
517
|
-
return
|
|
518
|
+
return c("error", "Editor profile", "Invalid profile variable", { detail: { declaration: e } }), null;
|
|
518
519
|
}
|
|
519
520
|
}
|
|
520
521
|
toProfileVariableDefinition() {
|
|
@@ -526,7 +527,7 @@ class y extends b {
|
|
|
526
527
|
};
|
|
527
528
|
}
|
|
528
529
|
}
|
|
529
|
-
class
|
|
530
|
+
class re extends b {
|
|
530
531
|
constructor(e, t, i) {
|
|
531
532
|
super(e, t), this.relationshipsProperties = i, this._source = null, this._loaded = !1, this._definition = t.declaration?.definition;
|
|
532
533
|
}
|
|
@@ -534,22 +535,22 @@ class te extends b {
|
|
|
534
535
|
return d(this._source) ? this._source.title ?? "" : "";
|
|
535
536
|
}
|
|
536
537
|
get url() {
|
|
537
|
-
return
|
|
538
|
+
return de(this._source) ? this._source.url ?? "" : "";
|
|
538
539
|
}
|
|
539
540
|
get informationUrl() {
|
|
540
|
-
return !this.loaded || !this.url ? null :
|
|
541
|
+
return !this.loaded || !this.url ? null : fe(this._source) ? `${this.url}/${this._source.layerId}` : this.url;
|
|
541
542
|
}
|
|
542
543
|
get informationType() {
|
|
543
544
|
return this._profile?.intlStrings.layer ?? "layer";
|
|
544
545
|
}
|
|
545
546
|
async loadSource() {
|
|
546
|
-
return
|
|
547
|
+
return _(this._loadPromise) && I(this._loadPromise) ? await this._loadPromise : (this._loadPromise = this._loadSource(), await this._loadPromise);
|
|
547
548
|
}
|
|
548
549
|
_getValueSnippet(e) {
|
|
549
|
-
return ["feature", "voxel", "pixel"].includes(this.type) ?
|
|
550
|
+
return ["feature", "voxel", "pixel"].includes(this.type) ? te(this.snippet, e.name) : e.name;
|
|
550
551
|
}
|
|
551
552
|
_getSubtypeOrDomainNameSnippet(e) {
|
|
552
|
-
return this.type !== "feature" ? null :
|
|
553
|
+
return this.type !== "feature" ? null : D(this._source) && e.name === this._source.subtypeField ? `SubtypeName(${this.snippet})` : `DomainName(${this.snippet}, "${e.name}")`;
|
|
553
554
|
}
|
|
554
555
|
_getFieldProperty(e, t) {
|
|
555
556
|
const i = this._getDomainDictionary(e);
|
|
@@ -561,7 +562,7 @@ class te extends b {
|
|
|
561
562
|
label: r,
|
|
562
563
|
description: S(e),
|
|
563
564
|
snippet: r,
|
|
564
|
-
icon:
|
|
565
|
+
icon: X(e, t),
|
|
565
566
|
filterDescription: !0
|
|
566
567
|
});
|
|
567
568
|
}
|
|
@@ -572,23 +573,23 @@ class te extends b {
|
|
|
572
573
|
label: t,
|
|
573
574
|
description: e.name,
|
|
574
575
|
snippet: t,
|
|
575
|
-
icon:
|
|
576
|
+
icon: Fe(e),
|
|
576
577
|
filterDescription: !0
|
|
577
578
|
});
|
|
578
579
|
}
|
|
579
580
|
_getDomainDictionary(e) {
|
|
580
|
-
return
|
|
581
|
+
return R(this._source) ? D(this._source) && this._source.subtypeField ? this._getSubtypeDomainDictionary(e) : T(this._source) && this._source.typeIdField ? this._getFeatureTypeDomainDictionary(e) : this._getFieldDomainDictionary(e) : null;
|
|
581
582
|
}
|
|
582
583
|
_getSubtypeDomainDictionary(e) {
|
|
583
|
-
if (!
|
|
584
|
+
if (!D(this._source))
|
|
584
585
|
return null;
|
|
585
|
-
if (!
|
|
586
|
+
if (!me(this._source))
|
|
586
587
|
return e.name === this._source.subtypeField ? null : this._getFieldDomainDictionary(e);
|
|
587
588
|
if (e.name === this._source.subtypeField) {
|
|
588
589
|
const r = this._createDomainDictionary(e);
|
|
589
590
|
return r.icon = "subtype", r.variables.push(this._getTypeOrSubtypeDomainGroup(this._source.subtypes, e)), r;
|
|
590
591
|
}
|
|
591
|
-
if (
|
|
592
|
+
if (Q(this._source.subtypes, e))
|
|
592
593
|
return this._getFieldDomainDictionary(e);
|
|
593
594
|
const t = this._getDomainValuesGroup(this._source.subtypes, e);
|
|
594
595
|
if (!t)
|
|
@@ -603,7 +604,7 @@ class te extends b {
|
|
|
603
604
|
const r = this._createDomainDictionary(e);
|
|
604
605
|
return r.variables.push(this._getTypeOrSubtypeDomainGroup(this._source.types, e)), r;
|
|
605
606
|
}
|
|
606
|
-
if (
|
|
607
|
+
if (Q(this._source.types, e))
|
|
607
608
|
return this._getFieldDomainDictionary(e);
|
|
608
609
|
const t = this._getDomainValuesGroup(this._source.types, e);
|
|
609
610
|
if (!t)
|
|
@@ -612,10 +613,10 @@ class te extends b {
|
|
|
612
613
|
return i.variables.push(t), i;
|
|
613
614
|
}
|
|
614
615
|
_getFieldDomainDictionary(e) {
|
|
615
|
-
if (!
|
|
616
|
+
if (!R(this._source))
|
|
616
617
|
return null;
|
|
617
618
|
const t = this._source.getFieldDomain(e.name);
|
|
618
|
-
if (!
|
|
619
|
+
if (!F(t))
|
|
619
620
|
return null;
|
|
620
621
|
const i = this._getCodedValueDomainGroup(t, {
|
|
621
622
|
code: "domainvalues"
|
|
@@ -623,10 +624,10 @@ class te extends b {
|
|
|
623
624
|
return r.variables.push(i), r;
|
|
624
625
|
}
|
|
625
626
|
_getTypeOrSubtypeDomainGroup(e, t) {
|
|
626
|
-
if (
|
|
627
|
+
if (F(t.domain))
|
|
627
628
|
return this._getCodedValueDomainGroup(t.domain, { code: "subtypes" });
|
|
628
629
|
const i = e?.map((r) => {
|
|
629
|
-
const a =
|
|
630
|
+
const a = N(r) ? r.code : r.id;
|
|
630
631
|
return new l({
|
|
631
632
|
profile: this._profile,
|
|
632
633
|
label: `${a}`,
|
|
@@ -652,22 +653,22 @@ class te extends b {
|
|
|
652
653
|
const i = [];
|
|
653
654
|
return !e || e.length === 0 || (e.forEach((r) => {
|
|
654
655
|
const a = r.domains?.[t.name];
|
|
655
|
-
if (!a ||
|
|
656
|
+
if (!a || _e(a) || !F(a))
|
|
656
657
|
return;
|
|
657
|
-
const n = S(t),
|
|
658
|
+
const n = S(t), h = this._getCodedValueDomainGroup(a, {
|
|
658
659
|
code: "domainvaluesfortypeformat",
|
|
659
660
|
formatValues: {
|
|
660
661
|
fieldName: n,
|
|
661
662
|
typeName: r.name
|
|
662
663
|
}
|
|
663
|
-
}), p =
|
|
664
|
+
}), p = N(r) ? r.code : r.id, o = `${p}`, g = `"${p}""`, f = new y(this, {
|
|
664
665
|
profile: this._profile,
|
|
665
|
-
label:
|
|
666
|
+
label: o,
|
|
666
667
|
snippet: g,
|
|
667
668
|
description: r.name,
|
|
668
669
|
declaration: { name: n }
|
|
669
670
|
});
|
|
670
|
-
f.variables = [
|
|
671
|
+
f.variables = [h], i.push(f);
|
|
671
672
|
}), !i.length) ? null : new u(this._profile, { code: "domainvaluesbysubtypes" }, i);
|
|
672
673
|
}
|
|
673
674
|
_createDomainDictionary(e) {
|
|
@@ -701,12 +702,12 @@ class te extends b {
|
|
|
701
702
|
if (!this.relationshipsProperties?.exposeRelationships || !this._profile?.supportFeatureSetFunctions)
|
|
702
703
|
return null;
|
|
703
704
|
const e = this._source;
|
|
704
|
-
if (!
|
|
705
|
+
if (!ye(e))
|
|
705
706
|
return null;
|
|
706
707
|
const t = new u(this._profile, { code: "relationships" }), i = await Promise.all(
|
|
707
708
|
e.relationships?.map(async (r) => {
|
|
708
|
-
const a = await
|
|
709
|
-
if (!
|
|
709
|
+
const a = await Je(e, r);
|
|
710
|
+
if (!J(a) || r.relatedTableId === this.relationshipsProperties?.sourceTableId)
|
|
710
711
|
return null;
|
|
711
712
|
const n = `FeatureSetByRelationshipName(${this.snippet}, "${r.name}")`;
|
|
712
713
|
return new q(
|
|
@@ -723,10 +724,10 @@ class te extends b {
|
|
|
723
724
|
);
|
|
724
725
|
}) ?? []
|
|
725
726
|
);
|
|
726
|
-
return t.variables = i.filter(
|
|
727
|
+
return t.variables = i.filter(_), t.variables.length ? t : null;
|
|
727
728
|
}
|
|
728
729
|
}
|
|
729
|
-
class A extends
|
|
730
|
+
class A extends re {
|
|
730
731
|
constructor(e, t, i, r = { exposeRelationships: !0 }) {
|
|
731
732
|
super(e, t, r), this.type = i;
|
|
732
733
|
}
|
|
@@ -737,7 +738,7 @@ class A extends te {
|
|
|
737
738
|
return { type: this.type, name: "", ...this.declaration };
|
|
738
739
|
}
|
|
739
740
|
}
|
|
740
|
-
class
|
|
741
|
+
class et extends A {
|
|
741
742
|
constructor(e, t) {
|
|
742
743
|
super(e, t, "feature", { exposeRelationships: !0 }), this.type = "feature";
|
|
743
744
|
}
|
|
@@ -745,7 +746,7 @@ class Xe extends A {
|
|
|
745
746
|
if (this.loaded)
|
|
746
747
|
return this._source;
|
|
747
748
|
try {
|
|
748
|
-
if (this._source = await
|
|
749
|
+
if (this._source = await Z(this._definition), !this._source)
|
|
749
750
|
throw new Error("Invalid definition");
|
|
750
751
|
const e = d(this._source) ? this._source.title ?? "" : "";
|
|
751
752
|
this.variables.push(
|
|
@@ -759,7 +760,7 @@ class Xe extends A {
|
|
|
759
760
|
])
|
|
760
761
|
);
|
|
761
762
|
const t = new u(this._profile, { code: "values" });
|
|
762
|
-
if (this.variables.push(t),
|
|
763
|
+
if (this.variables.push(t), ce(this._source)) {
|
|
763
764
|
const a = `Geometry(${this.snippet})`, n = new l({
|
|
764
765
|
profile: this._profile,
|
|
765
766
|
declaration: { name: a },
|
|
@@ -778,14 +779,14 @@ class Xe extends A {
|
|
|
778
779
|
const r = await this._getRelationshipsProperty();
|
|
779
780
|
r && this.variables.push(r);
|
|
780
781
|
} catch (e) {
|
|
781
|
-
|
|
782
|
+
c("error", "FeatureVariable", "Error with definition", { detail: { error: e, definition: this._definition } }), this._source = null;
|
|
782
783
|
} finally {
|
|
783
784
|
this._loaded = !0;
|
|
784
785
|
}
|
|
785
786
|
return this._source;
|
|
786
787
|
}
|
|
787
788
|
}
|
|
788
|
-
class
|
|
789
|
+
class tt extends A {
|
|
789
790
|
constructor(e, t) {
|
|
790
791
|
super(e, t, "voxel", { exposeRelationships: !1 }), this.type = "voxel", this._source = null;
|
|
791
792
|
}
|
|
@@ -793,7 +794,7 @@ class Ye extends A {
|
|
|
793
794
|
if (this.loaded)
|
|
794
795
|
return this._source;
|
|
795
796
|
try {
|
|
796
|
-
if (!
|
|
797
|
+
if (!pe(this._definition))
|
|
797
798
|
throw new Error("Invalid definition - not a VoxelLayer");
|
|
798
799
|
if (await this._definition.load(), this._source = this._definition, !this._source)
|
|
799
800
|
throw new Error("Invalid definition");
|
|
@@ -810,19 +811,19 @@ class Ye extends A {
|
|
|
810
811
|
);
|
|
811
812
|
const t = new u(this._profile, { code: "values" });
|
|
812
813
|
this.variables.push(t);
|
|
813
|
-
const i = await
|
|
814
|
+
const i = await Se(this._source), r = this._source;
|
|
814
815
|
C(this._source.fields).map((a) => r.fields.find((n) => n.name === a.name)).sort(L(r)).forEach((a) => {
|
|
815
816
|
t.variables.push(this._getFieldProperty(a, i));
|
|
816
817
|
});
|
|
817
818
|
} catch (e) {
|
|
818
|
-
|
|
819
|
+
c("error", this.type, "Error with definition", { detail: { error: e, definition: this._definition } }), this._source = null;
|
|
819
820
|
} finally {
|
|
820
821
|
this._loaded = !0;
|
|
821
822
|
}
|
|
822
823
|
return this._source;
|
|
823
824
|
}
|
|
824
825
|
}
|
|
825
|
-
class
|
|
826
|
+
class it extends A {
|
|
826
827
|
constructor(e, t) {
|
|
827
828
|
super(e, t, "pixel", { exposeRelationships: !1 }), this.type = "pixel", this._source = null;
|
|
828
829
|
}
|
|
@@ -830,7 +831,7 @@ class et extends A {
|
|
|
830
831
|
if (this.loaded)
|
|
831
832
|
return this._source;
|
|
832
833
|
try {
|
|
833
|
-
if (!
|
|
834
|
+
if (!O(this._definition))
|
|
834
835
|
throw new Error("Invalid definition - not an ImageryLayer");
|
|
835
836
|
if (await this._definition.load(), this._source = this._definition, !this._source)
|
|
836
837
|
throw new Error("Invalid definition");
|
|
@@ -846,20 +847,20 @@ class et extends A {
|
|
|
846
847
|
])
|
|
847
848
|
);
|
|
848
849
|
const t = new u(this._profile, { code: "values" });
|
|
849
|
-
if (this.variables.push(t), !
|
|
850
|
+
if (this.variables.push(t), !O(this._source))
|
|
850
851
|
throw new Error("Invalid definition - not an ImageryLayer");
|
|
851
|
-
(await
|
|
852
|
+
(await Ie(this._source)).forEach((r) => {
|
|
852
853
|
t.variables.push(this._getMemberProperty(r));
|
|
853
854
|
});
|
|
854
855
|
} catch (e) {
|
|
855
|
-
|
|
856
|
+
c("error", this.type, "Error with definition", { detail: { error: e, definition: this._definition } }), this._source = null;
|
|
856
857
|
} finally {
|
|
857
858
|
this._loaded = !0;
|
|
858
859
|
}
|
|
859
860
|
return this._source;
|
|
860
861
|
}
|
|
861
862
|
}
|
|
862
|
-
class q extends
|
|
863
|
+
class q extends re {
|
|
863
864
|
constructor(e, t, i = [], r) {
|
|
864
865
|
super(e, t, r), this.featureSetSnippets = i, this.type = "featureSet";
|
|
865
866
|
}
|
|
@@ -870,15 +871,19 @@ class q extends te {
|
|
|
870
871
|
if (this.loaded)
|
|
871
872
|
return this._source;
|
|
872
873
|
try {
|
|
873
|
-
if (this._source = await
|
|
874
|
+
if (this._source = await Z(this._definition), !this._source)
|
|
874
875
|
throw new Error("Invalid definition");
|
|
875
876
|
this.variables.push(new u(this._profile, this.title, this.featureSetSnippets, !0));
|
|
876
877
|
const e = new u(this._profile, { code: "fields" });
|
|
877
|
-
this.variables.push(e)
|
|
878
|
-
const t =
|
|
879
|
-
|
|
878
|
+
this.variables.push(e);
|
|
879
|
+
const t = this._profile?.policy, i = t && "allowGeometryFields" in t ? t.allowGeometryFields ?? !1 : !1;
|
|
880
|
+
e.variables = C(this._source.fields, {
|
|
881
|
+
supportGeometry: i
|
|
882
|
+
}).sort(L(this._source)).map((a) => this._getFieldProperty(a));
|
|
883
|
+
const r = await this._getRelationshipsProperty();
|
|
884
|
+
r && this.variables.push(r);
|
|
880
885
|
} catch (e) {
|
|
881
|
-
|
|
886
|
+
c("error", this.type, "Error with definition", { detail: { error: e, definition: this._definition } }), this._source = null;
|
|
882
887
|
} finally {
|
|
883
888
|
this._loaded = !0;
|
|
884
889
|
}
|
|
@@ -888,12 +893,12 @@ class q extends te {
|
|
|
888
893
|
return { type: this.type, name: "", ...this.declaration, definition: this._definition };
|
|
889
894
|
}
|
|
890
895
|
}
|
|
891
|
-
class
|
|
896
|
+
class rt extends b {
|
|
892
897
|
constructor(e, t) {
|
|
893
898
|
super(e, t), this.type = "featureSetCollection", this._featureSetCollections = null, this._loaded = !1, this._definition = t.declaration?.definition;
|
|
894
899
|
}
|
|
895
900
|
get informationUrl() {
|
|
896
|
-
return !this.loaded || !this._featureSetCollections ? null : typeof this._featureSetCollections.source != "string" ?
|
|
901
|
+
return !this.loaded || !this._featureSetCollections ? null : typeof this._featureSetCollections.source != "string" ? be(j(this._featureSetCollections.source)) : null;
|
|
897
902
|
}
|
|
898
903
|
get informationType() {
|
|
899
904
|
if (!this.loaded || !this._featureSetCollections)
|
|
@@ -910,7 +915,7 @@ class tt extends b {
|
|
|
910
915
|
}
|
|
911
916
|
}
|
|
912
917
|
async loadSource() {
|
|
913
|
-
return
|
|
918
|
+
return _(this._loadPromise) && I(this._loadPromise) ? await this._loadPromise : (this._loadPromise = this._loadSource(), await this._loadPromise);
|
|
914
919
|
}
|
|
915
920
|
async _loadSource() {
|
|
916
921
|
if (this.loaded)
|
|
@@ -921,7 +926,7 @@ class tt extends b {
|
|
|
921
926
|
const e = typeof this._featureSetCollections.source == "string" ? { code: this._featureSetCollections.source.endsWith("FeatureServer") ? "featureservice" : "mapservice" } : {
|
|
922
927
|
code: "webmapformat",
|
|
923
928
|
formatValues: {
|
|
924
|
-
webMapTitle:
|
|
929
|
+
webMapTitle: j(this._featureSetCollections.source)?.title || "Untitled map"
|
|
925
930
|
}
|
|
926
931
|
}, t = new u(this._profile, e, [
|
|
927
932
|
new l({
|
|
@@ -933,62 +938,62 @@ class tt extends b {
|
|
|
933
938
|
]), i = new u(this._profile, { code: "layers" }, this._featureSetCollections.layers), r = new u(this._profile, { code: "tables" }, this._featureSetCollections.tables);
|
|
934
939
|
this.variables.push(t, i, r);
|
|
935
940
|
} catch (e) {
|
|
936
|
-
|
|
941
|
+
c("error", this.type, "Error with definition", { detail: { error: e, definition: this._definition } }), this._featureSetCollections = null;
|
|
937
942
|
} finally {
|
|
938
943
|
this._loaded = !0;
|
|
939
944
|
}
|
|
940
945
|
return this._featureSetCollections;
|
|
941
946
|
}
|
|
942
947
|
async _featureSetCollectionsFromDefinition() {
|
|
943
|
-
return this._definition ?
|
|
948
|
+
return this._definition ? ae(this._definition) ? await this._featureSetCollectionFromMap(this._definition) : oe(this._definition) ? await this._featureSetCollectionFromUrl(this._definition.url) : ne(this._definition) ? await this._featureSetCollectionFromPortalItem(this._definition.portalItem) : null : null;
|
|
944
949
|
}
|
|
945
950
|
async _featureSetCollectionFromMap(e) {
|
|
946
|
-
|
|
947
|
-
const t = this._profile?.policy
|
|
951
|
+
le(e) && await e.loadAll(), await Promise.all(e.allTables.map(async (r) => await r.load()));
|
|
952
|
+
const t = this._profile?.policy, i = t && "filterFsCollectionLayersFromMap" in t && t.filterFsCollectionLayersFromMap ? t.filterFsCollectionLayersFromMap : () => !0;
|
|
948
953
|
return {
|
|
949
|
-
layers: this._convertWebMapLayersToVariables(e.allLayers.filter(
|
|
954
|
+
layers: this._convertWebMapLayersToVariables(e.allLayers.filter(i)),
|
|
950
955
|
tables: this._convertWebMapLayersToVariables(e.allTables),
|
|
951
956
|
source: e
|
|
952
957
|
};
|
|
953
958
|
}
|
|
954
959
|
async _featureSetCollectionFromPortalItem(e) {
|
|
955
|
-
const t = new
|
|
960
|
+
const t = new ge(e);
|
|
956
961
|
switch (await t.load(), t.type) {
|
|
957
962
|
case "Web Map": {
|
|
958
|
-
const i = new
|
|
963
|
+
const i = new we({ portalItem: t });
|
|
959
964
|
return await this._featureSetCollectionFromMap(i);
|
|
960
965
|
}
|
|
961
966
|
case "Web Scene": {
|
|
962
|
-
const i = new
|
|
967
|
+
const i = new De({ portalItem: t });
|
|
963
968
|
return await this._featureSetCollectionFromMap(i);
|
|
964
969
|
}
|
|
965
970
|
case "Feature Service":
|
|
966
971
|
return await this._featureSetCollectionFromUrl(t.url);
|
|
967
972
|
default:
|
|
968
|
-
return
|
|
973
|
+
return c("error", this.type, "Unsupported portal item", { detail: { definition: e } }), null;
|
|
969
974
|
}
|
|
970
975
|
}
|
|
971
976
|
async _featureSetCollectionFromUrl(e) {
|
|
972
977
|
let t = e?.replace(/\/featureserver\/[0-9]*/iu, "/FeatureServer");
|
|
973
978
|
if (t = t?.replace(/\/mapserver\/[0-9]*/iu, "/MapServer"), t = t?.split("?")[0], !t)
|
|
974
979
|
return null;
|
|
975
|
-
const i = await
|
|
980
|
+
const i = await ue(t), r = Promise.all(
|
|
976
981
|
i.layers.map(async (p) => {
|
|
977
|
-
const
|
|
978
|
-
return await
|
|
982
|
+
const o = new P({ url: `${t}/${p.id}` });
|
|
983
|
+
return await o.load(), this._createFeatureSetVariable(o);
|
|
979
984
|
})
|
|
980
985
|
), a = Promise.all(
|
|
981
986
|
i.tables.map(async (p) => {
|
|
982
|
-
const
|
|
983
|
-
return await
|
|
987
|
+
const o = new P({ url: `${t}/${p.id}` });
|
|
988
|
+
return await o.load(), this._createFeatureSetVariable(o);
|
|
984
989
|
})
|
|
985
|
-
), [n,
|
|
986
|
-
return { layers: n, tables:
|
|
990
|
+
), [n, h] = await Promise.all([r, a]);
|
|
991
|
+
return { layers: n, tables: h, source: t };
|
|
987
992
|
}
|
|
988
993
|
_convertWebMapLayersToVariables(e) {
|
|
989
994
|
const t = [];
|
|
990
995
|
return e.toArray().reverse().forEach((i) => {
|
|
991
|
-
if (
|
|
996
|
+
if (J(i)) {
|
|
992
997
|
t.push(this._createFeatureSetVariable(i, !0));
|
|
993
998
|
return;
|
|
994
999
|
}
|
|
@@ -1025,7 +1030,7 @@ class tt extends b {
|
|
|
1025
1030
|
return { type: this.type, name: "", ...this.declaration, definition: this._definition };
|
|
1026
1031
|
}
|
|
1027
1032
|
}
|
|
1028
|
-
class
|
|
1033
|
+
class st extends b {
|
|
1029
1034
|
constructor(e, t) {
|
|
1030
1035
|
super(e, t), this.type = "dataCatalogDatastore", this._catalogDatastore = null, this._datastore = null, this._loaded = !1, this._definition = t.declaration?.definition;
|
|
1031
1036
|
}
|
|
@@ -1039,8 +1044,8 @@ class it extends b {
|
|
|
1039
1044
|
_getSerializedDefinition() {
|
|
1040
1045
|
const e = this.declaration.definition;
|
|
1041
1046
|
if (e)
|
|
1042
|
-
return
|
|
1043
|
-
if (
|
|
1047
|
+
return w(e) ? e : this._serializeDefinitionFromInstance(e);
|
|
1048
|
+
if (w(this._definition))
|
|
1044
1049
|
return this._definition;
|
|
1045
1050
|
if (this._catalogDatastore)
|
|
1046
1051
|
return this._serializeDefinitionFromInstance(this._catalogDatastore);
|
|
@@ -1048,7 +1053,7 @@ class it extends b {
|
|
|
1048
1053
|
return this._serializeDefinitionFromInstance(this._definition);
|
|
1049
1054
|
}
|
|
1050
1055
|
async loadSource() {
|
|
1051
|
-
return
|
|
1056
|
+
return _(this._loadPromise) && I(this._loadPromise) ? await this._loadPromise : (this._loadPromise = this._loadSource(), await this._loadPromise);
|
|
1052
1057
|
}
|
|
1053
1058
|
async _loadSource() {
|
|
1054
1059
|
if (this.loaded)
|
|
@@ -1056,21 +1061,21 @@ class it extends b {
|
|
|
1056
1061
|
try {
|
|
1057
1062
|
if (!this._definition)
|
|
1058
1063
|
throw new Error("No definition provided");
|
|
1059
|
-
|
|
1064
|
+
w(this._definition) ? this._catalogDatastore = await this._dataCatalogDatastoreFromDefinition(this._definition) : this._catalogDatastore = this._definition;
|
|
1060
1065
|
const e = this._catalogDatastore;
|
|
1061
1066
|
if (!e)
|
|
1062
1067
|
throw new Error("Invalid definition");
|
|
1063
1068
|
const t = await e.fetchInfo();
|
|
1064
1069
|
this._datastoreInfo = t;
|
|
1065
|
-
const i = await e.fetchDatasets(), r = await
|
|
1066
|
-
(n) => new
|
|
1070
|
+
const i = await e.fetchDatasets(), r = await je(t.databasePlatform), a = i.map(
|
|
1071
|
+
(n) => new at(
|
|
1067
1072
|
this,
|
|
1068
1073
|
{
|
|
1069
1074
|
profile: this._profile,
|
|
1070
1075
|
declaration: { name: n.name },
|
|
1071
1076
|
label: n.name,
|
|
1072
1077
|
description: n.type,
|
|
1073
|
-
snippet:
|
|
1078
|
+
snippet: Qe(n.name, r)
|
|
1074
1079
|
},
|
|
1075
1080
|
e,
|
|
1076
1081
|
n,
|
|
@@ -1079,11 +1084,11 @@ class it extends b {
|
|
|
1079
1084
|
);
|
|
1080
1085
|
this.variables = a, this._datastore = {
|
|
1081
1086
|
tables: a,
|
|
1082
|
-
source:
|
|
1087
|
+
source: w(this._definition) ? this._definition : e,
|
|
1083
1088
|
info: t
|
|
1084
1089
|
};
|
|
1085
1090
|
} catch (e) {
|
|
1086
|
-
|
|
1091
|
+
c("error", this.type, "Error with definition", { detail: { error: e, definition: this._definition } }), this._datastore = null;
|
|
1087
1092
|
} finally {
|
|
1088
1093
|
this._loaded = !0;
|
|
1089
1094
|
}
|
|
@@ -1093,11 +1098,11 @@ class it extends b {
|
|
|
1093
1098
|
return this._datastoreInfo;
|
|
1094
1099
|
}
|
|
1095
1100
|
get tableVariables() {
|
|
1096
|
-
return this.variables.filter(
|
|
1101
|
+
return this.variables.filter(se);
|
|
1097
1102
|
}
|
|
1098
1103
|
async _dataCatalogDatastoreFromDefinition(e) {
|
|
1099
|
-
const t = new
|
|
1100
|
-
return await t.load(), new
|
|
1104
|
+
const t = new Te({ url: e.portal.url });
|
|
1105
|
+
return await t.load(), new Ee({
|
|
1101
1106
|
itemId: e.id,
|
|
1102
1107
|
serviceUrl: e.serviceUrl,
|
|
1103
1108
|
portal: t
|
|
@@ -1113,7 +1118,7 @@ class it extends b {
|
|
|
1113
1118
|
};
|
|
1114
1119
|
}
|
|
1115
1120
|
}
|
|
1116
|
-
class
|
|
1121
|
+
class at extends b {
|
|
1117
1122
|
constructor(e, t, i, r, a) {
|
|
1118
1123
|
super(e, t), this._catalogDatastore = i, this.datasetInfo = r, this._dialectSpec = a, this.type = "dictionary", this._fieldInfos = [], this._loaded = !1;
|
|
1119
1124
|
}
|
|
@@ -1121,7 +1126,7 @@ class rt extends b {
|
|
|
1121
1126
|
return this._fieldInfos;
|
|
1122
1127
|
}
|
|
1123
1128
|
async loadSource() {
|
|
1124
|
-
return
|
|
1129
|
+
return _(this._loadPromise) && I(this._loadPromise) ? await this._loadPromise : (this._loadPromise = this._loadFields(), await this._loadPromise);
|
|
1125
1130
|
}
|
|
1126
1131
|
async _loadFields() {
|
|
1127
1132
|
if (this.loaded)
|
|
@@ -1136,19 +1141,23 @@ class rt extends b {
|
|
|
1136
1141
|
};
|
|
1137
1142
|
return new l({
|
|
1138
1143
|
profile: this._profile,
|
|
1139
|
-
declaration: {
|
|
1144
|
+
declaration: {
|
|
1145
|
+
type: Y(i, {
|
|
1146
|
+
supportGeometryFields: !0
|
|
1147
|
+
})
|
|
1148
|
+
},
|
|
1140
1149
|
label: t.name,
|
|
1141
1150
|
description: [
|
|
1142
1151
|
t.serverType,
|
|
1143
|
-
|
|
1152
|
+
Xe(this._profile?.intlStrings, t.nullable)
|
|
1144
1153
|
].filter(Boolean).join(" | "),
|
|
1145
|
-
snippet:
|
|
1146
|
-
icon:
|
|
1154
|
+
snippet: ee(t.name, this._dialectSpec),
|
|
1155
|
+
icon: X(i),
|
|
1147
1156
|
filterDescription: !0
|
|
1148
1157
|
});
|
|
1149
1158
|
});
|
|
1150
1159
|
} catch (e) {
|
|
1151
|
-
|
|
1160
|
+
c("error", "DataCatalogDatastoreTableVariable", "Error loading dataset", {
|
|
1152
1161
|
detail: { error: e, dataset: this.datasetInfo }
|
|
1153
1162
|
}), this._fieldInfos = [];
|
|
1154
1163
|
} finally {
|
|
@@ -1166,7 +1175,7 @@ class rt extends b {
|
|
|
1166
1175
|
};
|
|
1167
1176
|
}
|
|
1168
1177
|
}
|
|
1169
|
-
class
|
|
1178
|
+
class Vt extends y {
|
|
1170
1179
|
constructor(e, t, i = "en", r = {}) {
|
|
1171
1180
|
super(void 0, {
|
|
1172
1181
|
profile: null,
|
|
@@ -1190,13 +1199,13 @@ class Pt extends y {
|
|
|
1190
1199
|
};
|
|
1191
1200
|
}
|
|
1192
1201
|
}
|
|
1193
|
-
const
|
|
1202
|
+
const ot = {
|
|
1194
1203
|
locale: "en"
|
|
1195
1204
|
};
|
|
1196
|
-
class
|
|
1205
|
+
class Mt {
|
|
1197
1206
|
// #endregion
|
|
1198
1207
|
constructor(e, t) {
|
|
1199
|
-
this.languageId = e, this._apiConfig = t, this._onDidChange = new
|
|
1208
|
+
this.languageId = e, this._apiConfig = t, this._onDidChange = new k(), this._modelToProfileMap = /* @__PURE__ */ new Map(), this._modelToApiContextMap = /* @__PURE__ */ new Map(), this._localeToApiLibraryPromiseMap = /* @__PURE__ */ new Map(), this._onModelContextDidChange = new k(), this._onDidModelContextChangeTimeout = -1, Pe().then((i) => {
|
|
1200
1209
|
i.onWillDisposeModel((r) => {
|
|
1201
1210
|
this.disposeForModel(r.uri);
|
|
1202
1211
|
});
|
|
@@ -1209,7 +1218,7 @@ class xt {
|
|
|
1209
1218
|
}, 0));
|
|
1210
1219
|
}
|
|
1211
1220
|
_getApiKey(e) {
|
|
1212
|
-
return
|
|
1221
|
+
return z.isUri(e) || (e = z.parse(e)), e.toString();
|
|
1213
1222
|
}
|
|
1214
1223
|
getWorkerHostExtension() {
|
|
1215
1224
|
}
|
|
@@ -1240,7 +1249,7 @@ class xt {
|
|
|
1240
1249
|
* @returns The API context for the model.
|
|
1241
1250
|
*/
|
|
1242
1251
|
getApiContextForModel(e) {
|
|
1243
|
-
return this._modelToApiContextMap.get(this._getApiKey(e)) ??
|
|
1252
|
+
return this._modelToApiContextMap.get(this._getApiKey(e)) ?? ot;
|
|
1244
1253
|
}
|
|
1245
1254
|
/**
|
|
1246
1255
|
* Set or update api context for the given model id.
|
|
@@ -1261,7 +1270,7 @@ class xt {
|
|
|
1261
1270
|
*/
|
|
1262
1271
|
async getApiLibraryForModel(e) {
|
|
1263
1272
|
const t = this.getApiContextForModel(e), i = this.getApiLibrary(t.locale ?? "en");
|
|
1264
|
-
return (await
|
|
1273
|
+
return (await Me(i, t)).categories;
|
|
1265
1274
|
}
|
|
1266
1275
|
/**
|
|
1267
1276
|
* The worker host is used by the worker to invoke methods on the main thread.
|
|
@@ -1280,33 +1289,33 @@ class xt {
|
|
|
1280
1289
|
//#region Private methods
|
|
1281
1290
|
async fetchApiLibrary(e) {
|
|
1282
1291
|
try {
|
|
1283
|
-
const { apiPath: t, apiPrefix: i } = this._apiConfig, r =
|
|
1292
|
+
const { apiPath: t, apiPrefix: i } = this._apiConfig, r = xe(`${t}/${i}${e}.json`), a = await fetch(r);
|
|
1284
1293
|
return a.ok ? await a.json() : [];
|
|
1285
1294
|
} catch {
|
|
1286
1295
|
return [];
|
|
1287
1296
|
}
|
|
1288
1297
|
}
|
|
1289
1298
|
async getApiLibrary(e) {
|
|
1290
|
-
const t =
|
|
1299
|
+
const t = Ve(e);
|
|
1291
1300
|
return this._localeToApiLibraryPromiseMap.has(t) || this._localeToApiLibraryPromiseMap.set(t, this.fetchApiLibrary(t)), await this._localeToApiLibraryPromiseMap.get(t) ?? [];
|
|
1292
1301
|
}
|
|
1293
1302
|
// #endregion
|
|
1294
1303
|
}
|
|
1295
1304
|
export {
|
|
1296
|
-
|
|
1297
|
-
|
|
1298
|
-
|
|
1299
|
-
|
|
1300
|
-
|
|
1301
|
-
|
|
1302
|
-
|
|
1303
|
-
|
|
1304
|
-
|
|
1305
|
+
Ee as D,
|
|
1306
|
+
Vt as E,
|
|
1307
|
+
Mt as L,
|
|
1308
|
+
We as a,
|
|
1309
|
+
st as b,
|
|
1310
|
+
Qe as c,
|
|
1311
|
+
K as d,
|
|
1312
|
+
Tt as e,
|
|
1313
|
+
Pt as f,
|
|
1305
1314
|
$ as g,
|
|
1306
|
-
|
|
1307
|
-
|
|
1308
|
-
|
|
1309
|
-
|
|
1310
|
-
|
|
1311
|
-
|
|
1315
|
+
ke as h,
|
|
1316
|
+
Be as i,
|
|
1317
|
+
xt as m,
|
|
1318
|
+
vt as n,
|
|
1319
|
+
ee as q,
|
|
1320
|
+
m as s
|
|
1312
1321
|
};
|