@esri/solutions-components 5.1.14 → 5.1.16
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cdn/247Q2TXM.js +2 -0
- package/dist/cdn/{VCKCRMSD.js → 2C4JBZR3.js} +1 -1
- package/dist/cdn/{VW4UJ7IY.js → 2DTIYSOT.js} +1 -1
- package/dist/cdn/{JNQB7T54.js → 2QR2IHMG.js} +1 -1
- package/dist/cdn/3ODUV7DM.js +2 -0
- package/dist/cdn/{CPWYI2FO.js → 3TZRVL3S.js} +1 -1
- package/dist/cdn/{IBSFJBIL.js → 447ZMCY3.js} +1 -1
- package/dist/cdn/{XRQNNWH3.js → 4JE4ZZEO.js} +1 -1
- package/dist/cdn/4O622WUQ.js +2 -0
- package/dist/cdn/4OZKMC4H.js +2 -0
- package/dist/cdn/{T6F3TWF6.js → 4RPDNW6C.js} +1 -1
- package/dist/cdn/{24U5P7WR.js → 4W4LIIXK.js} +1 -1
- package/dist/cdn/{SNRLIWGC.js → 56OXNE5M.js} +1 -1
- package/dist/cdn/{5DZ55HIG.js → 5E2X2LIC.js} +1 -1
- package/dist/cdn/{XL66TA6C.js → 5LSAVYFC.js} +1 -1
- package/dist/cdn/5MVOXMG2.js +2 -0
- package/dist/cdn/5QGU6U72.js +2 -0
- package/dist/cdn/{KN2PNGQX.js → 6HPH3E35.js} +1 -1
- package/dist/cdn/{5AGI2QC2.js → 6IWBGRKB.js} +1 -1
- package/dist/cdn/6PKGJDEH.js +2 -0
- package/dist/cdn/6TGGKMQB.js +2 -0
- package/dist/cdn/{BOA6VQK6.js → 75QFNN26.js} +1 -1
- package/dist/cdn/{HB56DBBP.js → 7EKT4XZ2.js} +5 -5
- package/dist/cdn/{7MJZYDDW.js → 7FGKODSI.js} +1 -1
- package/dist/cdn/{BFYYWPZY.js → 7RX3CC2H.js} +1 -1
- package/dist/cdn/{KJTTBON2.js → ACR7LXQM.js} +1 -1
- package/dist/cdn/{65VKA5R3.js → AIJ5KNSJ.js} +1 -1
- package/dist/cdn/AVMD543K.js +2 -0
- package/dist/cdn/{JIOMWIMT.js → B33ONN6M.js} +1 -1
- package/dist/cdn/{OZVQRDTO.js → BE4N7HFP.js} +1 -1
- package/dist/cdn/{Z4LGN5M5.js → BSPAXBDY.js} +1 -1
- package/dist/cdn/{DERWSE25.js → C5IHV5FJ.js} +1 -1
- package/dist/cdn/{EV55ZAHX.js → C7D3FPWP.js} +1 -1
- package/dist/cdn/{2GBCVJXZ.js → D62YOY7Q.js} +1 -1
- package/dist/cdn/{4VUQR74S.js → DCNEGYEC.js} +1 -1
- package/dist/cdn/DG2BBLXW.js +2 -0
- package/dist/cdn/{7GWFZ23D.js → DTXW7GR2.js} +1 -1
- package/dist/cdn/DXWCRPU7.js +2 -0
- package/dist/cdn/{ABPXUFXN.js → E7CD7GZL.js} +1 -1
- package/dist/cdn/EOMG2X5B.js +357 -0
- package/dist/cdn/{O4MNHPWI.js → EWCJJNT5.js} +1 -1
- package/dist/cdn/{WQUZG2NJ.js → FILRH4BY.js} +1 -1
- package/dist/cdn/{OQMMSCLX.js → FUEOEICW.js} +1 -1
- package/dist/cdn/{2CIYQPV2.js → FWRCG7QJ.js} +1 -1
- package/dist/cdn/{O62JG2Y6.js → FXGWLBJ7.js} +1 -1
- package/dist/cdn/{6MQWDLJ6.js → GMAV5T2N.js} +1 -1
- package/dist/cdn/{LGJMYSGU.js → GPODLJUL.js} +1 -1
- package/dist/cdn/{CNNBPMQT.js → GRFNUGBT.js} +1 -1
- package/dist/cdn/{JXERXJF5.js → GTX5TOX6.js} +1 -1
- package/dist/cdn/GWKUM5FJ.js +456 -0
- package/dist/cdn/{5TNQ4S67.js → H3GN63Y3.js} +1 -1
- package/dist/cdn/{T7JWS4CF.js → HIVXXDHM.js} +1 -1
- package/dist/cdn/I4WRVQPK.js +2 -0
- package/dist/cdn/{36LRAUE4.js → IPQDASPD.js} +1 -1
- package/dist/cdn/{RSPNBIIE.js → IWLPFHJF.js} +1 -1
- package/dist/cdn/{ZXHMBCGN.js → J4Y2UUE5.js} +1 -1
- package/dist/cdn/{YR6F4HW7.js → JDGAPNOB.js} +1 -1
- package/dist/cdn/{7SZY3VBD.js → JMFXUBR7.js} +1 -1
- package/dist/cdn/{GNX2VU4F.js → JSKYS7P5.js} +1 -1
- package/dist/cdn/{AQ2USXUY.js → JY2FA5F3.js} +1 -1
- package/dist/cdn/{TRNQ5OTY.js → JYKJLNCR.js} +1 -1
- package/dist/cdn/K5DU5RWF.js +2 -0
- package/dist/cdn/{N5DZRJNH.js → KH4ZYXHD.js} +1 -1
- package/dist/cdn/{DT7GQICF.js → KMKWVYPI.js} +1 -1
- package/dist/cdn/{QPMXVWMP.js → L6LA4X2Q.js} +1 -1
- package/dist/cdn/{FTWOLF7Y.js → L76QNBH4.js} +1 -1
- package/dist/cdn/{SSNO5VHY.js → LC7635YE.js} +1 -1
- package/dist/cdn/{COKMQSEA.js → LEZRHZSL.js} +1 -1
- package/dist/cdn/{COEHM4BJ.js → LSPJWXOL.js} +1 -1
- package/dist/cdn/{PHGSNNMQ.js → LULZPSZK.js} +1 -1
- package/dist/cdn/{5O6E2RIA.js → LVFCQS24.js} +1 -1
- package/dist/cdn/{QMUSSZL2.js → M3BC47EX.js} +1 -1
- package/dist/cdn/{IYZ2PDYK.js → MD2W2CNY.js} +1 -1
- package/dist/cdn/{MECI4R4R.js → MH3W3N6T.js} +3 -3
- package/dist/cdn/{XOPNEAS5.js → MIC565TO.js} +1 -1
- package/dist/cdn/{FJAUOTG7.js → MKGWQ7ED.js} +1 -1
- package/dist/cdn/{XSJOQTEM.js → MTGZHZYF.js} +1 -1
- package/dist/cdn/{G2OBSHPX.js → N74SSEHF.js} +1 -1
- package/dist/cdn/{KOIHVAUY.js → NLXWDQUL.js} +1 -1
- package/dist/cdn/{CDZW34JV.js → NWI63TZX.js} +1 -1
- package/dist/cdn/{CAPXLC6T.js → O2Y2MGL7.js} +1 -1
- package/dist/cdn/{2A7FDE6T.js → O4Q74CU3.js} +1 -1
- package/dist/cdn/{SYHEO472.js → O7KEBYBS.js} +1 -1
- package/dist/cdn/PB4KDDNX.js +2 -0
- package/dist/cdn/{HW4LYJUR.js → PCRICJQB.js} +1 -1
- package/dist/cdn/{53YBLXWP.js → PFGAF7W7.js} +1 -1
- package/dist/cdn/{IDJHBEJC.js → PJ556LHC.js} +3 -3
- package/dist/cdn/{AONULVO2.js → PRBMUEIU.js} +1 -1
- package/dist/cdn/{2WXIVPKA.js → PUBYJMMF.js} +1 -1
- package/dist/cdn/Q5ALOX6G.js +2 -0
- package/dist/cdn/{FLPXST7W.js → QIYUCOCH.js} +1 -1
- package/dist/cdn/{RLDOLDG5.js → QT66ATR6.js} +1 -1
- package/dist/cdn/{K3ALRIQF.js → R22ZBXMU.js} +1 -1
- package/dist/cdn/{6RHFFYNC.js → RBA5LP53.js} +1 -1
- package/dist/cdn/{4M55FA2L.js → RJJEDOA5.js} +1 -1
- package/dist/cdn/{3JF7PWPA.js → RTHNTV3C.js} +1 -1
- package/dist/cdn/{VQ5ZAQUF.js → RWYVVDWD.js} +1 -1
- package/dist/cdn/{RPLXKWJA.js → SWZW76QC.js} +1 -1
- package/dist/cdn/{AO7XKW2U.js → SY25U3KI.js} +1 -1
- package/dist/cdn/T5RT73MF.js +2 -0
- package/dist/cdn/{W6GIBBBE.js → TWELRTPF.js} +1 -1
- package/dist/cdn/U3D2IIAX.js +2 -0
- package/dist/cdn/UAWJNBXB.js +4 -0
- package/dist/cdn/{KF64ALRP.js → ULAU7YYD.js} +1 -1
- package/dist/cdn/{VZWYFHPJ.js → UPYHIGTA.js} +1 -1
- package/dist/cdn/{VHAXJPRY.js → UR2RYZ4Q.js} +1 -1
- package/dist/cdn/{L5DQOHD5.js → V3QY6GGE.js} +1 -1
- package/dist/cdn/{YGVATVII.js → VEBARNK2.js} +1 -1
- package/dist/cdn/VSTISYVL.js +2 -0
- package/dist/cdn/{JMY4B4WQ.js → VT35RTGD.js} +1 -1
- package/dist/cdn/{RGOUIRT7.js → WFDP33EC.js} +1 -1
- package/dist/cdn/{4QGYS5DL.js → WMY3JAPO.js} +1 -1
- package/dist/cdn/{CWW74G2W.js → WNSJ26IM.js} +1 -1
- package/dist/cdn/{RI7U6FA5.js → WP3FT4MH.js} +1 -1
- package/dist/cdn/{AIUJXRA5.js → WSGJL4QG.js} +1 -1
- package/dist/cdn/{WVRDKKBC.js → WWRJFSPK.js} +1 -1
- package/dist/cdn/XGF4Z7DL.js +2 -0
- package/dist/cdn/{67RAW3TG.js → XTMKQTKS.js} +1 -1
- package/dist/cdn/{BDVFJJR4.js → XUQJ6TZ4.js} +1 -1
- package/dist/cdn/{RD7MZ7SN.js → XWMICWSU.js} +1 -1
- package/dist/cdn/{D4HAXELR.js → XZE3UIAE.js} +1 -1
- package/dist/cdn/{5OMXJXRL.js → Y376MZ7V.js} +1 -1
- package/dist/cdn/{2ZH3GVSR.js → YGHICFBD.js} +1 -1
- package/dist/cdn/{GWLE7PJQ.js → YJCJZHBN.js} +1 -1
- package/dist/cdn/{VYOCZUVH.js → YP46NHDO.js} +1 -1
- package/dist/cdn/{MQQ2SHRV.js → YSZNDZHZ.js} +1 -1
- package/dist/cdn/{P3YHSJCB.js → Z7NC4HTS.js} +1 -1
- package/dist/cdn/{5DMFGBJJ.js → ZBXJES7E.js} +1 -1
- package/dist/cdn/{5USMP4M7.js → ZZIJOG6A.js} +1 -1
- package/dist/cdn/index.js +1 -1
- package/dist/chunks/runtime.js +1 -1
- package/dist/chunks/solution-builder-assistant.js +2 -2
- package/dist/components/create-feature/customElement.js +77 -48
- package/dist/components/layer-table/customElement.js +2 -2
- package/dist/components/map-card/customElement.js +2 -2
- package/dist/components/solutions-deploy-app/customElement.js +3 -3
- package/dist/docs/api.json +1 -1
- package/dist/docs/docs.json +1 -1
- package/dist/docs/web-types.json +1 -1
- package/dist/solutions-components_commit.txt +7 -7
- package/package.json +9 -7
- package/dist/cdn/3TAQSXLA.js +0 -2
- package/dist/cdn/4ESJPQUS.js +0 -2
- package/dist/cdn/64DMFXX3.js +0 -459
- package/dist/cdn/7LP2DUHS.js +0 -2
- package/dist/cdn/ACTGIDKO.js +0 -4
- package/dist/cdn/BA3J7L5N.js +0 -2
- package/dist/cdn/BPHZAC66.js +0 -2
- package/dist/cdn/ECJQJ4BY.js +0 -2
- package/dist/cdn/F5EJPIW4.js +0 -2
- package/dist/cdn/FX2C3BL4.js +0 -2
- package/dist/cdn/GEEQWXOZ.js +0 -2
- package/dist/cdn/H3QX6XOJ.js +0 -2
- package/dist/cdn/JRUIRTL7.js +0 -2
- package/dist/cdn/JU2Q5KMI.js +0 -358
- package/dist/cdn/NF77ALHM.js +0 -2
- package/dist/cdn/OJH4NUGT.js +0 -2
- package/dist/cdn/SV2XM7U2.js +0 -2
- package/dist/cdn/TTXN5R4E.js +0 -2
- package/dist/cdn/VM2LS6TR.js +0 -2
- package/dist/cdn/VNWIFVKC.js +0 -2
- package/dist/cdn/VWNMKVMJ.js +0 -2
- package/dist/cdn/X3YWKGD7.js +0 -2
|
@@ -1,27 +1,27 @@
|
|
|
1
1
|
/* COPYRIGHT Esri - https://js.arcgis.com/5.1/LICENSE.txt */
|
|
2
2
|
import { c as I } from "../../chunks/runtime.js";
|
|
3
|
-
import { a as x, g as
|
|
3
|
+
import { a as x, g as v } from "../../chunks/mapViewUtils.js";
|
|
4
4
|
import { u as A } from "../../chunks/useT9n.js";
|
|
5
|
-
import { css as M, html as
|
|
6
|
-
import { createRef as
|
|
7
|
-
import { LitElement as E, createEvent as c, noShadowRoot as k, safeClassMap as
|
|
5
|
+
import { css as M, html as l, nothing as y } from "lit";
|
|
6
|
+
import { createRef as u, ref as g } from "lit-html/directives/ref.js";
|
|
7
|
+
import { LitElement as E, createEvent as c, noShadowRoot as k, safeClassMap as b } from "@arcgis/lumina";
|
|
8
8
|
import { p as P } from "../../chunks/queryUtils.js";
|
|
9
|
-
import
|
|
10
|
-
import
|
|
9
|
+
import F from "@arcgis/core/form/ExpressionInfo.js";
|
|
10
|
+
import L from "@arcgis/core/layers/FeatureLayer.js";
|
|
11
11
|
import C from "@arcgis/core/form/elements/FieldElement.js";
|
|
12
12
|
import S from "@arcgis/core/form/FormTemplate.js";
|
|
13
13
|
import $ from "@arcgis/core/views/MapView.js";
|
|
14
14
|
import V from "@arcgis/core/Graphic.js";
|
|
15
|
-
import * as
|
|
15
|
+
import * as f from "@arcgis/core/core/reactiveUtils.js";
|
|
16
16
|
import * as R from "@arcgis/core/rest/locator.js";
|
|
17
|
-
import
|
|
17
|
+
import w from "@arcgis/core/request.js";
|
|
18
18
|
import * as T from "exifr";
|
|
19
19
|
import U from "@arcgis/core/geometry/Point.js";
|
|
20
20
|
import z from "@arcgis/core/geometry/SpatialReference.js";
|
|
21
21
|
const H = M`@layer{:host{display:block}.hide-editor-toolbar .esri-editor__panel-toolbar{display:none!important}.esri-editor__panel-content{padding-block:0px!important}.esri-editor .esri-item-list__group__header,.esri-editor__panel-content__section .esri-widget__heading{display:none!important}.esri-editor .esri-item-list__filter-container--sticky{padding-block:0px!important;padding-inline:10px!important}.search-widget{width:92%!important;margin:5px 14px 20px}.display-none{display:none!important}.hide-map{height:1%!important;visibility:hidden;position:static!important}.show-map{padding:10px!important;position:absolute!important;bottom:0;height:auto!important;width:calc(100% - 22px)}.notice-msg{padding:10px;width:calc(100% - 20px)}.edit-location-btn{margin:5px;display:flex}.esri-editor__panel-content{padding-block:10px!important}.image-preview-container{padding:10px}.esri-editor{height:auto!important}.height-fit-content{height:fit-content!important}.content-container{padding:1.5rem}.instruction-text{margin-bottom:1.5rem;font-size:1rem}.selected-card{border:2px solid var(--calcite-ui-brand)}.upload-img-footer-container{width:100%;gap:5px;display:grid}.info-container{display:flex;align-items:center;gap:6px;margin-bottom:10px}.info-container calcite-icon{--calcite-icon-color: var(--calcite-color-brand)}.info-container span{font-size:12px;color:var(--calcite-ui-text-3)}.padding-10{padding:10px}.report-selection-container{display:flex;flex-direction:column;padding:10px;--calcite-card-border-color: var(--calcite-color-border-1)}.pb-12{padding-bottom:12px!important}.pt-0{padding-top:0!important}.pt-15{padding-top:15px!important}.option-description-container{display:flex;align-items:center;gap:6px}.cursor-pointer{cursor:pointer;padding:6px 0}.card-body-content{display:flex;flex-direction:row;align-items:center;padding:10px 5px;gap:15px}.text-stack{display:flex;flex-direction:column;gap:2px}.option-title{font-weight:var(--calcite-font-weight-bold);color:var(--calcite-ui-text-1);font-size:var(--calcite-font-size--1)}.option-description{color:var(--calcite-ui-text-3);font-size:var(--calcite-font-size--1)}.action-footer{display:flex;justify-content:center;margin-top:16px}.analysis-wrapper{display:flex;flex-direction:column;align-items:center;gap:5px;text-align:center;margin:auto}.analyzing-icon{--calcite-icon-color: var(--calcite-color-brand);animation:sparkle 2s infinite ease-in-out}.adjusted-height{height:30px!important;min-height:auto!important}@keyframes sparkle{0%,to{transform:scale(1)}50%{transform:scale(1.5)}}@media only screen and (max-width:600px){.esri-editor__panel-content{padding-block:0!important;min-height:0!important}}}`, _ = "geocodedLocation", D = `Extract the address from the user's message and return it in JSON format '{"address":"<address>"}'. If no address is found, return null.`;
|
|
22
22
|
class N extends E {
|
|
23
23
|
constructor() {
|
|
24
|
-
super(...arguments), this.customizeSubmit = !1, this.enableSearch = !1, this.enableSnapping = !1, this.floorLevel = "", this.isMobile = !1, this.selectedLayerId = "", this.showGuidingMsg = !0, this.submitNewReportsMessage = "", this.updateMapPosition = !1, this.reportingArea = !1, this.reportingAreaLayer = "", this.reportingAreaMessage = "", this.showSketchWidgets = !1, this.allowMultipleCreation = !1, this.popupEnabled = !1, this.showLayerVisibilityMsg = !1, this.enablePhotoLocation = !1, this.enableMessageLocation = !1, this._currentPage = "templatePicker", this._showSearchComponent = this.enableSearch, this._layerInfos = [], this._inValidGeometryDrawn = !1, this._selectedImageBase64 = "", this._enteredMessage = "", this._analysisFailed = !1, this._translations = A({ name: "create-feature", blocking: !0 }), this._addingAttachment = !1, this._uploadedImage = null, this._calciteNotice =
|
|
24
|
+
super(...arguments), this.customizeSubmit = !1, this.enableSearch = !1, this.enableSnapping = !1, this.floorLevel = "", this.isMobile = !1, this.selectedLayerId = "", this.showGuidingMsg = !0, this.submitNewReportsMessage = "", this.updateMapPosition = !1, this.reportingArea = !1, this.reportingAreaLayer = "", this.reportingAreaMessage = "", this.showSketchWidgets = !1, this.allowMultipleCreation = !1, this.popupEnabled = !1, this.showLayerVisibilityMsg = !1, this.enablePhotoLocation = !1, this.enableMessageLocation = !1, this._currentPage = "templatePicker", this._showSearchComponent = this.enableSearch, this._layerInfos = [], this._inValidGeometryDrawn = !1, this._selectedImageBase64 = "", this._enteredMessage = "", this._analysisFailed = !1, this._translations = A({ name: "create-feature", blocking: !0 }), this._addingAttachment = !1, this._uploadedImage = null, this._calciteNotice = u(), this._editor = u(), this._mapViewContainer = u(), this._searchRef = u(), this._inputImageForAI = u(), this._messageTextAreaRef = u(), this._guidingMessageRefNode = u(), this._abortController = new AbortController(), this._awaitingLayerEdits = !1, this._pendingAttachmentUpload = !1, this.success = c(), this.fail = c(), this.drawComplete = c(), this.editingLocation = c(), this.editingAttachment = c(), this.progressStatus = c(), this.modeChanged = c(), this.activeFeatureCountChange = c(), this.createFeatureEditorInitialized = c(), this.createFeatureEditorClosed = c(), this._onLayerEdits = async (e) => {
|
|
25
25
|
if (!this._awaitingLayerEdits)
|
|
26
26
|
return;
|
|
27
27
|
const t = [
|
|
@@ -112,7 +112,7 @@ class N extends E {
|
|
|
112
112
|
if (e.has("_currentPage") && await this._focusActivePageInput(), this.isMobile && this.updateMapPosition) {
|
|
113
113
|
const t = this._currentPage === "drawing" ? 80 : 30;
|
|
114
114
|
await this._searchRef.value?.componentOnReady();
|
|
115
|
-
const i = this._showSearchComponent
|
|
115
|
+
const i = this._showSearchComponent && this._searchRef.value?.offsetHeight || 0;
|
|
116
116
|
await this._calciteNotice.value?.componentOnReady();
|
|
117
117
|
const s = (this._calciteNotice.value?.offsetHeight || 0) + i + t;
|
|
118
118
|
this._mapViewContainer.value && (this._mapViewContainer.value.style.top = `${s}px`);
|
|
@@ -128,10 +128,10 @@ class N extends E {
|
|
|
128
128
|
render() {
|
|
129
129
|
const e = this._currentPage === "loading" ? "" : "display-none", t = this.isMobile && this.updateMapPosition ? "show-map" : "display-none", i = this._inValidGeometryDrawn ? "danger" : "success", a = this._inValidGeometryDrawn ? "exclamation-mark-triangle" : "lightbulb", s = this.showLayerVisibilityMsg && this._currentPage === "templatePicker", r = (this.showGuidingMsg || s) && this._currentPage !== "loading" && this._currentPage !== "drawingMultipleFeatures";
|
|
130
130
|
let n = this._translations.chooseCategoryMsg;
|
|
131
|
-
const
|
|
132
|
-
return this._inValidGeometryDrawn ? n = this.reportingAreaMessage || this._translations.reportOutsideAreaMessage : this._currentPage === "drawing" || this._currentPage === "editing" ? n = this._translations.provideLocationMsg : this._currentPage === "featureForm" ? n = this._aiAnalysisInfo?.results?.filter((
|
|
131
|
+
const o = this._aiAnalysisInfo?.results?.filter((m) => !m.success && m.key !== _), d = o?.length ? !0 : this._analysisFailed, p = this._getAnalysisErrorMessage(o?.length), h = this._aiAnalysisInfo?.canUseAI && ["chooseReportType", "analyzingImage", "analyzingMessage", "imageUpload", "messageInput"].includes(this._currentPage);
|
|
132
|
+
return this._inValidGeometryDrawn ? n = this.reportingAreaMessage || this._translations.reportOutsideAreaMessage : this._currentPage === "drawing" || this._currentPage === "editing" ? n = this._translations.provideLocationMsg : this._currentPage === "featureForm" ? n = this._aiAnalysisInfo?.results?.filter((m) => m.success).length ? this._analysisMode === "text" ? this._translations.textReviewMsg : this._translations.formReviewMsg : this._translations.provideDetailsMsg : s && (n = this._translations.enableFeatureTemplatesMessage), l`${d && l`<calcite-alert auto-close icon=x-octagon kind=danger label @calciteAlertClose=${() => {
|
|
133
133
|
this._analysisFailed = !1;
|
|
134
|
-
}} open placement=top><div slot=title>${this._translations.error}</div><div slot=message>${
|
|
134
|
+
}} open placement=top><div slot=title>${this._translations.error}</div><div slot=message>${p}</div></calcite-alert>` || ""}${h && l`<calcite-panel>${this._currentPage === "chooseReportType" && this._getReportTypePage() || ""}${this._currentPage === "imageUpload" && this._aiImageExtractionPage() || ""}${this._currentPage === "messageInput" && this._aiTextExtractionPage() || ""}${this._currentPage === "analyzingImage" && this._getAnalyzingImagePage() || ""}${this._currentPage === "analyzingMessage" && this._getAnalyzingMessagePage() || ""}</calcite-panel>` || ""}${!h && l`${r && l`<calcite-notice class="notice-msg" .icon=${a} .kind=${i} open ${g(this._calciteNotice)}><div slot=message .innerHTML=${n ?? ""} ${g(this._guidingMessageRefNode)}></div></calcite-notice>` || ""}${this._selectedImageBase64 && this._currentPage === "featureForm" && l`<div class="image-preview-container"><calcite-label>${this._translations.photo}</calcite-label><img class="width-full" src=${this._selectedImageBase64 ?? y}></div>` || ""}<calcite-loader class=${b(e)} label scale=s></calcite-loader>${this._currentPage === "featureForm" && this.isMobile && l`<calcite-button appearance=transparent class="edit-location-btn" icon-start=pin @click=${this.editLocation}>${this._translations.editLocationLabel}</calcite-button>` || ""}${this._showSearchComponent && this._updatedMapView && this._selectedLayer && this._getSearchComponent() || ""}${this._getEditor()}` || ""}<div class=${b(t)} ${g(this._mapViewContainer)}></div>`;
|
|
135
135
|
}
|
|
136
136
|
async init() {
|
|
137
137
|
this.mapView && this.selectedLayerId && (this._updatedMapView = this.mapView, await (this.isMobile && this.updateMapPosition ? this.createMobileMapView() : this._loadLayerInfos()));
|
|
@@ -152,7 +152,7 @@ class N extends E {
|
|
|
152
152
|
}));
|
|
153
153
|
}
|
|
154
154
|
async _loadLayerInfos() {
|
|
155
|
-
const e = [], t = this._updatedMapView && await x(this._updatedMapView), i = this.mapView && await
|
|
155
|
+
const e = [], t = this._updatedMapView && await x(this._updatedMapView), i = this.mapView && await v(this.mapView, this.selectedLayerId);
|
|
156
156
|
i && (this._selectedLayer = i, this._attachEditsListener(this._selectedLayer), !this._selectedLayer.isTable && t && t.forEach((a) => {
|
|
157
157
|
e.push({
|
|
158
158
|
layer: a,
|
|
@@ -175,13 +175,13 @@ class N extends E {
|
|
|
175
175
|
}
|
|
176
176
|
_getReportTypePage() {
|
|
177
177
|
const e = this._hasImageExtraction(), t = this._hasTextExtraction();
|
|
178
|
-
return
|
|
178
|
+
return l`<div class="report-selection-container"><calcite-label class="pb-12">${this._translations.createReportHeading}</calcite-label><div class="option-description-container"><span class="option-description">${this._translations.aiAssistedReport}</span><calcite-icon icon=effects scale=s></calcite-icon></div>${t && l`<calcite-card class="cursor-pointer pt-0" @click=${() => {
|
|
179
179
|
this._analysisMode = "text", this.progressStatus.emit(35), this._currentPage = "messageInput";
|
|
180
180
|
}} @keydown=${(i) => {
|
|
181
181
|
this._activateCardFromKeyboard(i, () => {
|
|
182
182
|
this._analysisMode = "text", this.progressStatus.emit(35), this._currentPage = "messageInput";
|
|
183
183
|
});
|
|
184
|
-
}}><div slot=description class="card-body-content"><calcite-icon icon=speech-bubble scale=m></calcite-icon><div class="text-stack"><span class="option-title">${this._translations.useDescription}</span><span class="option-description">${this._translations.aiTextAssistantDescription}</span></div></div></calcite-card>` || ""}${e &&
|
|
184
|
+
}}><div slot=description class="card-body-content"><calcite-icon icon=speech-bubble scale=m></calcite-icon><div class="text-stack"><span class="option-title">${this._translations.useDescription}</span><span class="option-description">${this._translations.aiTextAssistantDescription}</span></div></div></calcite-card>` || ""}${e && l`<calcite-card class="cursor-pointer" @click=${() => {
|
|
185
185
|
this._analysisMode = "image", this.progressStatus.emit(35), this._currentPage = "imageUpload";
|
|
186
186
|
}} @keydown=${(i) => {
|
|
187
187
|
this._activateCardFromKeyboard(i, () => {
|
|
@@ -199,29 +199,29 @@ class N extends E {
|
|
|
199
199
|
(e.key === "Enter" || e.key === " ") && (e.preventDefault(), t());
|
|
200
200
|
}
|
|
201
201
|
_getEditor() {
|
|
202
|
-
return
|
|
202
|
+
return l`<arcgis-editor class=height-fit-content @arcgisReady=${this._onEditorComponentReady} @arcgisPropertyChange=${this._onEditorPropertyChange} @arcgisSketchUpdate=${this._onSketchUpdate} ${g(this._editor)}></arcgis-editor>`;
|
|
203
203
|
}
|
|
204
204
|
_getSearchComponent() {
|
|
205
205
|
const e = this._currentPage === "drawing" || this._currentPage === "editing" ? "" : "display-none", t = this.searchConfiguration && this._updatedMapView ? this._getSearchConfig(this.searchConfiguration, this._updatedMapView) : void 0;
|
|
206
|
-
return this._updateSearchActiveSourceIndex(),
|
|
206
|
+
return this._updateSearchActiveSourceIndex(), l`<arcgis-search class=${`search-widget ${e}`} .view=${this._updatedMapView} @arcgisSearchComplete=${this.searchComplete} popup-disabled result-graphic-disabled .includeDefaultSourcesDisabled=${!!t?.sources?.length} .sources=${t?.sources || []} .allPlaceholder=${t?.allPlaceholder} .searchAllDisabled=${!t?.searchAllEnabled} ${g(this._searchRef)}></arcgis-search>`;
|
|
207
207
|
}
|
|
208
208
|
_aiImageExtractionPage() {
|
|
209
209
|
const e = this._selectedImageBase64 !== "", t = e ? this._translations.replaceImage : this._translations.imageUploadLimitHint;
|
|
210
|
-
return
|
|
210
|
+
return l`<calcite-notice class="notice-msg" icon=effects kind=brand open><div slot=message>${this._translations.aiAssistantProcessingHint}</div></calcite-notice><div class="padding-10"><calcite-label><div>${this._translations.photo}<span style="color: var(--calcite-color-status-danger)">*</span></div><calcite-input type=file accept="image/*;capture=camera" @calciteInputInput=${this._onImageUpload} ${g(this._inputImageForAI)}></calcite-input></calcite-label><div class="info-container"><calcite-icon aria-hidden=true icon=information scale=s></calcite-icon><span>${t}</span></div>${e && l`<img alt=${this._translations.photo ?? y} class="width-full" src=${this._selectedImageBase64 ?? y}>` || ""}</div><div slot=footer class="upload-img-footer-container"><calcite-button width=full .disabled=${!e} id=next-btn @click=${this._analyzeImage}>${this._translations.next}</calcite-button><calcite-button width=full appearance=outline kind=brand @click=${() => this.modeChanged.emit()}>${this._translations.cancel}</calcite-button></div>`;
|
|
211
211
|
}
|
|
212
212
|
_aiTextExtractionPage() {
|
|
213
213
|
const e = this._enteredMessage.trim();
|
|
214
|
-
return
|
|
214
|
+
return l`<calcite-notice class="notice-msg" icon=effects kind=brand open><div slot=message>${this._translations.aiTextProcessingHint}</div></calcite-notice><div class="padding-10"><calcite-label><div>${this._translations.description}<span style="color: var(--calcite-color-status-danger)">*</span></div><calcite-text-area @input=${(t) => {
|
|
215
215
|
this._enteredMessage = t.target.value;
|
|
216
|
-
}} .placeholder=${this._translations.messageInputHint} resize=vertical rows=6 .value=${this._enteredMessage} ${
|
|
216
|
+
}} .placeholder=${this._translations.messageInputHint} resize=vertical rows=6 .value=${this._enteredMessage} ${g(this._messageTextAreaRef)}></calcite-text-area></calcite-label><div class="info-container"><calcite-icon icon=information scale=s></calcite-icon><span>${this._translations.descriptionRequiredHint}</span></div></div><div slot=footer class="upload-img-footer-container"><calcite-button width=full .disabled=${!e} id=next-btn @click=${this._analyzeMessage}>${this._translations.next}</calcite-button><calcite-button width=full appearance=outline kind=brand @click=${() => this.modeChanged.emit()}>${this._translations.cancel}</calcite-button></div>`;
|
|
217
217
|
}
|
|
218
218
|
_getAnalyzingImagePage() {
|
|
219
|
-
return
|
|
219
|
+
return l`<div class="analysis-wrapper"><calcite-label layout=inline><calcite-icon class="analyzing-icon" icon=effects scale=s></calcite-icon><span>${this._translations.analyzingImage}</span></calcite-label><calcite-button class="skip-btn" appearance=transparent @click=${() => {
|
|
220
220
|
this._abortController.abort(), this._currentPage = "templatePicker";
|
|
221
221
|
}}>${this._translations.skip}</calcite-button></div>`;
|
|
222
222
|
}
|
|
223
223
|
_getAnalyzingMessagePage() {
|
|
224
|
-
return
|
|
224
|
+
return l`<div class="analysis-wrapper"><calcite-label layout=inline><calcite-icon class="analyzing-icon" icon=effects scale=s></calcite-icon><span>${this._translations.analyzingText}</span></calcite-label><calcite-button class="skip-btn" appearance=transparent @click=${() => {
|
|
225
225
|
this._abortController.abort(), this._currentPage = "templatePicker";
|
|
226
226
|
}}>${this._translations.skip}</calcite-button></div>`;
|
|
227
227
|
}
|
|
@@ -244,8 +244,8 @@ class N extends E {
|
|
|
244
244
|
try {
|
|
245
245
|
this._analysisMode = "image", this._currentPage = "analyzingImage", this.progressStatus.emit(45);
|
|
246
246
|
const i = this._inputImageForAI.value.files[0], a = await new Promise((r, n) => {
|
|
247
|
-
const
|
|
248
|
-
|
|
247
|
+
const o = new FileReader();
|
|
248
|
+
o.onloadend = () => r(o.result), o.onerror = n, this._inputImageForAI.value && o.readAsDataURL(i);
|
|
249
249
|
});
|
|
250
250
|
if (this.enablePhotoLocation) {
|
|
251
251
|
const r = await T.gps(i);
|
|
@@ -254,8 +254,8 @@ class N extends E {
|
|
|
254
254
|
longitude: r.longitude,
|
|
255
255
|
latitude: r.latitude,
|
|
256
256
|
spatialReference: new z({ wkid: 4326 })
|
|
257
|
-
}),
|
|
258
|
-
this._aiAnalysisInfo && (this._aiAnalysisInfo.location =
|
|
257
|
+
}), o = await P(n, this.mapView.spatialReference);
|
|
258
|
+
this._aiAnalysisInfo && (this._aiAnalysisInfo.location = o);
|
|
259
259
|
}
|
|
260
260
|
}
|
|
261
261
|
const s = this._getImageExtractionData();
|
|
@@ -263,7 +263,7 @@ class N extends E {
|
|
|
263
263
|
const r = {
|
|
264
264
|
input: a,
|
|
265
265
|
data: s
|
|
266
|
-
}, n = await
|
|
266
|
+
}, n = await w(t.imageUrl, {
|
|
267
267
|
method: "post",
|
|
268
268
|
headers: {
|
|
269
269
|
"Content-Type": "application/json",
|
|
@@ -291,7 +291,7 @@ class N extends E {
|
|
|
291
291
|
}
|
|
292
292
|
try {
|
|
293
293
|
this._analysisMode = "text", this._currentPage = "analyzingMessage", this.progressStatus.emit(45);
|
|
294
|
-
const r = await
|
|
294
|
+
const r = await w(t.textUrl, {
|
|
295
295
|
method: "post",
|
|
296
296
|
headers: {
|
|
297
297
|
"Content-Type": "application/json",
|
|
@@ -328,6 +328,29 @@ class N extends E {
|
|
|
328
328
|
};
|
|
329
329
|
this._selectedImageBase64 = "", this._enteredMessage = "", this._aiAnalysisInfo = e;
|
|
330
330
|
}
|
|
331
|
+
async _getPortalSettingsWithAiStatus(e) {
|
|
332
|
+
const t = await e.fetchSettings();
|
|
333
|
+
if (!(e?.isPortal === !0))
|
|
334
|
+
return t ?? {};
|
|
335
|
+
const a = e?.restUrl || `${e?.url}/sharing/rest`;
|
|
336
|
+
if (!a)
|
|
337
|
+
return t ?? {};
|
|
338
|
+
try {
|
|
339
|
+
const s = `${a}/portals/self/aiServer/status`, r = { f: "json" };
|
|
340
|
+
e?.credential?.token && (r.token = e.credential.token);
|
|
341
|
+
const o = (await w(s, {
|
|
342
|
+
responseType: "json",
|
|
343
|
+
query: r
|
|
344
|
+
}))?.data;
|
|
345
|
+
if (o && typeof o == "object")
|
|
346
|
+
return {
|
|
347
|
+
...t ?? {},
|
|
348
|
+
...o
|
|
349
|
+
};
|
|
350
|
+
} catch {
|
|
351
|
+
}
|
|
352
|
+
return t ?? {};
|
|
353
|
+
}
|
|
331
354
|
async _getAIAnalysisInfo() {
|
|
332
355
|
const e = {
|
|
333
356
|
imageUrl: "",
|
|
@@ -338,14 +361,20 @@ class N extends E {
|
|
|
338
361
|
if (this._hasImageExtraction() || this._hasTextExtraction()) {
|
|
339
362
|
const i = (this.mapView?.map).portalItem.portal;
|
|
340
363
|
if (i) {
|
|
341
|
-
const a = await
|
|
342
|
-
s?.url && (s.api?.image_analyze && (e.imageUrl = s.url + s.api.image_analyze), s.api?.text_analyze ? e.textUrl = s.url + s.api.text_analyze : e.textUrl = `${s.url}/api/text/analyze`), i.credential && (e.token = i.credential.token)
|
|
364
|
+
const a = await this._getPortalSettingsWithAiStatus(i), s = i?.helperServices.aiUtilityServices;
|
|
365
|
+
s?.url && (s.api?.image_analyze && (e.imageUrl = s.url + s.api.image_analyze), s.api?.text_analyze ? e.textUrl = s.url + s.api.text_analyze : e.textUrl = `${s.url}/api/text/analyze`), i.credential && (e.token = i.credential.token);
|
|
366
|
+
const r = i?.isPortal === !0, n = i?.user?.privileges?.includes("portal:user:useAIServices") === !0 || i?.user?.privileges?.includes("portal:user:useAI") === !0;
|
|
367
|
+
if (a?.aiConfig && a?.aiConfig.aiForOrg.enabled) {
|
|
368
|
+
const d = a?.aiConfig.aiForOrg.aiCapabilities?.aiServices?.enabled === !0, p = r ? !1 : a?.blockBetaApps === !0;
|
|
369
|
+
let h = !1;
|
|
370
|
+
r ? (h = a?.aiCapabilities?.aiServices?.configured === !0, e.canUseAI = d && !p && n && h) : e.canUseAI = d && !p && n;
|
|
371
|
+
}
|
|
343
372
|
}
|
|
344
373
|
}
|
|
345
374
|
return e;
|
|
346
375
|
}
|
|
347
376
|
async queryIntersectingFeatures() {
|
|
348
|
-
const e = this.mapView && await
|
|
377
|
+
const e = this.mapView && await v(this.mapView, this.reportingAreaLayer);
|
|
349
378
|
if (e) {
|
|
350
379
|
const t = e.createQuery();
|
|
351
380
|
t.geometry = this._drawnGeometry, t.spatialRelationship = "intersects";
|
|
@@ -368,17 +397,17 @@ class N extends E {
|
|
|
368
397
|
}
|
|
369
398
|
async _onEditorPropertyChange() {
|
|
370
399
|
const e = this._editor.value;
|
|
371
|
-
e?.state && (this._drawingHandler || (this._drawingHandler =
|
|
400
|
+
e?.state && (this._drawingHandler || (this._drawingHandler = f.watch(() => e.state, async (t) => {
|
|
372
401
|
const i = this._editor.value?.activeWorkflow, a = i?.formViewModel;
|
|
373
402
|
if (t === "creating-features" && (a?.status === "not-loaded" || a?.state === "disabled") && (this._mapViewContainer.value?.classList.replace("hide-map", "show-map"), this._selectedLayer && !this._selectedLayer.isTable && (this._currentPage = "drawing", this.progressStatus.emit(50), i?.sketchViewModel?.createGraphic && this._aiAnalysisInfo?.location && (await this._goToAndWaitForStationary({ center: this._aiAnalysisInfo.location }), this._selectedLayer.geometryType === "point" && await this._initializeSketchPoint(this._aiAnalysisInfo.location.clone()))), this.isMobile && this._adjustPanelContentHeight(), this._searchRef.value && await this._searchRef.value.setFocus()), t === "adding-attachment" || t === "editing-attachment" ? (this._addingAttachment = !0, this.editingAttachment.emit(!0)) : this._addingAttachment && (this.editingAttachment.emit(!1), this._addingAttachment = !1), !this._featureFormHandler) {
|
|
374
403
|
const r = this._editor.value?.activeWorkflow?.formViewModel;
|
|
375
|
-
r.state ? this._featureFormHandler =
|
|
404
|
+
r.state ? this._featureFormHandler = f.watch(() => r?.state, (n) => {
|
|
376
405
|
this._currentPage !== "editing" && n === "ready" ? this.initFeatureFormPage() : this.allowMultipleCreation && this._currentPage !== "editing" && n === "disabled" && (this._currentPage = "drawingMultipleFeatures");
|
|
377
|
-
}) : r.status && (this._featureFormHandler =
|
|
406
|
+
}) : r.status && (this._featureFormHandler = f.watch(() => r?.status, (n) => {
|
|
378
407
|
this._currentPage !== "editing" && n === "loaded" ? this.initFeatureFormPage() : this.allowMultipleCreation && this._currentPage !== "editing" && n === "not-loaded" && (this._currentPage = "drawingMultipleFeatures");
|
|
379
408
|
}));
|
|
380
409
|
}
|
|
381
|
-
this.allowMultipleCreation && e.activeWorkflow && (this._activeFeatureCountHandler || (this._activeFeatureCountHandler =
|
|
410
|
+
this.allowMultipleCreation && e.activeWorkflow && (this._activeFeatureCountHandler || (this._activeFeatureCountHandler = f.watch(() => e.activeWorkflow?.data?.viewModel?.activeFeatureCount, (s) => {
|
|
382
411
|
s === 0 && (this._currentPage = "drawing"), this.activeFeatureCountChange.emit(s);
|
|
383
412
|
})));
|
|
384
413
|
})), await this.hideEditorsElements());
|
|
@@ -422,7 +451,7 @@ class N extends E {
|
|
|
422
451
|
animate: !0,
|
|
423
452
|
duration: this.isMobile ? 1200 : 800,
|
|
424
453
|
easing: "ease-in-out"
|
|
425
|
-
}), await
|
|
454
|
+
}), await f.whenOnce(() => t.stationary));
|
|
426
455
|
}
|
|
427
456
|
async _initializeSketchPoint(e) {
|
|
428
457
|
this.isMobile && await new Promise((s) => setTimeout(s, 1e3));
|
|
@@ -445,8 +474,8 @@ class N extends E {
|
|
|
445
474
|
return { ...e };
|
|
446
475
|
const a = i.map((s) => {
|
|
447
476
|
if (s.hasOwnProperty("layer")) {
|
|
448
|
-
const r = { ...s }, n = r.layer?.id,
|
|
449
|
-
return
|
|
477
|
+
const r = { ...s }, n = r.layer?.id, o = n ? t.map?.findLayerById(n) : "", d = r?.layer?.url;
|
|
478
|
+
return o ? r.layer = o : d && (r.layer = new L(d)), r;
|
|
450
479
|
}
|
|
451
480
|
if (s.hasOwnProperty("locator")) {
|
|
452
481
|
const r = { ...s };
|
|
@@ -476,7 +505,7 @@ class N extends E {
|
|
|
476
505
|
const r = this._editor.value?.activeWorkflow?.formViewModel;
|
|
477
506
|
r.status === "loaded" ? await r.setValueForFieldName?.(a.name, e, r.features) : r.state === "ready" && r.setValue?.(a.name, e), a.editable = !1;
|
|
478
507
|
} else if (t.formTemplate && this.formElements) {
|
|
479
|
-
const s = new
|
|
508
|
+
const s = new F({
|
|
480
509
|
expression: `'${e}'`,
|
|
481
510
|
name: "floor-info-test",
|
|
482
511
|
title: "Floor Info",
|
|
@@ -493,15 +522,15 @@ class N extends E {
|
|
|
493
522
|
valueExpression: s.name
|
|
494
523
|
});
|
|
495
524
|
this._updatedMapView?.map.editableLayers.forEach((n) => {
|
|
496
|
-
const
|
|
497
|
-
if (
|
|
498
|
-
const
|
|
499
|
-
title:
|
|
500
|
-
description:
|
|
501
|
-
elements:
|
|
502
|
-
expressionInfos: [s].concat(
|
|
525
|
+
const o = this.formElements.orgElements, d = this.formElements.orgExpressionInfos, p = [...o];
|
|
526
|
+
if (p.push(r), n.type === "feature") {
|
|
527
|
+
const h = n, m = new S({
|
|
528
|
+
title: h?.formTemplate?.title,
|
|
529
|
+
description: h?.formTemplate?.description,
|
|
530
|
+
elements: p,
|
|
531
|
+
expressionInfos: [s].concat(d)
|
|
503
532
|
});
|
|
504
|
-
n.formTemplate =
|
|
533
|
+
n.formTemplate = m;
|
|
505
534
|
}
|
|
506
535
|
});
|
|
507
536
|
}
|
|
@@ -310,13 +310,13 @@ class M extends A {
|
|
|
310
310
|
_validateEnabledActions() {
|
|
311
311
|
const e = this._getIds().length, t = ["zoom-to-object", "pencil", "trash", "erase", "selected-items-filter", "copy"];
|
|
312
312
|
this._toolInfos?.forEach((i) => {
|
|
313
|
-
i && t.indexOf(i.icon) > -1 && (i.disabled = i.icon === "pencil" ? e < 2 || e > b : e < 1, i.toolTip = i.icon === "pencil" ? e > b ? this._translations.featureEditLimitNotice : this._translations.editMultiple : i.toolTip);
|
|
313
|
+
i && i.icon && t.indexOf(i.icon) > -1 && (i.disabled = i.icon === "pencil" ? e < 2 || e > b : e < 1, i.toolTip = i.icon === "pencil" ? e > b ? this._translations.featureEditLimitNotice : this._translations.editMultiple : i.toolTip);
|
|
314
314
|
});
|
|
315
315
|
}
|
|
316
316
|
_validateActiveActions() {
|
|
317
317
|
const e = ["filter", "list-check-all", "selected-items-filter"];
|
|
318
318
|
this._toolInfos?.forEach((t) => {
|
|
319
|
-
t && e.indexOf(t.icon) > -1 && (t.icon === "filter" && (t.indicator = this._filterActive), t.icon === "list-check-all" && (t.active = this._selectAllActive), t.icon === "selected-items-filter" && (t.active = this._showOnlySelected, t.label = this._showOnlySelected ? this._translations.showAll : this._translations.showSelected, t.toolTip = this._showOnlySelected ? this._translations.showAll : this._translations.showSelected));
|
|
319
|
+
t && t.icon && e.indexOf(t.icon) > -1 && (t.icon === "filter" && (t.indicator = this._filterActive), t.icon === "list-check-all" && (t.active = this._selectAllActive), t.icon === "selected-items-filter" && (t.active = this._showOnlySelected, t.label = this._showOnlySelected ? this._translations.showAll : this._translations.showSelected, t.toolTip = this._showOnlySelected ? this._translations.showAll : this._translations.showSelected));
|
|
320
320
|
});
|
|
321
321
|
}
|
|
322
322
|
async _initToolInfos() {
|
|
@@ -212,7 +212,7 @@ class W extends $ {
|
|
|
212
212
|
_validateActiveActions() {
|
|
213
213
|
const e = ["filter"];
|
|
214
214
|
this._toolInfos?.forEach((i) => {
|
|
215
|
-
i && e.indexOf(i.icon) > -1 && i.icon === "filter" && (i.indicator = this._filterActive);
|
|
215
|
+
i && i.icon && e.indexOf(i.icon) > -1 && i.icon === "filter" && (i.indicator = this._filterActive);
|
|
216
216
|
});
|
|
217
217
|
}
|
|
218
218
|
_handleMapVisibility() {
|
|
@@ -224,7 +224,7 @@ class W extends $ {
|
|
|
224
224
|
_validateEnabledActions() {
|
|
225
225
|
const e = this.selectedFeaturesIds.length > 0, i = this.selectedFeaturesIds.length < 2 || this.selectedFeaturesIds.length > m, s = ["zoom-to-object", "pencil", "erase", "copy"];
|
|
226
226
|
this._toolInfos?.forEach((t) => {
|
|
227
|
-
t && s.indexOf(t.icon) > -1 && (t.disabled = t.icon === "pencil" ? i : !e, t.toolTip = t.icon === "pencil" ? this.selectedFeaturesIds.length > m ? this._translations.featureEditLimitNotice : this._translations.editMultiple : t.toolTip);
|
|
227
|
+
t && t.icon && s.indexOf(t.icon) > -1 && (t.disabled = t.icon === "pencil" ? i : !e, t.toolTip = t.icon === "pencil" ? this.selectedFeaturesIds.length > m ? this._translations.featureEditLimitNotice : this._translations.editMultiple : t.toolTip);
|
|
228
228
|
});
|
|
229
229
|
}
|
|
230
230
|
_handleDocumentClick(e) {
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
import { c as f } from "../../chunks/runtime.js";
|
|
3
3
|
import { repeat as v } from "lit/directives/repeat.js";
|
|
4
4
|
import { u as T } from "../../chunks/useT9n.js";
|
|
5
|
-
import { LitElement as w, createEvent as d,
|
|
5
|
+
import { LitElement as w, createEvent as d, safeClassMap as _, nothing as C } from "@arcgis/lumina";
|
|
6
6
|
import { css as S, html as c } from "lit";
|
|
7
7
|
import { T as y } from "../../chunks/solutions-deploy-app-nav.js";
|
|
8
8
|
import { a as D, T as h, y as A, B as x, e as I } from "../../chunks/interfaces.js";
|
|
@@ -811,11 +811,11 @@ class V extends w {
|
|
|
811
811
|
const e = this._isLoaded ? "display-none" : "", t = this._isLoaded ? "" : "display-none";
|
|
812
812
|
return c`<calcite-shell><solutions-deploy-app-nav .appConfig=${this.appConfig} .assistantOpen=${this._isAssistantOpen} .initTab=${this.initTab} @authInit=${this._handleAuthInit} slot=header ${a(this._deployAppNav)}></solutions-deploy-app-nav><div class=${`main-content${this._isAssistantOpen ? " assistant-open" : ""}`} ${a(this._mainContentRef)}>${this._isSearchToolbarShowing() && c`<div class="border"></div>` || ""}<solutions-searchsort-toolbar class=${_(this._activeTab === "resources" ? "display-none" : "")} ${a(async (i) => {
|
|
813
813
|
i && (await this._deployAppNav.value?.componentOnReady(), this._searchSortToolbar = i, i.scope = this._activeTab);
|
|
814
|
-
})}></solutions-searchsort-toolbar>${this._activeTab === "resources" && c`<div class="border"></div><div class="resources-menu-container"><calcite-menu .label=${this._translations.resourcesNavigationMenuLabel} class="resources-menu-toolbar"><calcite-menu-item .active=${this._activeResourcesMenuItem === "getStarted" || void 0} .label=${this._translations.resourcesGetStarted} .text=${this._translations.resourcesGetStarted} @click=${() => this._handleResourcesMenuClick("getStarted")}></calcite-menu-item><calcite-menu-item .active=${this._activeResourcesMenuItem === "documentation" || void 0} .label=${this._translations.resourcesDocumentation} .text=${this._translations.resourcesDocumentation} @click=${() => this._handleResourcesMenuClick("documentation")}></calcite-menu-item><calcite-menu-item .active=${this._activeResourcesMenuItem === "support" || void 0} .label=${this._translations.resourcesSupport} .text=${this._translations.resourcesSupport} @click=${() => this._handleResourcesMenuClick("support")}></calcite-menu-item></calcite-menu></div>` || ""}<calcite-loader class=${_(e)} id=solutions-loader .label=${this._translations.fetchingAllSolutions}></calcite-loader>${this._renderGlobalAlerts()}<calcite-tabs class=${_(t)} scale=l><calcite-tab-nav class="display-none" @calciteTabChange=${this._handleCalciteTabChanged} slot=title-group><calcite-tab-title ${a(this._allTabTitle)}>${this._translations.allSolutions}</calcite-tab-title><calcite-tab-title ${a(this._mySolutionsTabTitle)}>${this._translations.mySolutions}</calcite-tab-title><calcite-tab-title ${a(this._resourcesTabTitle)}>${this._translations.solutionResources}</calcite-tab-title><calcite-tab-title class="display-none" ${a(this._detailsTabTitle)}></calcite-tab-title><calcite-tab-title class="display-none" ${a(this._deployedCardTabTitle)}></calcite-tab-title></calcite-tab-nav><calcite-tab class="back-color-override tab-space-0" selected ${a(this._allTab)}><solutions-all-shell class="height-100" ${a(this._allShell)}></solutions-all-shell></calcite-tab><calcite-tab class="back-color-override tab-space-0" ${a(this._mySolutionsTab)}><solutions-deployed-shell class="height-100" ${a(this._mySolutionsShell)}></solutions-deployed-shell></calcite-tab><calcite-tab class="back-color-override tab-space-0" ${a(this._resourcesTab)}><solutions-resources-shell class="height-100" ${a(this._resourcesShell)}></solutions-resources-shell></calcite-tab><calcite-tab class="back-color-override" ${a(this._detailsTab)}><solution-details-panel class="height-100" .readOnlyNotice=${this._readOnlyNotice} ${a(this._detailsShell)}></solution-details-panel></calcite-tab><calcite-tab class="back-color-override tab-space-0" ${a(this._deployedCardTab)}><solution-deployed-card-panel class="shell-container height-100" .readOnlyNotice=${this._readOnlyNotice} ${a(this._deployedCardPanel)}></solution-deployed-card-panel></calcite-tab></calcite-tabs></div
|
|
814
|
+
})}></solutions-searchsort-toolbar>${this._activeTab === "resources" && c`<div class="border"></div><div class="resources-menu-container"><calcite-menu .label=${this._translations.resourcesNavigationMenuLabel} class="resources-menu-toolbar"><calcite-menu-item .active=${this._activeResourcesMenuItem === "getStarted" || void 0} .label=${this._translations.resourcesGetStarted} .text=${this._translations.resourcesGetStarted} @click=${() => this._handleResourcesMenuClick("getStarted")}></calcite-menu-item><calcite-menu-item .active=${this._activeResourcesMenuItem === "documentation" || void 0} .label=${this._translations.resourcesDocumentation} .text=${this._translations.resourcesDocumentation} @click=${() => this._handleResourcesMenuClick("documentation")}></calcite-menu-item><calcite-menu-item .active=${this._activeResourcesMenuItem === "support" || void 0} .label=${this._translations.resourcesSupport} .text=${this._translations.resourcesSupport} @click=${() => this._handleResourcesMenuClick("support")}></calcite-menu-item></calcite-menu></div>` || ""}<calcite-loader class=${_(e)} id=solutions-loader .label=${this._translations.fetchingAllSolutions}></calcite-loader>${this._renderGlobalAlerts()}<calcite-tabs class=${_(t)} scale=l><calcite-tab-nav class="display-none" @calciteTabChange=${this._handleCalciteTabChanged} slot=title-group><calcite-tab-title ${a(this._allTabTitle)}>${this._translations.allSolutions}</calcite-tab-title><calcite-tab-title ${a(this._mySolutionsTabTitle)}>${this._translations.mySolutions}</calcite-tab-title><calcite-tab-title ${a(this._resourcesTabTitle)}>${this._translations.solutionResources}</calcite-tab-title><calcite-tab-title class="display-none" ${a(this._detailsTabTitle)}></calcite-tab-title><calcite-tab-title class="display-none" ${a(this._deployedCardTabTitle)}></calcite-tab-title></calcite-tab-nav><calcite-tab class="back-color-override tab-space-0" selected ${a(this._allTab)}><solutions-all-shell class="height-100" ${a(this._allShell)}></solutions-all-shell></calcite-tab><calcite-tab class="back-color-override tab-space-0" ${a(this._mySolutionsTab)}><solutions-deployed-shell class="height-100" ${a(this._mySolutionsShell)}></solutions-deployed-shell></calcite-tab><calcite-tab class="back-color-override tab-space-0" ${a(this._resourcesTab)}><solutions-resources-shell class="height-100" ${a(this._resourcesShell)}></solutions-resources-shell></calcite-tab><calcite-tab class="back-color-override" ${a(this._detailsTab)}><solution-details-panel class="height-100" .readOnlyNotice=${this._readOnlyNotice} ${a(this._detailsShell)}></solution-details-panel></calcite-tab><calcite-tab class="back-color-override tab-space-0" ${a(this._deployedCardTab)}><solution-deployed-card-panel class="shell-container height-100" .readOnlyNotice=${this._readOnlyNotice} ${a(this._deployedCardPanel)}></solution-deployed-card-panel></calcite-tab></calcite-tabs></div>${!this._configContextProvider.value?.isEnterprise && c`<div class=${`builder-panel${this._builderVisible && !this._isViewportMobile ? "" : " display-none"}`}><solution-builder-assistant class="height-100" .readOnlyNotice=${this._readOnlyNotice} ${a(this._solutionBuilderPanel)}></solution-builder-assistant></div><div class=${`assistant-panel${this._isAssistantOpen && !this._isViewportMobile ? "" : " display-none"}`}><arcgis-solutions-assistant class="height-100" .builderVisible=${this._builderVisible} .hasActiveBuilderDesign=${this._hasActiveBuilderDesign}></arcgis-solutions-assistant></div><calcite-fab aria-label=${this._translations.assistantFabTooltip ?? C} class=${`assistant-fab${this._isAssistantOpen || this._isViewportMobile ? " display-none" : ""}`} icon=effects id=assistant-fab-button @click=${() => {
|
|
815
815
|
this._openAssistant(), this._fabTooltipDismissed = !0, this._showFabTooltip = !1;
|
|
816
816
|
}} scale=l></calcite-fab>${!this._fabTooltipDismissed && c`<calcite-popover closable class=${`assistant-fab-popover${this._isAssistantOpen || this._isViewportMobile ? " display-none" : ""}`} .label=${this._translations.assistantFabTooltip} overlay-positioning=fixed @calcitePopoverClose=${() => {
|
|
817
817
|
this._fabTooltipDismissed = !0, this._showFabTooltip = !1;
|
|
818
|
-
}} .open=${this._showFabTooltip && !this._isAssistantOpen && !this._isViewportMobile} placement=leading reference-element=assistant-fab-button><span class="assistant-fab-popover__content">${this._translations.assistantFabTooltip}</span></calcite-popover>` || ""}</calcite-shell>`;
|
|
818
|
+
}} .open=${this._showFabTooltip && !this._isAssistantOpen && !this._isViewportMobile} placement=leading reference-element=assistant-fab-button><span class="assistant-fab-popover__content">${this._translations.assistantFabTooltip}</span></calcite-popover>` || ""}` || ""}</calcite-shell>`;
|
|
819
819
|
}
|
|
820
820
|
loaded() {
|
|
821
821
|
this._setScrollbarGutters();
|