@arcgis/coding-components 4.30.0 → 4.31.0-next.10
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/arcgis-coding-components/arcgis-coding-components.esm.js +3 -3
- package/dist/arcgis-coding-components/assets/code-editor/arcade.worker.js +13 -13
- package/dist/arcgis-coding-components/assets/code-editor/css.worker.js +1 -1
- package/dist/arcgis-coding-components/assets/code-editor/html.worker.js +1 -1
- package/dist/arcgis-coding-components/assets/code-editor/json.worker.js +1 -1
- package/dist/arcgis-coding-components/assets/code-editor/sql-expr.worker.js +11 -0
- package/dist/arcgis-coding-components/assets/code-editor/ts.worker.js +1 -1
- package/dist/arcgis-coding-components/assets/sql-expression-editor/api/sql-expression-api.t9n.en.json +735 -0
- package/dist/arcgis-coding-components/index.esm.js +3 -3
- package/dist/arcgis-coding-components/p-025fda85.js +6 -0
- package/dist/arcgis-coding-components/{p-b7981062.js → p-02cae55d.js} +4 -4
- package/dist/arcgis-coding-components/p-193ac44f.js +6 -0
- package/dist/arcgis-coding-components/{p-ed5c78ce.js → p-22253750.js} +2 -2
- package/dist/arcgis-coding-components/p-4fc79a07.entry.js +6 -0
- package/dist/arcgis-coding-components/p-50484a4f.js +6 -0
- package/dist/arcgis-coding-components/p-6e28fd70.js +6 -0
- package/dist/arcgis-coding-components/p-7164c348.js +6 -0
- package/dist/arcgis-coding-components/p-767b17ee.entry.js +6 -0
- package/dist/arcgis-coding-components/{p-69ef969a.js → p-790067b1.js} +11 -11
- package/dist/arcgis-coding-components/{p-e9510c84.js → p-8196fa73.js} +3 -3
- package/dist/arcgis-coding-components/{p-f40fe9c5.js → p-8cf09bcc.js} +2 -2
- package/dist/arcgis-coding-components/{p-ca3f5530.js → p-923858b5.js} +3 -3
- package/dist/arcgis-coding-components/{p-ae0db715.js → p-960aa9dc.js} +3 -3
- package/dist/arcgis-coding-components/p-9956a574.js +6 -0
- package/dist/arcgis-coding-components/{p-9770fb37.js → p-ab78d6c4.js} +4 -4
- package/dist/arcgis-coding-components/{p-e37595ba.js → p-ad75160d.js} +4 -4
- package/dist/arcgis-coding-components/{p-24fb1d11.js → p-da9431ba.js} +3 -3
- package/dist/arcgis-coding-components/p-f452d4b8.entry.js +6 -0
- package/dist/cjs/{app-globals-18ba6880.js → app-globals-bade840e.js} +2 -2
- package/dist/cjs/arcade-defaults-8b8d6c07.js +116 -0
- package/dist/cjs/arcade-language-features-747fb1da.js +274 -0
- package/dist/cjs/arcade-mode-dce44622.js +336 -0
- package/dist/cjs/{arcgis-arcade-api_6.cjs.entry.js → arcgis-arcade-editor_6.cjs.entry.js} +3806 -5154
- package/dist/cjs/arcgis-coding-components.cjs.js +5 -5
- package/dist/cjs/arcgis-sql-expression-editor.cjs.entry.js +81 -0
- package/dist/cjs/arcgis-sql-expression-fields.cjs.entry.js +80 -0
- package/dist/cjs/{css-d8a65bb9.js → css-077ba0c5.js} +2 -2
- package/dist/cjs/{cssMode-07dbb853.js → cssMode-7f2030db.js} +5 -5
- package/dist/cjs/{html-bb10cced.js → html-e3a243e9.js} +5 -5
- package/dist/cjs/{htmlMode-7df0a09d.js → htmlMode-c273d6dc.js} +5 -5
- package/dist/cjs/{index-15bcce7e.js → index-37a86ff4.js} +12 -4
- package/dist/cjs/index.cjs.js +5 -4
- package/dist/cjs/{javascript-f0dbed11.js → javascript-7a33cca7.js} +5 -5
- package/dist/cjs/{jsonMode-9e54e9b7.js → jsonMode-6b4e0850.js} +5 -5
- package/dist/cjs/{arcade-defaults-d0931224.js → language-defaults-base-b32cb091.js} +88 -144
- package/dist/cjs/loader.cjs.js +5 -5
- package/dist/cjs/sql-expr-defaults-8a5834f3.js +1280 -0
- package/dist/cjs/sql-expr-mode-a72a1f92.js +21838 -0
- package/dist/cjs/{tsMode-ca28bc5f.js → tsMode-c2edcd57.js} +6 -6
- package/dist/cjs/{typescript-39540ed7.js → typescript-c50c5516.js} +5 -5
- package/dist/components/arcade-defaults.js +47 -1537
- package/dist/components/arcade-language-features.js +271 -0
- package/dist/components/arcade-mode.js +7 -267
- package/dist/components/arcade-results.js +7 -7
- package/dist/components/arcade-suggestions.js +8 -8
- package/dist/components/arcade-variables.js +7 -7
- package/dist/components/arcgis-arcade-editor.js +49 -50
- package/dist/components/arcgis-arcade-results.js +2 -2
- package/dist/components/arcgis-arcade-suggestions.js +2 -2
- package/dist/components/arcgis-arcade-variables.js +2 -2
- package/dist/components/arcgis-assets.d.ts +2 -2
- package/dist/components/arcgis-assets.js +3 -3
- package/dist/components/arcgis-code-editor.js +2 -2
- package/dist/components/arcgis-language-api-panel.d.ts +11 -0
- package/dist/components/arcgis-language-api-panel.js +11 -0
- package/dist/components/arcgis-sql-expression-editor.d.ts +11 -0
- package/dist/components/arcgis-sql-expression-editor.js +120 -0
- package/dist/components/arcgis-sql-expression-fields.d.ts +11 -0
- package/dist/components/arcgis-sql-expression-fields.js +11 -0
- package/dist/components/chunk-3IUJHIAA.js +1154 -0
- package/dist/components/code-editor.js +186 -17
- package/dist/components/fields.js +3 -3
- package/dist/components/index.js +2 -2
- package/dist/components/index2.js +31 -23
- package/dist/components/{arcade-api.js → language-api-panel.js} +29 -60
- package/dist/components/language-defaults-base.js +1535 -0
- package/dist/components/markdown.js +3 -3
- package/dist/components/sql-expr-defaults.js +131 -0
- package/dist/components/sql-expr-mode.js +21836 -0
- package/dist/components/sql-expression-fields.js +102 -0
- package/dist/components/useT9n.js +46 -9
- package/dist/components/utilities.js +2 -2
- package/dist/esm/{app-globals-2a0e9afb.js → app-globals-ed47e16d.js} +2 -2
- package/dist/esm/arcade-defaults-562fe19b.js +111 -0
- package/dist/esm/arcade-language-features-8edb3527.js +269 -0
- package/dist/esm/{arcade-mode-e9728a63.js → arcade-mode-ad036f46.js} +7 -266
- package/dist/esm/{arcgis-arcade-api_6.entry.js → arcgis-arcade-editor_6.entry.js} +3793 -5141
- package/dist/esm/arcgis-coding-components.js +6 -6
- package/dist/esm/arcgis-sql-expression-editor.entry.js +77 -0
- package/dist/esm/arcgis-sql-expression-fields.entry.js +76 -0
- package/dist/esm/{css-61c794c2.js → css-810518f1.js} +2 -2
- package/dist/esm/{cssMode-6e0ccd51.js → cssMode-a7208024.js} +4 -4
- package/dist/esm/{html-44ad432e.js → html-e187d7d8.js} +4 -4
- package/dist/esm/{htmlMode-fd336434.js → htmlMode-06b7bae2.js} +4 -4
- package/dist/esm/{index-0d124a57.js → index-3743d31f.js} +12 -4
- package/dist/esm/index.js +5 -4
- package/dist/esm/{javascript-ac057954.js → javascript-04a3f866.js} +5 -5
- package/dist/esm/{jsonMode-ea8fa529.js → jsonMode-ee8bb2ea.js} +4 -4
- package/dist/esm/{arcade-defaults-811bdd4d.js → language-defaults-base-52a397f5.js} +82 -142
- package/dist/esm/loader.js +6 -6
- package/dist/esm/sql-expr-defaults-f7c2d5ef.js +1274 -0
- package/dist/esm/sql-expr-mode-433b4a39.js +21835 -0
- package/dist/esm/{tsMode-af9c3001.js → tsMode-c80c462e.js} +4 -4
- package/dist/esm/{typescript-baec45d6.js → typescript-a9b8caa7.js} +4 -4
- package/dist/loader/cdn.js +2 -2
- package/dist/loader/index.cjs.js +2 -2
- package/dist/loader/index.es2017.js +2 -2
- package/dist/loader/index.js +2 -2
- package/dist/types/components/arcade-editor/arcade-editor.d.ts +45 -10
- package/dist/types/components/arcade-results/arcade-results.d.ts +43 -1
- package/dist/types/components/arcade-suggestions/arcade-suggestions.d.ts +22 -1
- package/dist/types/components/arcade-variables/arcade-variables.d.ts +28 -1
- package/dist/types/components/code-editor/code-editor.d.ts +16 -5
- package/dist/types/components/language-api-panel/language-api-panel.d.ts +73 -0
- package/dist/types/components/sql-expression-editor/sql-expression-editor.d.ts +24 -0
- package/dist/types/components/sql-expression-fields/sql-expression-fields.d.ts +32 -0
- package/dist/types/components.d.ts +148 -70
- package/dist/types/data/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 +13 -0
- package/dist/types/dependencies.d.ts +21 -0
- package/dist/types/utils/arcade-monaco/arcade-contribution.d.ts +1 -24
- package/dist/types/utils/arcade-monaco/arcade-defaults.d.ts +12 -49
- package/dist/types/utils/arcade-monaco/arcade-language-features.d.ts +6 -4
- package/dist/types/utils/arcade-monaco/arcade-mode.d.ts +3 -2
- package/dist/types/utils/arcade-monaco/arcade-service-accessors.d.ts +31 -0
- package/dist/types/utils/arcade-monaco/arcade-worker-manager.d.ts +3 -2
- package/dist/types/utils/arcade-monaco/arcade.worker.d.ts +5 -5
- package/dist/types/utils/arcade-monaco/types.d.ts +6 -35
- package/dist/types/utils/language-defaults-base.d.ts +69 -0
- package/dist/types/utils/profile/predefined-profile.d.ts +3 -1
- package/dist/types/utils/profile/types.d.ts +29 -69
- package/dist/types/utils/profile/utils.d.ts +4 -7
- package/dist/types/utils/sql-expr-monaco/DependentFiles/DateOnly.d.ts +41 -0
- package/dist/types/utils/sql-expr-monaco/DependentFiles/SqlInterval.d.ts +16 -0
- package/dist/types/utils/sql-expr-monaco/DependentFiles/SqlTimestampOffset.d.ts +26 -0
- package/dist/types/utils/sql-expr-monaco/DependentFiles/TimeOnly.d.ts +37 -0
- package/dist/types/utils/sql-expr-monaco/DependentFiles/UnknownTimeZone.d.ts +11 -0
- package/dist/types/utils/sql-expr-monaco/DependentFiles/WhereGrammar.d.ts +122 -0
- package/dist/types/utils/sql-expr-monaco/DependentFiles/sqlCompareUtils.d.ts +5 -0
- package/dist/types/utils/sql-expr-monaco/DependentFiles/sqlDateParsingUtils.d.ts +18 -0
- package/dist/types/utils/sql-expr-monaco/DependentFiles/sqlUtils.d.ts +6 -0
- package/dist/types/utils/sql-expr-monaco/DependentFiles/standardizedFunctions.d.ts +156 -0
- package/dist/types/utils/sql-expr-monaco/DependentFiles/support.d.ts +150 -0
- package/dist/types/utils/sql-expr-monaco/PeggyGrammar/sql92grammar.d.ts +1397 -0
- package/dist/types/utils/sql-expr-monaco/libraries/date/properties/index.d.ts +59 -0
- package/dist/types/utils/sql-expr-monaco/libraries/numeric/properties/index.d.ts +295 -0
- package/dist/types/utils/sql-expr-monaco/libraries/string/properties/index.d.ts +135 -0
- package/dist/types/utils/sql-expr-monaco/sql-expr-completion.d.ts +6 -0
- package/dist/types/utils/sql-expr-monaco/sql-expr-contribution.d.ts +11 -0
- package/dist/types/utils/sql-expr-monaco/sql-expr-defaults.d.ts +22 -0
- package/dist/types/utils/sql-expr-monaco/sql-expr-language-features.d.ts +61 -0
- package/dist/types/utils/sql-expr-monaco/sql-expr-language-syntax.d.ts +8 -0
- package/dist/types/utils/sql-expr-monaco/sql-expr-mode.d.ts +10 -0
- package/dist/types/utils/sql-expr-monaco/sql-expr-validation-adapter.d.ts +3 -0
- package/dist/types/utils/sql-expr-monaco/sql-expr-validation-diagnostic-adapter.d.ts +41 -0
- package/dist/types/utils/sql-expr-monaco/sql-expr-validation-utils.d.ts +99 -0
- package/dist/types/utils/sql-expr-monaco/sql-expr-validation.d.ts +41 -0
- package/dist/types/utils/sql-expr-monaco/sql-expr-worker-manager.d.ts +15 -0
- package/dist/types/utils/sql-expr-monaco/sql-expr.worker.d.ts +21 -0
- package/dist/types/utils/sql-expr-monaco/types.d.ts +91 -0
- package/dist/types/utils/sql-expr-profile/predefined-profile.d.ts +2 -0
- package/package.json +23 -17
- package/dist/arcgis-coding-components/p-98cf909d.js +0 -6
- package/dist/arcgis-coding-components/p-bf047552.entry.js +0 -6
- package/dist/arcgis-coding-components/p-f602fc86.js +0 -6
- package/dist/cjs/arcade-mode-8424eafa.js +0 -595
- package/dist/components/arcade-contribution.js +0 -181
- package/dist/components/arcgis-arcade-api.d.ts +0 -11
- package/dist/components/arcgis-arcade-api.js +0 -11
- package/dist/components/chunk-2CDDVOQU.js +0 -1364
- package/dist/types/components/arcade-api/arcade-api.d.ts +0 -45
- package/dist/types/components/arcade-api/t9n-types.d.ts +0 -8
- package/dist/types/components/arcade-editor/t9n-types.d.ts +0 -8
- package/dist/types/components/arcade-results/t9n-types.d.ts +0 -13
- package/dist/types/components/arcade-suggestions/t9n-types.d.ts +0 -6
- package/dist/types/components/arcade-variables/t9n-types.d.ts +0 -8
- /package/dist/arcgis-coding-components/assets/{arcade-api/t9n/arcade-api.t9n.ar.json → language-api-panel/t9n/language-api-panel.t9n.ar.json} +0 -0
- /package/dist/arcgis-coding-components/assets/{arcade-api/t9n/arcade-api.t9n.bg.json → language-api-panel/t9n/language-api-panel.t9n.bg.json} +0 -0
- /package/dist/arcgis-coding-components/assets/{arcade-api/t9n/arcade-api.t9n.bs.json → language-api-panel/t9n/language-api-panel.t9n.bs.json} +0 -0
- /package/dist/arcgis-coding-components/assets/{arcade-api/t9n/arcade-api.t9n.ca.json → language-api-panel/t9n/language-api-panel.t9n.ca.json} +0 -0
- /package/dist/arcgis-coding-components/assets/{arcade-api/t9n/arcade-api.t9n.cs.json → language-api-panel/t9n/language-api-panel.t9n.cs.json} +0 -0
- /package/dist/arcgis-coding-components/assets/{arcade-api/t9n/arcade-api.t9n.da.json → language-api-panel/t9n/language-api-panel.t9n.da.json} +0 -0
- /package/dist/arcgis-coding-components/assets/{arcade-api/t9n/arcade-api.t9n.de.json → language-api-panel/t9n/language-api-panel.t9n.de.json} +0 -0
- /package/dist/arcgis-coding-components/assets/{arcade-api/t9n/arcade-api.t9n.el.json → language-api-panel/t9n/language-api-panel.t9n.el.json} +0 -0
- /package/dist/arcgis-coding-components/assets/{arcade-api/t9n/arcade-api.t9n.en.json → language-api-panel/t9n/language-api-panel.t9n.en.json} +0 -0
- /package/dist/arcgis-coding-components/assets/{arcade-api/t9n/arcade-api.t9n.es.json → language-api-panel/t9n/language-api-panel.t9n.es.json} +0 -0
- /package/dist/arcgis-coding-components/assets/{arcade-api/t9n/arcade-api.t9n.et.json → language-api-panel/t9n/language-api-panel.t9n.et.json} +0 -0
- /package/dist/arcgis-coding-components/assets/{arcade-api/t9n/arcade-api.t9n.fi.json → language-api-panel/t9n/language-api-panel.t9n.fi.json} +0 -0
- /package/dist/arcgis-coding-components/assets/{arcade-api/t9n/arcade-api.t9n.fr.json → language-api-panel/t9n/language-api-panel.t9n.fr.json} +0 -0
- /package/dist/arcgis-coding-components/assets/{arcade-api/t9n/arcade-api.t9n.he.json → language-api-panel/t9n/language-api-panel.t9n.he.json} +0 -0
- /package/dist/arcgis-coding-components/assets/{arcade-api/t9n/arcade-api.t9n.hr.json → language-api-panel/t9n/language-api-panel.t9n.hr.json} +0 -0
- /package/dist/arcgis-coding-components/assets/{arcade-api/t9n/arcade-api.t9n.hu.json → language-api-panel/t9n/language-api-panel.t9n.hu.json} +0 -0
- /package/dist/arcgis-coding-components/assets/{arcade-api/t9n/arcade-api.t9n.id.json → language-api-panel/t9n/language-api-panel.t9n.id.json} +0 -0
- /package/dist/arcgis-coding-components/assets/{arcade-api/t9n/arcade-api.t9n.it.json → language-api-panel/t9n/language-api-panel.t9n.it.json} +0 -0
- /package/dist/arcgis-coding-components/assets/{arcade-api/t9n/arcade-api.t9n.ja.json → language-api-panel/t9n/language-api-panel.t9n.ja.json} +0 -0
- /package/dist/arcgis-coding-components/assets/{arcade-api/t9n/arcade-api.t9n.ko.json → language-api-panel/t9n/language-api-panel.t9n.ko.json} +0 -0
- /package/dist/arcgis-coding-components/assets/{arcade-api/t9n/arcade-api.t9n.lt.json → language-api-panel/t9n/language-api-panel.t9n.lt.json} +0 -0
- /package/dist/arcgis-coding-components/assets/{arcade-api/t9n/arcade-api.t9n.lv.json → language-api-panel/t9n/language-api-panel.t9n.lv.json} +0 -0
- /package/dist/arcgis-coding-components/assets/{arcade-api/t9n/arcade-api.t9n.nb.json → language-api-panel/t9n/language-api-panel.t9n.nb.json} +0 -0
- /package/dist/arcgis-coding-components/assets/{arcade-api/t9n/arcade-api.t9n.nl.json → language-api-panel/t9n/language-api-panel.t9n.nl.json} +0 -0
- /package/dist/arcgis-coding-components/assets/{arcade-api/t9n/arcade-api.t9n.pl.json → language-api-panel/t9n/language-api-panel.t9n.pl.json} +0 -0
- /package/dist/arcgis-coding-components/assets/{arcade-api/t9n/arcade-api.t9n.pt-BR.json → language-api-panel/t9n/language-api-panel.t9n.pt-BR.json} +0 -0
- /package/dist/arcgis-coding-components/assets/{arcade-api/t9n/arcade-api.t9n.pt-PT.json → language-api-panel/t9n/language-api-panel.t9n.pt-PT.json} +0 -0
- /package/dist/arcgis-coding-components/assets/{arcade-api/t9n/arcade-api.t9n.ro.json → language-api-panel/t9n/language-api-panel.t9n.ro.json} +0 -0
- /package/dist/arcgis-coding-components/assets/{arcade-api/t9n/arcade-api.t9n.ru.json → language-api-panel/t9n/language-api-panel.t9n.ru.json} +0 -0
- /package/dist/arcgis-coding-components/assets/{arcade-api/t9n/arcade-api.t9n.sk.json → language-api-panel/t9n/language-api-panel.t9n.sk.json} +0 -0
- /package/dist/arcgis-coding-components/assets/{arcade-api/t9n/arcade-api.t9n.sl.json → language-api-panel/t9n/language-api-panel.t9n.sl.json} +0 -0
- /package/dist/arcgis-coding-components/assets/{arcade-api/t9n/arcade-api.t9n.sr.json → language-api-panel/t9n/language-api-panel.t9n.sr.json} +0 -0
- /package/dist/arcgis-coding-components/assets/{arcade-api/t9n/arcade-api.t9n.sv.json → language-api-panel/t9n/language-api-panel.t9n.sv.json} +0 -0
- /package/dist/arcgis-coding-components/assets/{arcade-api/t9n/arcade-api.t9n.th.json → language-api-panel/t9n/language-api-panel.t9n.th.json} +0 -0
- /package/dist/arcgis-coding-components/assets/{arcade-api/t9n/arcade-api.t9n.tr.json → language-api-panel/t9n/language-api-panel.t9n.tr.json} +0 -0
- /package/dist/arcgis-coding-components/assets/{arcade-api/t9n/arcade-api.t9n.uk.json → language-api-panel/t9n/language-api-panel.t9n.uk.json} +0 -0
- /package/dist/arcgis-coding-components/assets/{arcade-api/t9n/arcade-api.t9n.vi.json → language-api-panel/t9n/language-api-panel.t9n.vi.json} +0 -0
- /package/dist/arcgis-coding-components/assets/{arcade-api/t9n/arcade-api.t9n.zh-CN.json → language-api-panel/t9n/language-api-panel.t9n.zh-CN.json} +0 -0
- /package/dist/arcgis-coding-components/assets/{arcade-api/t9n/arcade-api.t9n.zh-HK.json → language-api-panel/t9n/language-api-panel.t9n.zh-HK.json} +0 -0
- /package/dist/arcgis-coding-components/assets/{arcade-api/t9n/arcade-api.t9n.zh-TW.json → language-api-panel/t9n/language-api-panel.t9n.zh-TW.json} +0 -0
|
@@ -0,0 +1,102 @@
|
|
|
1
|
+
/*!
|
|
2
|
+
* All material copyright Esri, All Rights Reserved, unless otherwise specified.
|
|
3
|
+
* See https://js.arcgis.com/4.31/esri/copyright.txt for details.
|
|
4
|
+
* v4.31.0-next.10
|
|
5
|
+
*/
|
|
6
|
+
import { proxyCustomElement, HTMLElement, createEvent, forceUpdate, h } from '@stencil/core/internal/client';
|
|
7
|
+
import { u as useControllerManager } from './chunk-3IUJHIAA.js';
|
|
8
|
+
import { s as sqlExprDefaults } from './sql-expr-defaults.js';
|
|
9
|
+
import "@esri/calcite-components/dist/components/calcite-block.js";
|
|
10
|
+
import "@esri/calcite-components/dist/components/calcite-flow.js";
|
|
11
|
+
import "@esri/calcite-components/dist/components/calcite-flow-item.js";
|
|
12
|
+
import "@esri/calcite-components/dist/components/calcite-list.js";
|
|
13
|
+
import "@esri/calcite-components/dist/components/calcite-list-item.js";
|
|
14
|
+
import "@esri/calcite-components/dist/components/calcite-action.js";
|
|
15
|
+
|
|
16
|
+
const sqlExpressionFieldsCss = ":host calcite-flow{height:100%}:host calcite-list-item-group{background-color:var(--calcite-color-foreground-2)}";
|
|
17
|
+
const ArcgisSqlExpressionFieldsStyle0 = sqlExpressionFieldsCss;
|
|
18
|
+
|
|
19
|
+
const __cmpMeta = [1,"arcgis-sql-expression-fields",{"loading":[1028],"modelId":[1025,"model-id"],"_mutationCounter":[32],"_flowItemRenderers":[32],"_filterValue":[32]},undefined,{"modelId":["modelIdPropChanged"]}];
|
|
20
|
+
const SqlExpressionFields = /*@__PURE__*/ proxyCustomElement(class SqlExpressionFields extends HTMLElement {
|
|
21
|
+
connectedCallback() { this.manager._connectedCallback(); }
|
|
22
|
+
constructor() {
|
|
23
|
+
super();
|
|
24
|
+
this.__registerHost();
|
|
25
|
+
this.constructor.__registerControllers = ()=>__cmpMeta[2]??{};
|
|
26
|
+
this.__attachShadow();
|
|
27
|
+
this.arcgisClose = createEvent(this, "arcgisClose", 3);
|
|
28
|
+
this.arcgisFieldSelected = createEvent(this, "arcgisFieldSelected", 3);
|
|
29
|
+
this.manager = useControllerManager(this,forceUpdate);
|
|
30
|
+
// #endregion
|
|
31
|
+
// #region Private Methods
|
|
32
|
+
this._handleSelectField = (event) => {
|
|
33
|
+
if (event.target instanceof HTMLElement) {
|
|
34
|
+
const tagName = event.target.tagName;
|
|
35
|
+
switch (tagName.toLowerCase()) {
|
|
36
|
+
case "calcite-list-item":
|
|
37
|
+
// TODO: why is value missing from HTMLCalciteListElement type?
|
|
38
|
+
this.arcgisFieldSelected.emit(event.target.value ?? "");
|
|
39
|
+
break;
|
|
40
|
+
case "calcite-action":
|
|
41
|
+
event.stopPropagation();
|
|
42
|
+
break;
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
};
|
|
46
|
+
this._emitClose = () => {
|
|
47
|
+
this.arcgisClose.emit();
|
|
48
|
+
};
|
|
49
|
+
this._mutationCounter = 1;
|
|
50
|
+
this._flowItemRenderers = [];
|
|
51
|
+
this._filterValue = "";
|
|
52
|
+
this.loading = false;
|
|
53
|
+
this.modelId = undefined;
|
|
54
|
+
}
|
|
55
|
+
modelIdPropChanged() {
|
|
56
|
+
this._flowItemRenderers = [];
|
|
57
|
+
}
|
|
58
|
+
// #endregion
|
|
59
|
+
// #region Lifecycle
|
|
60
|
+
disconnectedCallback() {
|
|
61
|
+
this.manager._disconnectedCallback();
|
|
62
|
+
this._flowObserver?.disconnect();
|
|
63
|
+
}
|
|
64
|
+
// #endregion
|
|
65
|
+
render() {
|
|
66
|
+
const layer = sqlExprDefaults.getFeatureLayerForModel(this.modelId ?? "");
|
|
67
|
+
if (this.loading || !this.modelId || !layer) {
|
|
68
|
+
return h("calcite-block", { heading: "Available Fields" });
|
|
69
|
+
}
|
|
70
|
+
return (h("calcite-flow", null, h("calcite-flow-item", { heading: "Available Fields", closable: true, description: "Select a field to insert into the expression", onCalciteFlowItemClose: this._emitClose }, h("calcite-list", { filterEnabled: true }, layer.fields.map((field) => (h("calcite-list-item", { key: field.name, onClick: this._handleSelectField, label: field.name, description: field.alias, value: field.name }, field.domain && (h("calcite-action", { slot: "actions-end", text: "open", icon: "chevron-right", onClick: () => {
|
|
71
|
+
const domain = field.domain;
|
|
72
|
+
if (domain.type === "coded-value") {
|
|
73
|
+
this._flowItemRenderers = [
|
|
74
|
+
...this._flowItemRenderers,
|
|
75
|
+
() => (h("calcite-flow-item", { closable: true, heading: "Domains", description: field.name, onCalciteFlowItemClose: this._emitClose }, h("calcite-list", null, domain.codedValues.map((value) => (h("calcite-list-item", { key: value.code, onClick: this._handleSelectField, label: value.name, description: String(value.code), value: value.code })))))),
|
|
76
|
+
];
|
|
77
|
+
}
|
|
78
|
+
} }))))))), this._flowItemRenderers.map((renderer) => renderer())));
|
|
79
|
+
}
|
|
80
|
+
static get assetsDirs() { return ["assets"]; }
|
|
81
|
+
get el() { return this; }
|
|
82
|
+
static get watchers() { return {
|
|
83
|
+
"modelId": ["modelIdPropChanged"]
|
|
84
|
+
}; }
|
|
85
|
+
static get style() { return ArcgisSqlExpressionFieldsStyle0; }
|
|
86
|
+
}, __cmpMeta);
|
|
87
|
+
function defineCustomElement() {
|
|
88
|
+
if (typeof customElements === "undefined") {
|
|
89
|
+
return;
|
|
90
|
+
}
|
|
91
|
+
const components = ["arcgis-sql-expression-fields"];
|
|
92
|
+
components.forEach(tagName => { switch (tagName) {
|
|
93
|
+
case "arcgis-sql-expression-fields":
|
|
94
|
+
if (!customElements.get(tagName)) {
|
|
95
|
+
customElements.define(tagName, SqlExpressionFields);
|
|
96
|
+
}
|
|
97
|
+
break;
|
|
98
|
+
} });
|
|
99
|
+
}
|
|
100
|
+
defineCustomElement();
|
|
101
|
+
|
|
102
|
+
export { SqlExpressionFields as S, defineCustomElement as d };
|
|
@@ -1,36 +1,73 @@
|
|
|
1
1
|
/*!
|
|
2
2
|
* All material copyright Esri, All Rights Reserved, unless otherwise specified.
|
|
3
|
-
* See https://js.arcgis.com/4.
|
|
4
|
-
* v4.
|
|
3
|
+
* See https://js.arcgis.com/4.31/esri/copyright.txt for details.
|
|
4
|
+
* v4.31.0-next.10
|
|
5
5
|
*/
|
|
6
|
-
import { m as makeController } from './chunk-
|
|
7
|
-
import { n as startLocaleObserver,
|
|
6
|
+
import { m as makeController, w as watch } from './chunk-3IUJHIAA.js';
|
|
7
|
+
import { n as startLocaleObserver, p as getElementLocales } from './index2.js';
|
|
8
8
|
import { getArcgisAssetPath as getAssetPath } from "./arcgis-assets.js";
|
|
9
9
|
|
|
10
|
-
var makeT9nController = (getAssetPath) => (
|
|
10
|
+
var makeT9nController = (getAssetPath) => (options = {}) => (
|
|
11
11
|
// eslint-disable-next-line @typescript-eslint/promise-function-async
|
|
12
12
|
makeController((component, controller) => {
|
|
13
|
+
const componentWithOverrides = component;
|
|
13
14
|
controller.onLifecycle(
|
|
14
15
|
() => startLocaleObserver(
|
|
15
16
|
component.el,
|
|
16
17
|
getAssetPath("./assets"),
|
|
17
18
|
({ t9nLocale, t9nStrings, lang }) => {
|
|
18
|
-
|
|
19
|
+
const withoutOverrides = {
|
|
20
|
+
...t9nStrings,
|
|
21
|
+
_lang: lang,
|
|
22
|
+
_t9nLocale: t9nLocale,
|
|
23
|
+
_loading: false
|
|
24
|
+
};
|
|
25
|
+
controller.exports = withoutOverrides;
|
|
19
26
|
const label = t9nStrings.componentLabel ?? t9nStrings.widgetLabel;
|
|
20
27
|
if (typeof label === "string" && "label" in component && component.label == null) {
|
|
21
28
|
component.label ?? (component.label = label);
|
|
22
29
|
}
|
|
30
|
+
applyOverrides(componentWithOverrides.messageOverrides);
|
|
23
31
|
},
|
|
24
|
-
name
|
|
32
|
+
options.name
|
|
25
33
|
)
|
|
26
34
|
);
|
|
27
|
-
|
|
35
|
+
function applyOverrides(messageOverrides) {
|
|
36
|
+
const currentValue = controller.exports;
|
|
37
|
+
const rawMessages = currentValue._original ?? currentValue;
|
|
38
|
+
const updated = deepMerge(rawMessages, messageOverrides);
|
|
39
|
+
updated._original = rawMessages;
|
|
40
|
+
controller.exports = updated;
|
|
41
|
+
}
|
|
42
|
+
if ("messageOverrides" in componentWithOverrides) {
|
|
43
|
+
controller.onLifecycle(() => watch(componentWithOverrides, "messageOverrides", applyOverrides));
|
|
44
|
+
}
|
|
45
|
+
if (options.blocking) {
|
|
28
46
|
return controller.ready;
|
|
29
47
|
}
|
|
30
48
|
const locale = getElementLocales(component.el);
|
|
31
|
-
|
|
49
|
+
const pending = {
|
|
50
|
+
_lang: locale.lang,
|
|
51
|
+
_t9nLocale: locale.t9nLocale,
|
|
52
|
+
_loading: true
|
|
53
|
+
};
|
|
54
|
+
return pending;
|
|
32
55
|
})
|
|
33
56
|
);
|
|
57
|
+
function deepMerge(original, overwrites) {
|
|
58
|
+
if (!overwrites) {
|
|
59
|
+
return original;
|
|
60
|
+
}
|
|
61
|
+
const merged = { ...original };
|
|
62
|
+
Object.entries(overwrites).forEach(([key, value]) => {
|
|
63
|
+
if (typeof value === "object") {
|
|
64
|
+
merged[key] = deepMerge(original[key], value);
|
|
65
|
+
} else {
|
|
66
|
+
merged[key] = value ?? original[key];
|
|
67
|
+
}
|
|
68
|
+
});
|
|
69
|
+
return merged;
|
|
70
|
+
}
|
|
34
71
|
|
|
35
72
|
const useT9n = makeT9nController(getAssetPath);
|
|
36
73
|
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/*!
|
|
2
2
|
* All material copyright Esri, All Rights Reserved, unless otherwise specified.
|
|
3
|
-
* See https://js.arcgis.com/4.
|
|
4
|
-
* v4.
|
|
3
|
+
* See https://js.arcgis.com/4.31/esri/copyright.txt for details.
|
|
4
|
+
* v4.31.0-next.10
|
|
5
5
|
*/
|
|
6
6
|
import { d as createFilterExpression } from './index2.js';
|
|
7
7
|
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/*!
|
|
2
2
|
* All material copyright Esri, All Rights Reserved, unless otherwise specified.
|
|
3
|
-
* See https://js.arcgis.com/4.
|
|
4
|
-
* v4.
|
|
3
|
+
* See https://js.arcgis.com/4.31/esri/copyright.txt for details.
|
|
4
|
+
* v4.31.0-next.10
|
|
5
5
|
*/
|
|
6
6
|
const globalScripts = () => {};
|
|
7
7
|
|
|
@@ -0,0 +1,111 @@
|
|
|
1
|
+
/*!
|
|
2
|
+
* All material copyright Esri, All Rights Reserved, unless otherwise specified.
|
|
3
|
+
* See https://js.arcgis.com/4.31/esri/copyright.txt for details.
|
|
4
|
+
* v4.31.0-next.10
|
|
5
|
+
*/
|
|
6
|
+
import { L as LanguageDefaultsBase, i as isPredefinedProfile, c as convertToEditorProfileDefinition, f as fetchT9nStringsBundle, E as EditorProfile, U as Uri } from './language-defaults-base-52a397f5.js';
|
|
7
|
+
import { g as getAssetPath } from './index-3743d31f.js';
|
|
8
|
+
|
|
9
|
+
/**
|
|
10
|
+
* Returns the arcade diagnostic service.
|
|
11
|
+
* Example:
|
|
12
|
+
* ```ts
|
|
13
|
+
* const diagnosticService = await getArcadeDiagnosticService();
|
|
14
|
+
* diagnosticService.onDidChangeDiagnostics(({uri, diaganostics }) => {
|
|
15
|
+
* // Filter the diagnostics for the uri of interest
|
|
16
|
+
* // Do something with the diagnostics
|
|
17
|
+
* });
|
|
18
|
+
* ```
|
|
19
|
+
*/
|
|
20
|
+
async function getArcadeDiagnosticService() {
|
|
21
|
+
const mode = await getMode();
|
|
22
|
+
return mode.getArcadeDiagnosticService();
|
|
23
|
+
}
|
|
24
|
+
/**
|
|
25
|
+
* Returns the arcade worker for the model.
|
|
26
|
+
* Example:
|
|
27
|
+
* ```ts
|
|
28
|
+
* const arcadeWorker = await getArcadeWorker(model.uri);
|
|
29
|
+
* ```
|
|
30
|
+
* @returns arcade worker
|
|
31
|
+
*/
|
|
32
|
+
async function getArcadeWorker(uri) {
|
|
33
|
+
const mode = await getMode();
|
|
34
|
+
return await mode.getArcadeWorker(uri);
|
|
35
|
+
}
|
|
36
|
+
/**
|
|
37
|
+
* Request the arcade mode
|
|
38
|
+
* @returns arcade mode module
|
|
39
|
+
*/
|
|
40
|
+
async function getMode() {
|
|
41
|
+
return await import('./arcade-mode-ad036f46.js');
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
const arcadeLanguageId = "arcade";
|
|
45
|
+
class ArcadeLanguageServiceDefaults extends LanguageDefaultsBase {
|
|
46
|
+
constructor() {
|
|
47
|
+
super(...arguments);
|
|
48
|
+
this._languageId = arcadeLanguageId;
|
|
49
|
+
this._languageOptions = {};
|
|
50
|
+
}
|
|
51
|
+
/**
|
|
52
|
+
* Create an EditorProfile for the given model id using the given definition and locale.
|
|
53
|
+
* The EditorProfile is used by the the Arcade Language service as well by the cosing components.
|
|
54
|
+
* The definition can be a pre-defined profile or an editor profile definition.
|
|
55
|
+
* If the locale is not provided then the 'en' locale is used.
|
|
56
|
+
* @param modelId The model id for which to create the context.
|
|
57
|
+
* @param definition The definition to use for the model context.
|
|
58
|
+
* @param locale The locale to use for the model context.
|
|
59
|
+
* @returns The EditorProfile for the model.
|
|
60
|
+
*/
|
|
61
|
+
async setProfileForModel(modelId, definition, apiContext = { locale: "en" }) {
|
|
62
|
+
// Convert pre-defined profile to a runtime profile
|
|
63
|
+
if (isPredefinedProfile(definition)) {
|
|
64
|
+
definition = await convertToEditorProfileDefinition(definition, apiContext.locale);
|
|
65
|
+
}
|
|
66
|
+
const profileStrings = await fetchT9nStringsBundle(apiContext.locale, getAssetPath("./assets/arcade-language/t9n"), "profile.t9n.");
|
|
67
|
+
if (!profileStrings) {
|
|
68
|
+
throw new Error(`Failed to load the language bundle for ${apiContext.locale}`);
|
|
69
|
+
}
|
|
70
|
+
this.disposeForModel(modelId);
|
|
71
|
+
const key = this._getApiKey(modelId);
|
|
72
|
+
const editorProfile = new EditorProfile(definition, profileStrings);
|
|
73
|
+
this._profileMap.set(key, editorProfile);
|
|
74
|
+
const apiProfile = await editorProfile.toLSProfile();
|
|
75
|
+
this.updateApiContextForModel(modelId, {
|
|
76
|
+
locale: apiContext.locale,
|
|
77
|
+
profile: apiProfile,
|
|
78
|
+
snippets: apiContext.snippets,
|
|
79
|
+
});
|
|
80
|
+
}
|
|
81
|
+
/**
|
|
82
|
+
* Set or update the Arcade language service options.
|
|
83
|
+
* @param languageOptions The language options to set.
|
|
84
|
+
*/
|
|
85
|
+
setLanguageOptions(languageOptions = {}) {
|
|
86
|
+
// Check if options have actually changed.
|
|
87
|
+
// Avoid restarting the worker when no updates.
|
|
88
|
+
// Today we only have the 'assetsPath' as a property
|
|
89
|
+
if (this._languageOptions.assetsPath === languageOptions.assetsPath) {
|
|
90
|
+
return;
|
|
91
|
+
}
|
|
92
|
+
this._languageOptions = { ...this._languageOptions, ...languageOptions };
|
|
93
|
+
this._onDidChange.fire(this);
|
|
94
|
+
}
|
|
95
|
+
/**
|
|
96
|
+
* Gets the API library for the given model id.
|
|
97
|
+
* @param modelId The model id for which to get the API library.
|
|
98
|
+
* @returns The API library for the model.
|
|
99
|
+
*/
|
|
100
|
+
async getApiLibrary(modelId) {
|
|
101
|
+
const uri = Uri.parse(modelId);
|
|
102
|
+
const worker = await getArcadeWorker(uri);
|
|
103
|
+
return await worker.getApiLibrary(this.getApiContextForModel(uri));
|
|
104
|
+
}
|
|
105
|
+
}
|
|
106
|
+
const arcadeDefaults = new ArcadeLanguageServiceDefaults();
|
|
107
|
+
const arcade = {
|
|
108
|
+
setProfileForModel: arcadeDefaults.setProfileForModel.bind(arcadeDefaults),
|
|
109
|
+
};
|
|
110
|
+
|
|
111
|
+
export { arcade as a, arcadeDefaults as b, getMode as c, getArcadeDiagnosticService as g };
|
|
@@ -0,0 +1,269 @@
|
|
|
1
|
+
/*!
|
|
2
|
+
* All material copyright Esri, All Rights Reserved, unless otherwise specified.
|
|
3
|
+
* See https://js.arcgis.com/4.31/esri/copyright.txt for details.
|
|
4
|
+
* v4.31.0-next.10
|
|
5
|
+
*/
|
|
6
|
+
import { e as editor, M as MarkerSeverity, F as main, R as Range, u as languages, N as debounce } from './language-defaults-base-52a397f5.js';
|
|
7
|
+
|
|
8
|
+
//#region Diagnostic
|
|
9
|
+
class DiagnosticsAdapter {
|
|
10
|
+
constructor(_languageId, _worker, { defaults, diagnosticsService, }) {
|
|
11
|
+
this._languageId = _languageId;
|
|
12
|
+
this._worker = _worker;
|
|
13
|
+
this._disposables = [];
|
|
14
|
+
this._listener = new Map();
|
|
15
|
+
this._diagnosticsService = diagnosticsService;
|
|
16
|
+
this._defaults = defaults;
|
|
17
|
+
const onModelAdd = (model) => {
|
|
18
|
+
const languageId = model.getLanguageId();
|
|
19
|
+
if (languageId !== this._languageId) {
|
|
20
|
+
return;
|
|
21
|
+
}
|
|
22
|
+
const debouncedValidate = debounce(() => {
|
|
23
|
+
this._doValidate(model, languageId).catch((err) => {
|
|
24
|
+
throw err;
|
|
25
|
+
});
|
|
26
|
+
});
|
|
27
|
+
this._listener.set(model.uri.toString(), model.onDidChangeContent(debouncedValidate));
|
|
28
|
+
this._doValidate(model, languageId).catch(console.error);
|
|
29
|
+
};
|
|
30
|
+
const onModelRemoved = (model) => {
|
|
31
|
+
const uriStr = model.uri.toString();
|
|
32
|
+
editor.setModelMarkers(model, this._languageId, []);
|
|
33
|
+
const listener = this._listener.get(uriStr);
|
|
34
|
+
if (listener) {
|
|
35
|
+
listener.dispose();
|
|
36
|
+
this._listener.delete(uriStr);
|
|
37
|
+
}
|
|
38
|
+
};
|
|
39
|
+
this._disposables.push(editor.onDidCreateModel(onModelAdd));
|
|
40
|
+
this._disposables.push(editor.onWillDisposeModel((model) => {
|
|
41
|
+
onModelRemoved(model);
|
|
42
|
+
}));
|
|
43
|
+
this._disposables.push(editor.onDidChangeModelLanguage((event) => {
|
|
44
|
+
onModelRemoved(event.model);
|
|
45
|
+
onModelAdd(event.model);
|
|
46
|
+
}));
|
|
47
|
+
this._disposables.push(defaults.onDidChange(() => {
|
|
48
|
+
editor.getModels().forEach((model) => {
|
|
49
|
+
if (model.getLanguageId() === this._languageId) {
|
|
50
|
+
onModelRemoved(model);
|
|
51
|
+
onModelAdd(model);
|
|
52
|
+
}
|
|
53
|
+
});
|
|
54
|
+
}));
|
|
55
|
+
this._disposables.push(defaults.onModelContextDidChange((key) => {
|
|
56
|
+
editor.getModels().forEach((model) => {
|
|
57
|
+
if (model.getLanguageId() === this._languageId && model.uri.toString() === key) {
|
|
58
|
+
this._doValidate(model, this._languageId).catch(console.error);
|
|
59
|
+
}
|
|
60
|
+
});
|
|
61
|
+
}));
|
|
62
|
+
this._disposables.push({
|
|
63
|
+
dispose: () => {
|
|
64
|
+
this._listener.forEach((value) => value.dispose());
|
|
65
|
+
this._listener.clear();
|
|
66
|
+
},
|
|
67
|
+
});
|
|
68
|
+
editor.getModels().forEach(onModelAdd);
|
|
69
|
+
}
|
|
70
|
+
dispose() {
|
|
71
|
+
this._disposables.forEach((d) => d.dispose());
|
|
72
|
+
this._disposables = [];
|
|
73
|
+
}
|
|
74
|
+
async _doValidate(model, languageId) {
|
|
75
|
+
if (!model.isAttachedToEditor()) {
|
|
76
|
+
return;
|
|
77
|
+
}
|
|
78
|
+
try {
|
|
79
|
+
const workerProxy = await this._worker(model.uri);
|
|
80
|
+
const context = this._defaults.getApiContextForModel(model.uri);
|
|
81
|
+
const diagnostics = await workerProxy.doValidation(model.uri.toString(), context);
|
|
82
|
+
const markers = diagnostics.map((d) => toMarker(model.uri, d));
|
|
83
|
+
this._diagnosticsService.fireDiagnosticsChange(model.uri, diagnostics);
|
|
84
|
+
editor.setModelMarkers(model, languageId, markers);
|
|
85
|
+
}
|
|
86
|
+
catch (err) {
|
|
87
|
+
console.error(err);
|
|
88
|
+
}
|
|
89
|
+
}
|
|
90
|
+
}
|
|
91
|
+
function toSeverity(languageServiceSeverity) {
|
|
92
|
+
switch (languageServiceSeverity) {
|
|
93
|
+
case main.exports.DiagnosticSeverity.Error:
|
|
94
|
+
return MarkerSeverity.Error;
|
|
95
|
+
case main.exports.DiagnosticSeverity.Warning:
|
|
96
|
+
return MarkerSeverity.Warning;
|
|
97
|
+
case main.exports.DiagnosticSeverity.Information:
|
|
98
|
+
return MarkerSeverity.Info;
|
|
99
|
+
case main.exports.DiagnosticSeverity.Hint:
|
|
100
|
+
return MarkerSeverity.Hint;
|
|
101
|
+
default:
|
|
102
|
+
return MarkerSeverity.Info;
|
|
103
|
+
}
|
|
104
|
+
}
|
|
105
|
+
function toMarker(_resource, diag) {
|
|
106
|
+
// Diagnostics positions are zero-based, MarkerData are 1-based
|
|
107
|
+
return {
|
|
108
|
+
severity: toSeverity(diag.severity),
|
|
109
|
+
startLineNumber: diag.range.start.line + 1,
|
|
110
|
+
startColumn: diag.range.start.character + 1,
|
|
111
|
+
endLineNumber: diag.range.end.line + 1,
|
|
112
|
+
endColumn: diag.range.end.character + 1,
|
|
113
|
+
message: diag.message,
|
|
114
|
+
};
|
|
115
|
+
}
|
|
116
|
+
//#endregion
|
|
117
|
+
//#region Completion
|
|
118
|
+
function fromPosition(position) {
|
|
119
|
+
// Language service is zero based
|
|
120
|
+
return { character: position.column - 1, line: position.lineNumber - 1 };
|
|
121
|
+
}
|
|
122
|
+
function toRange(range) {
|
|
123
|
+
return new Range(range.start.line + 1, range.start.character + 1, range.end.line + 1, range.end.character + 1);
|
|
124
|
+
}
|
|
125
|
+
function toTextEdit(textEdit) {
|
|
126
|
+
return {
|
|
127
|
+
range: toRange(textEdit.range),
|
|
128
|
+
text: textEdit.newText,
|
|
129
|
+
};
|
|
130
|
+
}
|
|
131
|
+
function isInsertReplaceEdit(edit) {
|
|
132
|
+
return (typeof edit.insert !== "undefined" &&
|
|
133
|
+
typeof edit.replace !== "undefined");
|
|
134
|
+
}
|
|
135
|
+
// TODO: extract this function to common util
|
|
136
|
+
function toCompletionItemKind(kind) {
|
|
137
|
+
const mItemKind = languages.CompletionItemKind;
|
|
138
|
+
switch (kind) {
|
|
139
|
+
case main.exports.CompletionItemKind.Text:
|
|
140
|
+
return mItemKind.Text;
|
|
141
|
+
case main.exports.CompletionItemKind.Method:
|
|
142
|
+
return mItemKind.Method;
|
|
143
|
+
case main.exports.CompletionItemKind.Function:
|
|
144
|
+
return mItemKind.Function;
|
|
145
|
+
case main.exports.CompletionItemKind.Constructor:
|
|
146
|
+
return mItemKind.Constructor;
|
|
147
|
+
case main.exports.CompletionItemKind.Field:
|
|
148
|
+
return mItemKind.Field;
|
|
149
|
+
case main.exports.CompletionItemKind.Variable:
|
|
150
|
+
return mItemKind.Variable;
|
|
151
|
+
case main.exports.CompletionItemKind.Class:
|
|
152
|
+
return mItemKind.Class;
|
|
153
|
+
case main.exports.CompletionItemKind.Interface:
|
|
154
|
+
return mItemKind.Interface;
|
|
155
|
+
case main.exports.CompletionItemKind.Module:
|
|
156
|
+
return mItemKind.Module;
|
|
157
|
+
case main.exports.CompletionItemKind.Property:
|
|
158
|
+
return mItemKind.Property;
|
|
159
|
+
case main.exports.CompletionItemKind.Unit:
|
|
160
|
+
return mItemKind.Unit;
|
|
161
|
+
case main.exports.CompletionItemKind.Value:
|
|
162
|
+
return mItemKind.Value;
|
|
163
|
+
case main.exports.CompletionItemKind.Enum:
|
|
164
|
+
return mItemKind.Enum;
|
|
165
|
+
case main.exports.CompletionItemKind.Keyword:
|
|
166
|
+
return mItemKind.Keyword;
|
|
167
|
+
case main.exports.CompletionItemKind.Snippet:
|
|
168
|
+
return mItemKind.Snippet;
|
|
169
|
+
case main.exports.CompletionItemKind.Color:
|
|
170
|
+
return mItemKind.Color;
|
|
171
|
+
case main.exports.CompletionItemKind.File:
|
|
172
|
+
return mItemKind.File;
|
|
173
|
+
case main.exports.CompletionItemKind.Reference:
|
|
174
|
+
return mItemKind.Reference;
|
|
175
|
+
case main.exports.CompletionItemKind.Folder:
|
|
176
|
+
return mItemKind.Folder;
|
|
177
|
+
case main.exports.CompletionItemKind.EnumMember:
|
|
178
|
+
return mItemKind.EnumMember;
|
|
179
|
+
case main.exports.CompletionItemKind.Constant:
|
|
180
|
+
return mItemKind.Constant;
|
|
181
|
+
case main.exports.CompletionItemKind.Struct:
|
|
182
|
+
return mItemKind.Struct;
|
|
183
|
+
case main.exports.CompletionItemKind.Event:
|
|
184
|
+
return mItemKind.Event;
|
|
185
|
+
case main.exports.CompletionItemKind.Operator:
|
|
186
|
+
return mItemKind.Operator;
|
|
187
|
+
case main.exports.CompletionItemKind.TypeParameter:
|
|
188
|
+
return mItemKind.TypeParameter;
|
|
189
|
+
default:
|
|
190
|
+
return mItemKind.Property;
|
|
191
|
+
}
|
|
192
|
+
}
|
|
193
|
+
class CompletionProvider {
|
|
194
|
+
constructor(_worker, _defaults) {
|
|
195
|
+
this._worker = _worker;
|
|
196
|
+
this._defaults = _defaults;
|
|
197
|
+
this.triggerCharacters = [".", "("];
|
|
198
|
+
}
|
|
199
|
+
async provideCompletionItems(model, position) {
|
|
200
|
+
const worker = await this._worker(model.uri);
|
|
201
|
+
const context = this._defaults.getApiContextForModel(model.uri);
|
|
202
|
+
const completionList = await worker.doComplete(model.uri.toString(), fromPosition(position), context);
|
|
203
|
+
const wordInfo = model.getWordUntilPosition(position);
|
|
204
|
+
const wordRange = new Range(position.lineNumber, wordInfo.startColumn, position.lineNumber, wordInfo.endColumn);
|
|
205
|
+
const items = completionList.items.map((entry) => {
|
|
206
|
+
const item = {
|
|
207
|
+
label: entry.label,
|
|
208
|
+
insertText: entry.insertText || entry.label,
|
|
209
|
+
sortText: entry.sortText,
|
|
210
|
+
filterText: entry.filterText,
|
|
211
|
+
detail: entry.detail,
|
|
212
|
+
range: wordRange,
|
|
213
|
+
kind: toCompletionItemKind(entry.kind),
|
|
214
|
+
};
|
|
215
|
+
if (entry.textEdit) {
|
|
216
|
+
if (isInsertReplaceEdit(entry.textEdit)) {
|
|
217
|
+
item.range = {
|
|
218
|
+
insert: toRange(entry.textEdit.insert),
|
|
219
|
+
replace: toRange(entry.textEdit.replace),
|
|
220
|
+
};
|
|
221
|
+
}
|
|
222
|
+
else {
|
|
223
|
+
item.range = toRange(entry.textEdit.range);
|
|
224
|
+
}
|
|
225
|
+
item.insertText = entry.textEdit.newText;
|
|
226
|
+
}
|
|
227
|
+
if (entry.additionalTextEdits) {
|
|
228
|
+
item.additionalTextEdits = entry.additionalTextEdits.map(toTextEdit);
|
|
229
|
+
}
|
|
230
|
+
if (entry.insertTextFormat === main.exports.InsertTextFormat.Snippet) {
|
|
231
|
+
item.insertTextRules = languages.CompletionItemInsertTextRule.InsertAsSnippet;
|
|
232
|
+
}
|
|
233
|
+
if (entry.documentation) {
|
|
234
|
+
if (typeof entry.documentation === "string") {
|
|
235
|
+
item.documentation = entry.documentation;
|
|
236
|
+
}
|
|
237
|
+
else {
|
|
238
|
+
item.documentation = {
|
|
239
|
+
supportThemeIcons: false,
|
|
240
|
+
value: entry.documentation.value,
|
|
241
|
+
supportHtml: true,
|
|
242
|
+
};
|
|
243
|
+
}
|
|
244
|
+
}
|
|
245
|
+
return item;
|
|
246
|
+
});
|
|
247
|
+
return {
|
|
248
|
+
incomplete: completionList.isIncomplete,
|
|
249
|
+
suggestions: items,
|
|
250
|
+
};
|
|
251
|
+
}
|
|
252
|
+
}
|
|
253
|
+
//#endregion
|
|
254
|
+
//#region Formatter
|
|
255
|
+
class FormattingProvider {
|
|
256
|
+
constructor(_worker, _defaults) {
|
|
257
|
+
this._worker = _worker;
|
|
258
|
+
this._defaults = _defaults;
|
|
259
|
+
}
|
|
260
|
+
async provideDocumentFormattingEdits(model) {
|
|
261
|
+
const worker = await this._worker(model.uri);
|
|
262
|
+
const context = this._defaults.getApiContextForModel(model.uri.toString());
|
|
263
|
+
const edits = await worker.doFormat(model.uri.toString(), context);
|
|
264
|
+
return edits.map((e) => ({ range: toRange(e.range), text: e.newText }));
|
|
265
|
+
}
|
|
266
|
+
}
|
|
267
|
+
//#endregion
|
|
268
|
+
|
|
269
|
+
export { CompletionProvider as C, DiagnosticsAdapter as D, FormattingProvider as F, toCompletionItemKind as t };
|