@esri/solutions-components 5.1.0-next.86 → 5.1.0-next.87
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/2LV7NQMM.js +2 -0
- package/dist/cdn/3PUFU3VY.js +2 -0
- package/dist/cdn/3S5XSBME.js +2 -0
- package/dist/cdn/5G5LMAT4.js +2 -0
- package/dist/cdn/5Z43RSKO.js +2 -0
- package/dist/cdn/67YHFNNT.js +2 -0
- package/dist/cdn/7FKMQ3QO.js +2 -0
- package/dist/cdn/{NANKLLS4.js → A73LPATI.js} +2 -2
- package/dist/cdn/AODE5TBO.js +2 -0
- package/dist/cdn/AUNFZODL.js +2 -0
- package/dist/cdn/{X7FPPH3E.js → B4Y2UZHO.js} +1 -1
- package/dist/cdn/{BXFMZEWK.js → DV6MFL2N.js} +1 -1
- package/dist/cdn/EJQKVRSG.js +2 -0
- package/dist/cdn/ERCI6HI5.js +2 -0
- package/dist/cdn/HWOOHVH5.js +2 -0
- package/dist/cdn/I33PCNP7.js +2 -0
- package/dist/cdn/{XZWWZKHK.js → I53PAKKW.js} +1 -1
- package/dist/cdn/IVFBBPSY.js +2 -0
- package/dist/cdn/JAITP34E.js +2 -0
- package/dist/cdn/{NVJH5A6R.js → JSXNTE4I.js} +1 -1
- package/dist/cdn/KXGN75L6.js +2 -0
- package/dist/cdn/LXI55MKX.js +2 -0
- package/dist/cdn/{6GRAP4DV.js → LYDP7VMM.js} +1 -1
- package/dist/cdn/N2XIWSCG.js +2 -0
- package/dist/cdn/{7UFXL2ZB.js → NYWSGPCD.js} +2 -2
- package/dist/cdn/O5CIRNTW.js +2 -0
- package/dist/cdn/PX2KKGLQ.js +2 -0
- package/dist/cdn/QHHYNSCP.js +2 -0
- package/dist/cdn/QK5IXICV.js +2 -0
- package/dist/cdn/QMPT2LSN.js +2 -0
- package/dist/cdn/QX5WB6H3.js +2 -0
- package/dist/cdn/QX742MCD.js +2 -0
- package/dist/cdn/R4CW26PN.js +2 -0
- package/dist/cdn/RLHHGWT4.js +2 -0
- package/dist/cdn/RQRAFBVO.js +2 -0
- package/dist/cdn/SY5KYHF4.js +2 -0
- package/dist/cdn/{IHD4JFYA.js → TMYE7YBP.js} +1 -1
- package/dist/cdn/TV7TG34E.js +2 -0
- package/dist/cdn/WOBPKAC2.js +2 -0
- package/dist/cdn/X7ZFLHUP.js +2 -0
- package/dist/cdn/{MH2KV42H.js → XFG55QXT.js} +1 -1
- package/dist/cdn/XYG3Z7ZY.js +2 -0
- package/dist/cdn/YSLCWEDP.js +2 -0
- package/dist/cdn/{VZ4XWWT6.js → ZDTDI643.js} +1 -1
- package/dist/cdn/assets/solution-builder-assistant/t9n/messages.ar.json +1 -1
- package/dist/cdn/assets/solution-builder-assistant/t9n/messages.bg.json +1 -1
- package/dist/cdn/assets/solution-builder-assistant/t9n/messages.bs.json +1 -1
- package/dist/cdn/assets/solution-builder-assistant/t9n/messages.ca.json +1 -1
- package/dist/cdn/assets/solution-builder-assistant/t9n/messages.cs.json +1 -1
- package/dist/cdn/assets/solution-builder-assistant/t9n/messages.da.json +1 -1
- package/dist/cdn/assets/solution-builder-assistant/t9n/messages.de.json +1 -1
- package/dist/cdn/assets/solution-builder-assistant/t9n/messages.el.json +1 -1
- package/dist/cdn/assets/solution-builder-assistant/t9n/messages.en.json +1 -1
- package/dist/cdn/assets/solution-builder-assistant/t9n/messages.es.json +1 -1
- package/dist/cdn/assets/solution-builder-assistant/t9n/messages.et.json +1 -1
- package/dist/cdn/assets/solution-builder-assistant/t9n/messages.fi.json +1 -1
- package/dist/cdn/assets/solution-builder-assistant/t9n/messages.fr.json +1 -1
- package/dist/cdn/assets/solution-builder-assistant/t9n/messages.he.json +1 -1
- package/dist/cdn/assets/solution-builder-assistant/t9n/messages.hr.json +1 -1
- package/dist/cdn/assets/solution-builder-assistant/t9n/messages.hu.json +1 -1
- package/dist/cdn/assets/solution-builder-assistant/t9n/messages.id.json +1 -1
- package/dist/cdn/assets/solution-builder-assistant/t9n/messages.it.json +1 -1
- package/dist/cdn/assets/solution-builder-assistant/t9n/messages.ja.json +1 -1
- package/dist/cdn/assets/solution-builder-assistant/t9n/messages.json +1 -1
- package/dist/cdn/assets/solution-builder-assistant/t9n/messages.ko.json +1 -1
- package/dist/cdn/assets/solution-builder-assistant/t9n/messages.lt.json +1 -1
- package/dist/cdn/assets/solution-builder-assistant/t9n/messages.lv.json +1 -1
- package/dist/cdn/assets/solution-builder-assistant/t9n/messages.nl.json +1 -1
- package/dist/cdn/assets/solution-builder-assistant/t9n/messages.no.json +1 -1
- package/dist/cdn/assets/solution-builder-assistant/t9n/messages.pl.json +1 -1
- package/dist/cdn/assets/solution-builder-assistant/t9n/messages.pt-BR.json +1 -1
- package/dist/cdn/assets/solution-builder-assistant/t9n/messages.pt-PT.json +1 -1
- package/dist/cdn/assets/solution-builder-assistant/t9n/messages.ro.json +1 -1
- package/dist/cdn/assets/solution-builder-assistant/t9n/messages.ru.json +1 -1
- package/dist/cdn/assets/solution-builder-assistant/t9n/messages.sk.json +1 -1
- package/dist/cdn/assets/solution-builder-assistant/t9n/messages.sl.json +1 -1
- package/dist/cdn/assets/solution-builder-assistant/t9n/messages.sr.json +1 -1
- package/dist/cdn/assets/solution-builder-assistant/t9n/messages.sv.json +1 -1
- package/dist/cdn/assets/solution-builder-assistant/t9n/messages.th.json +1 -1
- package/dist/cdn/assets/solution-builder-assistant/t9n/messages.tr.json +1 -1
- package/dist/cdn/assets/solution-builder-assistant/t9n/messages.uk.json +1 -1
- package/dist/cdn/assets/solution-builder-assistant/t9n/messages.vi.json +1 -1
- package/dist/cdn/assets/solution-builder-assistant/t9n/messages.zh-CN.json +1 -1
- package/dist/cdn/assets/solution-builder-assistant/t9n/messages.zh-HK.json +1 -1
- package/dist/cdn/assets/solution-builder-assistant/t9n/messages.zh-TW.json +1 -1
- package/dist/cdn/assets/solution-configure-titles/t9n/messages.en.json +1 -1
- package/dist/cdn/assets/solution-configure-titles/t9n/messages.json +1 -1
- package/dist/cdn/index.js +1 -1
- package/dist/chunks/Auth.js +1 -1
- package/dist/chunks/cardFetchingUtils.js +13 -12
- package/dist/chunks/cardsHelpers.js +1 -1
- package/dist/chunks/common.js +26 -0
- package/dist/chunks/getRelatedInfos.js +1 -1
- package/dist/chunks/helpers.js +81 -560
- package/dist/chunks/interfaces.js +446 -0
- package/dist/chunks/solution-deploy-dialog.js +12 -11
- package/dist/chunks/solutions-deploy-app-nav.js +7 -6
- package/dist/chunks/validators.js +127 -0
- package/dist/components/arcgis-solutions-assistant/customElement.js +4 -3
- package/dist/components/layer-table/customElement.js +11 -10
- package/dist/components/map-card/customElement.js +19 -18
- package/dist/components/solution-builder-assistant/customElement.d.ts +72 -2
- package/dist/components/solution-builder-assistant/customElement.js +273 -67
- package/dist/components/solution-configure-titles/customElement.js +42 -41
- package/dist/components/solution-delete-dialog/customElement.js +5 -4
- package/dist/components/solution-deploy-dialog/customElement.js +3 -2
- package/dist/components/solution-deployed-card/customElement.js +4 -2
- package/dist/components/solution-deployed-card-panel/customElement.js +11 -9
- package/dist/components/solution-details-card/customElement.js +5 -4
- package/dist/components/solution-details-panel/customElement.js +17 -15
- package/dist/components/solution-resource-card/customElement.js +7 -6
- package/dist/components/solution-snapshot-gallery/customElement.js +14 -13
- package/dist/components/solution-social-share/customElement.js +35 -34
- package/dist/components/solution-user-avatar/customElement.js +1 -1
- package/dist/components/solutions-all-panel/customElement.js +12 -11
- package/dist/components/solutions-all-shell/customElement.js +1 -1
- package/dist/components/solutions-deploy-app/customElement.js +7 -13
- package/dist/components/solutions-deploy-app-nav/customElement.js +5 -3
- package/dist/components/solutions-deployed-panel/customElement.js +5 -4
- package/dist/components/solutions-deployed-shell/customElement.js +1 -1
- package/dist/components/solutions-filter-panel/customElement.js +8 -7
- package/dist/components/solutions-searchsort-toolbar/customElement.js +9 -8
- package/dist/docs/api.json +1 -1
- package/dist/docs/docs.json +1 -1
- package/dist/docs/vscode.html-custom-data.json +1 -1
- package/dist/docs/web-types.json +1 -1
- package/dist/index.js +1 -1
- package/dist/solutions-components_commit.txt +8 -5
- package/dist/utils/interfaces.d.ts +4 -4
- package/package.json +1 -1
- package/dist/cdn/2AUHEG2A.js +0 -2
- package/dist/cdn/2C4TQJVZ.js +0 -2
- package/dist/cdn/2KKQKCK4.js +0 -2
- package/dist/cdn/2QEXO7ZH.js +0 -2
- package/dist/cdn/3DR66XVF.js +0 -2
- package/dist/cdn/4GJHDLZU.js +0 -2
- package/dist/cdn/7QNQNET4.js +0 -2
- package/dist/cdn/ARGV7QZA.js +0 -2
- package/dist/cdn/BCDBB2P5.js +0 -2
- package/dist/cdn/E26MY5HW.js +0 -2
- package/dist/cdn/EUFBJHIH.js +0 -2
- package/dist/cdn/FSTBKODU.js +0 -2
- package/dist/cdn/GNIPC2YA.js +0 -2
- package/dist/cdn/HYJFW2H7.js +0 -2
- package/dist/cdn/IKHBFQZ5.js +0 -2
- package/dist/cdn/J3VPCRTT.js +0 -2
- package/dist/cdn/JHPCQXLT.js +0 -2
- package/dist/cdn/MSCYNDSA.js +0 -2
- package/dist/cdn/OILJWT3N.js +0 -2
- package/dist/cdn/PDKHXNYX.js +0 -2
- package/dist/cdn/PUDHZZVS.js +0 -2
- package/dist/cdn/R7QOGWYL.js +0 -2
- package/dist/cdn/RHM4UJGX.js +0 -2
- package/dist/cdn/TJDM5OLA.js +0 -2
- package/dist/cdn/TNS6HDBI.js +0 -2
- package/dist/cdn/TQWICREM.js +0 -2
- package/dist/cdn/UIR3N7OD.js +0 -2
- package/dist/cdn/VOEOIQVJ.js +0 -2
- package/dist/cdn/WCTKCI5Q.js +0 -2
- package/dist/cdn/WVVZVPWX.js +0 -2
- package/dist/cdn/Y4D7GWPH.js +0 -2
|
@@ -1,15 +1,16 @@
|
|
|
1
1
|
/* COPYRIGHT Esri - https://js.arcgis.com/5.1/LICENSE.txt */
|
|
2
|
-
import { c as
|
|
3
|
-
import { css as f, html as
|
|
4
|
-
import { u as
|
|
5
|
-
import { LitElement as
|
|
6
|
-
import { useContextConsumer as
|
|
7
|
-
import { b as
|
|
8
|
-
const T = f`calcite-panel{--calcite-panel-background-color: var(--calcite-color-foreground-1);--calcite-color-focus: var(--calcite-color-brand);--calcite-panel-border-color: var(--calcite-color-border-2);--calcite-internal-panel-header-vertical-padding: 0px;--calcite-panel-header-content-space: 0px;border-left:var(--calcite-border-width-sm) solid var(--calcite-color-border-2);border-top:var(--calcite-border-width-sm) solid var(--calcite-color-border-2);border-bottom:var(--calcite-border-width-sm) solid var(--calcite-color-border-2);height:100%}.header-content-wrapper{display:flex;align-items:center;gap:var(--calcite-space-xs);height:65px;box-sizing:border-box;padding-inline-start:var(--calcite-space-3xl)}.header-title{font-size:var(--calcite-font-size-0);font-weight:500;color:var(--calcite-color-text-2)}.draft-badge{display:inline-block;padding:2px 8px;background-color:var(--calcite-color-foreground-1);color:var(--calcite-color-text-1);border:1px solid var(--calcite-color-border-2);border-radius:12px;font-size:var(--calcite-font-size--2);font-weight:500}.builder-content{display:flex;flex-direction:column;flex:1;overflow:auto}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--calcite-space-xxl);text-align:center;color:var(--calcite-color-text-3)}.empty-state calcite-icon{margin-bottom:var(--calcite-space-md);color:var(--calcite-color-text-3)}.empty-state p{margin:0;font-size:var(--calcite-font-size--1)}.header-divider{width:1px;height:2rem;background-color:var(--calcite-color-border-3);margin:0 var(--calcite-space-xxs);align-self:center}.content-container{display:flex;margin:var(--calcite-space-lg)}.solution-item-section{flex:1 1 auto;min-width:0;background:var(--calcite-color-foreground-1);padding:var(--calcite-space-lg) var(--calcite-space-lg) 0}.solution-item-inputs{display:flex;flex-direction:column}.thumbnail-inputs-row{display:flex;gap:var(--calcite-space-lg);align-items:flex-start}.thumbnail-container{flex-shrink:0;border:1px solid var(--calcite-color-border-2);overflow:hidden;background:var(--calcite-color-foreground-2);width:233px}.thumbnail-container img{display:block;width:100%;object-fit:cover}.stacked-inputs{flex:1;display:flex;flex-direction:column;min-width:0;margin-left:var(--calcite-space-lg)}.stacked-inputs calcite-label{min-width:0}.stacked-inputs calcite-input-text,.stacked-inputs calcite-text-area{width:100%;max-width:100%;min-width:0;box-sizing:border-box}.stacked-inputs calcite-text-area{max-height:150px}.actions-section{flex:0 2 300px;min-width:200px;background:var(--calcite-color-foreground-1);padding:var(--calcite-space-lg)}.action-buttons{display:flex;flex-direction:column;gap:var(--calcite-space-lg);margin-top:var(--calcite-space-2xl)}.action-buttons calcite-notice{margin:0;--calcite-notice-icon-color: var(--calcite-color-brand)}.tabs-section{display:flex;flex-direction:column;margin:0 var(--calcite-space-lg)}.tabs-section calcite-tab{--calcite-tab-content-block-padding: 0}calcite-tab{--calcite-color-focus: transparent;margin:var(--calcite-space-lg)}calcite-tab>*{--calcite-color-focus: initial}calcite-list-item calcite-action[slot=actions-end]{padding-right:var(--calcite-space-sm)}.feature-layer-tab{padding:var(--calcite-space-lg)}calcite-flow{--calcite-flow-background-color: var(--calcite-color-foreground-1);display:block;margin:0;padding:0}calcite-flow-item{--calcite-flow-item-content-padding: 0}.layer-selector-container{display:flex;gap:var(--calcite-space-md);align-items:end}.layer-selector-container calcite-label{flex:1;min-width:0;margin-bottom:0}.layer-selector-container calcite-combobox{width:100%}.layer-selector-container>calcite-button{flex-shrink:0;margin-bottom:var(--calcite-space-md)}.layer-properties-container{display:flex;gap:var(--calcite-space-md);margin-top:var(--calcite-space-lg)}.layer-properties-container calcite-label{flex:1;min-width:0}.layer-properties-container calcite-input-text,.layer-properties-container calcite-combobox{width:100%}.layer-description-container{margin-top:var(--calcite-space-lg)}.layer-description-container calcite-text-area{width:100%;max-height:150px}.fields-section{margin-top:var(--calcite-space-xl);display:flex;flex-direction:column;align-items:flex-start;width:100%}.fields-section>calcite-label{width:100%}.fields-section calcite-table{width:100%}.fields-section calcite-table-cell:last-child{text-align:center;display:flex;justify-content:center;align-items:center}.field-type-cell,.field-name-cell{display:flex;align-items:center;gap:var(--calcite-space-xs)}.lock-icon{--calcite-icon-color: var(--calcite-color-text-3);flex-shrink:0}.domain-cell-content{display:flex;align-items:center;justify-content:space-between;width:100%;gap:var(--calcite-space-sm)}.domain-cell-content calcite-icon{cursor:pointer;color:var(--calcite-color-text-3);flex-shrink:0}.domain-cell-content calcite-icon:hover{color:var(--calcite-color-brand)}.choice-list-tooltip{margin:0;padding-left:var(--calcite-space-lg);list-style-type:disc}.choice-list-tooltip li{padding:var(--calcite-space-xxs) 0}.edit-icon{cursor:pointer;color:var(--calcite-color-text-3)}.edit-icon:hover{color:var(--calcite-color-brand)}.add-field-button{align-self:flex-start}.add-layer-button{margin-top:var(--calcite-space-md);margin-bottom:var(--calcite-space-sm)}.info-icon-blue{--calcite-icon-color: var(--calcite-color-brand);flex-shrink:0;cursor:default}.domain-section{margin-top:var(--calcite-space-lg);display:flex;flex-direction:column;align-items:flex-start;width:100%}.domain-section>calcite-label{width:100%}.domain-section>div{width:100%}.domain-list{display:flex;flex-direction:column;gap:var(--calcite-space-sm);width:100%}.domain-item{display:flex;align-items:center;gap:var(--calcite-space-sm);padding:var(--calcite-space-xs);background:var(--calcite-color-foreground-1);border:1px solid var(--calcite-color-border-2);border-radius:var(--calcite-border-radius);cursor:move;width:100%;box-sizing:border-box}.domain-item:hover{background:var(--calcite-color-foreground-2)}.domain-item .drag-handle{color:var(--calcite-color-text-3);cursor:grab;flex-shrink:0}.domain-item .drag-handle:active{cursor:grabbing}.domain-item calcite-input-text{flex:1;min-width:0}.domain-item calcite-button{flex-shrink:0}.popover-content{padding:var(--calcite-space-lg);min-width:300px}.popover-field{margin-top:var(--calcite-space-md)}.popover-actions{display:flex;justify-content:flex-end;gap:var(--calcite-space-sm);margin-top:var(--calcite-space-lg)}`, z = "data:image/png;base64,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";
|
|
9
|
-
class M extends F {
|
|
2
|
+
import { c as w } from "../../chunks/runtime.js";
|
|
3
|
+
import { css as f, html as s } from "lit";
|
|
4
|
+
import { u as L } from "../../chunks/useT9n.js";
|
|
5
|
+
import { LitElement as x, nothing as h } from "@arcgis/lumina";
|
|
6
|
+
import { useContextConsumer as E } from "@arcgis/lumina/context";
|
|
7
|
+
import { b as N } from "../../chunks/deployAppContexts.js";
|
|
8
|
+
import { a as D, b as F, v as b, c as C, d as T, e as M, f as I } from "../../chunks/validators.js";
|
|
9
|
+
const z = f`calcite-panel{--calcite-panel-background-color: var(--calcite-color-foreground-1);--calcite-color-focus: var(--calcite-color-brand);--calcite-panel-border-color: var(--calcite-color-border-2);--calcite-internal-panel-header-vertical-padding: 0px;--calcite-panel-header-content-space: 0px;border-left:var(--calcite-border-width-sm) solid var(--calcite-color-border-2);border-top:var(--calcite-border-width-sm) solid var(--calcite-color-border-2);border-bottom:var(--calcite-border-width-sm) solid var(--calcite-color-border-2);height:100%}.header-content-wrapper{display:flex;align-items:center;gap:var(--calcite-space-xs);height:65px;box-sizing:border-box;padding-inline-start:var(--calcite-space-3xl)}.header-title{font-size:var(--calcite-font-size-0);font-weight:500;color:var(--calcite-color-text-2)}.draft-badge{display:inline-block;padding:2px 8px;background-color:var(--calcite-color-foreground-1);color:var(--calcite-color-text-1);border:1px solid var(--calcite-color-border-2);border-radius:12px;font-size:var(--calcite-font-size--2);font-weight:500}.builder-content{display:flex;flex-direction:column;flex:1;overflow:auto}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--calcite-space-xxl);text-align:center;color:var(--calcite-color-text-3)}.empty-state calcite-icon{margin-bottom:var(--calcite-space-md);color:var(--calcite-color-text-3)}.empty-state p{margin:0;font-size:var(--calcite-font-size--1)}.header-divider{width:1px;height:2rem;background-color:var(--calcite-color-border-3);margin:0 var(--calcite-space-xxs);align-self:center}.content-container{display:flex;margin:var(--calcite-space-lg)}.solution-item-section{flex:1 1 auto;min-width:0;background:var(--calcite-color-foreground-1);padding:var(--calcite-space-lg) var(--calcite-space-lg) 0}.solution-item-inputs{display:flex;flex-direction:column}.thumbnail-inputs-row{display:flex;gap:var(--calcite-space-lg);align-items:flex-start}.thumbnail-container{flex-shrink:0;border:1px solid var(--calcite-color-border-2);overflow:hidden;background:var(--calcite-color-foreground-2);width:233px}.thumbnail-container img{display:block;width:100%;object-fit:cover}.stacked-inputs{flex:1;display:flex;flex-direction:column;min-width:0;margin-left:var(--calcite-space-lg)}.stacked-inputs calcite-label{min-width:0}.stacked-inputs calcite-input-text,.stacked-inputs calcite-text-area{width:100%;max-width:100%;min-width:0;box-sizing:border-box}.actions-section{flex:0 2 300px;min-width:200px;background:var(--calcite-color-foreground-1);padding:var(--calcite-space-lg)}.action-buttons{display:flex;flex-direction:column;gap:var(--calcite-space-lg);margin-top:var(--calcite-space-2xl)}.action-buttons calcite-notice{margin:0;--calcite-notice-icon-color: var(--calcite-color-brand)}.tabs-section{display:flex;flex-direction:column;margin:0 var(--calcite-space-lg)}.tabs-section calcite-tab{--calcite-tab-content-block-padding: 0}calcite-tab{--calcite-color-focus: transparent;margin:var(--calcite-space-lg)}calcite-tab>*{--calcite-color-focus: initial}calcite-list-item calcite-action[slot=actions-end]{padding-right:var(--calcite-space-sm)}.feature-layer-tab{padding:var(--calcite-space-lg)}calcite-flow{--calcite-flow-background-color: var(--calcite-color-foreground-1);display:block;margin:0;padding:0}calcite-flow-item{--calcite-flow-item-content-padding: 0}.layer-selector-container{display:flex;gap:var(--calcite-space-md);align-items:end}.layer-selector-container calcite-label{flex:1;min-width:0;margin-bottom:0}.layer-selector-container calcite-combobox{width:100%}.layer-selector-container>calcite-button{flex-shrink:0;margin-bottom:var(--calcite-space-md)}.layer-properties-container{display:flex;gap:var(--calcite-space-md);margin-top:var(--calcite-space-lg)}.layer-properties-container calcite-label{flex:1;min-width:0}.layer-properties-container calcite-input-text,.layer-properties-container calcite-combobox{width:100%}.layer-description-container{margin-top:var(--calcite-space-lg)}.layer-description-container calcite-text-area{width:100%;display:block}calcite-label:has(calcite-text-area){display:flex;flex-direction:column;gap:0}.fields-section{margin-top:var(--calcite-space-xl);display:flex;flex-direction:column;align-items:flex-start;width:100%}.fields-section>calcite-label{width:100%}.fields-section calcite-table{width:100%}.fields-section calcite-table-cell:last-child{text-align:center;display:flex;justify-content:center;align-items:center}.field-type-cell,.field-name-cell{display:flex;align-items:center;gap:var(--calcite-space-xs)}.lock-icon{--calcite-icon-color: var(--calcite-color-text-3);flex-shrink:0}.domain-cell-content{display:flex;align-items:center;justify-content:space-between;width:100%;gap:var(--calcite-space-sm)}.domain-cell-content calcite-icon{cursor:pointer;color:var(--calcite-color-text-3);flex-shrink:0}.domain-cell-content calcite-icon:hover{color:var(--calcite-color-brand)}.choice-list-tooltip{margin:0;padding-left:var(--calcite-space-lg);list-style-type:disc}.choice-list-tooltip li{padding:var(--calcite-space-xxs) 0}.edit-icon{cursor:pointer;color:var(--calcite-color-text-3)}.edit-icon:hover{color:var(--calcite-color-brand)}.add-field-button{align-self:flex-start}.add-layer-button{margin-top:var(--calcite-space-md);margin-bottom:var(--calcite-space-sm)}.info-icon-blue{--calcite-icon-color: var(--calcite-color-brand);flex-shrink:0;cursor:default}.domain-section{margin-top:var(--calcite-space-lg);display:flex;flex-direction:column;align-items:flex-start;width:100%}.domain-section>calcite-label{width:100%}.domain-section>div{width:100%}.domain-list{display:flex;flex-direction:column;gap:var(--calcite-space-sm);width:100%}.domain-item{display:flex;align-items:center;gap:var(--calcite-space-sm);padding:var(--calcite-space-xs);background:var(--calcite-color-foreground-1);border:1px solid var(--calcite-color-border-2);border-radius:var(--calcite-border-radius);cursor:move;width:100%;box-sizing:border-box}.domain-item:hover{background:var(--calcite-color-foreground-2)}.domain-item .drag-handle{color:var(--calcite-color-text-3);cursor:grab;flex-shrink:0}.domain-item .drag-handle:active{cursor:grabbing}.domain-item calcite-input-text{flex:1;min-width:0}.domain-item calcite-button{flex-shrink:0}.popover-content{padding:var(--calcite-space-lg);min-width:420px}.popover-field{margin-top:var(--calcite-space-md)}.popover-actions{display:flex;justify-content:flex-end;gap:var(--calcite-space-sm);margin-top:var(--calcite-space-lg)}`, O = "data:image/png;base64,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";
|
|
10
|
+
class k extends x {
|
|
10
11
|
constructor() {
|
|
11
|
-
super(), this.design = null, this._design = null, this._translations =
|
|
12
|
-
context:
|
|
12
|
+
super(), this.design = null, this._design = null, this._translations = L({ name: "solution-builder-assistant", blocking: !0 }), this._isDirty = !1, this._titleValidationError = null, this._descriptionValidationError = null, this._undoStack = [], this._redoStack = [], this._openPopoverId = null, this._editingItemTitle = "", this._editingItemDescription = "", this._editingItemTitleError = null, this._editingItemDescriptionError = null, this._originalItemTitle = "", this._originalItemDescription = "", this._layerNameValidationError = null, this._layerDescriptionValidationError = null, this._newLayerNameValidationError = null, this._newLayerDescriptionValidationError = null, this._selectedLayerIndex = 0, this._isAddingLayer = !1, this._newLayerName = "", this._newLayerType = "Point", this._newLayerDescription = "", this._isEditingField = !1, this._editingFieldIndex = -1, this._editingFieldType = null, this._editingFieldDisplayName = "", this._editingFieldName = "", this._editingFieldDescription = "", this._editingFieldTypeValue = "string", this._editingFieldLength = 255, this._editingFieldChoiceList = null, this._isAddingNewField = !1, this._newFieldDisplayName = "", this._newFieldName = "", this._newFieldDescription = "", this._newFieldType = "string", this._newFieldLength = 255, this._newFieldChoiceList = null, this._editingFieldDisplayNameError = null, this._editingFieldNameError = null, this._editingFieldDescriptionError = null, this._editingFieldLengthError = null, this._editingFieldChoiceListErrors = /* @__PURE__ */ new Map(), this._newFieldDisplayNameError = null, this._newFieldNameError = null, this._newFieldDescriptionError = null, this._newFieldLengthError = null, this._newFieldChoiceListErrors = /* @__PURE__ */ new Map(), this._originalEditFieldDisplayName = "", this._originalEditFieldName = "", this._originalEditFieldDescription = "", this._originalEditFieldTypeValue = "string", this._originalEditFieldLength = 255, this._originalEditFieldChoiceList = null, this._lastPushedDesign = null, this._designContextConsumer = E({
|
|
13
|
+
context: N,
|
|
13
14
|
subscribe: !0,
|
|
14
15
|
callback: (e) => {
|
|
15
16
|
e?.design && e.design !== this._lastPushedDesign && this._pushDesign(e.design, !1);
|
|
@@ -26,9 +27,10 @@ class M extends F {
|
|
|
26
27
|
this._redoStack = this._redoStack.slice(0, -1), this._undoStack = [...this._undoStack, structuredClone(this._design)], this._design = e, this._lastPushedDesign = e, this._notifyDesignChanged(e);
|
|
27
28
|
}, this._handleHideBuilder = () => {
|
|
28
29
|
window.dispatchEvent(new CustomEvent("toggleSolutionBuilder"));
|
|
29
|
-
}, this._handleTitleChange = (e) => {
|
|
30
|
+
}, this._handleTitleChange = async (e) => {
|
|
30
31
|
if (!this._design)
|
|
31
32
|
return;
|
|
33
|
+
this._titleValidationError = await this._validateSolutionName(e);
|
|
32
34
|
const i = {
|
|
33
35
|
...this._design,
|
|
34
36
|
solution: {
|
|
@@ -40,6 +42,7 @@ class M extends F {
|
|
|
40
42
|
}, this._handleDescriptionChange = (e) => {
|
|
41
43
|
if (!this._design)
|
|
42
44
|
return;
|
|
45
|
+
this._descriptionValidationError = this._validateSolutionDescription(e);
|
|
43
46
|
const i = {
|
|
44
47
|
...this._design,
|
|
45
48
|
solution: {
|
|
@@ -49,7 +52,7 @@ class M extends F {
|
|
|
49
52
|
};
|
|
50
53
|
this._pushDesign(i);
|
|
51
54
|
}, this._handleItemPopoverOpen = (e) => {
|
|
52
|
-
this._openPopoverId = e.id, this._editingItemTitle = e.title || "", this._editingItemDescription = e.description || "", this.requestUpdate();
|
|
55
|
+
this._openPopoverId = e.id, this._editingItemTitle = e.title || "", this._editingItemDescription = e.description || "", this._originalItemTitle = e.title || "", this._originalItemDescription = e.description || "", this._editingItemTitleError = null, this._editingItemDescriptionError = null, this.requestUpdate();
|
|
53
56
|
}, this._handleCloseItemPopover = () => {
|
|
54
57
|
this._openPopoverId = null, this._editingItemTitle = "", this._editingItemDescription = "";
|
|
55
58
|
}, this._handleClosePopover = async (e) => {
|
|
@@ -65,13 +68,13 @@ class M extends F {
|
|
|
65
68
|
this._pushDesign(t);
|
|
66
69
|
}, this._handleLayerSelect = (e) => {
|
|
67
70
|
const i = e.target.selectedItems[0];
|
|
68
|
-
i && (this._selectedLayerIndex = parseInt(i.value, 10));
|
|
71
|
+
i && (this._selectedLayerIndex = parseInt(i.value, 10), this._layerNameValidationError = null, this._layerDescriptionValidationError = null);
|
|
69
72
|
}, this._handleAddLayer = () => {
|
|
70
|
-
this._isAddingLayer = !0;
|
|
73
|
+
this._isAddingLayer = !0, this._newLayerNameValidationError = null, this._newLayerDescriptionValidationError = null;
|
|
71
74
|
}, this._handleAddLayerBack = () => {
|
|
72
|
-
this._isAddingLayer = !1, this._newLayerName = "", this._newLayerType = "Point", this._newLayerDescription = "";
|
|
75
|
+
this._isAddingLayer = !1, this._newLayerName = "", this._newLayerType = "Point", this._newLayerDescription = "", this._newLayerNameValidationError = null, this._newLayerDescriptionValidationError = null;
|
|
73
76
|
}, this._handleAddLayerDone = () => {
|
|
74
|
-
if (!this._design ||
|
|
77
|
+
if (!this._design || (this._newLayerNameValidationError = this._validateLayerName(this._newLayerName), this._newLayerDescriptionValidationError = this._validateLayerDescription(this._newLayerDescription), this._newLayerNameValidationError || this._newLayerDescriptionValidationError))
|
|
75
78
|
return;
|
|
76
79
|
const e = this._design.featureLayer?.layers || [], i = {
|
|
77
80
|
id: Date.now(),
|
|
@@ -130,18 +133,18 @@ class M extends F {
|
|
|
130
133
|
...this._design.featureLayer,
|
|
131
134
|
layers: [...e, i]
|
|
132
135
|
}
|
|
133
|
-
}), this._selectedLayerIndex = e.length, this._isAddingLayer = !1, this._newLayerName = "", this._newLayerType = "Point", this._newLayerDescription = "";
|
|
136
|
+
}), this._selectedLayerIndex = e.length, this._isAddingLayer = !1, this._newLayerName = "", this._newLayerType = "Point", this._newLayerDescription = "", this._newLayerNameValidationError = null, this._newLayerDescriptionValidationError = null;
|
|
134
137
|
}, this._handleNewLayerNameChange = (e) => {
|
|
135
|
-
this._newLayerName = e;
|
|
138
|
+
this._newLayerName = e, this._newLayerNameValidationError = this._validateLayerName(e);
|
|
136
139
|
}, this._handleNewLayerTypeChange = (e) => {
|
|
137
140
|
const i = e.target.selectedItems[0];
|
|
138
141
|
i && (this._newLayerType = i.value);
|
|
139
142
|
}, this._handleNewLayerDescriptionChange = (e) => {
|
|
140
|
-
this._newLayerDescription = e;
|
|
143
|
+
this._newLayerDescription = e, this._newLayerDescriptionValidationError = this._validateLayerDescription(e);
|
|
141
144
|
}, this._handleAddField = () => {
|
|
142
|
-
this._newFieldDisplayName = "", this._newFieldName = "", this._newFieldDescription = "", this._newFieldType = "string", this._newFieldLength = 255, this._isAddingNewField = !0, this._scrollFeatureLayerTabToTop();
|
|
145
|
+
this._newFieldDisplayName = "", this._newFieldName = "", this._newFieldDescription = "", this._newFieldType = "string", this._newFieldLength = 255, this._newFieldChoiceList = null, this._newFieldDisplayNameError = null, this._newFieldNameError = null, this._newFieldDescriptionError = null, this._newFieldLengthError = null, this._newFieldChoiceListErrors = /* @__PURE__ */ new Map(), this._isAddingNewField = !0, this._scrollFeatureLayerTabToTop();
|
|
143
146
|
}, this._handleAddFieldBack = () => {
|
|
144
|
-
this._isAddingNewField = !1, this._newFieldDisplayName = "", this._newFieldName = "", this._newFieldDescription = "", this._newFieldType = "string", this._newFieldLength = 255, this._newFieldChoiceList = null;
|
|
147
|
+
this._isAddingNewField = !1, this._newFieldDisplayName = "", this._newFieldName = "", this._newFieldDescription = "", this._newFieldType = "string", this._newFieldLength = 255, this._newFieldChoiceList = null, this._newFieldDisplayNameError = null, this._newFieldNameError = null, this._newFieldDescriptionError = null, this._newFieldLengthError = null, this._newFieldChoiceListErrors = /* @__PURE__ */ new Map();
|
|
145
148
|
}, this._handleAddFieldDone = () => {
|
|
146
149
|
if (!this._design)
|
|
147
150
|
return;
|
|
@@ -156,7 +159,7 @@ class M extends F {
|
|
|
156
159
|
choiceList: this._newFieldChoiceList && this._newFieldChoiceList.length > 0 ? this._newFieldChoiceList : null
|
|
157
160
|
};
|
|
158
161
|
this._newFieldType === "string" && (t.length = this._newFieldLength);
|
|
159
|
-
const a = [...i.customFields || [], t], n = e.map((
|
|
162
|
+
const a = [...i.customFields || [], t], n = e.map((r, c) => c === this._selectedLayerIndex ? { ...r, customFields: a } : r);
|
|
160
163
|
this._pushDesign({
|
|
161
164
|
...this._design,
|
|
162
165
|
featureLayer: {
|
|
@@ -167,34 +170,58 @@ class M extends F {
|
|
|
167
170
|
}, this._handleNewFieldTypeChange = (e) => {
|
|
168
171
|
const i = e.target.selectedItems[0];
|
|
169
172
|
i && (this._newFieldType = i.value);
|
|
173
|
+
}, this._handleNewFieldDisplayNameChange = (e) => {
|
|
174
|
+
this._newFieldDisplayName = e, this._newFieldDisplayNameError = this._validateFieldDisplayName(e);
|
|
175
|
+
}, this._handleNewFieldNameChange = (e) => {
|
|
176
|
+
this._newFieldName = e, this._newFieldNameError = this._validateFieldName(e, this._selectedLayerIndex, !1);
|
|
177
|
+
}, this._handleNewFieldDescriptionChange = (e) => {
|
|
178
|
+
this._newFieldDescription = e, this._newFieldDescriptionError = this._validateFieldDescription(e);
|
|
179
|
+
}, this._handleNewFieldLengthChange = (e) => {
|
|
180
|
+
e === null || isNaN(e) || (this._newFieldLength = e, this._newFieldLengthError = this._validateFieldLength(e));
|
|
170
181
|
}, this._handleEditField = (e, i) => {
|
|
171
182
|
const a = (this._design?.featureLayer?.layers || [])[this._selectedLayerIndex];
|
|
172
183
|
if (!a)
|
|
173
184
|
return;
|
|
174
|
-
const n = a.customFields || [],
|
|
185
|
+
const n = a.customFields || [], r = a.requiredFields || [];
|
|
175
186
|
if (e < n.length)
|
|
176
187
|
this._editingFieldType = "custom", this._editingFieldIndex = e;
|
|
177
188
|
else {
|
|
178
|
-
const
|
|
179
|
-
if (
|
|
189
|
+
const c = e - n.length;
|
|
190
|
+
if (c >= r.length)
|
|
180
191
|
return;
|
|
181
|
-
this._editingFieldType = "required", this._editingFieldIndex =
|
|
192
|
+
this._editingFieldType = "required", this._editingFieldIndex = c;
|
|
182
193
|
}
|
|
183
|
-
this._editingFieldDisplayName = i.alias || "", this._editingFieldName = i.name || "", this._editingFieldDescription = i.description || "", this._editingFieldTypeValue = i.type || "string", this._editingFieldLength = i.length || 255, this._editingFieldChoiceList = i.choiceList ? [...i.choiceList] : null, this._isEditingField = !0, this._scrollFeatureLayerTabToTop();
|
|
194
|
+
this._editingFieldDisplayName = i.alias || "", this._editingFieldName = i.name || "", this._editingFieldDescription = i.description || "", this._editingFieldTypeValue = i.type || "string", this._editingFieldLength = i.length || 255, this._editingFieldChoiceList = i.choiceList ? [...i.choiceList] : null, this._originalEditFieldDisplayName = this._editingFieldDisplayName, this._originalEditFieldName = this._editingFieldName, this._originalEditFieldDescription = this._editingFieldDescription, this._originalEditFieldTypeValue = this._editingFieldTypeValue, this._originalEditFieldLength = this._editingFieldLength, this._originalEditFieldChoiceList = this._editingFieldChoiceList ? [...this._editingFieldChoiceList] : null, this._editingFieldDisplayNameError = null, this._editingFieldNameError = null, this._editingFieldDescriptionError = null, this._editingFieldLengthError = null, this._editingFieldChoiceListErrors = /* @__PURE__ */ new Map(), this._isEditingField = !0, this._scrollFeatureLayerTabToTop();
|
|
184
195
|
}, this._handleEditFieldBack = () => {
|
|
185
|
-
this._isEditingField = !1, this._editingFieldIndex = -1, this._editingFieldType = null, this._editingFieldDisplayName = "", this._editingFieldName = "", this._editingFieldDescription = "", this._editingFieldTypeValue = "string", this._editingFieldLength = 255, this._editingFieldChoiceList = null;
|
|
196
|
+
this._isEditingField = !1, this._editingFieldIndex = -1, this._editingFieldType = null, this._editingFieldDisplayName = "", this._editingFieldName = "", this._editingFieldDescription = "", this._editingFieldTypeValue = "string", this._editingFieldLength = 255, this._editingFieldChoiceList = null, this._originalEditFieldDisplayName = "", this._originalEditFieldName = "", this._originalEditFieldDescription = "", this._originalEditFieldTypeValue = "string", this._originalEditFieldLength = 255, this._originalEditFieldChoiceList = null, this._editingFieldDisplayNameError = null, this._editingFieldNameError = null, this._editingFieldDescriptionError = null, this._editingFieldLengthError = null, this._editingFieldChoiceListErrors = /* @__PURE__ */ new Map();
|
|
186
197
|
}, this._handleEditFieldTypeChange = (e) => {
|
|
187
198
|
const i = e.target.selectedItems[0];
|
|
188
199
|
i && (this._editingFieldTypeValue = i.value);
|
|
200
|
+
}, this._handleEditFieldDisplayNameChange = (e) => {
|
|
201
|
+
this._editingFieldDisplayName = e, this._editingFieldDisplayNameError = this._validateFieldDisplayName(e);
|
|
202
|
+
}, this._handleEditFieldNameChange = (e) => {
|
|
203
|
+
this._editingFieldName = e, this._editingFieldNameError = this._validateFieldName(e, this._selectedLayerIndex, !0, this._editingFieldIndex, this._editingFieldType);
|
|
204
|
+
}, this._handleEditFieldDescriptionChange = (e) => {
|
|
205
|
+
this._editingFieldDescription = e, this._editingFieldDescriptionError = this._validateFieldDescription(e);
|
|
206
|
+
}, this._handleEditFieldLengthChange = (e) => {
|
|
207
|
+
e === null || isNaN(e) || (this._editingFieldLength = e, this._editingFieldLengthError = this._validateFieldLength(e));
|
|
189
208
|
}, this._handleAddEditFieldChoice = () => {
|
|
190
|
-
this._editingFieldChoiceList ? this._editingFieldChoiceList = [...this._editingFieldChoiceList, ""] : this._editingFieldChoiceList = [""];
|
|
209
|
+
this._editingFieldChoiceList ? this._editingFieldChoiceList = [...this._editingFieldChoiceList, ""] : this._editingFieldChoiceList = [""], this._editingFieldChoiceListErrors.delete(this._editingFieldChoiceList.length - 1), this._editingFieldChoiceListErrors = new Map(this._editingFieldChoiceListErrors);
|
|
191
210
|
}, this._handleRemoveEditFieldChoice = (e) => {
|
|
192
|
-
|
|
211
|
+
if (!this._editingFieldChoiceList)
|
|
212
|
+
return;
|
|
213
|
+
this._editingFieldChoiceList = this._editingFieldChoiceList.filter((t, a) => a !== e);
|
|
214
|
+
const i = /* @__PURE__ */ new Map();
|
|
215
|
+
this._editingFieldChoiceListErrors.forEach((t, a) => {
|
|
216
|
+
a < e ? i.set(a, t) : a > e && i.set(a - 1, t);
|
|
217
|
+
}), this._editingFieldChoiceListErrors = i, this._editingFieldChoiceList.length === 0 && (this._editingFieldChoiceList = null, this._editingFieldChoiceListErrors = /* @__PURE__ */ new Map());
|
|
193
218
|
}, this._handleUpdateEditFieldChoice = (e, i) => {
|
|
194
219
|
if (!this._editingFieldChoiceList)
|
|
195
220
|
return;
|
|
196
221
|
const t = [...this._editingFieldChoiceList];
|
|
197
222
|
t[e] = i, this._editingFieldChoiceList = t;
|
|
223
|
+
const a = this._validateDomainValue(i, this._editingFieldLength, !1);
|
|
224
|
+
a ? this._editingFieldChoiceListErrors.set(e, a) : this._editingFieldChoiceListErrors.delete(e), this._editingFieldChoiceListErrors = new Map(this._editingFieldChoiceListErrors);
|
|
198
225
|
}, this._handleEditFieldChoiceDragStart = (e, i) => {
|
|
199
226
|
i.dataTransfer.effectAllowed = "move", i.dataTransfer.setData("text/plain", e.toString());
|
|
200
227
|
}, this._handleEditFieldChoiceDrop = (e, i) => {
|
|
@@ -206,14 +233,22 @@ class M extends F {
|
|
|
206
233
|
const a = [...this._editingFieldChoiceList], n = a[t];
|
|
207
234
|
a.splice(t, 1), a.splice(e, 0, n), this._editingFieldChoiceList = a;
|
|
208
235
|
}, this._handleAddNewFieldChoice = () => {
|
|
209
|
-
this._newFieldChoiceList ? this._newFieldChoiceList = [...this._newFieldChoiceList, ""] : this._newFieldChoiceList = [""];
|
|
236
|
+
this._newFieldChoiceList ? this._newFieldChoiceList = [...this._newFieldChoiceList, ""] : this._newFieldChoiceList = [""], this._newFieldChoiceListErrors.delete(this._newFieldChoiceList.length - 1), this._newFieldChoiceListErrors = new Map(this._newFieldChoiceListErrors);
|
|
210
237
|
}, this._handleRemoveNewFieldChoice = (e) => {
|
|
211
|
-
|
|
238
|
+
if (!this._newFieldChoiceList)
|
|
239
|
+
return;
|
|
240
|
+
this._newFieldChoiceList = this._newFieldChoiceList.filter((t, a) => a !== e);
|
|
241
|
+
const i = /* @__PURE__ */ new Map();
|
|
242
|
+
this._newFieldChoiceListErrors.forEach((t, a) => {
|
|
243
|
+
a < e ? i.set(a, t) : a > e && i.set(a - 1, t);
|
|
244
|
+
}), this._newFieldChoiceListErrors = i, this._newFieldChoiceList.length === 0 && (this._newFieldChoiceList = null, this._newFieldChoiceListErrors = /* @__PURE__ */ new Map());
|
|
212
245
|
}, this._handleUpdateNewFieldChoice = (e, i) => {
|
|
213
246
|
if (!this._newFieldChoiceList)
|
|
214
247
|
return;
|
|
215
248
|
const t = [...this._newFieldChoiceList];
|
|
216
249
|
t[e] = i, this._newFieldChoiceList = t;
|
|
250
|
+
const a = this._validateDomainValue(i, this._newFieldLength, !1);
|
|
251
|
+
a ? this._newFieldChoiceListErrors.set(e, a) : this._newFieldChoiceListErrors.delete(e), this._newFieldChoiceListErrors = new Map(this._newFieldChoiceListErrors);
|
|
217
252
|
}, this._handleNewFieldChoiceDragStart = (e, i) => {
|
|
218
253
|
i.dataTransfer.effectAllowed = "move", i.dataTransfer.setData("text/plain", e.toString());
|
|
219
254
|
}, this._handleNewFieldChoiceDrop = (e, i) => {
|
|
@@ -232,7 +267,7 @@ class M extends F {
|
|
|
232
267
|
return;
|
|
233
268
|
const t = [...e[this._selectedLayerIndex].customFields || []];
|
|
234
269
|
t.splice(this._editingFieldIndex, 1);
|
|
235
|
-
const a = e.map((n,
|
|
270
|
+
const a = e.map((n, r) => r === this._selectedLayerIndex ? { ...n, customFields: t } : n);
|
|
236
271
|
this._pushDesign({
|
|
237
272
|
...this._design,
|
|
238
273
|
featureLayer: {
|
|
@@ -258,7 +293,7 @@ class M extends F {
|
|
|
258
293
|
choiceList: this._editingFieldChoiceList && this._editingFieldChoiceList.length > 0 ? this._editingFieldChoiceList : null,
|
|
259
294
|
length: this._editingFieldTypeValue === "string" ? this._editingFieldLength : void 0
|
|
260
295
|
};
|
|
261
|
-
const a = e.map((n,
|
|
296
|
+
const a = e.map((n, r) => r === this._selectedLayerIndex ? { ...n, customFields: t } : n);
|
|
262
297
|
this._pushDesign({
|
|
263
298
|
...this._design,
|
|
264
299
|
featureLayer: {
|
|
@@ -273,7 +308,7 @@ class M extends F {
|
|
|
273
308
|
alias: this._editingFieldDisplayName,
|
|
274
309
|
description: this._editingFieldDescription
|
|
275
310
|
};
|
|
276
|
-
const a = e.map((n,
|
|
311
|
+
const a = e.map((n, r) => r === this._selectedLayerIndex ? { ...n, requiredFields: t } : n);
|
|
277
312
|
this._pushDesign({
|
|
278
313
|
...this._design,
|
|
279
314
|
featureLayer: {
|
|
@@ -289,6 +324,7 @@ class M extends F {
|
|
|
289
324
|
const i = this._design.featureLayer?.layers || [];
|
|
290
325
|
if (this._selectedLayerIndex >= i.length)
|
|
291
326
|
return;
|
|
327
|
+
this._layerNameValidationError = this._validateLayerName(e);
|
|
292
328
|
const t = i.map((a, n) => n === this._selectedLayerIndex ? { ...a, name: e } : a);
|
|
293
329
|
this._pushDesign({
|
|
294
330
|
...this._design,
|
|
@@ -306,7 +342,7 @@ class M extends F {
|
|
|
306
342
|
const t = this._design.featureLayer?.layers || [];
|
|
307
343
|
if (this._selectedLayerIndex >= t.length)
|
|
308
344
|
return;
|
|
309
|
-
const a = i.value, n = t.map((
|
|
345
|
+
const a = i.value, n = t.map((r, c) => c === this._selectedLayerIndex ? { ...r, type: a } : r);
|
|
310
346
|
this._pushDesign({
|
|
311
347
|
...this._design,
|
|
312
348
|
featureLayer: {
|
|
@@ -320,6 +356,7 @@ class M extends F {
|
|
|
320
356
|
const i = this._design.featureLayer?.layers || [];
|
|
321
357
|
if (this._selectedLayerIndex >= i.length)
|
|
322
358
|
return;
|
|
359
|
+
this._layerDescriptionValidationError = this._validateLayerDescription(e);
|
|
323
360
|
const t = i.map((a, n) => n === this._selectedLayerIndex ? { ...a, description: e } : a);
|
|
324
361
|
this._pushDesign({
|
|
325
362
|
...this._design,
|
|
@@ -347,10 +384,10 @@ class M extends F {
|
|
|
347
384
|
}, this._designContextConsumer, window.addEventListener("arcgis-solution-undo", this._handleUndo), window.addEventListener("arcgis-solution-redo", this._handleRedo);
|
|
348
385
|
}
|
|
349
386
|
static {
|
|
350
|
-
this.properties = { design: [1, { type: Object }], _design: 16, _translations: 16, _isDirty: 16, _undoStack: 16, _redoStack: 16, _openPopoverId: 16, _editingItemTitle: 16, _editingItemDescription: 16, _selectedLayerIndex: 16, _isAddingLayer: 16, _newLayerName: 16, _newLayerType: 16, _newLayerDescription: 16, _isEditingField: 16, _editingFieldIndex: 16, _editingFieldType: 16, _editingFieldDisplayName: 16, _editingFieldName: 16, _editingFieldDescription: 16, _editingFieldTypeValue: 16, _editingFieldLength: 16, _editingFieldChoiceList: 16, _isAddingNewField: 16, _newFieldDisplayName: 16, _newFieldName: 16, _newFieldDescription: 16, _newFieldType: 16, _newFieldLength: 16, _newFieldChoiceList: 16 };
|
|
387
|
+
this.properties = { design: [1, { type: Object }], _design: 16, _translations: 16, _isDirty: 16, _titleValidationError: 16, _descriptionValidationError: 16, _undoStack: 16, _redoStack: 16, _openPopoverId: 16, _editingItemTitle: 16, _editingItemDescription: 16, _editingItemTitleError: 16, _editingItemDescriptionError: 16, _originalItemTitle: 16, _originalItemDescription: 16, _layerNameValidationError: 16, _layerDescriptionValidationError: 16, _newLayerNameValidationError: 16, _newLayerDescriptionValidationError: 16, _selectedLayerIndex: 16, _isAddingLayer: 16, _newLayerName: 16, _newLayerType: 16, _newLayerDescription: 16, _isEditingField: 16, _editingFieldIndex: 16, _editingFieldType: 16, _editingFieldDisplayName: 16, _editingFieldName: 16, _editingFieldDescription: 16, _editingFieldTypeValue: 16, _editingFieldLength: 16, _editingFieldChoiceList: 16, _isAddingNewField: 16, _newFieldDisplayName: 16, _newFieldName: 16, _newFieldDescription: 16, _newFieldType: 16, _newFieldLength: 16, _newFieldChoiceList: 16, _editingFieldDisplayNameError: 16, _editingFieldNameError: 16, _editingFieldDescriptionError: 16, _editingFieldLengthError: 16, _editingFieldChoiceListErrors: 16, _newFieldDisplayNameError: 16, _newFieldNameError: 16, _newFieldDescriptionError: 16, _newFieldLengthError: 16, _newFieldChoiceListErrors: 16, _originalEditFieldDisplayName: 16, _originalEditFieldName: 16, _originalEditFieldDescription: 16, _originalEditFieldTypeValue: 16, _originalEditFieldLength: 16, _originalEditFieldChoiceList: 16 };
|
|
351
388
|
}
|
|
352
389
|
static {
|
|
353
|
-
this.styles =
|
|
390
|
+
this.styles = z;
|
|
354
391
|
}
|
|
355
392
|
disconnectedCallback() {
|
|
356
393
|
window.removeEventListener("arcgis-solution-undo", this._handleUndo), window.removeEventListener("arcgis-solution-redo", this._handleRedo), super.disconnectedCallback();
|
|
@@ -360,7 +397,7 @@ class M extends F {
|
|
|
360
397
|
}
|
|
361
398
|
render() {
|
|
362
399
|
const e = this._translations;
|
|
363
|
-
return e ? this._design ?
|
|
400
|
+
return e ? this._design ? s`<calcite-panel><div slot=header-content class="header-content-wrapper"><span class="header-title">${e.headerTitle}</span><calcite-chip .label=${e.draft} kind=neutral appearance=outline scale=s>${e.draft}</calcite-chip></div><calcite-action slot=header-actions-end .text=${e.undo} text-enabled icon=undo .disabled=${this._undoStack.length === 0} @click=${this._handleUndo}></calcite-action><calcite-action slot=header-actions-end .text=${e.redo} text-enabled icon=redo .disabled=${this._redoStack.length === 0} @click=${this._handleRedo}></calcite-action><div slot=header-actions-end class="header-divider"></div><calcite-action slot=header-actions-end .text=${e.hideBuilder} text-enabled icon=chevrons-right @click=${this._handleHideBuilder}></calcite-action><div class="builder-content">${this._renderMainContent()}${this._renderTabsSection()}</div></calcite-panel>` : this._renderEmptyState() : s`<div>Loading...</div>`;
|
|
364
401
|
}
|
|
365
402
|
_getLayerTypeIcon(e) {
|
|
366
403
|
switch (e) {
|
|
@@ -418,61 +455,230 @@ class M extends F {
|
|
|
418
455
|
e?.shadowRoot && e.shadowRoot.querySelector(".container")?.scrollTo({ top: 0, behavior: "smooth" });
|
|
419
456
|
});
|
|
420
457
|
}
|
|
458
|
+
async _validateSolutionName(e) {
|
|
459
|
+
const i = this._translations, t = await D(e, void 0, !0);
|
|
460
|
+
if (!t.isValid)
|
|
461
|
+
switch (t.errorType) {
|
|
462
|
+
case "empty":
|
|
463
|
+
return i.solutionNameErrorBlank;
|
|
464
|
+
case "exceed-length":
|
|
465
|
+
return i.solutionNameErrorLength;
|
|
466
|
+
case "special-character":
|
|
467
|
+
return i.solutionNameErrorSpecialCharacter;
|
|
468
|
+
default:
|
|
469
|
+
return null;
|
|
470
|
+
}
|
|
471
|
+
return null;
|
|
472
|
+
}
|
|
473
|
+
_validateSolutionDescription(e) {
|
|
474
|
+
const i = this._translations, t = F(e, 2048, !1);
|
|
475
|
+
if (!t.isValid)
|
|
476
|
+
switch (t.errorType) {
|
|
477
|
+
case "exceed-length":
|
|
478
|
+
return i.descriptionErrorLength;
|
|
479
|
+
case "special-character":
|
|
480
|
+
return i.descriptionErrorSpecialCharacter;
|
|
481
|
+
default:
|
|
482
|
+
return null;
|
|
483
|
+
}
|
|
484
|
+
return null;
|
|
485
|
+
}
|
|
486
|
+
_validateItemName(e) {
|
|
487
|
+
const i = this._translations, t = b(e);
|
|
488
|
+
if (!t.isValid)
|
|
489
|
+
switch (t.errorType) {
|
|
490
|
+
case "empty":
|
|
491
|
+
return i.itemTitleErrorBlank;
|
|
492
|
+
case "exceed-length":
|
|
493
|
+
return i.itemTitleErrorLength;
|
|
494
|
+
case "special-character":
|
|
495
|
+
return i.itemTitleErrorSpecialCharacter;
|
|
496
|
+
default:
|
|
497
|
+
return null;
|
|
498
|
+
}
|
|
499
|
+
return null;
|
|
500
|
+
}
|
|
501
|
+
_validateItemDescription(e) {
|
|
502
|
+
const i = this._translations, t = F(e, 2048, !1);
|
|
503
|
+
if (!t.isValid)
|
|
504
|
+
switch (t.errorType) {
|
|
505
|
+
case "exceed-length":
|
|
506
|
+
return i.itemDescriptionErrorLength;
|
|
507
|
+
case "special-character":
|
|
508
|
+
return i.itemDescriptionErrorSpecialCharacter;
|
|
509
|
+
default:
|
|
510
|
+
return null;
|
|
511
|
+
}
|
|
512
|
+
return null;
|
|
513
|
+
}
|
|
514
|
+
_validateLayerName(e) {
|
|
515
|
+
const i = this._translations, t = b(e);
|
|
516
|
+
if (!t.isValid)
|
|
517
|
+
switch (t.errorType) {
|
|
518
|
+
case "empty":
|
|
519
|
+
return i.layerNameErrorBlank;
|
|
520
|
+
case "exceed-length":
|
|
521
|
+
return i.layerNameErrorLength;
|
|
522
|
+
case "special-character":
|
|
523
|
+
return i.layerNameErrorSpecialCharacter;
|
|
524
|
+
default:
|
|
525
|
+
return null;
|
|
526
|
+
}
|
|
527
|
+
return null;
|
|
528
|
+
}
|
|
529
|
+
_validateLayerDescription(e) {
|
|
530
|
+
const i = this._translations, t = F(e, 2048, !1);
|
|
531
|
+
if (!t.isValid)
|
|
532
|
+
switch (t.errorType) {
|
|
533
|
+
case "exceed-length":
|
|
534
|
+
return i.layerDescriptionErrorLength;
|
|
535
|
+
case "special-character":
|
|
536
|
+
return i.layerDescriptionErrorSpecialCharacter;
|
|
537
|
+
default:
|
|
538
|
+
return null;
|
|
539
|
+
}
|
|
540
|
+
return null;
|
|
541
|
+
}
|
|
542
|
+
_validateFieldDisplayName(e) {
|
|
543
|
+
const i = this._translations, t = C(e);
|
|
544
|
+
if (!t.isValid)
|
|
545
|
+
switch (t.errorType) {
|
|
546
|
+
case "empty":
|
|
547
|
+
return i.displayNameErrorBlank;
|
|
548
|
+
case "exceed-length":
|
|
549
|
+
return i.displayNameErrorLength;
|
|
550
|
+
default:
|
|
551
|
+
return null;
|
|
552
|
+
}
|
|
553
|
+
return null;
|
|
554
|
+
}
|
|
555
|
+
_validateFieldName(e, i, t = !1, a = -1, n = null) {
|
|
556
|
+
const r = this._translations, c = [], l = this._design?.featureLayer?.layers || [];
|
|
557
|
+
if (i >= 0 && i < l.length) {
|
|
558
|
+
const o = l[i], u = o.customFields || [], y = o.requiredFields || [], g = o.systemFields || [];
|
|
559
|
+
u.forEach((p, m) => {
|
|
560
|
+
(!t || n !== "custom" || m !== a) && c.push(p.name.toLowerCase());
|
|
561
|
+
}), y.forEach((p, m) => {
|
|
562
|
+
(!t || n !== "required" || m !== a) && c.push(p.name.toLowerCase());
|
|
563
|
+
}), g.forEach((p) => {
|
|
564
|
+
c.push(p.name.toLowerCase());
|
|
565
|
+
});
|
|
566
|
+
}
|
|
567
|
+
const d = T(e, c);
|
|
568
|
+
if (!d.isValid)
|
|
569
|
+
switch (d.errorType) {
|
|
570
|
+
case "empty":
|
|
571
|
+
return r.fieldNameErrorBlank;
|
|
572
|
+
case "invalid-format":
|
|
573
|
+
return r.fieldNameErrorInvalidChars;
|
|
574
|
+
case "exceed-length":
|
|
575
|
+
return r.fieldNameErrorLength;
|
|
576
|
+
case "sql-keyword":
|
|
577
|
+
return r.fieldNameErrorSQLKeyword;
|
|
578
|
+
case "system-field":
|
|
579
|
+
return r.fieldNameErrorSystemField;
|
|
580
|
+
case "duplicate-field":
|
|
581
|
+
return r.fieldNameErrorExists;
|
|
582
|
+
default:
|
|
583
|
+
return null;
|
|
584
|
+
}
|
|
585
|
+
return null;
|
|
586
|
+
}
|
|
587
|
+
_validateFieldDescription(e) {
|
|
588
|
+
const i = this._translations, t = F(e, 500, !0);
|
|
589
|
+
if (!t.isValid)
|
|
590
|
+
switch (t.errorType) {
|
|
591
|
+
case "exceed-length":
|
|
592
|
+
return i.fieldDescriptionErrorLength;
|
|
593
|
+
case "special-character":
|
|
594
|
+
return i.fieldDescriptionErrorSpecialCharacter;
|
|
595
|
+
default:
|
|
596
|
+
return null;
|
|
597
|
+
}
|
|
598
|
+
return null;
|
|
599
|
+
}
|
|
600
|
+
_validateFieldLength(e) {
|
|
601
|
+
const i = this._translations, t = I(e);
|
|
602
|
+
return t.isValid ? null : t.errorType === "out-of-range" ? i.lengthErrorOutOfRange : null;
|
|
603
|
+
}
|
|
604
|
+
_validateDomainValue(e, i, t = !1) {
|
|
605
|
+
const a = this._translations, n = M(e, i, t);
|
|
606
|
+
if (!n.isValid)
|
|
607
|
+
switch (n.errorType) {
|
|
608
|
+
case "empty":
|
|
609
|
+
return a.domainValueErrorEmpty;
|
|
610
|
+
case "exceed-length":
|
|
611
|
+
return a.domainValueErrorExceedsLength;
|
|
612
|
+
default:
|
|
613
|
+
return null;
|
|
614
|
+
}
|
|
615
|
+
return null;
|
|
616
|
+
}
|
|
421
617
|
_renderFieldRows(e) {
|
|
422
618
|
const i = this._translations, t = [
|
|
423
619
|
...e.customFields || [],
|
|
424
620
|
...e.requiredFields || []
|
|
425
621
|
], a = e.customFields?.length || 0, n = [];
|
|
426
|
-
return t.forEach((
|
|
427
|
-
const l = this._getFieldTypeIcon(
|
|
428
|
-
let
|
|
429
|
-
|
|
430
|
-
const
|
|
431
|
-
n.push(
|
|
622
|
+
return t.forEach((r, c) => {
|
|
623
|
+
const l = this._getFieldTypeIcon(r.type), d = this._formatFieldType(r), o = `field-domain-info-${c}`, u = `field-lock-${c}`, y = c >= a;
|
|
624
|
+
let g, p = !1;
|
|
625
|
+
r.choiceList && Array.isArray(r.choiceList) ? (p = !0, g = s`<div class="domain-cell-content"><span>List (${r.choiceList.length})</span><calcite-icon id=${o ?? h} icon=information scale=s></calcite-icon></div>`) : g = null;
|
|
626
|
+
const m = y ? s`<div class="field-name-cell"><calcite-icon id=${u ?? h} icon=lock scale=s class="lock-icon"></calcite-icon><span>${r.name}</span></div>` : r.name;
|
|
627
|
+
n.push(s`<calcite-table-row><calcite-table-cell>${r.alias}</calcite-table-cell><calcite-table-cell>${m}</calcite-table-cell><calcite-table-cell><div class="field-type-cell"><calcite-icon .icon=${l} scale=s></calcite-icon><span>${d}</span></div></calcite-table-cell><calcite-table-cell>${g}</calcite-table-cell><calcite-table-cell><calcite-icon class="edit-icon" icon=pencil scale=s @click=${() => this._handleEditField(c, r)}></calcite-icon></calcite-table-cell></calcite-table-row>`), p && n.push(s`<calcite-tooltip .referenceElement=${o} placement=left><ul class="choice-list-tooltip">${r.choiceList.map((v) => s`<li>${v}</li>`)}</ul></calcite-tooltip>`), y && n.push(s`<calcite-tooltip .referenceElement=${u} placement=top>${i.requiredFieldTooltip}</calcite-tooltip>`);
|
|
432
628
|
}), n;
|
|
433
629
|
}
|
|
434
630
|
_renderEmptyState() {
|
|
435
|
-
return
|
|
631
|
+
return s`<calcite-panel><div class="empty-state"><calcite-icon icon=layer scale=l></calcite-icon><p>No solution design loaded</p></div></calcite-panel>`;
|
|
436
632
|
}
|
|
437
633
|
_renderMainContent() {
|
|
438
|
-
return
|
|
634
|
+
return s`<div class="content-container"><div class="solution-item-section">${this._renderSolutionItemInputs()}</div><div class="actions-section">${this._renderActionButtons()}</div></div>`;
|
|
439
635
|
}
|
|
440
636
|
_renderSolutionItemInputs() {
|
|
441
637
|
const e = this._translations, i = this._design?.solution?.thumbnailUrl || "", t = this._design?.solution?.title || "", a = this._design?.solution?.description || "";
|
|
442
|
-
return
|
|
638
|
+
return s`<div class="solution-item-inputs"><div class="thumbnail-inputs-row"><div class="thumbnail-container"><img src=${(i || O) ?? h} alt=${e.solutionThumbnail ?? h}></div><div class="stacked-inputs"><calcite-label>${e.name}<calcite-input-text .placeholder=${e.namePlaceholder} .value=${t} max-length=250 .status=${this._titleValidationError ? "invalid" : "idle"} .validationMessage=${this._titleValidationError || ""} .validationIcon=${!!this._titleValidationError} @input=${(n) => this._handleTitleChange(n.target.value)}></calcite-input-text></calcite-label><calcite-label>${e.description}<calcite-text-area .placeholder=${e.solutionDescriptionPlaceholder} .value=${a} max-length=2048 resize=none .status=${this._descriptionValidationError ? "invalid" : "idle"} .validationMessage=${this._descriptionValidationError || ""} .validationIcon=${!!this._descriptionValidationError} rows=3 limit-text @input=${(n) => this._handleDescriptionChange(n.target.value)}></calcite-text-area></calcite-label></div></div></div>`;
|
|
443
639
|
}
|
|
444
640
|
_renderActionButtons() {
|
|
445
641
|
const e = this._translations;
|
|
446
|
-
return
|
|
642
|
+
return s`<div class="action-buttons"><calcite-button appearance=solid width=full>${e.deploy}</calcite-button><calcite-button appearance=outline kind=neutral width=full>${e.discard}</calcite-button><calcite-notice open appearance=transparent kind=brand icon=effects scale=s><div slot=message>${e.noticeMessage}</div></calcite-notice></div>`;
|
|
447
643
|
}
|
|
448
644
|
_renderTabsSection() {
|
|
449
645
|
const e = this._translations;
|
|
450
|
-
return
|
|
646
|
+
return s`<div class="tabs-section"><calcite-tabs layout=center><calcite-tab-nav slot=title-group><calcite-tab-title icon-start=folder>${e.contents}</calcite-tab-title><calcite-tab-title icon-start=layers>${e.featureLayer}</calcite-tab-title></calcite-tab-nav><calcite-tab>${this._renderContentsTab()}</calcite-tab><calcite-tab>${this._renderFeatureLayerTab()}</calcite-tab></calcite-tabs></div>`;
|
|
451
647
|
}
|
|
452
648
|
_renderContentsTab() {
|
|
453
649
|
const e = this._translations, i = this._design?.items || [];
|
|
454
|
-
return
|
|
650
|
+
return s`<div><calcite-list .label=${e.solutionContentItems}>${i.map((t) => {
|
|
455
651
|
const a = `edit-action-${t.id}`;
|
|
456
|
-
return
|
|
652
|
+
return s`<calcite-list-item .label=${t.title} .description=${t.description || ""}><solution-item-icon slot=content-start .designType=${t.type}></solution-item-icon><calcite-action slot=actions-end id=${a ?? h} icon=edit-attributes .text=${e.edit} scale=s></calcite-action></calcite-list-item>`;
|
|
457
653
|
})}</calcite-list>${i.map((t) => {
|
|
458
|
-
const a = `edit-action-${t.id}`, n = `edit-popover-${t.id}`,
|
|
459
|
-
return
|
|
460
|
-
this._editingItemTitle =
|
|
461
|
-
}}></calcite-input-text></calcite-label><calcite-label class="popover-field">${e.description}<calcite-text-area .value=${
|
|
462
|
-
this._editingItemDescription =
|
|
463
|
-
}}></calcite-text-area></calcite-label><div class="popover-actions"><calcite-button appearance=outline kind=neutral @click=${async (
|
|
464
|
-
|
|
465
|
-
}}>${e.close}</calcite-button><calcite-button appearance=solid @click=${(
|
|
466
|
-
|
|
654
|
+
const a = `edit-action-${t.id}`, n = `edit-popover-${t.id}`, r = this._openPopoverId === t.id;
|
|
655
|
+
return s`<calcite-popover id=${n ?? h} .label=${e.editItemContent} .referenceElement=${a} placement=auto @calcitePopoverBeforeOpen=${() => this._handleItemPopoverOpen(t)} @calcitePopoverClose=${() => this._handleCloseItemPopover()}><div class="popover-content"><calcite-label>${e.title}<calcite-input-text .value=${r ? this._editingItemTitle : t.title} .placeholder=${e.titlePlaceholder} max-length=250 .status=${this._editingItemTitleError ? "invalid" : "idle"} .validationMessage=${this._editingItemTitleError || ""} .validationIcon=${!!this._editingItemTitleError} @input=${(c) => {
|
|
656
|
+
this._editingItemTitle = c.target.value, this._editingItemTitleError = this._validateItemName(c.target.value);
|
|
657
|
+
}}></calcite-input-text></calcite-label><calcite-label class="popover-field">${e.description}<calcite-text-area .value=${r ? this._editingItemDescription : t.description} .placeholder=${e.descriptionPlaceholder} max-length=2048 resize=none rows=4 .status=${this._editingItemDescriptionError ? "invalid" : "idle"} .validationMessage=${this._editingItemDescriptionError || ""} .validationIcon=${!!this._editingItemDescriptionError} @input=${(c) => {
|
|
658
|
+
this._editingItemDescription = c.target.value, this._editingItemDescriptionError = this._validateItemDescription(c.target.value);
|
|
659
|
+
}}></calcite-text-area></calcite-label><div class="popover-actions"><calcite-button appearance=outline kind=neutral @click=${async (c) => {
|
|
660
|
+
c.stopPropagation(), await this._handleClosePopover(n);
|
|
661
|
+
}}>${e.close}</calcite-button><calcite-button appearance=solid .disabled=${!!this._editingItemTitleError || !!this._editingItemDescriptionError || this._editingItemTitle === this._originalItemTitle && this._editingItemDescription === this._originalItemDescription} @click=${(c) => {
|
|
662
|
+
c.stopPropagation(), this._handleApplyItemChanges(t.id);
|
|
467
663
|
}}>${e.apply}</calcite-button></div></div></calcite-popover>`;
|
|
468
664
|
})}</div>`;
|
|
469
665
|
}
|
|
470
666
|
_renderFeatureLayerTab() {
|
|
471
|
-
const e = this._translations, i = this._design?.featureLayer?.layers || [], t = this._design?.featureLayer?.addLayers || !1, a = i[this._selectedLayerIndex], n = a?.name || "",
|
|
472
|
-
return
|
|
667
|
+
const e = this._translations, i = this._design?.featureLayer?.layers || [], t = this._design?.featureLayer?.addLayers || !1, a = i[this._selectedLayerIndex], n = a?.name || "", r = a?.description || "", c = a?.type || "Point";
|
|
668
|
+
return s`<calcite-flow><calcite-flow-item .selected=${!this._isAddingLayer && !this._isEditingField && !this._isAddingNewField}><div class="feature-layer-tab"><div class="layer-selector-container"><calcite-label>${e.layer}<calcite-combobox .label=${e.layer} selection-mode=single-persist clear-disabled @calciteComboboxChange=${(l) => this._handleLayerSelect(l)}>${i.map((l, d) => {
|
|
473
669
|
const o = this._getLayerTypeIcon(l.type);
|
|
474
|
-
return
|
|
475
|
-
})}</calcite-combobox></calcite-label>${t && c`<calcite-button icon-start=plus appearance=outline @click=${this._handleAddLayer}>${e.addLayer}</calcite-button>` || ""}</div>${a && c`<div class="layer-properties-container"><calcite-label>${e.name}<calcite-input-text .placeholder=${e.layerNamePlaceholder} .value=${n} @input=${(l) => this._handleLayerNameChange(l.target.value)}></calcite-input-text></calcite-label><calcite-label>${e.type}<calcite-combobox .label=${e.type} selection-mode=single-persist clear-disabled @calciteComboboxChange=${(l) => this._handleLayerTypeChange(l)}><calcite-combobox-item value=Point .label=${e.pointLayer} .heading=${e.pointLayer} icon=point .selected=${d === "Point"}></calcite-combobox-item><calcite-combobox-item value=Polyline .label=${e.lineLayer} .heading=${e.lineLayer} icon=line .selected=${d === "Polyline"}></calcite-combobox-item><calcite-combobox-item value=Polygon .label=${e.polygonLayer} .heading=${e.polygonLayer} icon=polygon .selected=${d === "Polygon"}></calcite-combobox-item><calcite-combobox-item value=Table .label=${e.tableLayer} .heading=${e.tableLayer} icon=table .selected=${d === "Table"}></calcite-combobox-item></calcite-combobox></calcite-label></div>` || ""}${a && c`<div class="layer-description-container"><calcite-label>${e.description}<calcite-text-area .placeholder=${e.layerDescriptionPlaceholder} .value=${s} resize=none @input=${(l) => this._handleLayerDescriptionChange(l.target.value)}></calcite-text-area></calcite-label></div>` || ""}${a && c`<div class="fields-section"><calcite-label>${e.fields}<calcite-table bordered .caption=${e.fields}><calcite-table-row slot=table-header><calcite-table-header .heading=${e.displayName}></calcite-table-header><calcite-table-header .heading=${e.fieldName}></calcite-table-header><calcite-table-header .heading=${e.type}></calcite-table-header><calcite-table-header .heading=${e.domain}></calcite-table-header><calcite-table-header heading></calcite-table-header></calcite-table-row>${this._renderFieldRows(a)}</calcite-table></calcite-label><calcite-button icon-start=plus appearance=outline-fill width=auto scale=m class="add-field-button" @click=${this._handleAddField}>${e.addField}</calcite-button><calcite-notice open icon=information appearance=transparent width=full><div slot=message>${e.systemFieldsNote} ${this._getSystemFieldsList(a)}</div></calcite-notice></div>` || ""}</div>${this._shouldShowRemoveLayerButton(a) && c`<calcite-button slot=footer appearance=transparent kind=danger width=full @click=${this._handleRemoveLayer}>${e.removeLayer}</calcite-button>` || ""}</calcite-flow-item>${this._isEditingField && c`<calcite-flow-item heading="Edit field" selected @calciteFlowItemBack=${this._handleEditFieldBack}><calcite-button slot=header-actions-end appearance=outline kind=neutral scale=m .disabled=${this._editingFieldType === "required"} @click=${this._handleDeleteField}>${e.delete}</calcite-button><calcite-button slot=header-actions-end appearance=solid kind=brand scale=m @click=${this._handleApplyFieldChanges}>${e.apply}</calcite-button><div class="feature-layer-tab">${this._editingFieldType === "required" && c`<div class="system-fields-note"><calcite-icon icon=lock scale=s class="info-icon-blue"></calcite-icon><span>${e.requiredFieldNote}</span></div>` || ""}<div class="layer-properties-container"><calcite-label>${e.displayName}<calcite-input-text .value=${this._editingFieldDisplayName} @input=${(l) => this._editingFieldDisplayName = l.target.value}></calcite-input-text></calcite-label><calcite-label>${e.fieldName}<calcite-input-text .value=${this._editingFieldName} .disabled=${this._editingFieldType === "required"} @input=${(l) => this._editingFieldName = l.target.value}></calcite-input-text></calcite-label></div><div class="layer-description-container"><calcite-label>${e.description}<calcite-text-area .value=${this._editingFieldDescription} resize=none @input=${(l) => this._editingFieldDescription = l.target.value}></calcite-text-area></calcite-label></div><div class="layer-properties-container"><calcite-label>${e.type}<calcite-combobox .label=${e.type} selection-mode=single-persist clear-disabled .disabled=${this._editingFieldType === "required"} @calciteComboboxChange=${(l) => this._handleEditFieldTypeChange(l)}><calcite-combobox-item value=string text-label=${e.stringType ?? r} .heading=${e.stringType} icon=string .selected=${this._editingFieldTypeValue === "string"}></calcite-combobox-item><calcite-combobox-item value=integer text-label=${e.integerType ?? r} .heading=${e.integerType} icon=integer .selected=${this._editingFieldTypeValue === "integer"}></calcite-combobox-item><calcite-combobox-item value=double text-label=${e.doubleType ?? r} .heading=${e.doubleType} icon=number .selected=${this._editingFieldTypeValue === "double"}></calcite-combobox-item><calcite-combobox-item value=date text-label=${e.dateType ?? r} .heading=${e.dateType} icon=date-time .selected=${this._editingFieldTypeValue === "date"}></calcite-combobox-item><calcite-combobox-item value=guid text-label=${e.guidType ?? r} .heading=${e.guidType} icon=key .selected=${this._editingFieldTypeValue === "guid"}></calcite-combobox-item></calcite-combobox></calcite-label>${this._editingFieldTypeValue === "string" && c`<calcite-label>${e.length}<calcite-input-number .value=${this._editingFieldLength.toString()} .disabled=${this._editingFieldType === "required"} @input=${(l) => this._editingFieldLength = parseInt(l.target.value) || 255}></calcite-input-number></calcite-label>` || ""}</div>${this._editingFieldTypeValue === "string" && c`<div class="domain-section"><calcite-label>Domain</calcite-label>${this._editingFieldChoiceList && this._editingFieldChoiceList.length > 0 ? c`<div><div class="domain-list">${this._editingFieldChoiceList.map((l, h) => c`<div class="domain-item" draggable @dragstart=${(o) => this._handleEditFieldChoiceDragStart(h, o)} @dragover=${(o) => o.preventDefault()} @drop=${(o) => this._handleEditFieldChoiceDrop(h, o)}><calcite-icon icon=drag scale=s class="drag-handle"></calcite-icon><calcite-input-text .value=${l} @input=${(o) => this._handleUpdateEditFieldChoice(h, o.target.value)}></calcite-input-text><calcite-button icon-start=x appearance=transparent scale=s kind=neutral @click=${() => this._handleRemoveEditFieldChoice(h)}></calcite-button></div>`)}</div><calcite-button icon-start=plus appearance=transparent width=auto class="add-field-button" @click=${this._handleAddEditFieldChoice}>\r\n Add value</calcite-button></div>` : c`<calcite-button icon-start=plus appearance=transparent width=auto class="add-field-button" @click=${this._handleAddEditFieldChoice}>\r\n Add domain list</calcite-button>`}</div>` || ""}</div></calcite-flow-item>` || ""}${this._isAddingLayer && c`<calcite-flow-item heading="Add Layer" selected @calciteFlowItemBack=${this._handleAddLayerBack}><calcite-button slot=header-actions-end appearance=solid kind=brand scale=m @click=${this._handleAddLayerDone}>${e.done}</calcite-button><div class="feature-layer-tab"><div class="layer-properties-container"><calcite-label>${e.name}<calcite-input-text .placeholder=${e.layerNamePlaceholder} .value=${this._newLayerName} @input=${(l) => this._handleNewLayerNameChange(l.target.value)}></calcite-input-text></calcite-label><calcite-label>${e.type}<calcite-combobox .label=${e.type} selection-mode=single-persist clear-disabled @calciteComboboxChange=${(l) => this._handleNewLayerTypeChange(l)}><calcite-combobox-item value=Point text-label=${e.pointLayer ?? r} .heading=${e.pointLayer} icon=point .selected=${this._newLayerType === "Point"}></calcite-combobox-item><calcite-combobox-item value=Polyline text-label=${e.lineLayer ?? r} .heading=${e.lineLayer} icon=line .selected=${this._newLayerType === "Polyline"}></calcite-combobox-item><calcite-combobox-item value=Polygon text-label=${e.polygonLayer ?? r} .heading=${e.polygonLayer} icon=polygon .selected=${this._newLayerType === "Polygon"}></calcite-combobox-item><calcite-combobox-item value=Table text-label=${e.tableLayer ?? r} .heading=${e.tableLayer} icon=table .selected=${this._newLayerType === "Table"}></calcite-combobox-item></calcite-combobox></calcite-label></div><div class="layer-description-container"><calcite-label>${e.description}<calcite-text-area .placeholder=${e.layerDescriptionPlaceholder} .value=${this._newLayerDescription} resize=none @input=${(l) => this._handleNewLayerDescriptionChange(l.target.value)}></calcite-text-area></calcite-label></div></div></calcite-flow-item>` || ""}${this._isAddingNewField && c`<calcite-flow-item heading="Add Field" selected @calciteFlowItemBack=${this._handleAddFieldBack}><calcite-button slot=header-actions-end appearance=solid scale=m @click=${this._handleAddFieldDone}>${e.done}</calcite-button><div class="feature-layer-tab"><div class="layer-properties-container"><calcite-label>${e.displayName}<calcite-input-text .value=${this._newFieldDisplayName} @input=${(l) => this._newFieldDisplayName = l.target.value}></calcite-input-text></calcite-label><calcite-label>${e.fieldName}<calcite-input-text .value=${this._newFieldName} @input=${(l) => this._newFieldName = l.target.value}></calcite-input-text></calcite-label></div><div class="layer-description-container"><calcite-label>${e.description}<calcite-text-area .value=${this._newFieldDescription} resize=none @input=${(l) => this._newFieldDescription = l.target.value}></calcite-text-area></calcite-label></div><div class="layer-properties-container"><calcite-label>${e.type}<calcite-combobox .label=${e.type} selection-mode=single-persist clear-disabled @calciteComboboxChange=${(l) => this._handleNewFieldTypeChange(l)}><calcite-combobox-item value=string text-label=${e.stringType ?? r} .heading=${e.stringType} icon=string .selected=${this._newFieldType === "string"}></calcite-combobox-item><calcite-combobox-item value=integer text-label=${e.integerType ?? r} .heading=${e.integerType} icon=integer .selected=${this._newFieldType === "integer"}></calcite-combobox-item><calcite-combobox-item value=double text-label=${e.doubleType ?? r} .heading=${e.doubleType} icon=number .selected=${this._newFieldType === "double"}></calcite-combobox-item><calcite-combobox-item value=date text-label=${e.dateType ?? r} .heading=${e.dateType} icon=date-time .selected=${this._newFieldType === "date"}></calcite-combobox-item><calcite-combobox-item value=guid text-label=${e.guidType ?? r} .heading=${e.guidType} icon=key .selected=${this._newFieldType === "guid"}></calcite-combobox-item></calcite-combobox></calcite-label>${this._newFieldType === "string" && c`<calcite-label>${e.length}<calcite-input-number .value=${this._newFieldLength.toString()} @input=${(l) => this._newFieldLength = parseInt(l.target.value) || 255}></calcite-input-number></calcite-label>` || ""}</div>${this._newFieldType === "string" && c`<div class="domain-section"><calcite-label>Domain</calcite-label>${this._newFieldChoiceList && this._newFieldChoiceList.length > 0 ? c`<div><div class="domain-list">${this._newFieldChoiceList.map((l, h) => c`<div class="domain-item" draggable @dragstart=${(o) => this._handleNewFieldChoiceDragStart(h, o)} @dragover=${(o) => o.preventDefault()} @drop=${(o) => this._handleNewFieldChoiceDrop(h, o)}><calcite-icon icon=drag scale=s class="drag-handle"></calcite-icon><calcite-input-text .value=${l} @input=${(o) => this._handleUpdateNewFieldChoice(h, o.target.value)}></calcite-input-text><calcite-button icon-start=x appearance=transparent scale=s kind=neutral @click=${() => this._handleRemoveNewFieldChoice(h)}></calcite-button></div>`)}</div><calcite-button icon-start=plus appearance=transparent width=auto class="add-field-button" @click=${this._handleAddNewFieldChoice}>\r\n Add value</calcite-button></div>` : c`<calcite-button icon-start=plus appearance=transparent width=auto class="add-field-button" @click=${this._handleAddNewFieldChoice}>\r\n Add domain list</calcite-button>`}</div>` || ""}</div></calcite-flow-item>` || ""}</calcite-flow>`;
|
|
670
|
+
return s`<calcite-combobox-item .value=${d.toString()} .label=${l.name} .heading=${l.name} .icon=${o} .selected=${d === this._selectedLayerIndex}></calcite-combobox-item>`;
|
|
671
|
+
})}</calcite-combobox></calcite-label>${t && s`<calcite-button icon-start=plus appearance=outline @click=${this._handleAddLayer}>${e.addLayer}</calcite-button>` || ""}</div>${a && s`<div class="layer-properties-container"><calcite-label>${e.name}<calcite-input-text .placeholder=${e.layerNamePlaceholder} .value=${n} max-length=250 .status=${this._layerNameValidationError ? "invalid" : "idle"} .validationMessage=${this._layerNameValidationError || ""} .validationIcon=${!!this._layerNameValidationError} @input=${(l) => this._handleLayerNameChange(l.target.value)}></calcite-input-text></calcite-label><calcite-label>${e.type}<calcite-combobox .label=${e.type} selection-mode=single-persist clear-disabled @calciteComboboxChange=${(l) => this._handleLayerTypeChange(l)}><calcite-combobox-item value=Point .label=${e.pointLayer} .heading=${e.pointLayer} icon=point .selected=${c === "Point"}></calcite-combobox-item><calcite-combobox-item value=Polyline .label=${e.lineLayer} .heading=${e.lineLayer} icon=line .selected=${c === "Polyline"}></calcite-combobox-item><calcite-combobox-item value=Polygon .label=${e.polygonLayer} .heading=${e.polygonLayer} icon=polygon .selected=${c === "Polygon"}></calcite-combobox-item><calcite-combobox-item value=Table .label=${e.tableLayer} .heading=${e.tableLayer} icon=table .selected=${c === "Table"}></calcite-combobox-item></calcite-combobox></calcite-label></div>` || ""}${a && s`<div class="layer-description-container"><calcite-label>${e.description}<calcite-text-area .placeholder=${e.layerDescriptionPlaceholder} .value=${r} resize=none max-length=2048 .status=${this._layerDescriptionValidationError ? "invalid" : "idle"} .validationMessage=${this._layerDescriptionValidationError || ""} .validationIcon=${!!this._layerDescriptionValidationError} @input=${(l) => this._handleLayerDescriptionChange(l.target.value)}></calcite-text-area></calcite-label></div>` || ""}${a && s`<div class="fields-section"><calcite-label>${e.fields}<calcite-table bordered .caption=${e.fields}><calcite-table-row slot=table-header><calcite-table-header .heading=${e.displayName}></calcite-table-header><calcite-table-header .heading=${e.fieldName}></calcite-table-header><calcite-table-header .heading=${e.type}></calcite-table-header><calcite-table-header .heading=${e.domain}></calcite-table-header><calcite-table-header heading></calcite-table-header></calcite-table-row>${this._renderFieldRows(a)}</calcite-table></calcite-label><calcite-button icon-start=plus appearance=outline-fill width=auto scale=m class="add-field-button" @click=${this._handleAddField}>${e.addField}</calcite-button><calcite-notice open icon=information appearance=transparent width=full><div slot=message>${e.systemFieldsNote} ${this._getSystemFieldsList(a)}</div></calcite-notice></div>` || ""}</div>${this._shouldShowRemoveLayerButton(a) && s`<calcite-button slot=footer appearance=transparent kind=danger width=full @click=${this._handleRemoveLayer}>${e.removeLayer}</calcite-button>` || ""}</calcite-flow-item>${this._isEditingField && s`<calcite-flow-item heading="Edit field" selected @calciteFlowItemBack=${this._handleEditFieldBack}><calcite-button slot=header-actions-end appearance=outline kind=neutral scale=m .disabled=${this._editingFieldType === "required"} @click=${this._handleDeleteField}>${e.delete}</calcite-button><calcite-button slot=header-actions-end appearance=solid kind=brand scale=m .disabled=${// Disable if there are validation errors
|
|
672
|
+
!!this._editingFieldDisplayNameError || !!this._editingFieldNameError || !!this._editingFieldDescriptionError || !!this._editingFieldLengthError || this._editingFieldChoiceListErrors.size > 0 || // Disable if no changes made
|
|
673
|
+
this._editingFieldDisplayName === this._originalEditFieldDisplayName && this._editingFieldName === this._originalEditFieldName && this._editingFieldDescription === this._originalEditFieldDescription && this._editingFieldTypeValue === this._originalEditFieldTypeValue && this._editingFieldLength === this._originalEditFieldLength && JSON.stringify(this._editingFieldChoiceList) === JSON.stringify(this._originalEditFieldChoiceList)} @click=${this._handleApplyFieldChanges}>${e.apply}</calcite-button><div class="feature-layer-tab">${this._editingFieldType === "required" && s`<div class="system-fields-note"><calcite-icon icon=lock scale=s class="info-icon-blue"></calcite-icon><span>${e.requiredFieldNote}</span></div>` || ""}<div class="layer-properties-container"><calcite-label>${e.displayName}<calcite-input-text .placeholder=${e.displayNamePlaceholder} .value=${this._editingFieldDisplayName} max-length=250 .status=${this._editingFieldDisplayNameError ? "invalid" : "idle"} .validationMessage=${this._editingFieldDisplayNameError || ""} .validationIcon=${!!this._editingFieldDisplayNameError} @input=${(l) => this._handleEditFieldDisplayNameChange(l.target.value)}></calcite-input-text></calcite-label><calcite-label>${e.fieldName}<calcite-input-text .placeholder=${e.fieldNamePlaceholder} .value=${this._editingFieldName} max-length=31 .disabled=${this._editingFieldType === "required"} .status=${this._editingFieldNameError ? "invalid" : "idle"} .validationMessage=${this._editingFieldNameError || ""} .validationIcon=${!!this._editingFieldNameError} @input=${(l) => this._handleEditFieldNameChange(l.target.value)}></calcite-input-text></calcite-label></div><div class="layer-description-container"><calcite-label>${e.fieldDescription}<calcite-text-area .placeholder=${e.fieldDescriptionPlaceholder} .value=${this._editingFieldDescription} resize=none max-length=500 .status=${this._editingFieldDescriptionError ? "invalid" : "idle"} .validationMessage=${this._editingFieldDescriptionError || ""} .validationIcon=${!!this._editingFieldDescriptionError} @input=${(l) => this._handleEditFieldDescriptionChange(l.target.value)}></calcite-text-area></calcite-label></div><div class="layer-properties-container"><calcite-label>${e.type}<calcite-combobox .label=${e.type} selection-mode=single-persist clear-disabled .disabled=${this._editingFieldType === "required"} @calciteComboboxChange=${(l) => this._handleEditFieldTypeChange(l)}><calcite-combobox-item value=string text-label=${e.stringType ?? h} .heading=${e.stringType} icon=string .selected=${this._editingFieldTypeValue === "string"}></calcite-combobox-item><calcite-combobox-item value=integer text-label=${e.integerType ?? h} .heading=${e.integerType} icon=integer .selected=${this._editingFieldTypeValue === "integer"}></calcite-combobox-item><calcite-combobox-item value=double text-label=${e.doubleType ?? h} .heading=${e.doubleType} icon=number .selected=${this._editingFieldTypeValue === "double"}></calcite-combobox-item><calcite-combobox-item value=date text-label=${e.dateType ?? h} .heading=${e.dateType} icon=date-time .selected=${this._editingFieldTypeValue === "date"}></calcite-combobox-item><calcite-combobox-item value=guid text-label=${e.guidType ?? h} .heading=${e.guidType} icon=key .selected=${this._editingFieldTypeValue === "guid"}></calcite-combobox-item></calcite-combobox></calcite-label>${this._editingFieldTypeValue === "string" && s`<calcite-label>${e.length}<calcite-input-number .value=${this._editingFieldLength.toString()} .disabled=${this._editingFieldType === "required"} min=1 max=4000 .status=${this._editingFieldLengthError ? "invalid" : "idle"} .validationMessage=${this._editingFieldLengthError || ""} .validationIcon=${!!this._editingFieldLengthError} @input=${(l) => {
|
|
674
|
+
const d = l.target.value === "" ? null : parseInt(l.target.value);
|
|
675
|
+
this._handleEditFieldLengthChange(d);
|
|
676
|
+
}}></calcite-input-number></calcite-label>` || ""}</div>${this._editingFieldTypeValue === "string" && s`<div class="domain-section"><calcite-label>Domain</calcite-label>${this._editingFieldChoiceList && this._editingFieldChoiceList.length > 0 ? s`<div><div class="domain-list">${this._editingFieldChoiceList.map((l, d) => s`<div class="domain-item" draggable @dragstart=${(o) => this._handleEditFieldChoiceDragStart(d, o)} @dragover=${(o) => o.preventDefault()} @drop=${(o) => this._handleEditFieldChoiceDrop(d, o)}><calcite-icon icon=drag scale=s class="drag-handle"></calcite-icon><calcite-input-text .placeholder=${e.domainValuePlaceholder} .value=${l} .maxLength=${this._editingFieldLength} .status=${this._editingFieldChoiceListErrors.get(d) ? "invalid" : "idle"} .validationMessage=${this._editingFieldChoiceListErrors.get(d) || ""} .validationIcon=${!!this._editingFieldChoiceListErrors.get(d)} @input=${(o) => this._handleUpdateEditFieldChoice(d, o.target.value)}></calcite-input-text><calcite-button icon-start=x appearance=transparent scale=s kind=neutral @click=${() => this._handleRemoveEditFieldChoice(d)}></calcite-button></div>`)}</div><calcite-button icon-start=plus appearance=transparent width=auto class="add-field-button" @click=${this._handleAddEditFieldChoice}>\r\n Add value</calcite-button></div>` : s`<calcite-button icon-start=plus appearance=transparent width=auto class="add-field-button" @click=${this._handleAddEditFieldChoice}>\r\n Add domain list</calcite-button>`}</div>` || ""}</div></calcite-flow-item>` || ""}${this._isAddingLayer && s`<calcite-flow-item heading="Add Layer" selected @calciteFlowItemBack=${this._handleAddLayerBack}><calcite-button slot=header-actions-end appearance=solid kind=brand scale=m .disabled=${!this._newLayerName.trim() || !!this._newLayerNameValidationError || !!this._newLayerDescriptionValidationError} @click=${this._handleAddLayerDone}>${e.done}</calcite-button><div class="feature-layer-tab"><div class="layer-properties-container"><calcite-label>${e.name}<calcite-input-text .placeholder=${e.layerNamePlaceholder} .value=${this._newLayerName} max-length=250 .status=${this._newLayerNameValidationError ? "invalid" : "idle"} .validationMessage=${this._newLayerNameValidationError || ""} .validationIcon=${!!this._newLayerNameValidationError} @input=${(l) => this._handleNewLayerNameChange(l.target.value)}></calcite-input-text></calcite-label><calcite-label>${e.type}<calcite-combobox .label=${e.type} selection-mode=single-persist clear-disabled @calciteComboboxChange=${(l) => this._handleNewLayerTypeChange(l)}><calcite-combobox-item value=Point text-label=${e.pointLayer ?? h} .heading=${e.pointLayer} icon=point .selected=${this._newLayerType === "Point"}></calcite-combobox-item><calcite-combobox-item value=Polyline text-label=${e.lineLayer ?? h} .heading=${e.lineLayer} icon=line .selected=${this._newLayerType === "Polyline"}></calcite-combobox-item><calcite-combobox-item value=Polygon text-label=${e.polygonLayer ?? h} .heading=${e.polygonLayer} icon=polygon .selected=${this._newLayerType === "Polygon"}></calcite-combobox-item><calcite-combobox-item value=Table text-label=${e.tableLayer ?? h} .heading=${e.tableLayer} icon=table .selected=${this._newLayerType === "Table"}></calcite-combobox-item></calcite-combobox></calcite-label></div><div class="layer-description-container"><calcite-label>${e.description}<calcite-text-area .placeholder=${e.layerDescriptionPlaceholder} .value=${this._newLayerDescription} resize=none max-length=2048 .status=${this._newLayerDescriptionValidationError ? "invalid" : "idle"} .validationMessage=${this._newLayerDescriptionValidationError || ""} .validationIcon=${!!this._newLayerDescriptionValidationError} @input=${(l) => this._handleNewLayerDescriptionChange(l.target.value)}></calcite-text-area></calcite-label></div></div></calcite-flow-item>` || ""}${this._isAddingNewField && s`<calcite-flow-item heading="Add Field" selected @calciteFlowItemBack=${this._handleAddFieldBack}><calcite-button slot=header-actions-end appearance=solid scale=m .disabled=${// Disable if required fields are empty
|
|
677
|
+
!this._newFieldDisplayName.trim() || !this._newFieldName.trim() || // Disable if there are validation errors
|
|
678
|
+
!!this._newFieldDisplayNameError || !!this._newFieldNameError || !!this._newFieldDescriptionError || !!this._newFieldLengthError || this._newFieldChoiceListErrors.size > 0} @click=${this._handleAddFieldDone}>${e.done}</calcite-button><div class="feature-layer-tab"><div class="layer-properties-container"><calcite-label>${e.displayName}<calcite-input-text .placeholder=${e.displayNamePlaceholder} .value=${this._newFieldDisplayName} max-length=250 .status=${this._newFieldDisplayNameError ? "invalid" : "idle"} .validationMessage=${this._newFieldDisplayNameError || ""} .validationIcon=${!!this._newFieldDisplayNameError} @input=${(l) => this._handleNewFieldDisplayNameChange(l.target.value)}></calcite-input-text></calcite-label><calcite-label>${e.fieldName}<calcite-input-text .placeholder=${e.fieldNamePlaceholder} .value=${this._newFieldName} max-length=31 .status=${this._newFieldNameError ? "invalid" : "idle"} .validationMessage=${this._newFieldNameError || ""} .validationIcon=${!!this._newFieldNameError} @input=${(l) => this._handleNewFieldNameChange(l.target.value)}></calcite-input-text></calcite-label></div><div class="layer-description-container"><calcite-label>${e.fieldDescription}<calcite-text-area .placeholder=${e.fieldDescriptionPlaceholder} .value=${this._newFieldDescription} resize=none max-length=500 .status=${this._newFieldDescriptionError ? "invalid" : "idle"} .validationMessage=${this._newFieldDescriptionError || ""} .validationIcon=${!!this._newFieldDescriptionError} @input=${(l) => this._handleNewFieldDescriptionChange(l.target.value)}></calcite-text-area></calcite-label></div><div class="layer-properties-container"><calcite-label>${e.type}<calcite-combobox .label=${e.type} selection-mode=single-persist clear-disabled @calciteComboboxChange=${(l) => this._handleNewFieldTypeChange(l)}><calcite-combobox-item value=string text-label=${e.stringType ?? h} .heading=${e.stringType} icon=string .selected=${this._newFieldType === "string"}></calcite-combobox-item><calcite-combobox-item value=integer text-label=${e.integerType ?? h} .heading=${e.integerType} icon=integer .selected=${this._newFieldType === "integer"}></calcite-combobox-item><calcite-combobox-item value=double text-label=${e.doubleType ?? h} .heading=${e.doubleType} icon=number .selected=${this._newFieldType === "double"}></calcite-combobox-item><calcite-combobox-item value=date text-label=${e.dateType ?? h} .heading=${e.dateType} icon=date-time .selected=${this._newFieldType === "date"}></calcite-combobox-item><calcite-combobox-item value=guid text-label=${e.guidType ?? h} .heading=${e.guidType} icon=key .selected=${this._newFieldType === "guid"}></calcite-combobox-item></calcite-combobox></calcite-label>${this._newFieldType === "string" && s`<calcite-label>${e.length}<calcite-input-number .value=${this._newFieldLength.toString()} min=1 max=4000 .status=${this._newFieldLengthError ? "invalid" : "idle"} .validationMessage=${this._newFieldLengthError || ""} .validationIcon=${!!this._newFieldLengthError} @input=${(l) => {
|
|
679
|
+
const d = l.target.value === "" ? null : parseInt(l.target.value);
|
|
680
|
+
this._handleNewFieldLengthChange(d);
|
|
681
|
+
}}></calcite-input-number></calcite-label>` || ""}</div>${this._newFieldType === "string" && s`<div class="domain-section"><calcite-label>Domain</calcite-label>${this._newFieldChoiceList && this._newFieldChoiceList.length > 0 ? s`<div><div class="domain-list">${this._newFieldChoiceList.map((l, d) => s`<div class="domain-item" draggable @dragstart=${(o) => this._handleNewFieldChoiceDragStart(d, o)} @dragover=${(o) => o.preventDefault()} @drop=${(o) => this._handleNewFieldChoiceDrop(d, o)}><calcite-icon icon=drag scale=s class="drag-handle"></calcite-icon><calcite-input-text .placeholder=${e.domainValuePlaceholder} .value=${l} .maxLength=${this._newFieldLength} .status=${this._newFieldChoiceListErrors.get(d) ? "invalid" : "idle"} .validationMessage=${this._newFieldChoiceListErrors.get(d) || ""} .validationIcon=${!!this._newFieldChoiceListErrors.get(d)} @input=${(o) => this._handleUpdateNewFieldChoice(d, o.target.value)}></calcite-input-text><calcite-button icon-start=x appearance=transparent scale=s kind=neutral @click=${() => this._handleRemoveNewFieldChoice(d)}></calcite-button></div>`)}</div><calcite-button icon-start=plus appearance=transparent width=auto class="add-field-button" @click=${this._handleAddNewFieldChoice}>\r\n Add value</calcite-button></div>` : s`<calcite-button icon-start=plus appearance=transparent width=auto class="add-field-button" @click=${this._handleAddNewFieldChoice}>\r\n Add domain list</calcite-button>`}</div>` || ""}</div></calcite-flow-item>` || ""}</calcite-flow>`;
|
|
476
682
|
}
|
|
477
683
|
_pushDesign(e, i = !0) {
|
|
478
684
|
this._design && (this._undoStack = [...this._undoStack, structuredClone(this._design)]), this._redoStack = [], this._design = e, this._lastPushedDesign = e, this._isDirty = !0, i && this._notifyDesignChanged(e);
|
|
@@ -483,7 +689,7 @@ class M extends F {
|
|
|
483
689
|
}));
|
|
484
690
|
}
|
|
485
691
|
}
|
|
486
|
-
|
|
692
|
+
w("solution-builder-assistant", k);
|
|
487
693
|
export {
|
|
488
|
-
|
|
694
|
+
k as SolutionBuilderAssistant
|
|
489
695
|
};
|