@esri/solutions-components 0.11.15 → 0.11.16

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (148) hide show
  1. package/dist/cjs/basemap-gallery_7.cjs.entry.js +6 -6
  2. package/dist/cjs/buffer-tools_2.cjs.entry.js +1 -1
  3. package/dist/cjs/card-manager_3.cjs.entry.js +3 -3
  4. package/dist/cjs/create-feature_4.cjs.entry.js +7 -8
  5. package/dist/cjs/create-related-feature_3.cjs.entry.js +12 -8
  6. package/dist/cjs/crowdsource-reporter.cjs.entry.js +20 -16
  7. package/dist/cjs/feature-list.cjs.entry.js +141 -7
  8. package/dist/cjs/json-editor_7.cjs.entry.js +7 -7
  9. package/dist/cjs/loader.cjs.js +1 -1
  10. package/dist/cjs/map-layer-picker.cjs.entry.js +1 -1
  11. package/dist/cjs/map-select-tools_3.cjs.entry.js +3 -3
  12. package/dist/cjs/pci-calculator.cjs.entry.js +1 -1
  13. package/dist/cjs/public-notification.cjs.entry.js +1 -1
  14. package/dist/cjs/solution-configuration.cjs.entry.js +3 -3
  15. package/dist/cjs/solution-contents_3.cjs.entry.js +3 -3
  16. package/dist/cjs/solution-item-accordion.cjs.entry.js +33 -2
  17. package/dist/cjs/solution-item-icon.cjs.entry.js +1 -1
  18. package/dist/cjs/solutions-components.cjs.js +1 -1
  19. package/dist/cjs/spatial-ref.cjs.entry.js +1 -1
  20. package/dist/collection/assets/t9n/feature-list/resources.json +3 -1
  21. package/dist/collection/assets/t9n/feature-list/resources_en.json +3 -1
  22. package/dist/collection/components/create-feature/create-feature.js +5 -6
  23. package/dist/collection/components/crowdsource-reporter/crowdsource-reporter.js +40 -16
  24. package/dist/collection/components/feature-details/feature-details.js +30 -6
  25. package/dist/collection/components/feature-list/feature-list.css +16 -6
  26. package/dist/collection/components/feature-list/feature-list.js +162 -6
  27. package/dist/collection/components/floor-filter/floor-filter.js +1 -1
  28. package/dist/collection/components/info-card/info-card.js +2 -2
  29. package/dist/collection/components/json-editor/json-editor.js +1 -1
  30. package/dist/collection/components/layer-list/layer-list.css +2 -2
  31. package/dist/collection/components/layer-list/layer-list.js +1 -1
  32. package/dist/collection/components/layer-table/layer-table.js +2 -2
  33. package/dist/collection/components/map-card/map-card.js +1 -1
  34. package/dist/collection/components/map-draw-tools/map-draw-tools.js +1 -1
  35. package/dist/collection/components/map-fullscreen/map-fullscreen.js +1 -1
  36. package/dist/collection/components/map-layer-picker/map-layer-picker.js +1 -1
  37. package/dist/collection/components/map-legend/map-legend.js +1 -1
  38. package/dist/collection/components/map-picker/map-picker.js +1 -1
  39. package/dist/collection/components/map-search/map-search.js +1 -1
  40. package/dist/collection/components/map-select-tools/map-select-tools.js +1 -1
  41. package/dist/collection/components/map-tools/map-tools.js +1 -1
  42. package/dist/collection/components/pci-calculator/pci-calculator.js +1 -1
  43. package/dist/collection/components/pdf-download/pdf-download.js +1 -1
  44. package/dist/collection/components/public-notification/public-notification.js +1 -1
  45. package/dist/collection/components/refine-selection/refine-selection.js +1 -1
  46. package/dist/collection/components/solution-configuration/solution-configuration.js +3 -3
  47. package/dist/collection/components/solution-contents/solution-contents.js +1 -1
  48. package/dist/collection/components/solution-item/solution-item.js +1 -1
  49. package/dist/collection/components/solution-item-accordion/solution-item-accordion.js +78 -2
  50. package/dist/collection/components/solution-item-details/solution-item-details.js +1 -1
  51. package/dist/collection/components/solution-item-icon/solution-item-icon.js +1 -1
  52. package/dist/collection/components/solution-item-sharing/solution-item-sharing.js +1 -1
  53. package/dist/collection/components/solution-organization-variables/solution-organization-variables.js +1 -1
  54. package/dist/collection/components/solution-resource-item/solution-resource-item.js +1 -1
  55. package/dist/collection/components/solution-spatial-ref/solution-spatial-ref.js +1 -1
  56. package/dist/collection/components/solution-template-data/solution-template-data.js +1 -1
  57. package/dist/collection/components/solution-variables/solution-variables.js +1 -1
  58. package/dist/collection/components/spatial-ref/spatial-ref.js +1 -1
  59. package/dist/collection/demos/crowdsource-reporter.html +1 -0
  60. package/dist/collection/demos/solution-item-accordion.html +12 -1
  61. package/dist/components/create-feature2.js +5 -6
  62. package/dist/components/crowdsource-reporter.js +21 -16
  63. package/dist/components/feature-details2.js +11 -6
  64. package/dist/components/feature-list2.js +144 -7
  65. package/dist/components/floor-filter2.js +1 -1
  66. package/dist/components/info-card2.js +2 -2
  67. package/dist/components/json-editor2.js +1 -1
  68. package/dist/components/layer-list2.js +2 -2
  69. package/dist/components/layer-table2.js +2 -2
  70. package/dist/components/map-card2.js +1 -1
  71. package/dist/components/map-draw-tools2.js +1 -1
  72. package/dist/components/map-fullscreen2.js +1 -1
  73. package/dist/components/map-layer-picker2.js +1 -1
  74. package/dist/components/map-legend2.js +1 -1
  75. package/dist/components/map-picker2.js +1 -1
  76. package/dist/components/map-search2.js +1 -1
  77. package/dist/components/map-select-tools2.js +1 -1
  78. package/dist/components/map-tools2.js +1 -1
  79. package/dist/components/pci-calculator.js +1 -1
  80. package/dist/components/pdf-download2.js +1 -1
  81. package/dist/components/public-notification.js +1 -1
  82. package/dist/components/refine-selection2.js +1 -1
  83. package/dist/components/solution-configuration.js +3 -3
  84. package/dist/components/solution-contents2.js +1 -1
  85. package/dist/components/solution-item-accordion.js +36 -3
  86. package/dist/components/solution-item-details2.js +1 -1
  87. package/dist/components/solution-item-icon2.js +1 -1
  88. package/dist/components/solution-item-sharing2.js +1 -1
  89. package/dist/components/solution-item2.js +1 -1
  90. package/dist/components/solution-organization-variables2.js +1 -1
  91. package/dist/components/solution-resource-item2.js +1 -1
  92. package/dist/components/solution-spatial-ref2.js +1 -1
  93. package/dist/components/solution-template-data2.js +1 -1
  94. package/dist/components/solution-variables2.js +1 -1
  95. package/dist/components/spatial-ref.js +1 -1
  96. package/dist/esm/basemap-gallery_7.entry.js +6 -6
  97. package/dist/esm/buffer-tools_2.entry.js +1 -1
  98. package/dist/esm/card-manager_3.entry.js +3 -3
  99. package/dist/esm/create-feature_4.entry.js +7 -8
  100. package/dist/esm/create-related-feature_3.entry.js +12 -8
  101. package/dist/esm/crowdsource-reporter.entry.js +20 -16
  102. package/dist/esm/feature-list.entry.js +141 -7
  103. package/dist/esm/json-editor_7.entry.js +7 -7
  104. package/dist/esm/loader.js +1 -1
  105. package/dist/esm/map-layer-picker.entry.js +1 -1
  106. package/dist/esm/map-select-tools_3.entry.js +3 -3
  107. package/dist/esm/pci-calculator.entry.js +1 -1
  108. package/dist/esm/public-notification.entry.js +1 -1
  109. package/dist/esm/solution-configuration.entry.js +3 -3
  110. package/dist/esm/solution-contents_3.entry.js +3 -3
  111. package/dist/esm/solution-item-accordion.entry.js +33 -2
  112. package/dist/esm/solution-item-icon.entry.js +1 -1
  113. package/dist/esm/solutions-components.js +1 -1
  114. package/dist/esm/spatial-ref.entry.js +1 -1
  115. package/dist/solutions-components/assets/t9n/feature-list/resources.json +3 -1
  116. package/dist/solutions-components/assets/t9n/feature-list/resources_en.json +3 -1
  117. package/dist/solutions-components/demos/crowdsource-reporter.html +1 -0
  118. package/dist/solutions-components/demos/solution-item-accordion.html +12 -1
  119. package/dist/solutions-components/{p-c1a752b9.entry.js → p-182a4844.entry.js} +1 -1
  120. package/dist/solutions-components/{p-8ab5efc1.entry.js → p-1fb25c0c.entry.js} +1 -1
  121. package/dist/solutions-components/p-20bd829d.entry.js +6 -0
  122. package/dist/solutions-components/{p-f9b7f97e.entry.js → p-282a3090.entry.js} +1 -1
  123. package/dist/solutions-components/p-3ab93412.entry.js +6 -0
  124. package/dist/solutions-components/p-433b34a3.entry.js +6 -0
  125. package/dist/solutions-components/{p-7e1c353c.entry.js → p-442b2dfb.entry.js} +1 -1
  126. package/dist/solutions-components/p-5b3ee71d.entry.js +6 -0
  127. package/dist/solutions-components/{p-0d110867.entry.js → p-65df6acd.entry.js} +1 -1
  128. package/dist/solutions-components/{p-f64eeaad.entry.js → p-75fabd1c.entry.js} +1 -1
  129. package/dist/solutions-components/{p-88de10d1.entry.js → p-a5618671.entry.js} +1 -1
  130. package/dist/solutions-components/p-b66a3619.entry.js +6 -0
  131. package/dist/solutions-components/{p-340c71f3.entry.js → p-b8dde3e5.entry.js} +1 -1
  132. package/dist/solutions-components/{p-256ce5cc.entry.js → p-ec7c3f5c.entry.js} +1 -1
  133. package/dist/solutions-components/{p-a5c51211.entry.js → p-f3ee7398.entry.js} +1 -1
  134. package/dist/solutions-components/{p-da1ac695.entry.js → p-fe9c9f03.entry.js} +1 -1
  135. package/dist/solutions-components/{p-2b9d58dc.entry.js → p-ff0b00d7.entry.js} +1 -1
  136. package/dist/solutions-components/solutions-components.esm.js +1 -1
  137. package/dist/solutions-components_commit.txt +6 -8
  138. package/dist/types/components/crowdsource-reporter/crowdsource-reporter.d.ts +8 -4
  139. package/dist/types/components/feature-details/feature-details.d.ts +4 -0
  140. package/dist/types/components/feature-list/feature-list.d.ts +52 -0
  141. package/dist/types/components/solution-item-accordion/solution-item-accordion.d.ts +12 -0
  142. package/dist/types/components.d.ts +33 -0
  143. package/package.json +1 -1
  144. package/dist/solutions-components/p-0e3b3aa8.entry.js +0 -6
  145. package/dist/solutions-components/p-47abefd3.entry.js +0 -6
  146. package/dist/solutions-components/p-8169d4af.entry.js +0 -6
  147. package/dist/solutions-components/p-b0551d23.entry.js +0 -6
  148. package/dist/solutions-components/p-d32b5127.entry.js +0 -6
@@ -1,6 +0,0 @@
1
- /*!
2
- * Copyright 2022 Esri
3
- * Licensed under the Apache License, Version 2.0
4
- * http://www.apache.org/licenses/LICENSE-2.0
5
- */
6
- import{r as t,c as e,g as i,h as s,H as a,F as h}from"./p-8c40bdec.js";import{l,g as o}from"./p-a23de3b0.js";import{g as n,a as c,b as r,c as d,h as u,d as p,q as f}from"./p-d572627c.js";import"./p-6a68306c.js";import"./p-d4056c1c.js";import"./p-80cb7c73.js";const m=class{constructor(i){t(this,i),this.togglePanel=e(this,"togglePanel",7)}get el(){return i(this)}center;commentButtonText;commentSubmittedMessage;defaultWebmap="";description;enableAnonymousAccess;enableAnonymousComments;enableComments;enableHome=!0;enableLogin;enableNewReports;enableSearch=!0;enableZoom=!0;isMobile;layerExpressions=[];layerId;level;locale;loginTitle;mapInfos=[];mapView;objectId;reportButtonText;reportingOptions;reportsHeader;reportSubmittedMessage;searchConfiguration;showComments;showUserImageInCommentsList=!1;showFeatureSymbol=!1;showMyReportsOnly=!1;theme="light";zoomToScale;floorLevel;_featureCreationFailedErrorMsg;_filterActive=!1;_flowItems=[];_hasValidLayers=!1;_mapInfo;_reportSubmitted=!1;_selectedLayerName;_showSubmitCancelButton=!1;_showLoadingIndicator=!1;_sidePanelCollapsed=!1;_translations;_updatedProgressBarStatus=.25;_updatedSorting;_updatedSortOption="sortNewest";_commentSubmitted=!1;_addingCommentFailed=!1;_createFeature;_currentFeatureId;_defaultCenter;_defaultLevel;_editableLayerIds;_featureDetails;_featureList;_currentFeature;_selectedRelatedFeature;_relatedTable;_filterList;_highlightHandle;_layerList;_createRelatedFeature;_layers;_mapChange;_mapClickHandle;reactiveUtils;FeatureFilter;_selectedFeature;_selectedFeatureIndex;_selectedLayerId;_shareNode;_urlParamsLoaded;_validLayers;_nonVisibleValidLayers;_selectedLayer;_layerItemsHash;_showFullPanel;_floorExpression;_formElements=[];_prevSelectedLayerId;_currentLayerExpressions;_initDefExpressions;_t9nLayerExpressions;async isMobileWatchHandler(){this.updatePanelState(!1,this._showFullPanel)}async localeWatchHandler(){this.el.lang=this.locale,await this._getTranslations()}async mapViewWatchHandler(){await this.mapView.when((async()=>{this.setInitExpressions(),await this.setMapView()}))}async floorLevelWatchHandler(){if(this._editableLayerIds)for(const t of this._editableLayerIds){const e=await n(this.mapView,t);e.floorInfo?.floorField&&this._updateFloorDefinitionExpression(e)}"layer-list"===this._flowItems[this._flowItems.length-1]&&this._layerList&&await this._layerList.refresh(),this._featureList&&this._featureList.refresh(),this._createFeature&&this._createFeature.refresh(this.floorLevel)}async showMyReportsOnlyWatchHandler(){this._editableLayerIds&&(await this._updateFeatures(),setTimeout((()=>{"layer-list"===this._flowItems[this._flowItems.length-1]&&this._layerList&&this._layerList.refresh(),this._featureList&&this._featureList.refresh()}),50))}async layerExpressionsWatchHandler(){this.resetFilterList(),await this.handleSelectedLayersFilter(),await(this._featureList?.refresh())}async showFeatureSymbolWatchHandler(){await(this._featureList?.refresh())}async updateLayerExpressionsT9n(t){if(this._t9nLayerExpressions=t||this.layerExpressions,null!=this._filterList)await this._filterList.handleUpdatingT9nData(this._t9nLayerExpressions);else if(null!=this._currentLayerExpressions){const t=structuredClone(this._currentLayerExpressions);this.handleLayerExpressionsT9n(t,this._t9nLayerExpressions),this._currentLayerExpressions=t}return Promise.resolve()}togglePanel;async componentWillLoad(){this._urlParamsLoaded=!1,await this._initModules(),await this._getTranslations(),await(this.mapView?.when((async()=>{this._layers=this.reportingOptions?Object.keys(this.reportingOptions).filter((t=>this.reportingOptions[t].visible)):[],this.setInitExpressions(),await this.setMapView()})))}componentWillRender(){this._flowItems.includes("filter-panel")&&this._filterList?.updateInitDefExpressions({initDefExpressions:this._initDefExpressions})}render(){const t="dark"===this.theme?"calcite-mode-dark":"calcite-mode-light";return s(a,{key:"42f88dcb756add8af6af0936b7ef9aef47a43236"},this._reportSubmitted&&s("calcite-alert",{key:"7d5c337096d2e3562bd133d5313acc34f941b8f2","auto-close":!0,class:t+" report-submitted-msg",icon:"check-circle",kind:"success",label:"",onCalciteAlertClose:()=>{this._reportSubmitted=!1},open:!0,placement:"top"},s("div",{key:"4ece38e9af3c6eba4e89cf96ca8fe82a96116bcb",slot:"message"},this.reportSubmittedMessage?this.reportSubmittedMessage:this._translations.submitMsg)),this._featureCreationFailedErrorMsg&&s("calcite-alert",{key:"6c93202ccab7729a523f51f816279df0e7e2f4d4","auto-close":!0,class:t,icon:"x-octagon",kind:"danger",label:"",onCalciteAlertClose:()=>{this._featureCreationFailedErrorMsg=""},open:!0,placement:"top"},s("div",{key:"cba71216aa8aa01098b2f9c6295341b9d501372d",slot:"title"},this._translations.error),s("div",{key:"3d457cfb00cc11208c34a121af6c5592d9540a04",slot:"message"},this._featureCreationFailedErrorMsg)),this._commentSubmitted&&s("calcite-alert",{key:"f782a94f3e4ea2252b92e6aa1c65d565dcf95b7b","auto-close":!0,class:"report-submitted "+t,icon:"check-circle",kind:"success",label:"",onCalciteAlertClose:()=>{this._commentSubmitted=!1},open:!0,placement:"top"},s("div",{key:"57d71698daf2f5cfbb2bb971b8c062baa797d279",slot:"message"},this.commentSubmittedMessage||this._translations.commentSubmittedMsg)),this._addingCommentFailed&&s("calcite-alert",{key:"c132ab8aceff09560f4e8300c6de03f9034443d9","auto-close":!0,class:t,icon:"x-octagon",kind:"danger",label:"",onCalciteAlertClose:()=>{this._addingCommentFailed=!1},open:!0,placement:"top"},s("div",{key:"840e834c1c6597d0bd3841fde4f1014de9e6604b",slot:"title"},this._translations.error),s("div",{key:"b8348d5cd55a298dbe42e4ccffb9f951bac1f8e1",slot:"message"},this._translations.addingCommentFailedMsg)),s("div",{key:"21f2a585a214dcdac6bec1b313025a5bf48317c4"},s("calcite-shell",{key:"3b0d3506ea75937c6627f20b3f468b28c00dbd22","content-behind":!0},this._getReporter())))}async _initModules(){const[t,e]=await l(["esri/core/reactiveUtils","esri/layers/support/FeatureFilter"]);this.reactiveUtils=t,this.FeatureFilter=e}async setSelectedLayer(t,e){this._selectedLayerId=t,this._selectedLayer=await n(this.mapView,t),this._selectedLayerName=e,this._validLayers.forEach((e=>{this._nonVisibleValidLayers.find((t=>t.id===e.id))||e.set("visible",!t||e.id===t)}))}_getLayersConfig(t){return this.reportingOptions&&this.reportingOptions[t]?this.reportingOptions[t]:null}_getReporter(){const t=[];return this._flowItems.forEach((e=>{switch(e){case"layer-list":t.push(this.getLayerListFlowItem());break;case"feature-list":t.push(this.getFeatureListFlowItem(this._selectedLayerId,this._selectedLayerName));break;case"filter-panel":t.push(this.getFilterPanel());break;case"feature-details":t.push(this.getFeatureDetailsFlowItem());break;case"reporting-layer-list":t.push(this.getChooseCategoryFlowItem());break;case"feature-create":t.push(this.getFeatureCreateFlowItem());break;case"comment-details":t.push(this.getCommentDetailsFlowItem());break;case"add-comment":t.push(this.getAddCommentFlowItem())}})),s("calcite-panel",{class:"width-full "+("dark"===this.theme?"calcite-mode-dark":"calcite-mode-light")},this.mapView?s("calcite-flow",null,t?.length>0&&t):s("calcite-loader",{label:"",scale:"m"}))}async sortOptionClick(t,e,i){this._updatedSorting={field:t,order:e},this._updatedSortOption=i}_toggleSort(){const t=this.reportingOptions&&this.reportingOptions[this._selectedLayerId]&&this.reportingOptions[this._selectedLayerId].like&&this.reportingOptions[this._selectedLayerId].likeField;return s("calcite-popover",{autoClose:!0,label:"",offsetDistance:0,placement:this.isMobile?"leading-start":"bottom-start",pointerDisabled:!0,referenceElement:"sort-popover"},s("calcite-list",{label:"","selection-mode":"single"},s("calcite-list-item",{label:this._translations.sortNewest,onCalciteListItemSelect:()=>{this.sortOptionClick(this._selectedLayer.objectIdField,"desc","sortNewest")},selected:"sortNewest"===this._updatedSortOption,value:"sortNewest"}),s("calcite-list-item",{label:this._translations.sortOldest,onCalciteListItemSelect:()=>{this.sortOptionClick(this._selectedLayer.objectIdField,"asc","sortOldest")},selected:"sortOldest"===this._updatedSortOption,value:"sortOldest"}),t&&s(h,null,s("calcite-list-item",{label:this._translations.sortHighestVoted,onCalciteListItemSelect:()=>{this.sortOptionClick(this.reportingOptions[this._selectedLayerId].likeField,"desc","sortHighestVoted")},selected:"sortHighestVoted"===this._updatedSortOption,value:"sortHighestVoted"}),s("calcite-list-item",{label:this._translations.sortLowestVoted,onCalciteListItemSelect:()=>{this.sortOptionClick(this.reportingOptions[this._selectedLayerId].likeField,"asc","sortLowestVoted")},selected:"sortLowestVoted"===this._updatedSortOption,value:"sortLowestVoted"}))))}async _handleFilterListReset(){this._filterActive=!1}async _handleFilterUpdate(t){this._showLoadingIndicator=!0,this._filterActive=t,await this._featureList.refresh(),this._showLoadingIndicator=!1}getLayerListFlowItem(){return s("calcite-flow-item",{collapsed:this.isMobile&&this._sidePanelCollapsed,heading:this.reportsHeader},this.isMobile&&this.getActionToExpandCollapsePanel(),this._hasValidLayers&&this.enableNewReports&&s("calcite-button",{appearance:"solid",onClick:this.navigateToChooseCategory.bind(this),slot:"footer",width:"full"},this.reportButtonText?this.reportButtonText:this._translations.createReportButtonText),s("calcite-panel",{"full-height":!0,"full-width":!0},s("layer-list",{applyLayerViewFilter:this.showMyReportsOnly,class:"height-full",layers:this._editableLayerIds?.length>0?this._editableLayerIds:this._layers,locale:this.locale,mapView:this.mapView,onLayerSelect:this.displayFeaturesList.bind(this),onLayersListLoaded:this.layerListLoaded.bind(this),ref:t=>this._layerList=t,showFeatureCount:!0,showNextIcon:!0})))}getChooseCategoryFlowItem(){const t=this.reportingOptions?Object.keys(this.reportingOptions).filter((t=>this.reportingOptions[t].visible&&this.reportingOptions[t].reporting&&this._layerItemsHash[t]&&this._layerItemsHash[t].supportsAdd)):[];return s("calcite-flow-item",{collapsed:this.isMobile&&this._sidePanelCollapsed,heading:this.reportButtonText?this.reportButtonText:this._translations.createReportButtonText,onCalciteFlowItemBack:this.backFromSelectedPanel.bind(this)},s("calcite-panel",{"full-height":!0,"full-width":!0},s("div",{class:"progress-bar"},s("calcite-progress",{type:"determinate",value:this._updatedProgressBarStatus})),s("calcite-notice",{class:"notice-msg",icon:"lightbulb",kind:"success",open:!0},s("div",{slot:"message"},this._translations.chooseCategoryMsg)),s("layer-list",{class:"height-full",layers:t,locale:this.locale,mapView:this.mapView,onLayerSelect:this.navigateToCreateFeature.bind(this),showFeatureCount:!1,showNextIcon:!1})))}getFeatureCreateFlowItem(){return s("calcite-flow-item",{collapsed:this.isMobile&&this._sidePanelCollapsed,heading:this._selectedLayerName,onCalciteFlowItemBack:this.backFromCreateFeaturePanel.bind(this)},this._showSubmitCancelButton&&s("div",{class:"width-full",slot:"footer"},s("calcite-button",{appearance:"solid",class:"footer-top-button footer-button",onClick:this.onCreateFeatureSubmitButtonClick.bind(this),width:"full"},this._translations.submit),s("calcite-button",{appearance:"outline",class:"footer-button",onClick:this.backFromCreateFeaturePanel.bind(this),width:"full"},this._translations.cancel)),s("calcite-panel",{"full-height":!0,"full-width":!0},s("div",{class:"progress-bar"},s("calcite-progress",{type:"determinate",value:this._updatedProgressBarStatus})),s("create-feature",{customizeSubmit:!0,enableSearch:!0,floorLevel:this.floorLevel,formElements:this._formElements.find((t=>t.id===this._selectedLayerId)),isMobile:this.isMobile,locale:this.locale,mapView:this.mapView,onDrawComplete:this.onFormReady.bind(this),onEditingAttachment:this.showSubmitCancelButton.bind(this),onFail:this.createFeatureFailed.bind(this),onModeChanged:this.backFromCreateFeaturePanel.bind(this),onProgressStatus:this.updatedProgressStatus.bind(this),onSuccess:this.onReportSubmitted.bind(this),ref:t=>this._createFeature=t,searchConfiguration:this.searchConfiguration,selectedLayerId:this._selectedLayerId})))}updatedProgressStatus(t){this._updatedProgressBarStatus=t.detail}onFormReady(){this._showSubmitCancelButton=!0}showSubmitCancelButton(t){this._showSubmitCancelButton=!t.detail}onCreateFeatureSubmitButtonClick(){this._createFeature&&this._createFeature.submit()}backFromCreateFeaturePanel(){this._createFeature&&this.updateNonVisibleLayersOnMap(!1),this.backFromSelectedPanel()}onCreateRelatedFeatureSubmitButtonClick(){this._createRelatedFeature&&this._createRelatedFeature.submit()}backFromCreateRelatedFeaturePanel(){this._createRelatedFeature&&(this._showSubmitCancelButton=!1),this.backFromSelectedPanel()}createFeatureFailed(t){console.error(t.detail),this._featureCreationFailedErrorMsg=t.detail.message}async onReportSubmitted(){this.updateNonVisibleLayersOnMap(!1),await this.navigateToHomePage(),this._reportSubmitted=!0,this._updatedProgressBarStatus=.25,this._showFullPanel&&this.updatePanelState(this._sidePanelCollapsed,!1)}addCommentFailed(t){console.error(t.detail),this._addingCommentFailed=!0}async onCommentSubmitted(){this._commentSubmitted=!0,this.backFromSelectedPanel(),this._showLoadingIndicator=!0,await this._featureDetails.refresh(this._currentFeature),setTimeout((()=>{this._showLoadingIndicator=!1}),300)}async navigateToHomePage(){await this.setSelectedFeatures([]),this._layerList&&await this._layerList.refresh(),1===this._editableLayerIds.length?(await this._featureList.refresh(),this._flowItems=["feature-list"]):this._flowItems=["layer-list"]}async navigateToCreateFeature(t){t.detail.layerId&&t.detail.layerName&&await this.setSelectedLayer(t.detail.layerId,t.detail.layerName),this.updateNonVisibleLayersOnMap(!0),this._getFormElements(),this._showSubmitCancelButton=!1,this.updatePanelState(!1,!0),this._flowItems=[...this._flowItems,"feature-create"]}navigateToChooseCategory(){this.updatePanelState(!1,!0),this._flowItems=[...this._flowItems,"reporting-layer-list"]}updateNonVisibleLayersOnMap(t){this._nonVisibleValidLayers.find((t=>t.id===this._selectedLayerId))&&this._selectedLayer.set("visible",t)}async layerListLoaded(t){const e=t.detail,i=await c(this.mapView),s=[];this._validLayers=[],this._nonVisibleValidLayers=[],i.forEach((t=>{e.includes(t.id)&&(this._validLayers.push(t),t.visible||this._nonVisibleValidLayers.push(t),this._getLayersConfig(t.id)?.reporting&&this._layerItemsHash[t.id]&&this._layerItemsHash[t.id].supportsAdd&&s.push(t.id))})),this.handleMapClick(),this._hasValidLayers=s.length>0,this._urlParamsLoaded||(this._urlParamsLoaded=!0,await this.loadFeatureFromURLParams())}async displayFeaturesList(t){this._updatedSorting={field:"",order:"desc"},this._updatedSortOption="sortNewest",await this.setSelectedLayer(t.detail.layerId,t.detail.layerName),this.handleSelectedLayersFilter(),this._flowItems=[...this._flowItems,"feature-list"],this._prevSelectedLayerId=this._selectedLayerId}async backFromFilterPanel(){null!=this._filterList&&(this._currentLayerExpressions=await this._filterList.getCurrentLayerExpressions()),await this._featureList.refresh(),this.backFromSelectedPanel()}backFromSelectedPanel(){this._updatedProgressBarStatus=.25;const t=[...this._flowItems];"comment-details"!==t[t.length-1]&&"add-comment"!==t[t.length-1]&&this.clearHighlights(),"reporting-layer-list"!==t[t.length-1]&&("feature-create"!==t[t.length-1]||"feature-list"!==t[0]&&"feature-list"!==t[t.length-2])||this.updatePanelState(this._sidePanelCollapsed,!1),t.pop(),1!==t.length||"layer-list"!==t[0]?this._flowItems=[...t]:this.navigateToHomePage()}toggleSidePanel(){this._sidePanelCollapsed=!this._sidePanelCollapsed,this.togglePanel.emit({panelState:this._sidePanelCollapsed,isFormOpen:this._showFullPanel})}updatePanelState(t,e){this._sidePanelCollapsed=t,this._showFullPanel=e,this.togglePanel.emit({panelState:this._sidePanelCollapsed,isFormOpen:this._showFullPanel})}async onFeatureSelectFromList(t){this._showLoadingIndicator=!0,await this.setSelectedFeatures([t.detail]),this._flowItems=[...this._flowItems,"feature-details"]}async getRelatedTable(){const t=this._currentFeature.layer,e=await r(this.mapView);t.relationships.some((i=>{const s=e.filter((e=>t.url===e.url&&e.layerId===i.relatedTableId));if(s&&s.length>0)return this._relatedTable=s[0],!0}))}async updatingFeatureDetails(t){this._showLoadingIndicator=t}async selectionChanged(t){this.updatingFeatureDetails(!0),await this.setCurrentFeature(t.detail.selectedFeature[0]),this.highlightOnMap(t.detail.selectedFeature[0]),this._selectedFeatureIndex=t.detail.selectedFeatureIndex,await this._featureDetails.refresh(t.detail.selectedFeature[0])}showAddCommentsPanel(){this._flowItems=[...this._flowItems,"add-comment"]}async onCommentSelectFromList(t){this._selectedRelatedFeature=[t.detail],this._flowItems=[...this._flowItems,"comment-details"]}getFeatureListFlowItem(t,e){const i=this._getLayersConfig(this._selectedLayerId)?.reporting&&this._layerItemsHash[this._selectedLayerId].supportsAdd,a=this._currentLayerExpressions?.length>0;return s("calcite-flow-item",{collapsed:this.isMobile&&this._sidePanelCollapsed,heading:e,loading:this._showLoadingIndicator,onCalciteFlowItemBack:this.backFromSelectedPanel.bind(this)},this._toggleSort(),s("calcite-action",{icon:"sort-ascending-arrow",id:"sort-popover",slot:"header-actions-end",text:this._translations.sort,title:this._translations.sort}),a&&s("calcite-action",{icon:"filter",indicator:this._filterActive,onClick:()=>{this._flowItems=[...this._flowItems,"filter-panel"]},slot:"header-actions-end",text:this._translations.filter,title:this._translations.filter}),this.isMobile&&this.getActionToExpandCollapsePanel(),this.enableNewReports&&i&&s("calcite-button",{appearance:"solid",onClick:this.navigateToCreateFeature.bind(this),slot:"footer",width:"full"},this.reportButtonText?this.reportButtonText:this._translations.createReportButtonText),s("calcite-panel",{"full-height":!0},s("feature-list",{applyLayerViewFilter:this.showMyReportsOnly,class:"height-full",highlightOnHover:!0,locale:this.locale,mapView:this.mapView,noFeaturesFoundMsg:this._translations.featureErrorMsg,onFeatureSelect:this.onFeatureSelectFromList.bind(this),pageSize:30,ref:t=>this._featureList=t,reportingOptions:this.reportingOptions,selectedLayerId:t,showFeatureSymbol:this.showFeatureSymbol,sortingInfo:this._updatedSorting})))}getFilterPanel(){return s("calcite-flow-item",{collapsed:this.isMobile&&this._sidePanelCollapsed,heading:this._translations?.filterLayerTitle?.replace("{{title}}",this._selectedLayerName),loading:this._showLoadingIndicator,onCalciteFlowItemBack:this.backFromFilterPanel.bind(this)},this.isMobile&&this.getActionToExpandCollapsePanel(),s("div",{class:"width-full",slot:"footer"},s("div",{class:"width-full",slot:"footer"},s("calcite-button",{appearance:"solid",class:"footer-top-button footer-button",disabled:!this._filterActive,onClick:this.resetFilterList.bind(this),width:"full"},this._translations.resetFilter),s("calcite-button",{appearance:"outline",class:"footer-button",onClick:this.backFromFilterPanel.bind(this),width:"full"},this._translations.close))),s("calcite-panel",{"full-height":!0},s("instant-apps-filter-list",{autoUpdateUrl:!1,closeBtnOnClick:()=>{},comboboxOverlayPositioning:"fixed",layerExpressions:this._currentLayerExpressions,onFilterListReset:()=>this._handleFilterListReset(),onFilterUpdate:()=>this._handleFilterUpdate(this._filterList.filterCount>0),ref:t=>this._filterList=t,resetBtn:!1,resetFiltersOnDisconnect:!1,view:this.mapView,zoomBtn:!1})))}getFeatureDetailsFlowItem(){const t=this._getLayersConfig(this._selectedLayerId)?.comment&&this._selectedLayer.relationships.length>0&&this._relatedTable;return s("calcite-flow-item",{collapsed:this.isMobile&&this._sidePanelCollapsed,heading:this._selectedLayerName,loading:this._showLoadingIndicator,onCalciteFlowItemBack:this.backFromSelectedPanel.bind(this)},this.isMobile&&this.getActionToExpandCollapsePanel(),s("instant-apps-social-share",{autoUpdateShareUrl:!1,class:"share-node",embed:!1,popoverButtonIconScale:"s",ref:t=>this._shareNode=t,removePopoverOffset:!0,scale:"m",shareButtonColor:"neutral",shareButtonType:"action",slot:"header-actions-end",socialMedia:!0,view:this.mapView}),this._selectedFeature.length>1&&this.getFeaturesPagination(),s("calcite-panel",null,s("feature-details",{class:"full-height",graphics:this._selectedFeature,layerItemsHash:this._layerItemsHash,locale:this.locale,mapView:this.mapView,onAddComment:this.showAddCommentsPanel.bind(this),onCommentSelect:this.onCommentSelectFromList.bind(this),onFeatureSelectionChange:this.selectionChanged.bind(this),onLikeOrDislikeClicked:()=>{this._featureList.refresh(!0)},onLoadingStatus:t=>{this.updatingFeatureDetails(t.detail)},ref:t=>this._featureDetails=t,reportingOptions:this.reportingOptions,showUserImageInCommentsList:this.showUserImageInCommentsList}),t&&s("calcite-button",{appearance:"solid",onClick:this.showAddCommentsPanel.bind(this),slot:"footer",width:"full"},this.commentButtonText||this._translations.comment)))}getFeaturesPagination(){return s("div",{class:"feature-pagination"},s("div",null,s("calcite-button",{appearance:"transparent",disabled:!1,iconStart:"chevron-left",id:"solutions-back",onClick:()=>{this._featureDetails.back()},scale:"s",width:"full"}),s("calcite-tooltip",{label:"",placement:"top","reference-element":"solutions-back"},s("span",null,this._translations.back))),s("calcite-button",{appearance:"transparent",onClick:()=>{this._featureDetails.toggleListView()},scale:"s"},s("span",{class:"pagination-count"},this._getCount())),s("div",null,s("calcite-button",{appearance:"transparent",disabled:!1,iconStart:"chevron-right",id:"solutions-next",onClick:()=>{this._featureDetails.next()},scale:"s",width:"full"}),s("calcite-tooltip",{placement:"top","reference-element":"solutions-next"},s("span",null,this._translations.next))))}getCommentDetailsFlowItem(){return s("calcite-flow-item",{collapsed:this.isMobile&&this._sidePanelCollapsed,heading:this._relatedTable.title,onCalciteFlowItemBack:this.backFromSelectedPanel.bind(this)},this.isMobile&&this.getActionToExpandCollapsePanel(),s("calcite-panel",{"full-height":!0},s("info-card",{allowEditing:!1,graphics:this._selectedRelatedFeature,highlightEnabled:!1,isLoading:!1,isMobile:!1,locale:this.locale,mapView:this.mapView,paginationEnabled:!1})))}getAddCommentFlowItem(){return s("calcite-flow-item",{collapsed:this.isMobile&&this._sidePanelCollapsed,heading:this._relatedTable.title,onCalciteFlowItemBack:this.backFromCreateRelatedFeaturePanel.bind(this)},this.isMobile&&this.getActionToExpandCollapsePanel(),s("div",{class:"width-full",slot:"footer"},this._showSubmitCancelButton&&s("div",{class:"width-full",slot:"footer"},s("calcite-button",{appearance:"solid",class:"footer-top-button footer-button",onClick:this.onCreateRelatedFeatureSubmitButtonClick.bind(this),width:"full"},this._translations.submit),s("calcite-button",{appearance:"outline",class:"footer-button",onClick:this.backFromCreateRelatedFeaturePanel.bind(this),width:"full"},this._translations.cancel))),s("calcite-panel",null,s("create-related-feature",{customizeSubmit:!0,locale:this.locale,mapView:this.mapView,onFail:this.addCommentFailed.bind(this),onFormReady:this.onFormReady.bind(this),onIsActionPending:this.showSubmitCancelButton.bind(this),onSuccess:this.onCommentSubmitted.bind(this),ref:t=>this._createRelatedFeature=t,selectedFeature:this._currentFeature,table:this._relatedTable})))}async setSelectedFeatures(t){this._selectedFeature=t,await this.setCurrentFeature(this._selectedFeature.length?this._selectedFeature[0]:null)}async setCurrentFeature(t){if(this._currentFeature=t,t&&t.layer){const e=t.layer;this.setSelectedLayer(e.id,e.title),this._currentFeatureId=t.attributes[e.objectIdField],this._getLayersConfig(e.id)?.comment&&e.relationships.length>0&&await this.getRelatedTable()}else this._editableLayerIds.length>1&&(this.setSelectedLayer("",""),this.handlePrevLayersFilter()),this._currentFeatureId="";this._updateShareURL()}async highlightOnMap(t){if(this.clearHighlights(),t&&t.geometry&&t.layer){const e=await d(this.mapView,t.layer.id);e.highlightOptions=null,this._highlightHandle=await u([t.getObjectId()],e,this.mapView,!0,this.zoomToScale)}this.updatingFeatureDetails(!1)}clearHighlights(){this._highlightHandle&&this._highlightHandle.remove()}getActionToExpandCollapsePanel(){return s("calcite-action",{icon:this._sidePanelCollapsed?"chevrons-up":"chevrons-down",onClick:this.toggleSidePanel.bind(this),slot:"header-actions-end",text:this._sidePanelCollapsed?this._translations.expand:this._translations.collapse})}async setMapView(){await this.getLayersToShowInList(),await this._updateFeatures(),1===this._editableLayerIds?.length?await this.renderFeaturesList():this._flowItems=["layer-list"],this.mapView.popupEnabled=!1,this._defaultCenter&&this._defaultLevel&&(await this.mapView.goTo({center:this._defaultCenter,zoom:this._defaultLevel}),this._defaultCenter=void 0,this._defaultLevel=void 0)}handleMapClick(){this._mapClickHandle&&this._mapClickHandle.remove(),this._mapClickHandle=this.reactiveUtils.on((()=>this.mapView),"click",this.onMapClick.bind(this))}async onMapClick(t){this.mapView.popupEnabled=!1;const e=await this.mapView.hitTest(t);if(e.results.length>0){const t=[];e.results.forEach((function(e){"graphic"===e.type&&t.push(e.graphic)}));const i=t.filter((t=>this._validLayers.includes(t.layer))),s=t.filter((t=>!this._validLayers.includes(t.layer)&&t?.layer?.popupEnabled&&t?.layer?.id));if(i.length>0&&(await this.setSelectedFeatures(i),this._flowItems.length&&this._flowItems.includes("feature-details")?(this._flowItems=[...this._flowItems.slice(0,this._flowItems.indexOf("feature-details")+1)],await this.highlightOnMap(t[0])):this._flowItems=[...this._flowItems,"feature-details"]),s.length>0){this.mapView.popupEnabled=!0;const t={features:s,updateLocationEnabled:!0};await this.mapView.openPopup(t)}}}_getCount(){const t=(this._selectedFeatureIndex+1).toString(),e=this._selectedFeature.length.toString();return this._translations.indexOfTotal.replace("{{index}}",t).replace("{{total}}",e)}async _getTranslations(){const t=await o(this.el);this._translations=t[0]}_updateFloorDefinitionExpression(t){const e=`${t.floorInfo.floorField} = '${this.floorLevel}'`,i=t.definitionExpression;t.definitionExpression=i?.indexOf(this._floorExpression)>-1?i.replace(this._floorExpression,e):e,this._floorExpression=e}_getFormElements(){const t=this._selectedLayer,e=t?.floorInfo?.floorField;if(e&&this.floorLevel&&t?.formTemplate){const e=this._formElements.find((e=>e.id===t.id));0!==this._formElements.length&&e||this._formElements.push({id:t.id,orgElements:t.formTemplate.elements,orgExpressionInfos:t.formTemplate.expressionInfos})}}reduceToConfiguredLayers(t,e){return Object.keys(t).reduce(((i,s)=>{const a=this.reportingOptions?this._getLayersConfig(s)?.visible:t[s].supportsAdd;return!e.includes(s)&&a&&i.push(s),i}),[])}async _updateFeatures(){for(const t of this._editableLayerIds){const e=await d(this.mapView,t);await this._showMyFeaturesOnly(e);const i=e.layer?.floorInfo?.floorField;i&&this.floorLevel&&this._updateFloorDefinitionExpression(e.layer)}}async _showMyFeaturesOnly(t){const e=this.mapView.map.portalItem.portal?.credential?.userId;if(e){const i=t.layer.editFieldsInfo?.creatorField.toLowerCase();t.filter=this.showMyReportsOnly&&i?new this.FeatureFilter({where:i+"='"+e+"'"}):null}}async getLayersToShowInList(){const t=await p(this.mapView,!0),e=await c(this.mapView),i=[];e.forEach((e=>{"feature"===e?.type&&e?.editingEnabled&&e?.capabilities?.operations?.supportsAdd&&(t[e.id].supportsAdd=!0),e?.editingEnabled||i.push(e.id)})),this._editableLayerIds=this.reduceToConfiguredLayers(t,i),this._layerItemsHash=t}async renderFeaturesList(){this._flowItems=["feature-list"];const t={detail:this._editableLayerIds};await this.layerListLoaded(t),await this.setSelectedLayer(this._validLayers[0].id,this._validLayers[0].title),this.handleSelectedLayersFilter()}_updateShareURL(){const t=this._shareNode?.shareUrl;if(!t)return;const e=new URL(t);this._selectedLayerId?e.searchParams.set("layerid",this._selectedLayerId):e.searchParams.delete("layerid"),this._selectedFeature?.length?e.searchParams.set("oid",this._currentFeatureId):e.searchParams.delete("oid"),this._shareNode.shareUrl=e.href}async loadFeatureFromURLParams(){if(this.center&&this.level&&await this.mapView.goTo({center:this.center.split(";").map(Number),zoom:this.level}),this.layerId&&this.objectId){const t=await n(this.mapView,this.layerId);if(t){const e=await f([Number(this.objectId)],t,[],!0,this.mapView.spatialReference);e.length&&(await this.setSelectedFeatures(e),this._flowItems=this._flowItems.length&&"feature-details"!==this._flowItems[this._flowItems.length-1]?[...this._flowItems,"feature-details"]:[...this._flowItems])}}}async handleSelectedLayersFilter(){if(this._selectedLayer){const t=this.layerExpressions?structuredClone(this.layerExpressions.filter((t=>t.id===this._selectedLayerId))):[];null!=this._t9nLayerExpressions&&this.handleLayerExpressionsT9n(t,this._t9nLayerExpressions),this._currentLayerExpressions=t,this.setActiveDefinitionExpressions()}}async handlePrevLayersFilter(){if(this._prevSelectedLayerId){const t=await n(this.mapView,this._prevSelectedLayerId);t&&(t.definitionExpression=this._initDefExpressions[this._prevSelectedLayerId])}}resetFilterList(){this._filterList?.forceReset(),null!=this._selectedLayer&&(this._selectedLayer.definitionExpression=this._initDefExpressions[this._selectedLayerId],this._filterActive=!1)}setActiveDefinitionExpressions(){if(null==this._selectedLayer)return;const t=[];if(this._currentLayerExpressions?.length>0){const e=this._currentLayerExpressions[0];for(const i of e.expressions){const{active:e,definitionExpression:s}=i;e&&s&&t.push(`(${s})`)}this._filterActive=t.length>0,this.updateFilterLayerDefExpression(t,e.operator)}}updateFilterLayerDefExpression(t,e){const i=this._initDefExpressions[this._selectedLayerId],s=t?.length>0&&null!=i?`(${t.join(e)}) AND (${i})`:t.length>0?t.join(e):i;this._selectedLayer.definitionExpression=s}setInitExpressions(){if(this._initDefExpressions={},null==this.mapView)return;const t=this.mapView.map;t.allLayers.concat(t.allTables).forEach((t=>{"feature"===t.type&&(this._initDefExpressions[t.id]=t.definitionExpression)}))}handleLayerExpressionsT9n(t,e){t?.forEach((t=>{const i=e?.find((e=>e.id===t.id));null!=i&&(t.title=i.title,t.expressions?.forEach((t=>{const e=i.expressions?.find((e=>e.id===t.id));null!=e&&(t.name=e.name)})))}))}static get watchers(){return{isMobile:["isMobileWatchHandler"],locale:["localeWatchHandler"],mapView:["mapViewWatchHandler"],floorLevel:["floorLevelWatchHandler"],showMyReportsOnly:["showMyReportsOnlyWatchHandler"],layerExpressions:["layerExpressionsWatchHandler"],showFeatureSymbol:["showFeatureSymbolWatchHandler"]}}};m.style=":host{display:block;--calcite-label-margin-bottom:0px;--solutions-theme-foreground-color:var(--calcite-color-foreground-1)}.width-full{width:100% !important}.width-0{width:0}.height-full{height:100% !important}.height-0{height:0}.overflow-hidden{overflow:hidden}.border{border:1px solid var(--calcite-color-border-3)}.notice-msg{padding:10px;width:calc(100% - 20px)}.progress-bar{padding:12px}.footer-top-button{padding-bottom:7px}.footer-button{height:35px}.feature-pagination{background-color:var(--calcite-color-foreground-1) !important;border-block-end:1px solid var(--calcite-color-border-3);display:flex;justify-content:center;padding:5px 0}.pagination-count{color:var(--calcite-color-brand);border-bottom:1px solid var(--calcite-color-brand);font-weight:bold}.report-submitted-msg{position:absolute;z-index:1000}.share-node{display:flex}";export{m as crowdsource_reporter}
@@ -1,6 +0,0 @@
1
- /*!
2
- * Copyright 2022 Esri
3
- * Licensed under the Apache License, Version 2.0
4
- * http://www.apache.org/licenses/LICENSE-2.0
5
- */
6
- import{r as a,g as e,h as i,H as t}from"./p-8c40bdec.js";import{c as l}from"./p-747d4b59.js";const s=class{constructor(e){a(this,e)}get el(){return e(this)}showAddDeduct=!1;_deductValuesElement;render(){const a=this.showAddDeduct?"position-relative":"display-none";return i(t,{key:"9ebd821665a19fc6708e09b2e44260214990dcdd"},i("div",{key:"02f0a5c314fe16375507a74703aea0f9e2328eae",class:this.showAddDeduct?"display-none":"display-grid"},i("div",{key:"051c8b68051cb9f2942d7314c9362551f9da5fc5",class:"label-display"},i("calcite-label",{key:"d4cc480632b676835357bb6b6bc49faa64d88a67",class:"label-display"},"Enter comma delimited deduct values",this._getDeductValuesInput())),i("div",{key:"d31ae7e152dc81a64f23fa3afe417cc2819dda18"},this._getCalculateButton())),i("div",{key:"e1b9defe18ae895870bae941833d58680cad6f32",class:a},i("div",{key:"832a4e9cf3f6b216bb5c8141fac98262c1b7fac2",class:"position-right"},i("calcite-action",{key:"892c1c30895c1e6d076a1a38d7f1c3f5db3ab5ca",appearance:"transparent",class:"float-end",icon:"x",onClick:()=>this._toggleShowAddDeduct(),scale:"s",text:""})),i("deduct-calculator",{key:"f2690de17acd803348f25743a3b9f1db482afd0a",class:"display-grid padding-top-1",onDeductValueComplete:a=>this._addDeductValue(a)})))}_getDeductValuesInput(){return i("div",{class:"display-flex"},i("calcite-input",{class:"main-input",ref:a=>{this._deductValuesElement=a}}),i("calcite-action",{appearance:"transparent",icon:"plus-circle",onClick:()=>this._toggleShowAddDeduct(),scale:"s",text:""}))}_getCalculateButton(){return i("calcite-button",{onClick:()=>this._calculatePCI(this._deductValuesElement.value)},"Calculate PCI")}_toggleShowAddDeduct(){this.showAddDeduct=!this.showAddDeduct}_addDeductValue(a){this._toggleShowAddDeduct(),this._deductValuesElement.value+=Math.abs(parseFloat(this._deductValuesElement.value))>0?`,${a.detail}`:a.detail}_calculatePCI(a){const e=l(a,!0),i=e<=10?"Failed":e<=25?"Serious":e<=40?"Very Poor":e<=55?"Poor":e<=70?"Fair":e<=85?"Satisfactory":"Good";console.log(`PCI: ${e}`),console.log(`Rating: ${i}`),alert("See debug console for results")}};s.style=":host{display:block;--calcite-label-margin-bottom:0}.label-display{display:block;padding-bottom:1rem}.display-flex{display:flex}.display-grid{display:grid}.display-table{display:table}.display-inline-table{display:inline-table}.display-none{display:none}.display-inherit{display:inherit}.padding-top-1{padding-top:1rem}.main-input{width:300px;padding-inline-end:1rem}.float-end{float:inline-end}.position-relative{position:relative}.position-right{position:absolute;right:0px}";export{s as pci_calculator}
@@ -1,6 +0,0 @@
1
- /*!
2
- * Copyright 2022 Esri
3
- * Licensed under the Apache License, Version 2.0
4
- * http://www.apache.org/licenses/LICENSE-2.0
5
- */
6
- import{r as t,c as i,g as e,h as s,F as a,H as n}from"./p-8c40bdec.js";import{l as o,g as h}from"./p-a23de3b0.js";import{a as c,g as d}from"./p-d572627c.js";import{P as l}from"./p-91bb7fdc.js";import"./p-6a68306c.js";import"./p-d4056c1c.js";import"./p-80cb7c73.js";import"./p-20085e58.js";import"./p-af7e43e0.js";import"./p-2bc98cb0.js";import"./p-4f236b5d.js";import"./p-570b13d9.js";import"./p-0668e30d.js";const r=class{constructor(e){t(this,e),this.success=i(this,"success",7),this.fail=i(this,"fail",7),this.drawComplete=i(this,"drawComplete",7),this.editingAttachment=i(this,"editingAttachment",7),this.progressStatus=i(this,"progressStatus",7),this.modeChanged=i(this,"modeChanged",7)}get el(){return e(this)}mapView;selectedLayerId;customizeSubmit=!1;locale;searchConfiguration;isMobile;floorLevel;formElements;enableSearch=!1;showGuidingMsg=!0;showGuidingMsgWhileDrawing=!0;_editorLoading=!1;_currentPage="templatePicker";_translations;Editor;ExpressionInfo;FieldElement;FormTemplate;_editor;FeatureLayer;MapView;_updatedMapView;Search;_search;reactiveUtils;_addingAttachment;_container;_mapViewContainer;_isSubmitBtnClicked=!1;_selectedLayer;_searchDiv;_calciteNotice;async localeWatchHandler(){this.el.lang=this.locale,await this._getTranslations()}async mapViewWatchHandler(){await this.mapView.when((async()=>{await this.init()}))}async isMobileHandler(){this.modeChanged.emit()}async _editorLoadingWatchHandler(t){if(t){if(this._container?.classList.add("display-none"),this._selectedLayer?.isTable){const t={layer:this._selectedLayer,template:this._selectedLayer.templates[0]};await this._editor.startCreateFeaturesWorkflowAtFeatureCreation(t),await this.hideEditorsElements()}else await this.startCreate();this._container?.classList.remove("display-none"),this._editorLoading=!1}}async submit(){this._editor&&(this._isSubmitBtnClicked=!0,this._editor.viewModel.featureFormViewModel.submit())}async refresh(t){this._editor&&this._setFloorLevel(t)}success;fail;drawComplete;editingAttachment;progressStatus;modeChanged;async componentWillLoad(){await this._getTranslations(),await this.initModules()}async componentDidLoad(){await this.init()}componentDidRender(){this.isMobile&&(this._mapViewContainer.style.top=`${this._calciteNotice.offsetHeight+this._searchDiv.offsetHeight+80}px`)}disconnectedCallback(){this._editor&&this._editor.destroy()}render(){const t="drawing"===this._currentPage?"":"display-none",i=this._editorLoading?"":"display-none",e=this._editorLoading?"display-none":"",n=this.isMobile?"show-map":"display-none";let o=this._translations.chooseCategoryMsg;return"drawing"===this._currentPage?o=this._translations.provideLocationMsg:"featureForm"===this._currentPage&&(o=this._translations.provideDetailsMsg),s(a,{key:"829e66e8b4818b2566d514ae85eddc50968075f8"},this.showGuidingMsg&&(this.showGuidingMsgWhileDrawing||"drawing"!==this._currentPage)&&s("calcite-notice",{key:"0347181f26f5d87d38f8be185e0b43ffbbc34208",class:"notice-msg",icon:"lightbulb",kind:"success",open:!0,ref:t=>this._calciteNotice=t},s("div",{key:"e5dd776ead66c26184a5aad747e82d97612d961a",slot:"message"},o)),s("calcite-loader",{key:"7989ecdbb4b635d38a1d63bf879d7e95b3f9a9be",class:i,label:"",scale:"s"}),s("div",{key:"6f6184af21e8a0595e5c51c132e657e7660caa01",class:e,id:"feature-form"}),this.enableSearch&&s("div",{key:"2068ca424a9355a28c9957104a4f6973b11c1b8f",class:`search-widget ${t} ${e}`,id:"search-widget-ref",ref:t=>this._searchDiv=t}),s("div",{key:"a899d52788e6cfa67fe77abbbe0eeb6383b40d0a",class:`${n}`,ref:t=>{this._mapViewContainer=t}}))}async init(){this.mapView&&this.selectedLayerId&&(this._updatedMapView=this.mapView,await(this.isMobile?this.createMobileMapView():this._loadWidgets()))}async initModules(){const[t,i,e,s,a,n,h]=await o(["esri/widgets/Editor","esri/core/reactiveUtils","esri/widgets/Search","esri/form/ExpressionInfo","esri/form/elements/FieldElement","esri/form/FormTemplate","esri/views/MapView"]);this.Editor=t,this.reactiveUtils=i,this.Search=e,this.ExpressionInfo=s,this.FieldElement=a,this.FormTemplate=n,this.MapView=h}async createMobileMapView(){this._mapViewContainer.classList.add("hide-map"),await new this.MapView({map:this.mapView.map,container:this._mapViewContainer,zoom:this.mapView.zoom}).when((t=>{this._updatedMapView=t,this._loadWidgets()}),(t=>{console.log(t)}))}async _loadWidgets(){await this.createEditorWidget(),this.enableSearch&&await this.createSearchWidget()}async createEditorWidget(){this._editor&&this._editor.destroy();const t=[];this._container=document.createElement("div"),this._container?.classList.add("display-none");const i=await c(this._updatedMapView);this._selectedLayer=await d(this.mapView,this.selectedLayerId),this._selectedLayer?.isTable||i.forEach((async i=>{t.push({layer:i,enabled:"feature"===i?.type&&i?.id===this.selectedLayerId,addEnabled:!0,updateEnabled:!1,deleteEnabled:!1})})),this._editor=new this.Editor({view:this._updatedMapView,layerInfos:t,visibleElements:{snappingControls:!1,createFeaturesSection:!0,editFeaturesSection:!1},container:this._container}),this._mapViewContainer?this.el.insertBefore(this._container,this._mapViewContainer):this.el.appendChild(this._container);const e=this.reactiveUtils.watch((()=>this._editor.viewModel.state),(t=>{"adding-attachment"===t||"editing-attachment"===t?(this._addingAttachment=!0,this.editingAttachment.emit(!0)):this._addingAttachment&&(this.editingAttachment.emit(!1),this._addingAttachment=!1)}));this._editor.viewModel.addHandles(e);const s=this.reactiveUtils.watch((()=>this._editor.viewModel.featureTemplatesViewModel.state),(t=>{"ready"===t&&"create-features"!==this._editor.viewModel?.activeWorkflow?.type&&(this.progressStatus.emit(.5),this._editorLoading=!0)}));this._editor.viewModel.addHandles(s);const a=this.reactiveUtils.watch((()=>this._editor.viewModel.featureFormViewModel?.state),(t=>{"ready"===t&&(this._mapViewContainer?.classList?.replace("show-map","hide-map"),this._editor.viewModel.featureFormViewModel.on("submit",this.submitted.bind(this)),setTimeout((()=>{this._setFloorLevel(this.floorLevel)}),50),this._currentPage="featureForm",this.progressStatus.emit(1),this.drawComplete.emit())}));this._editor.viewModel.addHandles(a);const n=this.reactiveUtils.watch((()=>this._editor.viewModel.state),(t=>{"creating-features"===t&&"disabled"===this._editor.viewModel.featureFormViewModel.state&&(this._mapViewContainer?.classList?.replace("hide-map","show-map"),this._selectedLayer&&!this._selectedLayer.isTable&&(this._currentPage="drawing"))}));this._editor.viewModel.addHandles(n)}async startCreate(){return await this.hideEditorsElements(),new Promise(((t,i)=>{if(this._editor.viewModel.featureTemplatesViewModel.items?.length){const e=this._editor.viewModel.featureTemplatesViewModel.items[0].get("items");this._editor.viewModel.featureTemplatesViewModel.on("select",(()=>{this.progressStatus.emit(.75),setTimeout((()=>{this.hideEditorsElements().then((()=>{t({})}),(t=>i(t)))}),700)})),1===e.length&&this._editor.viewModel.featureTemplatesViewModel.select(e[0]);const s=e.length>1;this.hideEditorsElements().then((()=>{s&&t({})}),(t=>s&&i(t)))}}))}async createSearchWidget(){let t={view:this._updatedMapView};this.searchConfiguration&&(t={...this._getSearchConfig(this.searchConfiguration,this._updatedMapView)}),this._search=new this.Search(t),this._search.container="search-widget-ref",this._search.popupEnabled=!1,this._search.resultGraphicEnabled=!1;let i=null;this._search.on("search-complete",(t=>{this._updatedMapView.goTo(t.results[0].results[0].extent),"point"===this._selectedLayer.geometryType&&(i=t.results[0].results[0]?.feature.geometry)}));const e=this.reactiveUtils.watch((()=>this._search.viewModel.state),(t=>{"ready"===t&&setTimeout((()=>{this._editor.viewModel.sketchViewModel.createGraphic&&i&&(this._editor.viewModel.sketchViewModel.createGraphic.set("geometry",i),this._editor.viewModel.sketchViewModel.complete(),this.hideEditorsElements())}),100)}));this._search.viewModel.addHandles(e)}_getSearchConfig(t,i){const e=t.sources;return e?.length>0?(t.includeDefaultSources=!1,e.forEach((t=>{if(t.hasOwnProperty("layer")){const e=t,s=e.layer?.id,a=s?i.map.findLayerById(s):null,n=e?.layer?.url;a?e.layer=a:n&&(e.layer=new this.FeatureLayer(n))}})),e?.forEach((t=>{if(t.hasOwnProperty("locator")){const i=t;"ArcGIS World Geocoding Service"===i?.name&&(i.outFields=i.outFields||["Addr_type","Match_addr","StAddr","City"],i.singleLineFieldName="SingleLine"),i.url=i.url,delete i.url}}))):t={...t,includeDefaultSources:!0},t}async _setFloorLevel(t){if(!t)return;const i=this._selectedLayer;if(i?.floorInfo?.floorField){const e=i.fields.find((t=>t.name===i.floorInfo.floorField));if(e&&!i?.formTemplate)this._editor.viewModel.featureFormViewModel.setValue(e.name,t),e.editable=!1;else if(i.formTemplate&&this.formElements){const e=new this.ExpressionInfo({expression:`"${t}"`,name:"floor-info-test",title:"Floor Info",returnType:"string"}),s=new this.FieldElement({label:i.floorInfo.floorField,editableExpression:"false",fieldName:i.floorInfo.floorField,input:{type:"text-box",maxLength:50,minLength:0},valueExpression:e.name});this._updatedMapView.map.editableLayers.forEach((t=>{const i=this.formElements.orgExpressionInfos,a=[...this.formElements.orgElements];a.push(s);const n=new this.FormTemplate({title:t.formTemplate.title,description:t.formTemplate.description,elements:a,expressionInfos:[e].concat(i)});t.formTemplate=n}))}}}async hideEditorsElements(){this.customizeSubmit&&(await this.timeout(700),this.el.querySelector(".esri-editor")?.querySelectorAll("calcite-flow-item")?.forEach((t=>{const i=t.shadowRoot?.querySelector("calcite-panel")?.shadowRoot?.querySelector("article");i?.querySelector("header")?.setAttribute("style","display: none"),i?.querySelector("footer")?.setAttribute("style","display: none")})))}async submitted(t){if(t.invalid.length)this._isSubmitBtnClicked=!1;else if(t.valid.length&&this._isSubmitBtnClicked){this._isSubmitBtnClicked=!1;try{await this._editor.activeWorkflow.commit(),this._editor.viewModel.failures?.length&&this._editor.viewModel.failures.some((t=>{if(t.error)throw t.error}))}catch(t){return void this.fail.emit(t)}this.success.emit()}}timeout(t){return new Promise((i=>setTimeout(i,t)))}async _getTranslations(){const t=await h(this.el);this._translations=t[0]}static get watchers(){return{locale:["localeWatchHandler"],mapView:["mapViewWatchHandler"],isMobile:["isMobileHandler"],_editorLoading:["_editorLoadingWatchHandler"]}}};r.style=":host{display:block}.esri-editor__panel-toolbar{display:none !important}.esri-editor__panel-content{padding-block:0px !important}.esri-editor .esri-item-list__group__header{display:none !important}.esri-editor__panel-content__section .esri-widget__heading{display:none !important}.esri-editor .esri-item-list__filter-container--sticky{padding-block:0px !important;padding-inline:10px !important}.search-widget{width:92% !important;margin:5px 14px 20px 14px}.display-none{display:none !important}.hide-map{height:1%;visibility:hidden}.show-map{padding:10px !important;position:absolute !important;bottom:0;height:auto !important;width:calc(100% - 22px)}.notice-msg{padding:10px;width:calc(100% - 20px)}.esri-editor__panel-content{padding-block:10px !important}@media only screen and (max-width: 600px){.esri-editor__panel-content{padding-block:0 !important;min-height:0 !important}}";const p=class{constructor(e){t(this,e),this.editsComplete=i(this,"editsComplete",7)}get el(){return e(this)}deleteDialog;buttonType="button";disabled=!1;icon;ids=[];layer;locale;_confirmDelete=!1;_deleteEndabled=!1;_supportsDelete;_translations;async idsWatchHandler(){this._setDeleteEnabled()}async layerWatchHandler(){this._setDeleteEnabled()}async localeWatchHandler(){this.el.lang=this.locale,await this._getTranslations()}editsComplete;async componentWillLoad(){await this._getTranslations()}render(){return s(n,{key:"73d07f24703df76fdacc1b3a1ec80cfdd7bbee30"},"button"===this.buttonType?s("calcite-button",{appearance:"outline",disabled:!this._deleteEndabled,id:"solutions-delete",kind:"danger",onClick:()=>this._delete(),width:"full"},this._translations.deleteCount.replace("{{n}}",this.ids.length.toString())):s("calcite-action",{appearance:"solid",disabled:!this._deleteEndabled,id:this.icon,onClick:()=>this._delete(),scale:"s",text:this._translations.delete},s("calcite-button",{appearance:"transparent",iconStart:this.icon,kind:"danger"},this._translations.delete)),this._deleteMessage(),s("calcite-tooltip",{key:"803898895029bd098264b9144ff5ccee102d4ae8",placement:"bottom","reference-element":"button"===this.buttonType?"solutions-delete":this.icon},s("span",{key:"a920ffea1849667cd58812a2c1813d2e066f0064"},this._translations.delete)))}async componentDidLoad(){this._setDeleteEnabled()}_setDeleteEnabled(){this._supportsDelete=this.layer?.editingEnabled&&this.layer?.capabilities?.operations?.supportsDelete,this._deleteEndabled=!this.disabled||this._supportsDelete&&this.ids.length>0}_delete(){this._confirmDelete=!0}_deleteMessage(){return this.deleteDialog?this.deleteDialog:s("delete-dialog",{id:"solution-delete-dialog",ids:this.ids,layer:this.layer,locale:this.locale,onDeleteDialogClose:()=>this._confirmDelete=!1,open:this._confirmDelete})}async _getTranslations(){const t=await h(this.el);this._translations=t[0]}static get watchers(){return{ids:["idsWatchHandler"],layer:["layerWatchHandler"],locale:["localeWatchHandler"]}}};p.style=":host{display:block}.delete-modal{position:fixed}";const b=class{constructor(e){t(this,e),this.closeEdit=i(this,"closeEdit",7),this.editorInitialized=i(this,"editorInitialized",7),this.editsComplete=i(this,"editsComplete",7),this.refreshGraphics=i(this,"refreshGraphics",7)}get el(){return e(this)}enableEditGeometry=!1;graphics;locale;mapView;open=!1;graphicIndex=0;_editorLoading=!1;_translations;_activeWorkflowHandle;_addRelatedRecordHandle;_attachmentHandle;_editHandle;_layerEditHandle;Editor;_editor;_layer;_editContainer;_editControlElements;_editingDisabled;_shouldClose=!1;reactiveUtils;async graphicsWatchHandler(){0===this.graphics.length&&this.open&&await this._closeEdit(!0)}async localeWatchHandler(){this.el.lang=this.locale,await this._getTranslations()}async openWatchHandler(t){t&&this.graphics?.length>0&&this.graphicIndex>-1&&(this._editorLoading=!0,await this._initEditorWidget(),this.graphicIndex>-1&&this.graphics.length>0&&this.open&&!this._shouldClose&&await this._startUpdate(),this._editorLoading=!1),t||await this._closeEdit(!0)}closeEdit;editorInitialized;editsComplete;refreshGraphics;async featureSelectionChange(){this.open&&await this._closeEdit(!1)}async componentWillLoad(){await this._initModules(),await this._getTranslations()}async componentWillRender(){this.graphics?.length>0&&this.graphics[0]?.layer&&(this._layer=this.graphics[0].layer,this._layerEditHandle&&this._layerEditHandle.remove(),this._layerEditHandle=("subtype-sublayer"===this._layer.type?this._layer.parent:this._layer).on("edits",(()=>{this.editsComplete.emit()})))}render(){const t=this._editorLoading?"display-none":"position-absolute",i=this._editorLoading?"":"display-none";return s(n,{key:"e181f65e7218ce0350de5dcab9049ff63a5d39c1"},s("div",{key:"44bf2b5cf31c5acc7f65fb7ec50fd84e77c95470",class:"position-absolute"},this.graphics?.length>0&&this.graphics[0]&&this.graphics[0].layer.editingEnabled?void 0:s("calcite-notice",{kind:"warning",open:!0,slot:"content-top",width:"full"},s("div",{slot:"message"},this._translations.enableEditing)),s("div",{key:"97119476aa2a992ccadc1d61119f2640d195e7b1",class:"position-absolute"},s("div",{key:"f429decea684a6a22db89de89da3755bdbff19cc",class:t,id:"feature-form",ref:t=>this._editContainer=t}),s("calcite-loader",{key:"3ea908ef8dadd2f1c85bfac1b344f8b4441b8706",class:i,label:"",scale:"s"}))))}async _initModules(){const[t,i]=await o(["esri/widgets/Editor","esri/core/reactiveUtils"]);this.Editor=t,this.reactiveUtils=i}async _initEditorWidget(){if(this.mapView&&this.graphics&&this.graphics.length>0&&this.graphics[0]){this._editor&&this._editor.destroy();const t=document.createElement("div"),i=(await c(this.mapView)).map((t=>({layer:t,geometryUpdatesEnabled:this.enableEditGeometry})));this._editor=new this.Editor({view:this.mapView,layerInfos:i,visibleElements:{snappingControls:!1},container:t}),this._attachmentHandle&&this._activeWorkflowHandle&&(this._attachmentHandle.remove(),this._activeWorkflowHandle.remove()),this._attachmentHandle=this.reactiveUtils.when((()=>"adding-attachment"===this._editor.viewModel.state||"editing-attachment"===this._editor.viewModel.state||"creating-features"===this._editor.viewModel.state),(()=>{this._shouldClose=!1})),this._activeWorkflowHandle=this.reactiveUtils.watch((()=>this._editor.viewModel.activeWorkflow?.activeWorkflow),(t=>{"update-table-record"!==t?.type&&"create-features"!==t?.type||(this._shouldClose=!1),(t?.type||t?.hasPendingEdits||this._editor.activeWorkflow)&&this._editor?.activeWorkflow?.started||(this.open=!1)})),this._editContainer.appendChild(t),this.editorInitialized.emit(this._editor)}}async _closeEdit(t){this._shouldClose=!0,t&&this._editor?.activeWorkflow?(this._editor.activeWorkflow?.activeWorkflow?.hasPendingEdits&&(await this._editor.activeWorkflow.reset(),await this._editor.cancelWorkflow()),this._editor.destroy()):this.graphicIndex>-1&&this.graphics?.length>0&&this.refreshGraphics.emit(this.graphics),this._shouldClose=!1,this.closeEdit.emit()}async _startUpdate(){await this._editor.startUpdateWorkflowAtFeatureEdit(this.graphics[this.graphicIndex]),this._shouldClose=!0}async _getTranslations(){const t=await h(this.el);this._translations=t[0]}static get watchers(){return{graphics:["graphicsWatchHandler"],locale:["localeWatchHandler"],open:["openWatchHandler"]}}};b.style=":host{display:block}.padding-bottom-1{padding-bottom:1rem}.font-bold{font-weight:var(--calcite-font-weight-bold)}.font-500{font-weight:var(--calcite-font-weight-medium)}.font-italic{font-style:italic}#feature-form{padding-top:0px}.padding-sides-bottom-1{padding:0 1rem 1rem 1rem}.position-relative{position:relative}.esri-editor__prompt--danger{position:relative !important;width:100% !important;background-color:var(--calcite-color-foreground-1) !important}.esri-feature__content-node{background-color:var(--calcite-color-foreground-1) !important}.esri-editor__panel-toolbar{display:none !important}.position-absolute{position:absolute;top:0;right:0;bottom:0;left:0;overflow:auto}.esri-editor__panel-content{padding-block:10px !important}";const f=class{constructor(e){t(this,e),this.popupClosed=i(this,"popupClosed",7),this.selectionChanged=i(this,"selectionChanged",7)}get el(){return e(this)}enableEditGeometry=!1;graphics;isLoading=!1;isMobile;mapView;allowEditing=!0;highlightEnabled=!0;locale;paginationEnabled=!0;position="absolute";_alertOpen=!1;_count="";_editRecordOpen=!1;_mobileTitle="";_showListView=!1;_translations;Features;_editEnabled;_features;_layer;_popupUtils;_featuresNodeId="features-node"+(new Date).getMilliseconds().toString();reactiveUtils;async graphicsWatchHandler(){await this.setGraphics()}async isMobileWatchHandler(){await this._initFeaturesWidget()}async localeWatchHandler(){if(this.el.lang=this.locale,await this._getTranslations(),this._features){const t=[...this.graphics];this.graphics=[],this.graphics=t}}async mapViewWatchHandler(){return await this._initFeaturesWidget()}async getSelectedFeature(){return this._features.selectedFeature}async refresh(){await this.setGraphics()}async back(){this._features.previous(),this._count=this._getCount()}async next(){this._features.next(),this._count=this._getCount()}async toggleListView(){this._showListView=!this._showListView;const t=this._features.selectedFeatureIndex;this._features.open({features:this.graphics,featureMenuOpen:this._showListView}),this._features.selectedFeatureIndex=t}async updateCurrentGraphic(t){this._features.selectedFeatureWidget.graphic=t}popupClosed;selectionChanged;async closeEdit(){this._editRecordOpen=!1}async layerSelectionChange(){this._showListView=!1,this._features?.viewModel&&(this._features.viewModel.featureMenuOpen=!1,this._features.close())}async refreshGraphics(t){this.graphics=[...t.detail]}async componentWillLoad(){await this._initModules(),await this._getTranslations(),this._popupUtils=new l}async componentDidLoad(){this.graphics?.length>0&&await this.setGraphics()}render(){const t=this.isLoading?"":"display-none",i=this.isLoading||this._editRecordOpen?"visibility-hidden":"position-absolute",e=!this.isLoading&&this._editRecordOpen?"position-absolute":"display-none",a=!this.isLoading&&this._editRecordOpen||this._showListView?"display-none":"",o=this._features?.features?.length<2,h=this.isMobile?"display-none":"",c=this._features?.selectedFeature?.getObjectId(),d=parseInt(c?.toString(),10)>-1?[c]:[],l=this._layer?.editingEnabled&&this._layer?.capabilities?.operations?.supportsDelete;return s(n,{key:"54e47d0ec2be9149c3e667c9e940842804d96964"},s("calcite-shell",{key:"14bb280d394ceaa74463979886ab09cdf393b26e",style:{position:this.position}},this._getHeader(),s("calcite-loader",{key:"3226709e73de16c795c348513183b26b88b7a726",class:t,label:this._translations.fetchingData}),s("div",{key:"ba4b0c34620c60e849bdf0ada785b9976156dd1c",class:"esri-widget feature-node "+i,id:this._featuresNodeId}),s("div",{key:"440a4d3c0530f97031df2e2ab9511ef6035fb5da",class:`${a} width-100`,slot:"footer"},this.allowEditing&&s("div",{key:"172b2e2cc10bdfb104057376ceba5d7f5f19ad61",class:"display-flex top-border padding-1-2"},s("calcite-button",{key:"242daf0ec6c3fe4fcc11be4bbc19f810836714ec",appearance:"solid",id:"solutions-edit",onClick:()=>this._openEditRecord(),width:"full"},this._translations.edit),this.isMobile&&l?s("delete-button",{class:"padding-inline-start-1 width-100",id:"solutions-delete",ids:d,layer:this._layer,locale:this.locale,onEditsComplete:()=>this._closePopup()}):void 0,s("calcite-tooltip",{key:"760f8fcd1bcff2060e0a98e84a222107e55fef22",placement:"bottom","reference-element":"solutions-edit"},s("span",{key:"30656b92e9bdbf3a9548586d91fc23bce2da9db3"},this._translations.edit)),this.isMobile&&l?s("calcite-tooltip",{placement:"bottom","reference-element":"solutions-delete"},s("span",null,this._translations.delete)):void 0),this.paginationEnabled&&!o&&s("div",{key:"0d119d7d093abfbdd6eb93bf6987be2b106a8c78",class:`display-flex padding-1-2 button-container top-border ${h}`},s("div",{key:"7b353bc77ef8f816c39a4b5232160755fbea42fe"},s("calcite-button",{key:"58d9b335eaf691672695bfed171cdd5aaf638aec",appearance:"transparent",disabled:o,iconFlipRtl:"both",iconStart:"chevron-left",id:"solutions-back",onClick:()=>this._back(),width:"full"}),s("calcite-tooltip",{key:"c5f110544d2c630d374f1c57112a16f3e82d67ca",placement:"top","reference-element":"solutions-back"},s("span",{key:"1818844f2daf4afa73677ea6b58392b5a5ec50b3"},this._translations.back))),s("calcite-action",{key:"36c5dd00320f52eb3421532c7df8f60ccede5230",class:"pagination-action",iconFlipRtl:!0,onClick:()=>this._toggleListView(),scale:"s",text:"",textEnabled:!0},s("span",{key:"b13cc04e8f093a7a0b9da8ee425d436a0c2fe26a",class:"pagination-count"},this._count)),s("div",{key:"7c79b82a8ba2bd4eea11a722d67e549121a95679"},s("calcite-button",{key:"3ff6b99d1743a9ff6a171aea4715199606a21dc6",appearance:"transparent",disabled:o,iconFlipRtl:"both",iconStart:"chevron-right",id:"solutions-next",onClick:()=>this._next(),width:"full"}),s("calcite-tooltip",{key:"0239927bac7e75a35a811aa695c8c55fda5f9b68",placement:"top","reference-element":"solutions-next"},s("span",{key:"a5bafe4d001d80a1a46de5f9eb10fb4306783e38"},this._translations.next))))),s("edit-card",{key:"daaef8c4af1b3567904e5d9590b80069035e93a0",class:e,enableEditGeometry:this.enableEditGeometry,graphicIndex:this._features?.selectedFeatureIndex,graphics:this.graphics,locale:this.locale,mapView:this.mapView,open:this._editRecordOpen}),s("calcite-alert",{key:"9af909318e687b66d239f64f800b375825ee94e0",icon:"layer-broken",kind:"warning",label:"",onCalciteAlertClose:()=>this._alertClosed(),open:this._alertOpen,placement:"top"},s("div",{key:"0a2ac2b669df18fe75adbcc0e84ab7b15a766932",slot:"title"},this._translations.editDisabled),s("div",{key:"6dd20d646e9754fbaee4dd6c6f8e51964d2f41ff",slot:"message"},this._translations.enableEditing))))}async _initModules(){const[t,i]=await o(["esri/widgets/Features","esri/core/reactiveUtils"]);this.Features=t,this.reactiveUtils=i}async setGraphics(){this._features||await this._initFeaturesWidget(),this.graphics.length>0?(this._layer=this.graphics[0]?.layer,this._editEnabled=this._layer.editingEnabled&&this._layer.capabilities.operations.supportsUpdate,this._mobileTitle=await this._popupUtils.getPopupTitle(this.graphics[0],this.mapView.map),this._features.open({features:this.graphics})):(this._features.clear(),this._features.close()),this._count=this._getCount()}async _initFeaturesWidget(){return void 0!==this.isMobile?await(this.mapView?.when((()=>{this._features?(this._features.view=this.mapView,this._features.visibleElements.actionBar=!1,this._features.visibleElements.closeButton=!1,this._features.visibleElements.heading=!this.isMobile):(this._features=new this.Features({view:this.mapView,container:this._featuresNodeId,visibleElements:{actionBar:!1,closeButton:!1,heading:!this.isMobile}}),this._features.viewModel.highlightEnabled=this.highlightEnabled,this.reactiveUtils.watch((()=>this._features.viewModel.featureMenuOpen),(t=>{this._count=this._getCount(),t||(this._showListView=t)})),this.reactiveUtils.watch((()=>this._features.selectedFeatureIndex),(t=>{t>-1&&this.selectionChanged.emit({selectedFeature:[this._features.selectedFeature],selectedFeatureIndex:this._features.selectedFeatureIndex})})))}))):Promise.resolve()}_getHeader(){return this.isMobile&&!this._editRecordOpen?s("calcite-panel",{class:"border-width-0",slot:"header"},s("calcite-action",{class:"end-border",icon:"chevron-left",iconFlipRtl:!0,onClick:()=>this._closePopup(),scale:"s",slot:"header-actions-start",text:""}),s("span",{class:"font-bold",slot:"header-content"},this._mobileTitle)):void 0}_closePopup(){this.popupClosed.emit()}_alertClosed(){this._alertOpen=!1}_openEditRecord(){this._editEnabled?this._editRecordOpen=!0:this._alertOpen=!0}_back(){this._features.previous(),this._count=this._getCount()}_next(){this._features.next(),this._count=this._getCount()}_getCount(){const t=(this._features?.viewModel.selectedFeatureIndex+1).toString(),i=this._features?.features?.length.toString();return this._translations.indexOfTotal.replace("{{index}}",t).replace("{{total}}",i)}_toggleListView(){this._showListView=!this._showListView;const t=this._features.selectedFeatureIndex;this._features.open({features:this.graphics,featureMenuOpen:this._showListView}),this._features.selectedFeatureIndex=t}async _getTranslations(){const t=await h(this.el);this._translations=t[0]}static get watchers(){return{graphics:["graphicsWatchHandler"],isMobile:["isMobileWatchHandler"],locale:["localeWatchHandler"],mapView:["mapViewWatchHandler"]}}};f.style=":host{display:block;--calcite-label-margin-bottom:0}.padding-1-2{padding:0.5rem}.display-none{display:none !important}.display-flex{display:flex}.position-absolute{position:absolute;top:0;right:0;bottom:0;left:0;overflow:auto}.feature-node{position:relative !important}.feature-node .esri-features__footer{display:none !important}.button-container{justify-content:center;align-items:center}.top-border{border-top:1px solid var(--calcite-color-border-1)}.width-100{width:100%}.esri-features__container{padding:0.5rem !important;background-color:var(--calcite-color-foreground-1) !important;height:100% !important}.overflow-hidden{overflow:hidden}.height-40{height:40px}.end-border{border-inline-end:1px solid var(--calcite-color-border-1)}.font-bold{font-weight:bold}.visibility-hidden{visibility:hidden;height:0px}.padding-inline-start-1{padding-inline-start:1rem}.border-width-0{border-width:0px}.pagination-action{position:relative;left:3px}.pagination-count{color:var(--calcite-color-brand);border-bottom:1px solid var(--calcite-color-brand);font-weight:bold}";export{r as create_feature,p as delete_button,b as edit_card,f as info_card}
@@ -1,6 +0,0 @@
1
- /*!
2
- * Copyright 2022 Esri
3
- * Licensed under the Apache License, Version 2.0
4
- * http://www.apache.org/licenses/LICENSE-2.0
5
- */
6
- import{r as t,c as i,g as e,h as s}from"./p-8c40bdec.js";import{l as a,g as n}from"./p-a23de3b0.js";import{P as h}from"./p-91bb7fdc.js";import{g as l,c as r,h as o}from"./p-d572627c.js";import"./p-6a68306c.js";import"./p-d4056c1c.js";import"./p-20085e58.js";import"./p-af7e43e0.js";import"./p-2bc98cb0.js";import"./p-4f236b5d.js";import"./p-570b13d9.js";import"./p-0668e30d.js";import"./p-80cb7c73.js";const c=class{constructor(e){t(this,e),this.featureSelect=i(this,"featureSelect",7)}get el(){return e(this)}selectedLayerId;mapView;noFeaturesFoundMsg;pageSize=100;highlightOnMap=!1;highlightOnHover=!1;locale;sortingInfo;whereClause;textSize="large";showInitialLoading=!0;showErrorWhenNoFeatures=!0;showUserImageInList=!1;showFeatureSymbol=!1;applyLayerViewFilter=!1;reportingOptions;_featureItems=[];_featuresCount=0;_isLoading=!1;_translations;Color;esriConfig;symbolUtils;_popupUtils;_selectedLayer;_highlightHandle;_highlights;_pagination;_validFieldTypes=["small-integer","integer","big-integer","single","long"];_abbreviatedLikeCount;_likeFieldAvailable=!1;async localeWatchHandler(){this.el.lang=this.locale,await this._getTranslations()}async selectedLayerWatchHandler(){this._selectedLayer=await l(this.mapView,this.selectedLayerId),await this.initializeFeatureItems()}async sortingInfoWatchHandler(){await this.initializeFeatureItems()}async whereClauseHandler(){await this.initializeFeatureItems()}async refresh(t){if(t&&this._pagination){const t={target:{startItem:this._pagination.startItem}};await this.pageChanged(t)}else await this.initializeFeatureItems()}featureSelect;async componentWillLoad(){await this.initModules(),await this._getTranslations(),this._isLoading=this.showInitialLoading,this._popupUtils=new h,this.mapView&&this.selectedLayerId&&(this._selectedLayer=await l(this.mapView,this.selectedLayerId))}async componentDidLoad(){await this.initializeFeatureItems()}render(){return s("calcite-panel",{key:"6b6214a3dba7df7c2035203750d547945407ecde","full-height":!0,"full-width":!0},this._isLoading&&s("calcite-loader",{key:"1b05d96de0b4d396b13f448311db76315e28b81b",label:"",scale:"m"}),this.showErrorWhenNoFeatures&&0===this._featureItems.length&&!this._isLoading&&s("calcite-notice",{key:"abe755f0bc5c7ff064249159c3154c9ca1c27594",class:"error-msg",icon:"feature-details",kind:"info",open:!0},s("div",{key:"5a8ead1d47151cf088ae9e359052cf35129b09d3",slot:"message"},this.noFeaturesFoundMsg?this.noFeaturesFoundMsg:this._translations.featureErrorMsg)),s("calcite-list",{key:"cd7049462fb654dad0c4c05f127cf3e5d06bc5de",label:"","selection-appearance":"border","selection-mode":"none"},!this._isLoading&&this._featureItems.length>0&&this._featureItems),this._featuresCount>this.pageSize&&s("div",{key:"b65b1f491800e489790d79054affc0ddcd089d1f",class:"width-full",slot:"footer"},s("calcite-pagination",{key:"280aa2b17c78f53a4f110f8dc021e630241ebbe0",class:"pagination","full-width":!0,onCalcitePaginationChange:this.pageChanged.bind(this),"page-size":this.pageSize,ref:t=>this._pagination=t,"start-item":"1","total-items":this._featuresCount})))}async initModules(){const[t,i,e]=await a(["esri/Color","esri/config","esri/symbols/support/symbolUtils"]);this.Color=t,this.esriConfig=i,this.symbolUtils=e}async getWhereCondition(){let t="1=1";if(this.whereClause&&(t=this.whereClause),this._selectedLayer?.definitionExpression&&(t=t+" AND "+this._selectedLayer.definitionExpression),this.applyLayerViewFilter){const i=await r(this.mapView,this.selectedLayerId);i?.filter?.where&&(t=t+" AND "+i.filter.where)}return t}async initializeFeatureItems(){if(this._selectedLayer){this._pagination?.goTo("start"),this._isLoading=this.showInitialLoading,this._featureItems=await this.queryPage(0);const t={where:await this.getWhereCondition()};this._featuresCount=await this._selectedLayer.queryFeatureCount(t),this._isLoading=!1}}async pageChanged(t){this._isLoading=!0,this._highlightHandle&&(this._highlightHandle.remove(),this._highlightHandle=null);const i=t.target.startItem-1;this._featureItems=await this.queryPage(i),this._isLoading=!1}async featureClicked(t,i){if(this.clearHighlights(),this.highlightOnMap){const i=Number(t.target.value),e=await r(this.mapView,this.selectedLayerId);this._highlightHandle=await o([i],e,this.mapView,!0)}await this.emitSelectedFeature(i)}async emitSelectedFeature(t){const i=t.layer,e=i.createQuery();e.returnGeometry=!0,e.objectIds=[t.getObjectId()];const s=await i.queryFeatures(e);this.featureSelect.emit(s.features[0])}async onFeatureHover(t){if(this.clearHighlights(),this.highlightOnHover){const i=t.getObjectId(),e=await r(this.mapView,this.selectedLayerId);this._highlights&&(e.highlights=JSON.parse(this._highlights)),e.highlightOptions={color:new this.Color("#FFFF00")},this._highlights=JSON.stringify(e.highlights),this._highlightHandle=e.highlight([i])}}clearHighlights(){this._highlightHandle&&this._highlightHandle.remove()}async queryPage(t){const i=this._selectedLayer,e=this.sortingInfo?.field?this.sortingInfo.field:i.objectIdField,s=this.sortingInfo?.order?this.sortingInfo.order:"desc",a=await this.getWhereCondition(),n={start:t,num:this.pageSize,outFields:["*"],returnGeometry:!0,where:a,outSpatialReference:this.mapView.spatialReference.toJSON()};e&&s&&(n.orderByFields=[e.toString()+" "+s]);const h=await i.queryFeatures(n);return await this.createFeatureItem(h)}async createFeatureItem(t){const i=t?.features,e=this.reportingOptions&&this.reportingOptions[this.selectedLayerId].like,s=i.map((async t=>{const i=await this._popupUtils.getPopupTitle(t,this.mapView.map);let s,a;if(this.showUserImageInList){const i=this._selectedLayer.editFieldsInfo?.creatorField;i&&(s=await this.getUserInformation(t))}return this.showFeatureSymbol&&(a=await this.getFeatureSymbol(t)),e&&this.getAbbreviatedLikeCount(t),this.getFeatureItem(t,i,a,s)}));return Promise.all(s)}getAbbreviatedLikeCount(t){const i=this._selectedLayer,e=this.reportingOptions[i.id].likeField;i.fields.forEach((s=>{if(this._validFieldTypes.indexOf(s.type)>-1&&s.name===e&&this.reportingOptions[i.id].like){this._likeFieldAvailable=!0;let i=t.attributes[e]||0;i>999&&(i=i>999999?this._translations.millionsAbbreviation.replace("{{abbreviated_value}}",Math.floor(i/1e6).toString()):this._translations.thousandsAbbreviation.replace("{{abbreviated_value}}",Math.floor(i/1e3).toString())),this._abbreviatedLikeCount=i}}))}getFeatureItem(t,i,e,a){const n=t.attributes[this._selectedLayer.objectIdField].toString();i=i??n;const h=Number(t.attributes[this.reportingOptions?.[this._selectedLayer.id].likeField]).toLocaleString(),l="small"===this.textSize?"feature-list-popup-title-small":"feature-list-popup-title",r=this.showUserImageInList||this.showFeatureSymbol?"feature-list-popup-title-padding-reduced":"feature-list-popup-title-padding";return s("calcite-list-item",{onCalciteListItemSelect:i=>{this.featureClicked(i,t)},onMouseLeave:()=>{this.clearHighlights()},onMouseOver:()=>{this.onFeatureHover(t)},value:n},this.showUserImageInList&&s("calcite-avatar",{class:"profile-img","full-name":a?.fullName,scale:"m",slot:"content-start",thumbnail:a?.userProfileUrl,userId:a?.id,username:a?.fullName?a.username:void 0}),this.showFeatureSymbol&&s("div",{class:"feature-symbol",ref:t=>t&&t.replaceChildren(e),slot:"content-start"}),s("div",{class:`${l} ${r}`,slot:"content-start"},i),this._likeFieldAvailable&&s("div",{class:"like-container",id:n.concat("like"),slot:"content-end"},s("span",null,this._abbreviatedLikeCount),s("calcite-icon",{icon:"thumbs-up",scale:"s"}),s("calcite-tooltip",{overlayPositioning:"fixed",placement:"top","reference-element":n.concat("like")},h)),s("calcite-icon",{flipRtl:!0,icon:"chevron-right",scale:"s",slot:"content-end"}))}async getUserInformation(t){let i=this._selectedLayer.editFieldsInfo?.creatorField;t.attributes.hasOwnProperty(i.toLowerCase())?i=i.toLowerCase():t.attributes.hasOwnProperty(i.toUpperCase())&&(i=i.toUpperCase());let e=`${this.esriConfig.portalUrl}/sharing/rest/community/users/${t.attributes[i]}?f=json&returnUserLicensedItems=true`;const s=this.mapView.map.portalItem.portal?.credential?.token;s&&(e+=`&token=${s}`);const a=await fetch(e),n=await a.json();let h=`${this.esriConfig.portalUrl}/sharing/rest/community/users/${n?.username??t.attributes[i]}/info/blob.png`;return n?.access&&s&&(h+=`?token=${s}`),n.userProfileUrl=h,n}async getFeatureSymbol(t){const i=document.createElement("div");return await this.symbolUtils.getDisplayedSymbol(t).then((async t=>{if(t&&await(this.symbolUtils?.renderPreviewHTML(t,{node:i})),i.children?.length){const t=i.children[0];if(t){const i=Number(t.getAttribute("height")),e=Number(t.getAttribute("width"));e>30?t.setAttribute("width","30"):e<19&&t.setAttribute("width","20"),t.setAttribute("viewBox",`0 0 ${e} ${i}`)}}})),i}async _getTranslations(){const t=await n(this.el);this._translations=t[0]}static get watchers(){return{locale:["localeWatchHandler"],selectedLayerId:["selectedLayerWatchHandler"],sortingInfo:["sortingInfoWatchHandler"],whereClause:["whereClauseHandler"]}}};c.style=":host{display:block}.width-full{width:100%}.pagination{display:flex;justify-content:center}.error-msg{padding:10px;width:calc(100% - 20px)}.feature-list-popup-title{font-weight:500;white-space:pre-line}.feature-list-popup-title-small{font-size:small;white-space:pre-line}.feature-list-popup-title-padding{padding:10px 12px}.feature-list-popup-title-padding-reduced{padding:10px 0}.profile-img{margin:0 0.75rem;min-width:32px}.like-container{display:flex;align-items:center;gap:5px;color:gray !important;font-style:italic}.feature-symbol{padding:3px 10px;min-width:30px;display:flex;justify-content:center}";export{c as feature_list}