@arcgis/coding-components 4.31.0-next.6 → 4.31.0-next.61
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/README.md +22 -3
- package/dist/arcgis-coding-components/arcgis-coding-components.esm.js +2 -2
- package/dist/arcgis-coding-components/assets/arcade-language/t9n/profile.t9n.ar.json +1 -1
- package/dist/arcgis-coding-components/assets/arcade-language/t9n/profile.t9n.bg.json +1 -1
- package/dist/arcgis-coding-components/assets/arcade-language/t9n/profile.t9n.bs.json +1 -1
- package/dist/arcgis-coding-components/assets/arcade-language/t9n/profile.t9n.ca.json +6 -6
- package/dist/arcgis-coding-components/assets/arcade-language/t9n/profile.t9n.cs.json +1 -1
- package/dist/arcgis-coding-components/assets/arcade-language/t9n/profile.t9n.da.json +1 -1
- package/dist/arcgis-coding-components/assets/arcade-language/t9n/profile.t9n.de.json +1 -1
- package/dist/arcgis-coding-components/assets/arcade-language/t9n/profile.t9n.el.json +1 -1
- package/dist/arcgis-coding-components/assets/arcade-language/t9n/profile.t9n.es.json +1 -1
- package/dist/arcgis-coding-components/assets/arcade-language/t9n/profile.t9n.et.json +1 -1
- package/dist/arcgis-coding-components/assets/arcade-language/t9n/profile.t9n.fi.json +1 -1
- package/dist/arcgis-coding-components/assets/arcade-language/t9n/profile.t9n.fr.json +1 -1
- package/dist/arcgis-coding-components/assets/arcade-language/t9n/profile.t9n.he.json +1 -1
- package/dist/arcgis-coding-components/assets/arcade-language/t9n/profile.t9n.hr.json +1 -1
- package/dist/arcgis-coding-components/assets/arcade-language/t9n/profile.t9n.id.json +1 -1
- package/dist/arcgis-coding-components/assets/arcade-language/t9n/profile.t9n.it.json +1 -1
- package/dist/arcgis-coding-components/assets/arcade-language/t9n/profile.t9n.ko.json +1 -1
- package/dist/arcgis-coding-components/assets/arcade-language/t9n/profile.t9n.nb.json +1 -1
- package/dist/arcgis-coding-components/assets/arcade-language/t9n/profile.t9n.nl.json +1 -1
- package/dist/arcgis-coding-components/assets/arcade-language/t9n/profile.t9n.pl.json +1 -1
- package/dist/arcgis-coding-components/assets/arcade-language/t9n/profile.t9n.pt-BR.json +1 -1
- package/dist/arcgis-coding-components/assets/arcade-language/t9n/profile.t9n.pt-PT.json +1 -1
- package/dist/arcgis-coding-components/assets/arcade-language/t9n/profile.t9n.ru.json +1 -1
- package/dist/arcgis-coding-components/assets/arcade-language/t9n/profile.t9n.sk.json +1 -1
- package/dist/arcgis-coding-components/assets/arcade-language/t9n/profile.t9n.sl.json +1 -1
- package/dist/arcgis-coding-components/assets/arcade-language/t9n/profile.t9n.sr.json +1 -1
- package/dist/arcgis-coding-components/assets/arcade-language/t9n/profile.t9n.sv.json +1 -1
- package/dist/arcgis-coding-components/assets/arcade-language/t9n/profile.t9n.th.json +1 -1
- package/dist/arcgis-coding-components/assets/arcade-language/t9n/profile.t9n.tr.json +1 -1
- package/dist/arcgis-coding-components/assets/arcade-language/t9n/profile.t9n.uk.json +5 -5
- package/dist/arcgis-coding-components/assets/arcade-language/t9n/profile.t9n.vi.json +1 -1
- package/dist/arcgis-coding-components/assets/arcade-language/t9n/profile.t9n.zh-CN.json +1 -1
- package/dist/arcgis-coding-components/assets/arcade-language/t9n/profile.t9n.zh-HK.json +1 -1
- package/dist/arcgis-coding-components/assets/arcade-language/t9n/profile.t9n.zh-TW.json +1 -1
- package/dist/arcgis-coding-components/assets/arcade-results/t9n/arcade-results.t9n.ca.json +2 -2
- package/dist/arcgis-coding-components/assets/arcade-results/t9n/arcade-results.t9n.de.json +1 -1
- package/dist/arcgis-coding-components/assets/arcade-results/t9n/arcade-results.t9n.he.json +1 -1
- package/dist/arcgis-coding-components/assets/arcade-variables/t9n/arcade-variables.t9n.ca.json +1 -1
- package/dist/arcgis-coding-components/assets/arcade-variables/t9n/arcade-variables.t9n.it.json +1 -1
- package/dist/arcgis-coding-components/assets/code-editor/arcade.worker.js +3 -3
- package/dist/arcgis-coding-components/assets/code-editor/sql-expr.worker.js +460 -7
- package/dist/arcgis-coding-components/assets/language-api-panel/t9n/language-api-panel.t9n.ca.json +1 -1
- package/dist/arcgis-coding-components/assets/sql-expression-editor/api/sql-expression-api.t9n.en.json +30 -30
- package/dist/arcgis-coding-components/assets/sql-expression-editor/t9n/sql-expression-editor.t9n.en.json +4 -0
- package/dist/arcgis-coding-components/assets/sql-expression-fields/t9n/sql-expression-fields.t9n.en.json +4 -0
- package/dist/arcgis-coding-components/index.esm.js +2 -2
- package/dist/arcgis-coding-components/p-0cb4fef5.js +68 -0
- package/dist/arcgis-coding-components/p-210b84af.js +6 -0
- package/dist/arcgis-coding-components/{p-10cab8d9.js → p-38ac5715.js} +2 -2
- package/dist/arcgis-coding-components/{p-41c932b5.js → p-4926ce1a.js} +3 -3
- package/dist/arcgis-coding-components/p-5a153155.entry.js +6 -0
- package/dist/arcgis-coding-components/{p-38534c31.js → p-5ebbf307.js} +3 -3
- package/dist/arcgis-coding-components/{p-8c6a6176.js → p-64a223f6.js} +3 -3
- package/dist/arcgis-coding-components/p-67743b19.js +6 -0
- package/dist/arcgis-coding-components/p-81daa81b.entry.js +6 -0
- package/dist/arcgis-coding-components/{p-14ab3ed5.js → p-8becedb9.js} +1 -1
- package/dist/arcgis-coding-components/{p-2a7ef2fd.js → p-9327da9f.js} +2 -2
- package/dist/arcgis-coding-components/{p-e11999af.js → p-a95711a0.js} +2 -2
- package/dist/arcgis-coding-components/{p-19b4f0e9.js → p-b53816d4.js} +2 -2
- package/dist/arcgis-coding-components/{p-022df536.js → p-d1bfcb69.js} +1 -1
- package/dist/arcgis-coding-components/p-ec5b9ea3.entry.js +6 -0
- package/dist/arcgis-coding-components/p-eca30e5b.js +6 -0
- package/dist/arcgis-coding-components/p-eee3ff96.js +7 -0
- package/dist/arcgis-coding-components/p-f9d23ea0.js +6 -0
- package/dist/cjs/{app-globals-8991f48d.js → app-globals-f4c1e97c.js} +1 -1
- package/dist/cjs/arcade-defaults-ec32f7d1.js +350 -0
- package/dist/cjs/{arcade-mode-ee5f5a57.js → arcade-mode-532caf55.js} +18 -5
- package/dist/cjs/arcgis-arcade-editor_6.cjs.entry.js +59 -103
- package/dist/cjs/arcgis-coding-components.cjs.js +5 -5
- package/dist/cjs/arcgis-sql-expression-editor.cjs.entry.js +32 -11
- package/dist/cjs/arcgis-sql-expression-fields.cjs.entry.js +16 -10
- package/dist/cjs/{css-c0ad88d7.js → css-498723df.js} +1 -1
- package/dist/cjs/{cssMode-deeb6f90.js → cssMode-2def57fb.js} +2 -3
- package/dist/cjs/{html-be08d94a.js → html-54a71c36.js} +2 -3
- package/dist/cjs/{htmlMode-f5b8239a.js → htmlMode-3a79512a.js} +2 -3
- package/dist/cjs/{index-358de60d.js → index-8f53c170.js} +203 -156
- package/dist/cjs/index.cjs.js +4 -4
- package/dist/cjs/{javascript-37d3d13f.js → javascript-67d269fa.js} +3 -4
- package/dist/cjs/{jsonMode-12a2a091.js → jsonMode-46d9bccc.js} +2 -3
- package/dist/cjs/{language-defaults-base-1f082ad7.js → language-defaults-base-337abff1.js} +812 -1036
- package/dist/cjs/loader.cjs.js +4 -4
- package/dist/cjs/{sql-expr-defaults-dca57c68.js → sql-expr-defaults-c246fecf.js} +226 -75
- package/dist/cjs/sql-expr-mode-58361d32.js +480 -0
- package/dist/cjs/{tsMode-d33a7021.js → tsMode-0032d144.js} +2 -3
- package/dist/cjs/{typescript-f3be2ce7.js → typescript-e84c6b80.js} +2 -3
- package/dist/components/arcade-defaults.js +239 -4
- package/dist/components/arcade-mode.js +18 -4
- package/dist/components/arcade-results.js +3 -3
- package/dist/components/arcade-suggestions.js +2 -2
- package/dist/components/arcade-variables.js +2 -2
- package/dist/components/arcgis-arcade-editor.js +21 -13
- package/dist/components/arcgis-arcade-results.js +1 -1
- package/dist/components/arcgis-arcade-suggestions.js +1 -1
- package/dist/components/arcgis-arcade-variables.js +1 -1
- package/dist/components/arcgis-assets.d.ts +26 -26
- package/dist/components/arcgis-assets.js +2 -2
- package/dist/components/arcgis-code-editor.js +1 -1
- package/dist/components/arcgis-language-api-panel.js +1 -1
- package/dist/components/arcgis-sql-expression-editor.js +33 -11
- package/dist/components/arcgis-sql-expression-fields.js +1 -1
- package/dist/components/{chunk-3IUJHIAA.js → chunk-WEX2VUZV.js} +87 -92
- package/dist/components/code-editor.js +17 -23
- package/dist/components/fields.js +4 -4
- package/dist/components/index.js +1 -1
- package/dist/components/index2.js +4 -4
- package/dist/components/language-api-panel.js +22 -4
- package/dist/components/language-defaults-base.js +61 -287
- package/dist/components/markdown.js +1 -1
- package/dist/components/sql-expr-defaults.js +77 -24
- package/dist/components/sql-expr-mode.js +294 -24950
- package/dist/components/sql-expression-fields.js +15 -8
- package/dist/components/useT9n.js +41 -2
- package/dist/components/utilities.js +1 -1
- package/dist/esm/{app-globals-3e4e0353.js → app-globals-fa265627.js} +1 -1
- package/dist/esm/arcade-defaults-337657fa.js +345 -0
- package/dist/esm/{arcade-mode-4a83348d.js → arcade-mode-a63523c8.js} +18 -5
- package/dist/esm/arcgis-arcade-editor_6.entry.js +55 -99
- package/dist/esm/arcgis-coding-components.js +6 -6
- package/dist/esm/arcgis-sql-expression-editor.entry.js +32 -11
- package/dist/esm/arcgis-sql-expression-fields.entry.js +16 -10
- package/dist/esm/{css-bad8d1c3.js → css-d85cb176.js} +1 -1
- package/dist/esm/{cssMode-68a5f601.js → cssMode-d79695ab.js} +2 -3
- package/dist/esm/{html-9b27df1a.js → html-16fb0022.js} +2 -3
- package/dist/esm/{htmlMode-361ad282.js → htmlMode-cb57ceed.js} +2 -3
- package/dist/esm/{index-8a552796.js → index-ebdb3a18.js} +203 -156
- package/dist/esm/index.js +4 -4
- package/dist/esm/{javascript-8004e14f.js → javascript-ae8e86d4.js} +3 -4
- package/dist/esm/{jsonMode-91a0be74.js → jsonMode-06c411fd.js} +2 -3
- package/dist/esm/{language-defaults-base-df906b3d.js → language-defaults-base-5dfd6f32.js} +809 -1036
- package/dist/esm/loader.js +5 -5
- package/dist/esm/{sql-expr-defaults-ae0be602.js → sql-expr-defaults-f324cf8f.js} +225 -74
- package/dist/esm/sql-expr-mode-f606957e.js +476 -0
- package/dist/esm/{tsMode-2756c213.js → tsMode-2114c9fd.js} +2 -3
- package/dist/esm/{typescript-1aaf3ddd.js → typescript-b771d29f.js} +2 -3
- package/dist/loader/cdn.js +2 -3
- package/dist/loader/index.cjs.js +2 -3
- package/dist/loader/index.d.ts +3 -0
- package/dist/loader/index.es2017.js +2 -3
- package/dist/loader/index.js +2 -3
- package/dist/types/components/arcade-editor/arcade-editor.d.ts +16 -5
- package/dist/types/components/code-editor/code-editor.d.ts +14 -4
- package/dist/types/components/language-api-panel/language-api-panel.d.ts +1 -0
- package/dist/types/components/sql-expression-editor/sql-expression-editor.d.ts +31 -3
- package/dist/types/components/sql-expression-fields/sql-expression-fields.d.ts +17 -0
- package/dist/types/components.d.ts +40 -13
- package/dist/types/data/arcgis-web-compoments/actions-runner-1/_work/arcgis-web-components/arcgis-web-components/packages/coding-packages/coding-components/.stencil/stencil.config.d.ts +3 -0
- package/dist/types/data/{actions-runner-1 → arcgis-web-compoments/actions-runner-1}/_work/arcgis-web-components/arcgis-web-components/packages/coding-packages/coding-components/.stencil/stories/internal/arcade-editor/arcade-editor.stories.d.ts +8 -1
- package/dist/types/data/{actions-runner-1 → arcgis-web-compoments/actions-runner-1}/_work/arcgis-web-components/arcgis-web-components/packages/coding-packages/coding-components/.stencil/stories/internal/arcade-editor/editorContext.d.ts +5 -1
- package/dist/types/stencil-public-runtime.d.ts +3 -10
- package/dist/types/utils/arcade-monaco/arcade-defaults.d.ts +1 -0
- package/dist/types/utils/arcade-monaco/arcade-language-features.d.ts +1 -0
- package/dist/types/utils/arcade-monaco/arcade-profile-strategy.d.ts +9 -0
- package/dist/types/utils/arcade-monaco/arcade-worker-manager.d.ts +6 -0
- package/dist/types/utils/fields.d.ts +2 -2
- package/dist/types/utils/profile/editor-profile.d.ts +7 -6
- package/dist/types/utils/profile/types.d.ts +28 -0
- package/dist/types/utils/profile/utils.d.ts +5 -1
- package/dist/types/utils/sql-expr-monaco/sql-expr-completion.d.ts +56 -5
- package/dist/types/utils/sql-expr-monaco/sql-expr-constants.d.ts +61 -0
- package/dist/types/utils/sql-expr-monaco/sql-expr-contribution.d.ts +1 -11
- package/dist/types/utils/sql-expr-monaco/sql-expr-defaults.d.ts +0 -1
- package/dist/types/utils/sql-expr-monaco/sql-expr-language-features.d.ts +18 -534
- package/dist/types/utils/sql-expr-monaco/sql-expr-mode.d.ts +34 -1
- package/dist/types/utils/sql-expr-monaco/sql-expr-parser-utils.d.ts +30 -0
- package/dist/types/utils/sql-expr-monaco/sql-expr-service-accessors.d.ts +19 -0
- package/dist/types/utils/sql-expr-monaco/sql-expr-validation-diagnostic-adapter.d.ts +0 -7
- package/dist/types/utils/sql-expr-monaco/sql-expr-validation-utils.d.ts +73 -77
- package/dist/types/utils/sql-expr-monaco/sql-expr-validation.d.ts +5 -6
- package/dist/types/utils/sql-expr-monaco/sql-expr-worker-manager.d.ts +8 -0
- package/dist/types/utils/sql-expr-monaco/sql-expr.worker.d.ts +11 -8
- package/dist/types/utils/sql-expr-monaco/sql-expression-profile-strategy.d.ts +13 -0
- package/dist/types/utils/sql-expr-monaco/types.d.ts +30 -28
- package/package.json +19 -19
- package/dist/arcgis-coding-components/p-1baf3624.entry.js +0 -6
- package/dist/arcgis-coding-components/p-8e61744c.js +0 -68
- package/dist/arcgis-coding-components/p-933de2b5.entry.js +0 -6
- package/dist/arcgis-coding-components/p-9dfc06ea.js +0 -6
- package/dist/arcgis-coding-components/p-a536144e.js +0 -6
- package/dist/arcgis-coding-components/p-cd67026d.js +0 -6
- package/dist/arcgis-coding-components/p-d7e83ea1.entry.js +0 -6
- package/dist/arcgis-coding-components/p-e055c041.js +0 -6
- package/dist/arcgis-coding-components/p-f1fab45e.js +0 -7
- package/dist/cjs/arcade-defaults-2d36c400.js +0 -116
- package/dist/cjs/sql-expr-mode-c644220d.js +0 -25135
- package/dist/esm/arcade-defaults-1adb5004.js +0 -111
- package/dist/esm/polyfills/core-js.js +0 -11
- package/dist/esm/polyfills/dom.js +0 -79
- package/dist/esm/polyfills/es5-html-element.js +0 -1
- package/dist/esm/polyfills/index.js +0 -34
- package/dist/esm/polyfills/system.js +0 -6
- package/dist/esm/sql-expr-mode-1821b2b9.js +0 -25132
- package/dist/types/data/actions-runner-1/_work/arcgis-web-components/arcgis-web-components/packages/coding-packages/coding-components/.stencil/stencil.config.d.ts +0 -3
- package/dist/types/utils/profile/predefined-profile.d.ts +0 -4
- package/dist/types/utils/sql-expr-monaco/DependentFiles/DateOnly.d.ts +0 -41
- package/dist/types/utils/sql-expr-monaco/DependentFiles/SqlInterval.d.ts +0 -16
- package/dist/types/utils/sql-expr-monaco/DependentFiles/SqlTimestampOffset.d.ts +0 -26
- package/dist/types/utils/sql-expr-monaco/DependentFiles/TimeOnly.d.ts +0 -37
- package/dist/types/utils/sql-expr-monaco/DependentFiles/UnknownTimeZone.d.ts +0 -11
- package/dist/types/utils/sql-expr-monaco/DependentFiles/WhereGrammar.d.ts +0 -122
- package/dist/types/utils/sql-expr-monaco/DependentFiles/sqlCompareUtils.d.ts +0 -5
- package/dist/types/utils/sql-expr-monaco/DependentFiles/sqlDateParsingUtils.d.ts +0 -18
- package/dist/types/utils/sql-expr-monaco/DependentFiles/sqlUtils.d.ts +0 -6
- package/dist/types/utils/sql-expr-monaco/DependentFiles/standardizedFunctions.d.ts +0 -156
- package/dist/types/utils/sql-expr-monaco/DependentFiles/support.d.ts +0 -150
- package/dist/types/utils/sql-expr-monaco/PeggyGrammar/sql92grammar.d.ts +0 -1397
- package/dist/types/utils/sql-expr-monaco/libraries/date/properties/index.d.ts +0 -59
- package/dist/types/utils/sql-expr-monaco/libraries/numeric/properties/index.d.ts +0 -295
- package/dist/types/utils/sql-expr-monaco/libraries/string/properties/index.d.ts +0 -135
- package/dist/types/utils/sql-expr-monaco/sql-expr-validation-adapter.d.ts +0 -3
- package/dist/types/utils/sql-expr-profile/predefined-profile.d.ts +0 -2
- /package/dist/types/data/{actions-runner-1 → arcgis-web-compoments/actions-runner-1}/_work/arcgis-web-components/arcgis-web-components/packages/coding-packages/coding-components/.stencil/stories/internal/code-editor/code-editor.stories.d.ts +0 -0
- /package/dist/types/data/{actions-runner-1 → arcgis-web-compoments/actions-runner-1}/_work/arcgis-web-components/arcgis-web-components/packages/coding-packages/coding-components/.stencil/stories/internal/sql-expression-editor/sql-expression-editor.stories.d.ts +0 -0
- /package/dist/types/data/{actions-runner-1 → arcgis-web-compoments/actions-runner-1}/_work/arcgis-web-components/arcgis-web-components/packages/coding-packages/coding-components/.stencil/stories/reference/stories/arcade-editor.stories.d.ts +0 -0
- /package/dist/types/data/{actions-runner-1 → arcgis-web-compoments/actions-runner-1}/_work/arcgis-web-components/arcgis-web-components/packages/coding-packages/coding-components/.stencil/support/sass-inline-url-importer.d.ts +0 -0
- /package/dist/types/data/{actions-runner-1 → arcgis-web-compoments/actions-runner-1}/_work/arcgis-web-components/arcgis-web-components/packages/coding-packages/coding-components/.stencil/support/sass-json-importer.d.ts +0 -0
- /package/dist/types/data/{actions-runner-1 → arcgis-web-compoments/actions-runner-1}/_work/arcgis-web-components/arcgis-web-components/packages/coding-packages/coding-components/.stencil/support/stencil-monaco-plugins.d.ts +0 -0
|
@@ -1,11 +1,12 @@
|
|
|
1
1
|
/*!
|
|
2
2
|
* All material copyright Esri, All Rights Reserved, unless otherwise specified.
|
|
3
3
|
* See https://js.arcgis.com/4.31/esri/copyright.txt for details.
|
|
4
|
-
* v4.31.0-next.
|
|
4
|
+
* v4.31.0-next.61
|
|
5
5
|
*/
|
|
6
6
|
import { Uri } from 'monaco-editor';
|
|
7
|
-
import {
|
|
8
|
-
import { f as fetchT9nStringsBundle } from './index2.js';
|
|
7
|
+
import { f as fieldsToProfileValues, i as isPredefinedProfile, a as isFeatureSetCollectionDefinition, b as isFeatureSetDefinition, c as isFeatureDefinition, L as LanguageDefaultsBase, E as EditorProfile } from './language-defaults-base.js';
|
|
8
|
+
import { s as supportedLocales, f as fetchT9nStringsBundle } from './index2.js';
|
|
9
|
+
import { CompletionItemKind, InsertTextMode, InsertTextFormat } from 'vscode-languageserver-types';
|
|
9
10
|
import { getArcgisAssetPath as getAssetPath } from "./arcgis-assets.js";
|
|
10
11
|
|
|
11
12
|
/**
|
|
@@ -43,6 +44,239 @@ async function getMode() {
|
|
|
43
44
|
return await import('./arcade-mode.js');
|
|
44
45
|
}
|
|
45
46
|
|
|
47
|
+
// #region convert editor profile to apiProfile
|
|
48
|
+
/**
|
|
49
|
+
* Converts an editor profile to an api profile.
|
|
50
|
+
* The api profile is an optimized version of the editor profile designed for minimal data transfer between the main thread and the worker.
|
|
51
|
+
*/
|
|
52
|
+
async function arcadeEditorToApiProfile(editorProfile) {
|
|
53
|
+
const { apiVersion, bundles, hiddenApiItems } = editorProfile.toEditorProfileDefinition();
|
|
54
|
+
const variables = await variablesToLSVariable(editorProfile.dictionaryVariables);
|
|
55
|
+
return { apiVersion, bundles, variables, hiddenApiItems: hiddenApiItems?.map((s) => s.toLowerCase()) };
|
|
56
|
+
}
|
|
57
|
+
async function variablesToLSVariable(editorVariables, kind = CompletionItemKind.Variable) {
|
|
58
|
+
return await Promise.all(editorVariables.map(async (editorVariable) => {
|
|
59
|
+
switch (editorVariable.type) {
|
|
60
|
+
case "dictionary":
|
|
61
|
+
return await dictionaryToLSDictionary(editorVariable, kind);
|
|
62
|
+
case "feature":
|
|
63
|
+
return await featureToLSFeature(editorVariable, kind);
|
|
64
|
+
default:
|
|
65
|
+
return variableToLSVariable(editorVariable, kind);
|
|
66
|
+
}
|
|
67
|
+
}));
|
|
68
|
+
}
|
|
69
|
+
function variableToLSVariable(editorVariable, kind) {
|
|
70
|
+
const { name, type } = editorVariable;
|
|
71
|
+
const description = editorVariable.getDescription();
|
|
72
|
+
return {
|
|
73
|
+
name,
|
|
74
|
+
description,
|
|
75
|
+
type,
|
|
76
|
+
completion: {
|
|
77
|
+
label: name,
|
|
78
|
+
detail: name,
|
|
79
|
+
insertText: name,
|
|
80
|
+
insertTextMode: InsertTextMode.asIs,
|
|
81
|
+
insertTextFormat: InsertTextFormat.PlainText,
|
|
82
|
+
kind,
|
|
83
|
+
documentation: { kind: "markdown", value: description },
|
|
84
|
+
},
|
|
85
|
+
};
|
|
86
|
+
}
|
|
87
|
+
async function featureToLSFeature(editorFeature, kind) {
|
|
88
|
+
// Get the source for the definition
|
|
89
|
+
const source = await editorFeature.loadSource();
|
|
90
|
+
const { name } = editorFeature;
|
|
91
|
+
const description = editorFeature.getDescription();
|
|
92
|
+
const resultCompletion = {
|
|
93
|
+
label: name,
|
|
94
|
+
detail: name,
|
|
95
|
+
insertText: name,
|
|
96
|
+
insertTextMode: InsertTextMode.asIs,
|
|
97
|
+
insertTextFormat: InsertTextFormat.PlainText,
|
|
98
|
+
kind,
|
|
99
|
+
};
|
|
100
|
+
const result = {
|
|
101
|
+
name,
|
|
102
|
+
description,
|
|
103
|
+
type: "dictionary",
|
|
104
|
+
properties: [],
|
|
105
|
+
completion: resultCompletion,
|
|
106
|
+
};
|
|
107
|
+
// No source definition, then it will be a feature without any known fields
|
|
108
|
+
if (!source) {
|
|
109
|
+
return result;
|
|
110
|
+
}
|
|
111
|
+
// Create properties for the fields and the aliases
|
|
112
|
+
// Also improve the feature completion documentation
|
|
113
|
+
const [properties, featureCompletionDescription] = fieldsToProfileValues(source.fields, description, true);
|
|
114
|
+
result.properties = properties;
|
|
115
|
+
resultCompletion.documentation = { kind: "markdown", value: featureCompletionDescription };
|
|
116
|
+
return result;
|
|
117
|
+
}
|
|
118
|
+
async function dictionaryToLSDictionary(editorDictionary, kind) {
|
|
119
|
+
const { name, dictionaryVariables: variables } = editorDictionary;
|
|
120
|
+
const description = editorDictionary.getDescription();
|
|
121
|
+
const completionDescription = variables.reduce((previous, p) => {
|
|
122
|
+
if (previous !== "") {
|
|
123
|
+
previous += " \n \n";
|
|
124
|
+
}
|
|
125
|
+
previous += `**${p.name}** \n${p.type}`;
|
|
126
|
+
const description = p.getDescription();
|
|
127
|
+
if (description) {
|
|
128
|
+
previous += ` \n${description}`;
|
|
129
|
+
}
|
|
130
|
+
return previous;
|
|
131
|
+
}, description);
|
|
132
|
+
return {
|
|
133
|
+
name,
|
|
134
|
+
description,
|
|
135
|
+
type: "dictionary",
|
|
136
|
+
properties: await variablesToLSVariable(variables, CompletionItemKind.Field),
|
|
137
|
+
completion: {
|
|
138
|
+
label: name,
|
|
139
|
+
detail: name,
|
|
140
|
+
insertText: name,
|
|
141
|
+
insertTextMode: InsertTextMode.asIs,
|
|
142
|
+
insertTextFormat: InsertTextFormat.PlainText,
|
|
143
|
+
kind,
|
|
144
|
+
documentation: { kind: "markdown", value: completionDescription },
|
|
145
|
+
},
|
|
146
|
+
};
|
|
147
|
+
}
|
|
148
|
+
// #endregion
|
|
149
|
+
// #region predefined profile to editor profile definition
|
|
150
|
+
/**
|
|
151
|
+
* Get a PredefinedProfile for a locale. If not already loaded then fetch it.
|
|
152
|
+
* If the locale doesn't exist or the locale profile file doesn't exist then returns
|
|
153
|
+
* the english version of the profile.
|
|
154
|
+
*/
|
|
155
|
+
async function getSdkPredefinedProfiles(locale = "en") {
|
|
156
|
+
const profiles = sdkPredefinedProfilesMap.get(locale);
|
|
157
|
+
if (profiles) {
|
|
158
|
+
return profiles;
|
|
159
|
+
}
|
|
160
|
+
if (!supportedLocales.has(locale)) {
|
|
161
|
+
return await getSdkPredefinedProfiles("en");
|
|
162
|
+
}
|
|
163
|
+
try {
|
|
164
|
+
const response = await fetch(getAssetPath(`./assets/arcade-language/profiles/arcade-profiles.t9n.${locale}.json`));
|
|
165
|
+
if (response.ok) {
|
|
166
|
+
return cacheSdkPredefinedProfiles(locale, (await response.json()));
|
|
167
|
+
}
|
|
168
|
+
if (locale === "en") {
|
|
169
|
+
return null;
|
|
170
|
+
}
|
|
171
|
+
return await getSdkPredefinedProfiles("en");
|
|
172
|
+
}
|
|
173
|
+
catch {
|
|
174
|
+
return null;
|
|
175
|
+
}
|
|
176
|
+
}
|
|
177
|
+
const sdkPredefinedProfilesMap = new Map();
|
|
178
|
+
/**
|
|
179
|
+
* Convert a stored profile into a PredefinedProfile and add it to the in-memory
|
|
180
|
+
* Map of profiles per locale.
|
|
181
|
+
*/
|
|
182
|
+
function cacheSdkPredefinedProfiles(locale, profiles) {
|
|
183
|
+
const map = new Map();
|
|
184
|
+
profiles.forEach((profile) => {
|
|
185
|
+
map.set(profile.id, profile);
|
|
186
|
+
});
|
|
187
|
+
sdkPredefinedProfilesMap.set(locale, map);
|
|
188
|
+
return map;
|
|
189
|
+
}
|
|
190
|
+
async function getSdkPredefinedProfile(id, locale = "en") {
|
|
191
|
+
const profiles = await getSdkPredefinedProfiles(locale);
|
|
192
|
+
return profiles?.get(id) ?? null;
|
|
193
|
+
}
|
|
194
|
+
function isExtendedPredefinedProfileDefinition(item) {
|
|
195
|
+
return !!item && typeof item === "object" && "additionalVariables" in item && Array.isArray(item.additionalVariables);
|
|
196
|
+
}
|
|
197
|
+
function convertApiVariables(variables) {
|
|
198
|
+
return variables?.map(convertApiVariable);
|
|
199
|
+
}
|
|
200
|
+
function convertApiVariable(variable) {
|
|
201
|
+
switch (variable.type) {
|
|
202
|
+
case "dictionary":
|
|
203
|
+
return {
|
|
204
|
+
...variable,
|
|
205
|
+
type: variable.type,
|
|
206
|
+
properties: convertApiVariables(variable.properties),
|
|
207
|
+
};
|
|
208
|
+
case "array": {
|
|
209
|
+
return {
|
|
210
|
+
...variable,
|
|
211
|
+
type: variable.type,
|
|
212
|
+
elementType: { type: "number", name: "number" },
|
|
213
|
+
};
|
|
214
|
+
}
|
|
215
|
+
default:
|
|
216
|
+
return { ...variable, type: variable.type };
|
|
217
|
+
}
|
|
218
|
+
}
|
|
219
|
+
async function convertToEditorProfileDefinition(predefinedProfile, locale = "en") {
|
|
220
|
+
if (!isPredefinedProfile(predefinedProfile)) {
|
|
221
|
+
return undefined;
|
|
222
|
+
}
|
|
223
|
+
const sdkPredefinedProfile = await getSdkPredefinedProfile(predefinedProfile.id, locale);
|
|
224
|
+
if (!sdkPredefinedProfile) {
|
|
225
|
+
return undefined;
|
|
226
|
+
}
|
|
227
|
+
const editorProfile = {
|
|
228
|
+
bundles: [...sdkPredefinedProfile.bundles],
|
|
229
|
+
variables: [],
|
|
230
|
+
hiddenApiItems: predefinedProfile.hiddenApiItems?.map((s) => s.toLowerCase()),
|
|
231
|
+
};
|
|
232
|
+
// Merge the SDK variables' definitions/properties with the predefined profile definitions.
|
|
233
|
+
sdkPredefinedProfile.variables.forEach((predefinedVariable) => {
|
|
234
|
+
// Don't include disabled variables
|
|
235
|
+
if (predefinedProfile.disabledVariables?.includes(predefinedVariable.name)) {
|
|
236
|
+
return;
|
|
237
|
+
}
|
|
238
|
+
// Try to get a definition from the predefined profile, for the variable that needs one.
|
|
239
|
+
const definition = predefinedProfile.definitions[predefinedVariable.name];
|
|
240
|
+
// Note: Something is weird with TS. The sdkVariables are being casted to the wrong type
|
|
241
|
+
// despite the type checking from the switch statement.
|
|
242
|
+
switch (predefinedVariable.type) {
|
|
243
|
+
case "dictionary": {
|
|
244
|
+
// For dictionary, we support properties overrride
|
|
245
|
+
return editorProfile.variables.push(convertApiVariable({
|
|
246
|
+
...predefinedVariable,
|
|
247
|
+
type: predefinedVariable.type,
|
|
248
|
+
properties: Array.isArray(definition) ? [...definition] : predefinedVariable.properties,
|
|
249
|
+
}));
|
|
250
|
+
}
|
|
251
|
+
case "feature":
|
|
252
|
+
// If the definition is not valid, then we don't include it.
|
|
253
|
+
if (!isFeatureDefinition(definition)) {
|
|
254
|
+
return;
|
|
255
|
+
}
|
|
256
|
+
return editorProfile.variables.push({ ...predefinedVariable, type: predefinedVariable.type, definition });
|
|
257
|
+
case "featureSet":
|
|
258
|
+
// If the definition is not valid, then we don't include it.
|
|
259
|
+
if (!isFeatureSetDefinition(definition)) {
|
|
260
|
+
return;
|
|
261
|
+
}
|
|
262
|
+
return editorProfile.variables.push({ ...predefinedVariable, type: predefinedVariable.type, definition });
|
|
263
|
+
case "featureSetCollection":
|
|
264
|
+
// If the definition is not valid, then we don't include it.
|
|
265
|
+
if (!isFeatureSetCollectionDefinition(definition)) {
|
|
266
|
+
return;
|
|
267
|
+
}
|
|
268
|
+
return editorProfile.variables.push({ ...predefinedVariable, type: predefinedVariable.type, definition });
|
|
269
|
+
default:
|
|
270
|
+
return editorProfile.variables.push(convertApiVariable(predefinedVariable));
|
|
271
|
+
}
|
|
272
|
+
});
|
|
273
|
+
if (isExtendedPredefinedProfileDefinition(predefinedProfile)) {
|
|
274
|
+
editorProfile.variables.push(...(predefinedProfile.additionalVariables ?? []));
|
|
275
|
+
}
|
|
276
|
+
return editorProfile;
|
|
277
|
+
}
|
|
278
|
+
// #endregion
|
|
279
|
+
|
|
46
280
|
const arcadeLanguageId = "arcade";
|
|
47
281
|
class ArcadeLanguageServiceDefaults extends LanguageDefaultsBase {
|
|
48
282
|
constructor() {
|
|
@@ -73,7 +307,7 @@ class ArcadeLanguageServiceDefaults extends LanguageDefaultsBase {
|
|
|
73
307
|
const key = this._getApiKey(modelId);
|
|
74
308
|
const editorProfile = new EditorProfile(definition, profileStrings);
|
|
75
309
|
this._profileMap.set(key, editorProfile);
|
|
76
|
-
const apiProfile = await editorProfile
|
|
310
|
+
const apiProfile = await arcadeEditorToApiProfile(editorProfile);
|
|
77
311
|
this.updateApiContextForModel(modelId, {
|
|
78
312
|
locale: apiContext.locale,
|
|
79
313
|
profile: apiProfile,
|
|
@@ -108,6 +342,7 @@ class ArcadeLanguageServiceDefaults extends LanguageDefaultsBase {
|
|
|
108
342
|
const arcadeDefaults = new ArcadeLanguageServiceDefaults();
|
|
109
343
|
const arcade = {
|
|
110
344
|
setProfileForModel: arcadeDefaults.setProfileForModel.bind(arcadeDefaults),
|
|
345
|
+
getApiLibrary: arcadeDefaults.getApiLibrary.bind(arcadeDefaults),
|
|
111
346
|
};
|
|
112
347
|
|
|
113
348
|
export { arcade as a, arcadeDefaults as b, getMode as c, getArcadeDiagnosticService as g };
|
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
/*!
|
|
2
2
|
* All material copyright Esri, All Rights Reserved, unless otherwise specified.
|
|
3
3
|
* See https://js.arcgis.com/4.31/esri/copyright.txt for details.
|
|
4
|
-
* v4.31.0-next.
|
|
4
|
+
* v4.31.0-next.61
|
|
5
5
|
*/
|
|
6
6
|
import { editor, MarkerSeverity, Range, languages, Emitter } from 'monaco-editor';
|
|
7
7
|
import { CompletionItemKind, DiagnosticSeverity, InsertTextFormat } from 'vscode-languageserver-types';
|
|
8
|
-
import { t as debounce } from './index2.js';
|
|
8
|
+
import { t as debounce, D as Deferred } from './index2.js';
|
|
9
9
|
|
|
10
|
-
var V={False:"false",Null:"null",True:"true"},f={Break:"break",Continue:"continue",Else:"else",For:"for",From:"from",Function:"function",If:"if",Import:"import",Export:"export",In:"in",Return:"return",Var:"var",While:"while"},Ee=["++","--"],Je=["-","+","!","~"],Qe=["=","/=","*=","%=","+=","-="],Ze=["||","&&"],
|
|
10
|
+
var V={False:"false",Null:"null",True:"true"},f={Break:"break",Continue:"continue",Else:"else",For:"for",From:"from",Function:"function",If:"if",Import:"import",Export:"export",In:"in",Return:"return",Var:"var",While:"while"},Ee=["++","--"],Je=["-","+","!","~"],Qe=["=","/=","*=","%=","+=","-="],Ze=["||","&&"],Bt=["|","&",">>","<<",">>>","^","==","!=","<","<=",">",">=","+","-","*","/","%"];var U=[[],[],[]];Ee.forEach(t=>U[t.length-1]?.push(t));Je.forEach(t=>U[t.length-1]?.push(t));Ze.forEach(t=>U[t.length-1]?.push(t));Qe.forEach(t=>U[t.length-1]?.push(t));Bt.forEach(t=>U[t.length-1]?.push(t));var ft=Object.values(f),gt=Object.values(V);gt.map(t=>({label:t,kind:CompletionItemKind.Constant}));ft.map(t=>({label:t,kind:CompletionItemKind.Keyword}));
|
|
11
11
|
|
|
12
12
|
const operators = [
|
|
13
13
|
"<=",
|
|
@@ -344,6 +344,7 @@ function isInsertReplaceEdit(edit) {
|
|
|
344
344
|
return (typeof edit.insert !== "undefined" &&
|
|
345
345
|
typeof edit.replace !== "undefined");
|
|
346
346
|
}
|
|
347
|
+
// TODO: extract this function to common util
|
|
347
348
|
function toCompletionItemKind(kind) {
|
|
348
349
|
const mItemKind = languages.CompletionItemKind;
|
|
349
350
|
switch (kind) {
|
|
@@ -477,6 +478,8 @@ class FormattingProvider {
|
|
|
477
478
|
}
|
|
478
479
|
//#endregion
|
|
479
480
|
|
|
481
|
+
// hold onto a promise that resolves when the worker is ready
|
|
482
|
+
let deferredWorker = new Deferred();
|
|
480
483
|
/**
|
|
481
484
|
* Manager to create our arcade worker and client proxy
|
|
482
485
|
*/
|
|
@@ -496,9 +499,17 @@ class WorkerManager {
|
|
|
496
499
|
if (this._worker) {
|
|
497
500
|
this._worker.dispose();
|
|
498
501
|
this._worker = null;
|
|
502
|
+
deferredWorker = new Deferred();
|
|
499
503
|
}
|
|
500
504
|
this._client = null;
|
|
501
505
|
}
|
|
506
|
+
/**
|
|
507
|
+
* Wait for the worker to be ready.
|
|
508
|
+
* @returns A promise that resolves when the worker is ready.
|
|
509
|
+
*/
|
|
510
|
+
static async waitForWorker() {
|
|
511
|
+
return await deferredWorker.promise;
|
|
512
|
+
}
|
|
502
513
|
async _getClientProxy() {
|
|
503
514
|
// We used createWebWorker to create or run the web worker if it isn’t already created.
|
|
504
515
|
// Otherwise, we get and return the proxy client.
|
|
@@ -512,6 +523,7 @@ class WorkerManager {
|
|
|
512
523
|
languageOptions,
|
|
513
524
|
},
|
|
514
525
|
});
|
|
526
|
+
deferredWorker.resolve(this._worker);
|
|
515
527
|
this._client = this._worker.getProxy();
|
|
516
528
|
}
|
|
517
529
|
return await this._client;
|
|
@@ -530,9 +542,11 @@ let arcadeWorker;
|
|
|
530
542
|
* @returns The arcade worker.
|
|
531
543
|
*/
|
|
532
544
|
async function getArcadeWorker(...uris) {
|
|
545
|
+
// ensures the worker is registered
|
|
546
|
+
await WorkerManager.waitForWorker();
|
|
533
547
|
return await new Promise((resolve, reject) => {
|
|
534
548
|
if (!arcadeWorker) {
|
|
535
|
-
reject(new Error("
|
|
549
|
+
reject(new Error("Arcade not registered!"));
|
|
536
550
|
return;
|
|
537
551
|
}
|
|
538
552
|
resolve(arcadeWorker(...uris));
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
/*!
|
|
2
2
|
* All material copyright Esri, All Rights Reserved, unless otherwise specified.
|
|
3
3
|
* See https://js.arcgis.com/4.31/esri/copyright.txt for details.
|
|
4
|
-
* v4.31.0-next.
|
|
4
|
+
* v4.31.0-next.61
|
|
5
5
|
*/
|
|
6
6
|
import { proxyCustomElement, HTMLElement, createEvent, h, Fragment, Host, forceUpdate } from '@stencil/core/internal/client';
|
|
7
7
|
import { g as importArcade, s as supportedFields } from './fields.js';
|
|
8
|
-
import { u as useControllerManager } from './chunk-
|
|
9
|
-
import {
|
|
8
|
+
import { u as useControllerManager } from './chunk-WEX2VUZV.js';
|
|
9
|
+
import { c as setValuesInString, q as quoteString } from './index2.js';
|
|
10
10
|
import { u as useT9n } from './useT9n.js';
|
|
11
11
|
import "@esri/calcite-components/dist/components/calcite-tree.js";
|
|
12
12
|
import "@esri/calcite-components/dist/components/calcite-tree-item.js";
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
/*!
|
|
2
2
|
* All material copyright Esri, All Rights Reserved, unless otherwise specified.
|
|
3
3
|
* See https://js.arcgis.com/4.31/esri/copyright.txt for details.
|
|
4
|
-
* v4.31.0-next.
|
|
4
|
+
* v4.31.0-next.61
|
|
5
5
|
*/
|
|
6
6
|
import { proxyCustomElement, HTMLElement, createEvent, forceUpdate, h, Host } from '@stencil/core/internal/client';
|
|
7
7
|
import { g as generateColorizeStyles, o as onColorizeThemeChanged, c as convertMarkdownString, a as colorizeCodeElement } from './markdown.js';
|
|
8
8
|
import { f as filterCollection } from './utilities.js';
|
|
9
|
-
import { u as useControllerManager } from './chunk-
|
|
9
|
+
import { u as useControllerManager } from './chunk-WEX2VUZV.js';
|
|
10
10
|
import { r as setFocusOnElement } from './index2.js';
|
|
11
11
|
import { u as useT9n } from './useT9n.js';
|
|
12
12
|
import "@esri/calcite-components/dist/components/calcite-list-item-group.js";
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
/*!
|
|
2
2
|
* All material copyright Esri, All Rights Reserved, unless otherwise specified.
|
|
3
3
|
* See https://js.arcgis.com/4.31/esri/copyright.txt for details.
|
|
4
|
-
* v4.31.0-next.
|
|
4
|
+
* v4.31.0-next.61
|
|
5
5
|
*/
|
|
6
6
|
import { proxyCustomElement, HTMLElement, createEvent, forceUpdate, h } from '@stencil/core/internal/client';
|
|
7
|
-
import { u as useControllerManager } from './chunk-
|
|
7
|
+
import { u as useControllerManager } from './chunk-WEX2VUZV.js';
|
|
8
8
|
import { r as setFocusOnElement, d as createFilterExpression } from './index2.js';
|
|
9
9
|
import { b as arcadeDefaults } from './arcade-defaults.js';
|
|
10
10
|
import { u as useT9n } from './useT9n.js';
|
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
/*!
|
|
2
2
|
* All material copyright Esri, All Rights Reserved, unless otherwise specified.
|
|
3
3
|
* See https://js.arcgis.com/4.31/esri/copyright.txt for details.
|
|
4
|
-
* v4.31.0-next.
|
|
4
|
+
* v4.31.0-next.61
|
|
5
5
|
*/
|
|
6
6
|
import { proxyCustomElement, HTMLElement, createEvent, forceUpdate, h, Fragment, Host } from '@stencil/core/internal/client';
|
|
7
7
|
import { KeyCode } from 'monaco-editor';
|
|
8
8
|
import { d as defineCustomElement$6, e as executeScript, D as DevelopersWebSitePath } from './arcade-results.js';
|
|
9
9
|
import { d as defineCustomElement$3, u as updateThemeColors, c as colorRulesKeys, s as setupMonacoEnvironment } from './code-editor.js';
|
|
10
|
-
import { u as useControllerManager, g as getSet } from './chunk-
|
|
10
|
+
import { u as useControllerManager, g as getSet } from './chunk-WEX2VUZV.js';
|
|
11
11
|
import { D as Deferred, g as generateGuid, e as getElementTheme } from './index2.js';
|
|
12
12
|
import { b as arcadeDefaults, g as getArcadeDiagnosticService } from './arcade-defaults.js';
|
|
13
13
|
import { u as useT9n } from './useT9n.js';
|
|
@@ -108,11 +108,13 @@ this.constructor.__registerControllers = ()=>__cmpMeta[2]??{};
|
|
|
108
108
|
set: "ignore",
|
|
109
109
|
});
|
|
110
110
|
}
|
|
111
|
-
_messagesChanged() {
|
|
112
|
-
this.
|
|
111
|
+
async _messagesChanged() {
|
|
112
|
+
await this._updateEditorProfile().catch(console.error);
|
|
113
|
+
await this._updateApiLibrary().catch(console.error);
|
|
113
114
|
}
|
|
114
|
-
_profileChanged() {
|
|
115
|
-
this.
|
|
115
|
+
async _profileChanged() {
|
|
116
|
+
await this._updateEditorProfile().catch(console.error);
|
|
117
|
+
await this._updateApiLibrary().catch(console.error);
|
|
116
118
|
}
|
|
117
119
|
_testDataChanged() {
|
|
118
120
|
if (!this._showExecutionPanel) {
|
|
@@ -194,12 +196,15 @@ this.constructor.__registerControllers = ()=>__cmpMeta[2]??{};
|
|
|
194
196
|
// However, we need to setup the environment before the code editor is instantiated because
|
|
195
197
|
// we need to access the arcade language service to get the api library.
|
|
196
198
|
setupMonacoEnvironment(assetsPath);
|
|
197
|
-
await this.
|
|
199
|
+
await this._updateEditorProfile();
|
|
198
200
|
}
|
|
199
201
|
async componentDidLoad() {
|
|
200
202
|
// Mark on component as ready.
|
|
201
203
|
// Some methods are waiting for this state to actually continue.
|
|
202
204
|
this._componentReadyDefer.resolve();
|
|
205
|
+
// We do updateApiLibrary in componentDidLoad because we need to wait until code editor
|
|
206
|
+
// is rendered for worker to register and allow for fetching the sdk
|
|
207
|
+
await this._updateApiLibrary();
|
|
203
208
|
// Start listening to the validation diagnostics.
|
|
204
209
|
// We are doing this as late as possible
|
|
205
210
|
const diagnosticsService = await getArcadeDiagnosticService();
|
|
@@ -229,7 +234,7 @@ this.constructor.__registerControllers = ()=>__cmpMeta[2]??{};
|
|
|
229
234
|
}
|
|
230
235
|
// #endregion
|
|
231
236
|
// #region Private methods API
|
|
232
|
-
async
|
|
237
|
+
async _updateEditorProfile() {
|
|
233
238
|
// The profile definition or the locale has changed.
|
|
234
239
|
// Ask the arcade defaults to prepare the profile for the model and to download the api library.
|
|
235
240
|
this._preparingArcade = true;
|
|
@@ -239,7 +244,6 @@ this.constructor.__registerControllers = ()=>__cmpMeta[2]??{};
|
|
|
239
244
|
snippets: this.snippets,
|
|
240
245
|
});
|
|
241
246
|
this._editorProfile = arcadeDefaults.getEditorProfileForModel(this._modelId);
|
|
242
|
-
this._apiLibrary = await arcadeDefaults.getApiLibrary(this._modelId);
|
|
243
247
|
}
|
|
244
248
|
catch {
|
|
245
249
|
this._editorProfile = undefined;
|
|
@@ -249,6 +253,9 @@ this.constructor.__registerControllers = ()=>__cmpMeta[2]??{};
|
|
|
249
253
|
this._preparingArcade = false;
|
|
250
254
|
}
|
|
251
255
|
}
|
|
256
|
+
async _updateApiLibrary() {
|
|
257
|
+
this._apiLibrary = await arcadeDefaults.getApiLibrary(this._modelId);
|
|
258
|
+
}
|
|
252
259
|
// #endregion
|
|
253
260
|
//#region Render Main Action Bar
|
|
254
261
|
renderMainActionBar() {
|
|
@@ -260,12 +267,12 @@ this.constructor.__registerControllers = ()=>__cmpMeta[2]??{};
|
|
|
260
267
|
//#endregion
|
|
261
268
|
//#region Render Main Panel
|
|
262
269
|
renderMainPanel() {
|
|
263
|
-
return (h("arcgis-code-editor", { class: "flex-adjustable", language: arcadeDefaults.languageId, value: this.script ?? "", modelId: this._modelId,
|
|
270
|
+
return (h("arcgis-code-editor", { class: "flex-adjustable", editorOptions: this.editorOptions, language: arcadeDefaults.languageId, value: this.script ?? "", modelId: this._modelId, onArcgisValueChange: this._onCodeEditorValueChange, ref: (e) => (this._codeEditorElt = e) }));
|
|
264
271
|
}
|
|
265
272
|
//#endregion
|
|
266
273
|
//#region Rendering the Action Bar
|
|
267
|
-
renderAction({ id, label, icon, active, panelName, onClick = this._toggleSidePanel, }) {
|
|
268
|
-
return (h(Fragment, null, h("calcite-action", { id: id, text: label, icon: icon, active: active, onClick: onClick, "data-panel-name": panelName }), !this.sideActionBarExpanded && (h("calcite-tooltip", {
|
|
274
|
+
renderAction({ id, label, icon, active, panelName, iconFlipRtl = false, onClick = this._toggleSidePanel, }) {
|
|
275
|
+
return (h(Fragment, null, h("calcite-action", { id: id, text: label, icon: icon, active: active, onClick: onClick, "data-panel-name": panelName, iconFlipRtl: iconFlipRtl }), !this.sideActionBarExpanded && (h("calcite-tooltip", { "reference-element": id }, h("span", null, label)))));
|
|
269
276
|
}
|
|
270
277
|
renderSideActionBar() {
|
|
271
278
|
if (this.hideSideBar) {
|
|
@@ -299,6 +306,7 @@ this.constructor.__registerControllers = ()=>__cmpMeta[2]??{};
|
|
|
299
306
|
icon: "question",
|
|
300
307
|
active: false,
|
|
301
308
|
panelName: "none",
|
|
309
|
+
iconFlipRtl: this.messages._lang === "ar",
|
|
302
310
|
onClick: this._openArcadeHelp,
|
|
303
311
|
}))));
|
|
304
312
|
}
|
|
@@ -330,7 +338,7 @@ this.constructor.__registerControllers = ()=>__cmpMeta[2]??{};
|
|
|
330
338
|
//#endregion
|
|
331
339
|
//#region Render
|
|
332
340
|
render() {
|
|
333
|
-
return (h(Host, { key: '
|
|
341
|
+
return (h(Host, { key: '0d94f0940e22ebdf09ce14dac1f29ff6d0cda848' }, this.renderMainActionBar(), h("div", { key: 'cf41e32ee268570fc70204de9885f351bf2f0f6e', class: "flex-row flex-adjustable" }, h("div", { key: 'd2dd6c0e068baa18aa057b53b31b5ee552de97bc', class: "flex-column flex-adjustable" }, this.renderMainPanel(), this.renderResultsPanel()), this.renderSidePanel(), this.renderSideActionBar())));
|
|
334
342
|
}
|
|
335
343
|
static get assetsDirs() { return ["assets"]; }
|
|
336
344
|
get el() { return this; }
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/*!
|
|
2
2
|
* All material copyright Esri, All Rights Reserved, unless otherwise specified.
|
|
3
3
|
* See https://js.arcgis.com/4.31/esri/copyright.txt for details.
|
|
4
|
-
* v4.31.0-next.
|
|
4
|
+
* v4.31.0-next.61
|
|
5
5
|
*/
|
|
6
6
|
import { A as ArcgisArcadeResults$1, d as defineCustomElement$1 } from './arcade-results.js';
|
|
7
7
|
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/*!
|
|
2
2
|
* All material copyright Esri, All Rights Reserved, unless otherwise specified.
|
|
3
3
|
* See https://js.arcgis.com/4.31/esri/copyright.txt for details.
|
|
4
|
-
* v4.31.0-next.
|
|
4
|
+
* v4.31.0-next.61
|
|
5
5
|
*/
|
|
6
6
|
import { A as ArcgisArcadeSuggestions$1, d as defineCustomElement$1 } from './arcade-suggestions.js';
|
|
7
7
|
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/*!
|
|
2
2
|
* All material copyright Esri, All Rights Reserved, unless otherwise specified.
|
|
3
3
|
* See https://js.arcgis.com/4.31/esri/copyright.txt for details.
|
|
4
|
-
* v4.31.0-next.
|
|
4
|
+
* v4.31.0-next.61
|
|
5
5
|
*/
|
|
6
6
|
import { A as ArcgisArcadeVariables$1, d as defineCustomElement$1 } from './arcade-variables.js';
|
|
7
7
|
|
|
@@ -1,35 +1,35 @@
|
|
|
1
|
-
|
|
2
1
|
/*!
|
|
3
2
|
* All material copyright Esri, All Rights Reserved, unless otherwise specified.
|
|
4
3
|
* See https://js.arcgis.com/4.31/esri/copyright.txt for details.
|
|
5
|
-
* v4.31.0-next.
|
|
4
|
+
* v4.31.0-next.61
|
|
6
5
|
*/
|
|
6
|
+
|
|
7
7
|
/**
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
8
|
+
* Get the base path to where the package assets can be found.
|
|
9
|
+
* By default, the package asset path is set to "https://js.arcgis.com/<simplified-package-name>/<released-verion>/".
|
|
10
|
+
* We are hosting our assets on a CDN (Content Delivery Network) to ensure fast and reliable access.
|
|
11
|
+
* It is CORS-enabled, so you can load the assets from any domain.
|
|
12
|
+
* Use "setArcgisAssetPath(path)" if the path needs to be customized.
|
|
13
|
+
*/
|
|
14
14
|
export declare const getArcgisAssetPath: (path: string) => string;
|
|
15
15
|
|
|
16
16
|
/**
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
17
|
+
* Used to manually set the base path where package assets can be found.
|
|
18
|
+
*
|
|
19
|
+
* By default, the package asset path is set to "https://js.arcgis.com/<simplified-package-name>/<released-verion>/".
|
|
20
|
+
* For example, "https://js.arcgis.com/map-components/4.29/".
|
|
21
|
+
* We are hosting our assets on a CDN (Content Delivery Network) to ensure fast and reliable access.
|
|
22
|
+
* It is CORS-enabled, so you can load the assets from any domain.
|
|
23
|
+
* This is the recommended way to load the assets and avoid bundling them with your application.
|
|
24
|
+
* It means that by default, you don't need to use "setArcgisAssetPath" since the path is already set.
|
|
25
|
+
*
|
|
26
|
+
* However, if you need to host the assets locally, you can use "setArcgisAssetPath" to set the base path.
|
|
27
|
+
* If the script is used as "module", it's recommended to use "import.meta.url",
|
|
28
|
+
* such as "setArcgisAssetPath(import.meta.url)". Other options include
|
|
29
|
+
* "setArcgisAssetPath(document.currentScript.src)", or using a bundler's replace plugin to
|
|
30
|
+
* dynamically set the path at build time, such as "setArcgisAssetPath(process.env.ASSET_PATH)".
|
|
31
|
+
* But do note that this configuration depends on how your script is bundled, or lack of
|
|
32
|
+
* bundling, and where your assets can be loaded from. Additionally custom bundling
|
|
33
|
+
* will have to ensure the static assets are copied to its build directory.
|
|
34
|
+
*/
|
|
35
35
|
export declare const setArcgisAssetPath: (path: string) => void;
|
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
|
|
2
1
|
/*!
|
|
3
2
|
* All material copyright Esri, All Rights Reserved, unless otherwise specified.
|
|
4
3
|
* See https://js.arcgis.com/4.31/esri/copyright.txt for details.
|
|
5
|
-
* v4.31.0-next.
|
|
4
|
+
* v4.31.0-next.61
|
|
6
5
|
*/
|
|
7
6
|
let resourceUrl = "https://js.arcgis.com/coding-components/next/";
|
|
7
|
+
|
|
8
8
|
export const getArcgisAssetPath = (path) => {
|
|
9
9
|
const assetUrl = new URL(path, resourceUrl);
|
|
10
10
|
return assetUrl.origin !== window.location.origin ? assetUrl.href : assetUrl.pathname;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/*!
|
|
2
2
|
* All material copyright Esri, All Rights Reserved, unless otherwise specified.
|
|
3
3
|
* See https://js.arcgis.com/4.31/esri/copyright.txt for details.
|
|
4
|
-
* v4.31.0-next.
|
|
4
|
+
* v4.31.0-next.61
|
|
5
5
|
*/
|
|
6
6
|
import { A as ArcgisCodeEditor$1, d as defineCustomElement$1 } from './code-editor.js';
|
|
7
7
|
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/*!
|
|
2
2
|
* All material copyright Esri, All Rights Reserved, unless otherwise specified.
|
|
3
3
|
* See https://js.arcgis.com/4.31/esri/copyright.txt for details.
|
|
4
|
-
* v4.31.0-next.
|
|
4
|
+
* v4.31.0-next.61
|
|
5
5
|
*/
|
|
6
6
|
import { A as ArcgisLanguageApiPanel$1, d as defineCustomElement$1 } from './language-api-panel.js';
|
|
7
7
|
|