@arcgis/portal-components 5.2.0-next.7 → 5.2.0-next.71
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +2 -2
- package/dist/cdn/24L3PS2J.js +2 -0
- package/dist/cdn/2BUE3JLM.js +2 -0
- package/dist/cdn/2C6GSZLF.js +2 -0
- package/dist/cdn/2GBRZSEC.js +2 -0
- package/dist/cdn/2IIE3YY2.js +660 -0
- package/dist/cdn/2RMN34M3.js +2 -0
- package/dist/cdn/2WI5FBDF.js +2 -0
- package/dist/cdn/3CGDAKQD.js +2 -0
- package/dist/cdn/3IA7YX3J.js +2 -0
- package/dist/cdn/{GQFWFZXP.js → 3OBIA66A.js} +1 -1
- package/dist/cdn/3VHKKQKD.js +2 -0
- package/dist/cdn/4JYY326A.js +2 -0
- package/dist/cdn/4Q6KHGPX.js +2 -0
- package/dist/cdn/4QA4AYHJ.js +3 -0
- package/dist/cdn/556LTKMV.js +2 -0
- package/dist/cdn/55FL7WQV.js +2 -0
- package/dist/cdn/56LBNVWI.js +2 -0
- package/dist/cdn/5GK4VL6E.js +2 -0
- package/dist/cdn/5YULDF4I.js +2 -0
- package/dist/cdn/{7WZHZP6U.js → 63THOLAY.js} +9 -3
- package/dist/cdn/66QLSGRO.js +2 -0
- package/dist/cdn/{DHHSKOUY.js → 6BUBZ7WC.js} +1 -1
- package/dist/cdn/6KVA4AKM.js +2 -0
- package/dist/cdn/6TO2BYXU.js +2 -0
- package/dist/cdn/7FER4S6E.js +2 -0
- package/dist/cdn/7X4JEFCG.js +2 -0
- package/dist/cdn/7XINE67Y.js +2 -0
- package/dist/cdn/A4AA5T6M.js +2 -0
- package/dist/cdn/{WOZDQW3S.js → AAHGOYVY.js} +1 -1
- package/dist/cdn/ABNBGV65.js +2 -0
- package/dist/cdn/ADHQAGMF.js +2 -0
- package/dist/cdn/{QNUYUNEY.js → AQLILDJK.js} +1 -1
- package/dist/cdn/AVMIEBYN.js +2 -0
- package/dist/cdn/B5OENWBU.js +2 -0
- package/dist/cdn/{ZTHTFEYA.js → BGQ633WP.js} +1 -1
- package/dist/cdn/{DKBTJJMW.js → C7ZFXRPS.js} +1 -1
- package/dist/cdn/CFBSBZSS.js +2 -0
- package/dist/cdn/CZQEMMJG.js +2 -0
- package/dist/cdn/{GT26WGJS.js → D4VYYWA6.js} +1 -1
- package/dist/cdn/EBYEZR4N.js +2 -0
- package/dist/cdn/EDPNHNQ2.js +2 -0
- package/dist/cdn/F3ODJVJC.js +2 -0
- package/dist/cdn/FH2SJYYU.js +2 -0
- package/dist/cdn/FL3NSFMY.js +2 -0
- package/dist/cdn/FLXTOBVV.js +2 -0
- package/dist/cdn/G4HKVJ53.js +2 -0
- package/dist/cdn/GIV4XNVY.js +2 -0
- package/dist/cdn/GRQL4XCF.js +2 -0
- package/dist/cdn/H2WZ3ZHI.js +2 -0
- package/dist/cdn/IJ3CLFAU.js +22 -0
- package/dist/cdn/IX2DKW34.js +2 -0
- package/dist/cdn/JTIPENXE.js +2 -0
- package/dist/cdn/JVGCIDQW.js +2 -0
- package/dist/cdn/{3PAHY5KA.js → KNRJ3WXR.js} +1 -1
- package/dist/cdn/L2BME3WC.js +2 -0
- package/dist/cdn/{F6V7MLPY.js → L6KBBJEC.js} +1 -1
- package/dist/cdn/LI7PX6XN.js +2 -0
- package/dist/cdn/LRADZ46B.js +2 -0
- package/dist/cdn/M7DQVQO6.js +2 -0
- package/dist/cdn/N4PON7TR.js +2 -0
- package/dist/cdn/NDMJK6MD.js +66 -0
- package/dist/cdn/OBBYT2AV.js +2 -0
- package/dist/cdn/{53MSUMA3.js → OT4PZJNB.js} +17 -1
- package/dist/cdn/P5PUXFZT.js +2 -0
- package/dist/cdn/PGCNY5GO.js +451 -0
- package/dist/cdn/QE4CNVDQ.js +34 -0
- package/dist/cdn/{AQWTJKUH.js → QKCV7CY2.js} +10 -8
- package/dist/cdn/QS3GXAIH.js +2 -0
- package/dist/cdn/QZD2UBOW.js +2 -0
- package/dist/cdn/RMXAPW7B.js +2 -0
- package/dist/cdn/RPFWESQ4.js +2 -0
- package/dist/cdn/RVCPNNVS.js +2 -0
- package/dist/cdn/SLSCUAED.js +2 -0
- package/dist/cdn/SLTFLCVR.js +99 -0
- package/dist/cdn/TGTT2CVD.js +2 -0
- package/dist/cdn/{DXCPWJU4.js → TKCE4WYE.js} +1 -1
- package/dist/cdn/TQLHU3PC.js +2 -0
- package/dist/cdn/UUGX7XW6.js +2 -0
- package/dist/cdn/UZCHLKLO.js +2 -0
- package/dist/cdn/UZLQALHY.js +2 -0
- package/dist/cdn/V4EVETH3.js +2 -0
- package/dist/cdn/{RR4BIAPA.js → V4EYW3O6.js} +1 -1
- package/dist/cdn/V6VNED6L.js +2 -0
- package/dist/cdn/V6ZHHCLD.js +2 -0
- package/dist/cdn/VMQIDO4Z.js +2 -0
- package/dist/cdn/{74XFARCV.js → VW7DSKPH.js} +1 -1
- package/dist/cdn/W2SYL7IJ.js +71 -0
- package/dist/cdn/{LQ3DMZ3K.js → W3UBNVKL.js} +1 -1
- package/dist/cdn/{W6PSG4GX.js → W4FGRGLV.js} +10 -5
- package/dist/cdn/{SYJSVUUR.js → W4SAWMXS.js} +1 -1
- package/dist/cdn/WBZLQZYR.js +134 -0
- package/dist/cdn/WFBLVCZP.js +2 -0
- package/dist/cdn/WQGRTBPJ.js +2 -0
- package/dist/cdn/XBK3SKPG.js +2 -0
- package/dist/cdn/XDVSCHDD.js +2 -0
- package/dist/cdn/XEK22IDA.js +2 -0
- package/dist/cdn/{LAFNDBTQ.js → XLLMHJCE.js} +1 -1
- package/dist/cdn/Y2XRSYBB.js +2 -0
- package/dist/cdn/Y6LXW5X5.js +2 -0
- package/dist/cdn/YLXNYRQX.js +2 -0
- package/dist/cdn/YPRKDQA4.js +2 -0
- package/dist/cdn/YVKSTDL6.js +2 -0
- package/dist/cdn/ZIHVOT5D.js +2 -0
- package/dist/cdn/assets/portal-account-switcher/t9n/messages.en.json +1 -0
- package/dist/cdn/assets/portal-ai-assistant/t9n/messages.en.json +1 -1
- package/dist/cdn/assets/portal-browser/t9n/messages.en.json +1 -0
- package/dist/cdn/assets/portal-group-badges/t9n/messages.en.json +1 -0
- package/dist/cdn/assets/portal-group-browser/t9n/messages.en.json +1 -0
- package/dist/cdn/assets/portal-group-card/t9n/messages.en.json +1 -0
- package/dist/cdn/assets/portal-item-badges/t9n/messages.en.json +1 -0
- package/dist/cdn/assets/portal-item-card/t9n/messages.en.json +1 -0
- package/dist/cdn/assets/portal-item-favorite/t9n/messages.en.json +1 -0
- package/dist/cdn/assets/portal-item-type/icons/applicationtheme16.svg +1 -0
- package/dist/cdn/assets/portal-item-type/icons/applicationtheme32.svg +1 -0
- package/dist/cdn/assets/portal-item-type/icons/layout16.svg +1 -0
- package/dist/cdn/assets/portal-item-type/icons/layout32.svg +1 -0
- package/dist/cdn/assets/portal-item-type/icons/parquetfeaturelayer16.svg +1 -0
- package/dist/cdn/assets/portal-item-type/icons/parquetfeaturelayer32.svg +1 -0
- package/dist/cdn/assets/portal-item-type/icons/storymapframe16.svg +1 -0
- package/dist/cdn/assets/portal-item-type/icons/storymapframe32.svg +1 -0
- package/dist/cdn/assets/portal-item-type/t9n/messages.en.json +1 -1
- package/dist/cdn/assets/portal-navigation/apps/api-for-python.avif +0 -0
- package/dist/cdn/assets/portal-navigation/apps/appstudio.avif +0 -0
- package/dist/cdn/assets/portal-navigation/apps/arcade.avif +0 -0
- package/dist/cdn/assets/portal-navigation/apps/arcgis-360-vr.avif +0 -0
- package/dist/cdn/assets/portal-navigation/apps/arcgis-earth.avif +0 -0
- package/dist/cdn/assets/portal-navigation/apps/arcgis-enterprise.avif +0 -0
- package/dist/cdn/assets/portal-navigation/apps/arcgis-experience-builder.avif +0 -0
- package/dist/cdn/assets/portal-navigation/apps/arcgis-geoanalytics.avif +0 -0
- package/dist/cdn/assets/portal-navigation/apps/arcgis-hub.avif +0 -0
- package/dist/cdn/assets/portal-navigation/apps/arcgis-online.avif +0 -0
- package/dist/cdn/assets/portal-navigation/apps/arcgis-pro.avif +0 -0
- package/dist/cdn/assets/portal-navigation/apps/arcgis-reality-studio.avif +0 -0
- package/dist/cdn/assets/portal-navigation/apps/arcgis-urban.avif +0 -0
- package/dist/cdn/assets/portal-navigation/apps/blank.avif +0 -0
- package/dist/cdn/assets/portal-navigation/apps/business-analyst.avif +0 -0
- package/dist/cdn/assets/portal-navigation/apps/city-engine.avif +0 -0
- package/dist/cdn/assets/portal-navigation/apps/collector.avif +0 -0
- package/dist/cdn/assets/portal-navigation/apps/community-analyst.avif +0 -0
- package/dist/cdn/assets/portal-navigation/apps/configurable-apps.avif +0 -0
- package/dist/cdn/assets/portal-navigation/apps/dashboards-beta.avif +0 -0
- package/dist/cdn/assets/portal-navigation/apps/dashboards-classic.avif +0 -0
- package/dist/cdn/assets/portal-navigation/apps/data-pipelines.avif +0 -0
- package/dist/cdn/assets/portal-navigation/apps/deeplearningstudio.avif +0 -0
- package/dist/cdn/assets/portal-navigation/apps/demographics.avif +0 -0
- package/dist/cdn/assets/portal-navigation/apps/drone2map.avif +0 -0
- package/dist/cdn/assets/portal-navigation/apps/esri-events.avif +0 -0
- package/dist/cdn/assets/portal-navigation/apps/essential-apps.avif +0 -0
- package/dist/cdn/assets/portal-navigation/apps/excalibur.avif +0 -0
- package/dist/cdn/assets/portal-navigation/apps/explorer.avif +0 -0
- package/dist/cdn/assets/portal-navigation/apps/field-apps.avif +0 -0
- package/dist/cdn/assets/portal-navigation/apps/fieldmaps-beta.avif +0 -0
- package/dist/cdn/assets/portal-navigation/apps/fieldmaps-ea.avif +0 -0
- package/dist/cdn/assets/portal-navigation/apps/fieldmaps.avif +0 -0
- package/dist/cdn/assets/portal-navigation/apps/generic-app.avif +0 -0
- package/dist/cdn/assets/portal-navigation/apps/geobim.avif +0 -0
- package/dist/cdn/assets/portal-navigation/apps/geoplanner.avif +0 -0
- package/dist/cdn/assets/portal-navigation/apps/grid-view-9.avif +0 -0
- package/dist/cdn/assets/portal-navigation/apps/indoor.avif +0 -0
- package/dist/cdn/assets/portal-navigation/apps/indoors.avif +0 -0
- package/dist/cdn/assets/portal-navigation/apps/insights.avif +0 -0
- package/dist/cdn/assets/portal-navigation/apps/instant-apps.avif +0 -0
- package/dist/cdn/assets/portal-navigation/apps/ips.avif +0 -0
- package/dist/cdn/assets/portal-navigation/apps/knowledge-studio.avif +0 -0
- package/dist/cdn/assets/portal-navigation/apps/living-atlas.avif +0 -0
- package/dist/cdn/assets/portal-navigation/apps/location-platform.avif +0 -0
- package/dist/cdn/assets/portal-navigation/apps/map-maker.avif +0 -0
- package/dist/cdn/assets/portal-navigation/apps/map-viewer-beta.avif +0 -0
- package/dist/cdn/assets/portal-navigation/apps/map-viewer-classic.avif +0 -0
- package/dist/cdn/assets/portal-navigation/apps/map-viewer.avif +0 -0
- package/dist/cdn/assets/portal-navigation/apps/maps-adobe-cloud.avif +0 -0
- package/dist/cdn/assets/portal-navigation/apps/maps-for-office.avif +0 -0
- package/dist/cdn/assets/portal-navigation/apps/maps-for-power-bi.avif +0 -0
- package/dist/cdn/assets/portal-navigation/apps/maps-for-sharepoint.avif +0 -0
- package/dist/cdn/assets/portal-navigation/apps/marketplace.avif +0 -0
- package/dist/cdn/assets/portal-navigation/apps/mission.avif +0 -0
- package/dist/cdn/assets/portal-navigation/apps/monitor.avif +0 -0
- package/dist/cdn/assets/portal-navigation/apps/navigator.avif +0 -0
- package/dist/cdn/assets/portal-navigation/apps/notebook.avif +0 -0
- package/dist/cdn/assets/portal-navigation/apps/office-apps.avif +0 -0
- package/dist/cdn/assets/portal-navigation/apps/open-data.avif +0 -0
- package/dist/cdn/assets/portal-navigation/apps/operations-dashboard.avif +0 -0
- package/dist/cdn/assets/portal-navigation/apps/ortho-maker.avif +0 -0
- package/dist/cdn/assets/portal-navigation/apps/pro-extension.avif +0 -0
- package/dist/cdn/assets/portal-navigation/apps/quick-capture.avif +0 -0
- package/dist/cdn/assets/portal-navigation/apps/redistricting.avif +0 -0
- package/dist/cdn/assets/portal-navigation/apps/runtime.avif +0 -0
- package/dist/cdn/assets/portal-navigation/apps/scene-viewer.avif +0 -0
- package/dist/cdn/assets/portal-navigation/apps/sites.avif +0 -0
- package/dist/cdn/assets/portal-navigation/apps/solutions.avif +0 -0
- package/dist/cdn/assets/portal-navigation/apps/story-maps.avif +0 -0
- package/dist/cdn/assets/portal-navigation/apps/streetmap-premium.avif +0 -0
- package/dist/cdn/assets/portal-navigation/apps/survey123.avif +0 -0
- package/dist/cdn/assets/portal-navigation/apps/svg-app-circle.svg +1 -0
- package/dist/cdn/assets/portal-navigation/apps/svg-app-icon.svg +1 -0
- package/dist/cdn/assets/portal-navigation/apps/track-viewer.avif +0 -0
- package/dist/cdn/assets/portal-navigation/apps/user-type-extension-online.avif +0 -0
- package/dist/cdn/assets/portal-navigation/apps/user-type-extension.avif +0 -0
- package/dist/cdn/assets/portal-navigation/apps/vector-tile-style-editor.avif +0 -0
- package/dist/cdn/assets/portal-navigation/apps/velocity.avif +0 -0
- package/dist/cdn/assets/portal-navigation/apps/web-app-builder.avif +0 -0
- package/dist/cdn/assets/portal-navigation/apps/web-editor.avif +0 -0
- package/dist/cdn/assets/portal-navigation/apps/web-mapping.avif +0 -0
- package/dist/cdn/assets/portal-navigation/apps/workflow-manager-beta.avif +0 -0
- package/dist/cdn/assets/portal-navigation/apps/workflow-manager.avif +0 -0
- package/dist/cdn/assets/portal-navigation/apps/workforce.avif +0 -0
- package/dist/cdn/assets/portal-navigation/product-logos/advanced-editing-user-type-extension-glyph-32.svg +1 -0
- package/dist/cdn/assets/portal-navigation/product-logos/arc-hydro-glyph-32.svg +1 -0
- package/dist/cdn/assets/portal-navigation/product-logos/arcgis-360-vr-glyph-32.svg +1 -0
- package/dist/cdn/assets/portal-navigation/product-logos/arcgis-api-for-python-glyph-32.svg +1 -0
- package/dist/cdn/assets/portal-navigation/product-logos/arcgis-appstudio-glyph-32.svg +1 -0
- package/dist/cdn/assets/portal-navigation/product-logos/arcgis-arcade-expression-language-glyph-32.svg +1 -0
- package/dist/cdn/assets/portal-navigation/product-logos/arcgis-business-analyst-glyph-32.svg +1 -0
- package/dist/cdn/assets/portal-navigation/product-logos/arcgis-cityengine-glyph-32.svg +1 -0
- package/dist/cdn/assets/portal-navigation/product-logos/arcgis-collector-glyph-32.svg +1 -0
- package/dist/cdn/assets/portal-navigation/product-logos/arcgis-community-analyst-glyph-32.svg +1 -0
- package/dist/cdn/assets/portal-navigation/product-logos/arcgis-connectors-for-power-automate-glyph-32.svg +1 -0
- package/dist/cdn/assets/portal-navigation/product-logos/arcgis-dashboards-glyph-32.svg +1 -0
- package/dist/cdn/assets/portal-navigation/product-logos/arcgis-data-interoperability-glyph-32.svg +1 -0
- package/dist/cdn/assets/portal-navigation/product-logos/arcgis-data-pipelines-glyph-32.svg +1 -0
- package/dist/cdn/assets/portal-navigation/product-logos/arcgis-data-reviewer-glyph-32.svg +1 -0
- package/dist/cdn/assets/portal-navigation/product-logos/arcgis-deep-learning-studio-glyph-32.svg +1 -0
- package/dist/cdn/assets/portal-navigation/product-logos/arcgis-drone2map-glyph-32.svg +1 -0
- package/dist/cdn/assets/portal-navigation/product-logos/arcgis-earth-glyph-32.svg +1 -0
- package/dist/cdn/assets/portal-navigation/product-logos/arcgis-enterprise-glyph-32.svg +1 -0
- package/dist/cdn/assets/portal-navigation/product-logos/arcgis-excalibur-glyph-32.svg +1 -0
- package/dist/cdn/assets/portal-navigation/product-logos/arcgis-excalibur-gray-glyph-32.svg +1 -0
- package/dist/cdn/assets/portal-navigation/product-logos/arcgis-experience-builder-glyph-32.svg +1 -0
- package/dist/cdn/assets/portal-navigation/product-logos/arcgis-explorer-glyph-32.svg +1 -0
- package/dist/cdn/assets/portal-navigation/product-logos/arcgis-field-maps-designer-ea-glyph-32.svg +1 -0
- package/dist/cdn/assets/portal-navigation/product-logos/arcgis-field-maps-glyph-32.svg +1 -0
- package/dist/cdn/assets/portal-navigation/product-logos/arcgis-flight-glyph-32.svg +1 -0
- package/dist/cdn/assets/portal-navigation/product-logos/arcgis-for-autocad-glyph-32.svg +1 -0
- package/dist/cdn/assets/portal-navigation/product-logos/arcgis-for-autodesk-forma-glyph-32.svg +1 -0
- package/dist/cdn/assets/portal-navigation/product-logos/arcgis-for-developers-glyph-32.svg +1 -0
- package/dist/cdn/assets/portal-navigation/product-logos/arcgis-for-excel-glyph-32.svg +1 -0
- package/dist/cdn/assets/portal-navigation/product-logos/arcgis-for-microsoft-365-glyph-32.svg +1 -0
- package/dist/cdn/assets/portal-navigation/product-logos/arcgis-for-power-apps-glyph-32.svg +1 -0
- package/dist/cdn/assets/portal-navigation/product-logos/arcgis-for-teams-glyph-32.svg +1 -0
- package/dist/cdn/assets/portal-navigation/product-logos/arcgis-geoanalytics-engine-glyph-32.svg +1 -0
- package/dist/cdn/assets/portal-navigation/product-logos/arcgis-geobim-glyph-32.svg +1 -0
- package/dist/cdn/assets/portal-navigation/product-logos/arcgis-geoplanner-glyph-32.svg +1 -0
- package/dist/cdn/assets/portal-navigation/product-logos/arcgis-hub-glyph-32.svg +1 -0
- package/dist/cdn/assets/portal-navigation/product-logos/arcgis-image-glyph-32.svg +1 -0
- package/dist/cdn/assets/portal-navigation/product-logos/arcgis-indoors-glyph-32.svg +1 -0
- package/dist/cdn/assets/portal-navigation/product-logos/arcgis-insights-glyph-32.svg +1 -0
- package/dist/cdn/assets/portal-navigation/product-logos/arcgis-instant-apps-glyph-32.svg +1 -0
- package/dist/cdn/assets/portal-navigation/product-logos/arcgis-knowledge-glyph-32.svg +1 -0
- package/dist/cdn/assets/portal-navigation/product-logos/arcgis-living-atlas-of-the-world-glyph-32.svg +1 -0
- package/dist/cdn/assets/portal-navigation/product-logos/arcgis-location-platform-glyph-32.svg +1 -0
- package/dist/cdn/assets/portal-navigation/product-logos/arcgis-logo-glyph-32.svg +76 -0
- package/dist/cdn/assets/portal-navigation/product-logos/arcgis-maps-for-adobe-creative-cloud-glyph-32.svg +1 -0
- package/dist/cdn/assets/portal-navigation/product-logos/arcgis-maps-for-power-bi-glyph-32.svg +1 -0
- package/dist/cdn/assets/portal-navigation/product-logos/arcgis-maps-for-sharepoint-glyph-32.svg +1 -0
- package/dist/cdn/assets/portal-navigation/product-logos/arcgis-maps-sdk-for-javascript-glyph-32.svg +1 -0
- package/dist/cdn/assets/portal-navigation/product-logos/arcgis-maps-sdks-for-game-engines-glyph-32.svg +1 -0
- package/dist/cdn/assets/portal-navigation/product-logos/arcgis-maps-sdks-for-native-apps-glyph-32.svg +1 -0
- package/dist/cdn/assets/portal-navigation/product-logos/arcgis-maritime-glyph-32.svg +1 -0
- package/dist/cdn/assets/portal-navigation/product-logos/arcgis-marketplace-glyph-32.svg +1 -0
- package/dist/cdn/assets/portal-navigation/product-logos/arcgis-mission-glyph-32.svg +1 -0
- package/dist/cdn/assets/portal-navigation/product-logos/arcgis-monitor-glyph-32.svg +1 -0
- package/dist/cdn/assets/portal-navigation/product-logos/arcgis-monitor-white-glyph-32.svg +1 -0
- package/dist/cdn/assets/portal-navigation/product-logos/arcgis-navigator-glyph-32.svg +1 -0
- package/dist/cdn/assets/portal-navigation/product-logos/arcgis-notebooks-glyph-32.svg +1 -0
- package/dist/cdn/assets/portal-navigation/product-logos/arcgis-online-glyph-32.svg +1 -0
- package/dist/cdn/assets/portal-navigation/product-logos/arcgis-open-data-glyph-32.svg +1 -0
- package/dist/cdn/assets/portal-navigation/product-logos/arcgis-open-source-apps-glyph-32.svg +1 -0
- package/dist/cdn/assets/portal-navigation/product-logos/arcgis-ortho-maker-glyph-32.svg +1 -0
- package/dist/cdn/assets/portal-navigation/product-logos/arcgis-parcel-fabric-glyph-32.svg +1 -0
- package/dist/cdn/assets/portal-navigation/product-logos/arcgis-pipeline-referencing-glyph-32.svg +1 -0
- package/dist/cdn/assets/portal-navigation/product-logos/arcgis-pro-for-intelligence-glyph-32.svg +1 -0
- package/dist/cdn/assets/portal-navigation/product-logos/arcgis-pro-glyph-32.svg +1 -0
- package/dist/cdn/assets/portal-navigation/product-logos/arcgis-quickcapture-glyph-32.svg +1 -0
- package/dist/cdn/assets/portal-navigation/product-logos/arcgis-reality-studio-glyph-32.svg +1 -0
- package/dist/cdn/assets/portal-navigation/product-logos/arcgis-roads-and-highways-glyph-32.svg +1 -0
- package/dist/cdn/assets/portal-navigation/product-logos/arcgis-sites-glyph-32.svg +1 -0
- package/dist/cdn/assets/portal-navigation/product-logos/arcgis-solutions-glyph-32.svg +1 -0
- package/dist/cdn/assets/portal-navigation/product-logos/arcgis-storymaps-glyph-32.svg +1 -0
- package/dist/cdn/assets/portal-navigation/product-logos/arcgis-streetmap-premium-glyph-32.svg +1 -0
- package/dist/cdn/assets/portal-navigation/product-logos/arcgis-survey123-connect-glyph-32.svg +1 -0
- package/dist/cdn/assets/portal-navigation/product-logos/arcgis-survey123-glyph-32.svg +1 -0
- package/dist/cdn/assets/portal-navigation/product-logos/arcgis-tracker-glyph-32.svg +1 -0
- package/dist/cdn/assets/portal-navigation/product-logos/arcgis-urban-glyph-32.svg +1 -0
- package/dist/cdn/assets/portal-navigation/product-logos/arcgis-utility-network-management-glyph-32.svg +1 -0
- package/dist/cdn/assets/portal-navigation/product-logos/arcgis-velocity-glyph-32.svg +6 -0
- package/dist/cdn/assets/portal-navigation/product-logos/arcgis-web-appbuilder-glyph-32.svg +1 -0
- package/dist/cdn/assets/portal-navigation/product-logos/arcgis-web-editor-glyph-32.svg +1 -0
- package/dist/cdn/assets/portal-navigation/product-logos/arcgis-workflow-manager-glyph-32.svg +1 -0
- package/dist/cdn/assets/portal-navigation/product-logos/arcgis-workforce-glyph-32.svg +1 -0
- package/dist/cdn/assets/portal-navigation/product-logos/arcgis-world-geocoder-glyph-32.svg +1 -0
- package/dist/cdn/assets/portal-navigation/product-logos/calcite-design-system-glyph-32.svg +1 -0
- package/dist/cdn/assets/portal-navigation/product-logos/esri-community-glyph-32.svg +1 -0
- package/dist/cdn/assets/portal-navigation/product-logos/esri-demographics-glyph-32.svg +1 -0
- package/dist/cdn/assets/portal-navigation/product-logos/esri-events-glyph-32.svg +1 -0
- package/dist/cdn/assets/portal-navigation/product-logos/esri-offline-documentation-center--glyph-32.svg +1 -0
- package/dist/cdn/assets/portal-navigation/product-logos/esri-redistricting-glyph-32.svg +1 -0
- package/dist/cdn/assets/portal-navigation/product-logos/esri-reports-glyph-32.svg +1 -0
- package/dist/cdn/assets/portal-navigation/product-logos/esri-support-glyph-32.svg +1 -0
- package/dist/cdn/assets/portal-navigation/product-logos/map-viewer-glyph-32.svg +1 -0
- package/dist/cdn/assets/portal-navigation/product-logos/sceneviewer-glyph-32.svg +1 -0
- package/dist/cdn/assets/portal-navigation/product-logos/site-scan-for-arcgis-glyph-32.svg +1 -0
- package/dist/cdn/assets/portal-navigation/product-logos/site-scan-for-arcgis-le-glyph-32.svg +1 -0
- package/dist/cdn/assets/portal-navigation/product-logos/vector-tile-style-editor-glyph-32.svg +1 -0
- package/dist/cdn/assets/portal-navigation/product-logos/xr-viewer-glyph-32.svg +1 -0
- package/dist/cdn/assets/portal-navigation/t9n/messages.en.json +1 -0
- package/dist/cdn/index.js +1 -1
- package/dist/cdn/main.css +1 -1
- package/dist/chunks/dom.js +41 -0
- package/dist/chunks/fieldAddDelete.js +1 -1
- package/dist/chunks/functionalities.js +6 -4
- package/dist/chunks/groups.js +13 -35
- package/dist/chunks/groups2.js +11 -0
- package/dist/chunks/icons.js +11 -0
- package/dist/chunks/info.js +179 -0
- package/dist/chunks/item.js +15 -15
- package/dist/chunks/item2.js +34 -0
- package/dist/chunks/items.js +16 -0
- package/dist/chunks/loadClassificationData.js +19 -19
- package/dist/chunks/portal-account-switcher.js +6 -0
- package/dist/chunks/portal-browser.js +220 -0
- package/dist/chunks/portal-item-badge.js +346 -0
- package/dist/chunks/portal.js +91 -8
- package/dist/chunks/portal2.js +59 -0
- package/dist/chunks/query.js +159 -0
- package/dist/chunks/request.js +87 -0
- package/dist/chunks/requests.js +92 -44
- package/dist/chunks/store.js +14 -0
- package/dist/chunks/string.js +36 -0
- package/dist/chunks/thumbnail.js +189 -0
- package/dist/chunks/ui.js +9 -0
- package/dist/chunks/url.js +17 -0
- package/dist/chunks/user.js +99 -4
- package/dist/chunks/user2.js +13 -107
- package/dist/chunks/users.js +7 -0
- package/dist/chunks/utils.js +88 -0
- package/dist/chunks/utils2.js +653 -0
- package/dist/chunks/verified.js +40 -0
- package/dist/components/arcgis-portal-account-switcher/customElement.d.ts +99 -0
- package/dist/components/arcgis-portal-account-switcher/customElement.js +365 -0
- package/dist/components/arcgis-portal-account-switcher/index.d.ts +1 -0
- package/dist/components/arcgis-portal-account-switcher/index.js +11 -0
- package/dist/components/arcgis-portal-account-switcher-accounts/customElement.d.ts +100 -0
- package/dist/components/arcgis-portal-account-switcher-accounts/customElement.js +31 -0
- package/dist/components/arcgis-portal-account-switcher-accounts/index.d.ts +1 -0
- package/dist/components/arcgis-portal-account-switcher-accounts/index.js +5 -0
- package/dist/components/arcgis-portal-account-switcher-list/customElement.d.ts +104 -0
- package/dist/components/arcgis-portal-account-switcher-list/customElement.js +51 -0
- package/dist/components/arcgis-portal-account-switcher-list/index.d.ts +1 -0
- package/dist/components/arcgis-portal-account-switcher-list/index.js +7 -0
- package/dist/components/arcgis-portal-ai-assistant/agents/types.d.ts +62 -3
- package/dist/components/arcgis-portal-ai-assistant/customElement.d.ts +59 -3
- package/dist/components/arcgis-portal-ai-assistant/customElement.js +1768 -592
- package/dist/components/arcgis-portal-ai-assistant/data/capability-registries/types.d.ts +34 -0
- package/dist/components/arcgis-portal-browser/customElement.d.ts +243 -0
- package/dist/components/arcgis-portal-browser/customElement.js +16 -0
- package/dist/components/arcgis-portal-browser/index.d.ts +1 -0
- package/dist/components/arcgis-portal-browser/index.js +6 -0
- package/dist/components/arcgis-portal-browser/utils/store.d.ts +35 -0
- package/dist/components/arcgis-portal-browser/utils/types.d.ts +24 -0
- package/dist/components/arcgis-portal-browser-actions/customElement.d.ts +185 -0
- package/dist/components/arcgis-portal-browser-actions/customElement.js +73 -0
- package/dist/components/arcgis-portal-browser-actions/index.d.ts +1 -0
- package/dist/components/arcgis-portal-browser-actions/index.js +6 -0
- package/dist/components/arcgis-portal-browser-actions/types.d.ts +9 -0
- package/dist/components/arcgis-portal-browser-filter-status/customElement.d.ts +193 -0
- package/dist/components/arcgis-portal-browser-filter-status/customElement.js +56 -0
- package/dist/components/arcgis-portal-browser-filter-status/index.d.ts +1 -0
- package/dist/components/arcgis-portal-browser-filter-status/index.js +5 -0
- package/dist/components/arcgis-portal-browser-pagination/customElement.d.ts +194 -0
- package/dist/components/arcgis-portal-browser-pagination/customElement.js +49 -0
- package/dist/components/arcgis-portal-browser-pagination/index.d.ts +1 -0
- package/dist/components/arcgis-portal-browser-pagination/index.js +2 -0
- package/dist/components/arcgis-portal-browser-search/customElement.d.ts +195 -0
- package/dist/components/arcgis-portal-browser-search/customElement.js +62 -0
- package/dist/components/arcgis-portal-browser-search/index.d.ts +1 -0
- package/dist/components/arcgis-portal-browser-search/index.js +3 -0
- package/dist/components/arcgis-portal-browser-sort/customElement.d.ts +196 -0
- package/dist/components/arcgis-portal-browser-sort/customElement.js +93 -0
- package/dist/components/arcgis-portal-browser-sort/index.d.ts +1 -0
- package/dist/components/arcgis-portal-browser-sort/index.js +9 -0
- package/dist/components/arcgis-portal-browser-sort/utils.d.ts +3 -0
- package/dist/components/arcgis-portal-browser-top-bar/customElement.d.ts +190 -0
- package/dist/components/arcgis-portal-browser-top-bar/customElement.js +50 -0
- package/dist/components/arcgis-portal-browser-top-bar/index.d.ts +1 -0
- package/dist/components/arcgis-portal-browser-top-bar/index.js +3 -0
- package/dist/components/arcgis-portal-browser-view/customElement.d.ts +21 -0
- package/dist/components/arcgis-portal-browser-view/customElement.js +30 -0
- package/dist/components/arcgis-portal-browser-view/index.d.ts +1 -0
- package/dist/components/arcgis-portal-browser-view/index.js +5 -0
- package/dist/components/arcgis-portal-classification-config/customElement.js +7 -7
- package/dist/components/arcgis-portal-classification-favorite/customElement.js +1 -1
- package/dist/components/arcgis-portal-field-delete/customElement.js +2 -1
- package/dist/components/arcgis-portal-group-badges/customElement.d.ts +101 -0
- package/dist/components/arcgis-portal-group-badges/customElement.js +51 -0
- package/dist/components/arcgis-portal-group-badges/index.d.ts +1 -0
- package/dist/components/arcgis-portal-group-badges/index.js +3 -0
- package/dist/components/arcgis-portal-group-badges/types.d.ts +3 -0
- package/dist/components/arcgis-portal-group-browser/customElement.d.ts +475 -0
- package/dist/components/arcgis-portal-group-browser/customElement.js +492 -0
- package/dist/components/arcgis-portal-group-browser/index.d.ts +1 -0
- package/dist/components/arcgis-portal-group-browser/index.js +6 -0
- package/dist/components/arcgis-portal-group-browser/types.d.ts +197 -0
- package/dist/components/arcgis-portal-group-browser-preview/customElement.d.ts +225 -0
- package/dist/components/arcgis-portal-group-browser-preview/customElement.js +150 -0
- package/dist/components/arcgis-portal-group-browser-preview/index.d.ts +1 -0
- package/dist/components/arcgis-portal-group-browser-preview/index.js +12 -0
- package/dist/components/arcgis-portal-group-browser-preview-card/customElement.d.ts +82 -0
- package/dist/components/arcgis-portal-group-browser-preview-card/customElement.js +93 -0
- package/dist/components/arcgis-portal-group-browser-preview-card/index.d.ts +1 -0
- package/dist/components/arcgis-portal-group-browser-preview-card/index.js +6 -0
- package/dist/components/arcgis-portal-group-card/customElement.d.ts +169 -0
- package/dist/components/arcgis-portal-group-card/customElement.js +163 -0
- package/dist/components/arcgis-portal-group-card/index.d.ts +1 -0
- package/dist/components/arcgis-portal-group-card/index.js +8 -0
- package/dist/components/arcgis-portal-group-thumbnail/customElement.d.ts +32 -0
- package/dist/components/arcgis-portal-group-thumbnail/customElement.js +153 -0
- package/dist/components/arcgis-portal-group-thumbnail/index.d.ts +1 -0
- package/dist/components/arcgis-portal-group-thumbnail/index.js +3 -0
- package/dist/components/arcgis-portal-info-banner/customElement.d.ts +14 -0
- package/dist/components/arcgis-portal-info-banner/customElement.js +31 -0
- package/dist/components/arcgis-portal-info-banner/index.d.ts +1 -0
- package/dist/components/arcgis-portal-info-banner/index.js +1 -0
- package/dist/components/arcgis-portal-item-actions/customElement.d.ts +74 -0
- package/dist/components/arcgis-portal-item-actions/customElement.js +89 -0
- package/dist/components/arcgis-portal-item-actions/index.d.ts +1 -0
- package/dist/components/arcgis-portal-item-actions/index.js +5 -0
- package/dist/components/arcgis-portal-item-badge/customElement.d.ts +260 -0
- package/dist/components/arcgis-portal-item-badge/customElement.js +9 -0
- package/dist/components/arcgis-portal-item-badge/index.d.ts +1 -0
- package/dist/components/arcgis-portal-item-badge/index.js +5 -0
- package/dist/components/arcgis-portal-item-badges/customElement.d.ts +48 -0
- package/dist/components/arcgis-portal-item-badges/customElement.js +35 -0
- package/dist/components/arcgis-portal-item-badges/index.d.ts +1 -0
- package/dist/components/arcgis-portal-item-badges/index.js +2 -0
- package/dist/components/arcgis-portal-item-badges/types.d.ts +1 -0
- package/dist/components/arcgis-portal-item-card/customElement.d.ts +215 -0
- package/dist/components/arcgis-portal-item-card/customElement.js +190 -0
- package/dist/components/arcgis-portal-item-card/index.d.ts +1 -0
- package/dist/components/arcgis-portal-item-card/index.js +10 -0
- package/dist/components/arcgis-portal-item-favorite/customElement.d.ts +36 -0
- package/dist/components/arcgis-portal-item-favorite/customElement.js +66 -0
- package/dist/components/arcgis-portal-item-favorite/index.d.ts +1 -0
- package/dist/components/arcgis-portal-item-favorite/index.js +3 -0
- package/dist/components/arcgis-portal-item-favorite/utils.d.ts +4 -0
- package/dist/components/arcgis-portal-item-type/customElement.d.ts +3 -1
- package/dist/components/arcgis-portal-item-type/customElement.js +22 -651
- package/dist/components/arcgis-portal-mentionable-text-area/customElement.js +40 -38
- package/dist/components/arcgis-portal-navigation/customElement.d.ts +528 -0
- package/dist/components/arcgis-portal-navigation/customElement.js +1849 -0
- package/dist/components/arcgis-portal-navigation/index.d.ts +1 -0
- package/dist/components/arcgis-portal-navigation/index.js +30 -0
- package/dist/components/arcgis-portal-navigation/types.d.ts +44 -0
- package/dist/components/arcgis-portal-replacement-item-redirect/customElement.js +53 -410
- package/dist/components/arcgis-portal-user-avatar/customElement.js +2 -2
- package/dist/components/arcgis-portal-user-popup/customElement.d.ts +5 -2
- package/dist/components/arcgis-portal-user-popup/customElement.js +82 -141
- package/dist/components/arcgis-portal-voice-input/customElement.d.ts +1 -1
- package/dist/components/portal-browser/components/portal-browser-filter/customElement.js +14 -0
- package/dist/components/portal-browser/components/portal-browser-filter/index.js +3 -0
- package/dist/components/portal-browser/components/portal-browser-filter-date/customElement.js +59 -0
- package/dist/components/portal-browser/components/portal-browser-filter-date/index.js +4 -0
- package/dist/components/portal-browser/components/portal-browser-filters/customElement.js +11 -0
- package/dist/components/portal-browser/components/portal-browser-filters/index.js +2 -0
- package/dist/components/portal-group-browser-filters/customElement.js +129 -0
- package/dist/components/portal-group-browser-filters/index.js +5 -0
- package/dist/components/portal-group-browser-pagination/customElement.js +13 -0
- package/dist/components/portal-group-browser-pagination/index.js +2 -0
- package/dist/components/portal-group-browser-sort/customElement.js +16 -0
- package/dist/components/portal-group-browser-sort/index.js +2 -0
- package/dist/docs/api.json +1 -1
- package/dist/docs/docs.json +1 -1
- package/dist/docs/vscode.css-custom-data.json +1 -1
- package/dist/docs/vscode.html-custom-data.json +1 -1
- package/dist/docs/web-types.json +1 -1
- package/dist/index.d.ts +206 -2
- package/dist/loader.js +28 -4
- package/dist/types/app-switcher.d.ts +71 -0
- package/dist/types/group.d.ts +14 -16
- package/dist/types/item.d.ts +80 -1
- package/dist/types/lumina.d.ts +170 -1
- package/dist/types/portal.d.ts +6 -0
- package/dist/types/preact.d.ts +194 -1
- package/dist/types/react.d.ts +218 -1
- package/dist/types/search.d.ts +30 -0
- package/dist/types/stencil.d.ts +170 -1
- package/dist/types/user.d.ts +16 -3
- package/package.json +9 -10
- package/dist/cdn/35SKVD6F.js +0 -2
- package/dist/cdn/5VSDGPHH.js +0 -2
- package/dist/cdn/72N3KAXN.js +0 -2
- package/dist/cdn/ANPXRYLV.js +0 -5
- package/dist/cdn/B7633S2A.js +0 -422
- package/dist/cdn/BEHLBKKM.js +0 -2
- package/dist/cdn/EVDOPN3G.js +0 -54
- package/dist/cdn/G47ZZQYL.js +0 -2
- package/dist/cdn/G6QT6MYP.js +0 -65
- package/dist/cdn/GAHILDQF.js +0 -45
- package/dist/cdn/GHQ3ZW4U.js +0 -2
- package/dist/cdn/JNRN6DTV.js +0 -2
- package/dist/cdn/K3HS2LQ7.js +0 -2
- package/dist/cdn/KEKBRUUC.js +0 -2
- package/dist/cdn/L3BQK62N.js +0 -2
- package/dist/cdn/MX3F5ZCL.js +0 -2
- package/dist/cdn/O3KBWLGU.js +0 -2
- package/dist/cdn/OQDPULPD.js +0 -2
- package/dist/cdn/RNLVNDGG.js +0 -2
- package/dist/cdn/T25WZ6OL.js +0 -516
- package/dist/cdn/TMYTUOSS.js +0 -2
- package/dist/cdn/UPEVTVNZ.js +0 -2
- package/dist/cdn/V2EOXGK2.js +0 -2
- package/dist/cdn/X5NBQPTM.js +0 -2
- package/dist/cdn/YG5YYL6X.js +0 -2
- package/dist/cdn/YIMNOUTF.js +0 -2
- package/dist/cdn/YL7PGYWC.js +0 -5
- package/dist/cdn/YMPTDKT6.js +0 -2
- package/dist/cdn/YVJRXWM3.js +0 -3
|
@@ -0,0 +1,1849 @@
|
|
|
1
|
+
/* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
|
|
2
|
+
import { g as ee, c as gt } from "../../chunks/runtime.js";
|
|
3
|
+
import { safeStyleMap as ke, safeClassMap as H, LitElement as bt, createEvent as V } from "@arcgis/lumina";
|
|
4
|
+
import { u as vt } from "../../chunks/useT9n.js";
|
|
5
|
+
import { nothing as L, html as c, svg as _t, css as wt } from "lit";
|
|
6
|
+
import { formatDate as yt, substitute as K, getLocale as $t } from "@arcgis/core/intl.js";
|
|
7
|
+
import { g as re, b as Ae } from "../../chunks/url.js";
|
|
8
|
+
import { a as G } from "../../chunks/requests.js";
|
|
9
|
+
import { repeat as z } from "lit/directives/repeat.js";
|
|
10
|
+
import { m as kt } from "../../chunks/icons.js";
|
|
11
|
+
import { i as C, c as he, a as At } from "../../chunks/user2.js";
|
|
12
|
+
import "@arcgis/core/portal/Portal.js";
|
|
13
|
+
import { c as xt, d as St, e as It, f as Pt, h as Nt } from "../../chunks/portal2.js";
|
|
14
|
+
import { c as Tt, d as Ct, e as Mt } from "../../chunks/user.js";
|
|
15
|
+
import { i as xe, a as Lt } from "../../chunks/utils2.js";
|
|
16
|
+
import { g as Ot } from "../../chunks/request.js";
|
|
17
|
+
import { g as Se } from "../../chunks/item2.js";
|
|
18
|
+
import { keyed as oe } from "lit/directives/keyed.js";
|
|
19
|
+
import { e as se, n as Et, g as ae, f as q, a as jt } from "../../chunks/portal.js";
|
|
20
|
+
import { ref as F, createRef as B } from "lit/directives/ref.js";
|
|
21
|
+
import { c as Dt, g as zt } from "../../chunks/dom.js";
|
|
22
|
+
import { debounce as me } from "@arcgis/toolkit/function";
|
|
23
|
+
import Gt from "@arcgis/core/identity/IdentityManager.js";
|
|
24
|
+
import { t as Ut } from "../../chunks/functionalities.js";
|
|
25
|
+
import { c as Bt } from "../../chunks/string.js";
|
|
26
|
+
function fe({ portal: e, productInfo: t }) {
|
|
27
|
+
const { name: i, glyph: n } = t || {};
|
|
28
|
+
return c`<img alt class="logo__glyph" src=${n ?? L}><span class="logo__text"><span class="logo__title">${i}</span>${e?.name && c`<span class="logo__subtitle">${e.name}</span>` || ""}</span>`;
|
|
29
|
+
}
|
|
30
|
+
function Ft({ navigate: e, portal: t, product: i, productInfo: n, productHref: r, messages: o, searchActive: s, showNav: a, projectTitleEditing: l }) {
|
|
31
|
+
const u = s && i === "Online" && !a || i !== "Online" && l && window.innerWidth < 960;
|
|
32
|
+
return !i || !t || !o || u ? null : r ? c`<a href=${r ?? L} @click=${(h) => {
|
|
33
|
+
e({ event: h, href: r });
|
|
34
|
+
}} class="logo fade-in logo--link">${fe({ portal: t, productInfo: n })}</a>` : c`<div class="logo fade-in">${fe({ portal: t, productInfo: n })}</div>`;
|
|
35
|
+
}
|
|
36
|
+
const Y = {}, T = {
|
|
37
|
+
Month: 2628e3,
|
|
38
|
+
Week: 604800,
|
|
39
|
+
Day: 86400,
|
|
40
|
+
Hour: 3600,
|
|
41
|
+
Minute: 60,
|
|
42
|
+
Second: 1
|
|
43
|
+
};
|
|
44
|
+
function Ie(e) {
|
|
45
|
+
if (!e)
|
|
46
|
+
return null;
|
|
47
|
+
const t = Math.floor(e / 1e3), i = Math.abs(t), n = T.Day * 365;
|
|
48
|
+
switch (!0) {
|
|
49
|
+
case i < T.Minute:
|
|
50
|
+
return [Math.floor(t / T.Second), "second"];
|
|
51
|
+
case i < T.Hour:
|
|
52
|
+
return [Math.floor(t / T.Minute), "minute"];
|
|
53
|
+
case i < T.Day:
|
|
54
|
+
return [Math.floor(t / T.Hour), "hour"];
|
|
55
|
+
case i < T.Week:
|
|
56
|
+
return [Math.floor(t / T.Day), "day"];
|
|
57
|
+
case i < T.Month:
|
|
58
|
+
return [Math.floor(t / T.Week), "week"];
|
|
59
|
+
case i < n:
|
|
60
|
+
return [Math.floor(t / T.Month), "month"];
|
|
61
|
+
default:
|
|
62
|
+
return [Math.floor(t / n), "year"];
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
function Pe(e) {
|
|
66
|
+
return (typeof e == "number" ? e : e.getTime?.()) - (/* @__PURE__ */ new Date()).getTime();
|
|
67
|
+
}
|
|
68
|
+
function Ne({ locale: e, time: t, t9n: i }) {
|
|
69
|
+
if (!e || !t)
|
|
70
|
+
return "";
|
|
71
|
+
const n = Pe(t);
|
|
72
|
+
Y[e] ??= new Intl.RelativeTimeFormat(e, { style: "long" });
|
|
73
|
+
const r = Ie(n);
|
|
74
|
+
return r ? r[1] === "second" ? i?.lessThanOneMinute || `< ${Y[e].format(r[0] > 0 ? 1 : -1, "minutes")}` : Y[e].format(r[0], r[1]) : "";
|
|
75
|
+
}
|
|
76
|
+
const Wt = {
|
|
77
|
+
month: "long",
|
|
78
|
+
day: "numeric",
|
|
79
|
+
year: "numeric"
|
|
80
|
+
}, Rt = {
|
|
81
|
+
month: "long",
|
|
82
|
+
day: "numeric"
|
|
83
|
+
};
|
|
84
|
+
function Vt({ locale: e, time: t }, i) {
|
|
85
|
+
if (!e || !t)
|
|
86
|
+
return "";
|
|
87
|
+
const n = new Date(t);
|
|
88
|
+
return yt(n, i ? Wt : Rt);
|
|
89
|
+
}
|
|
90
|
+
async function Ht({ portal: e }) {
|
|
91
|
+
if (!e?.user)
|
|
92
|
+
return { result: [] };
|
|
93
|
+
const t = `${e.restUrl}/community/users/${e.user.id}/notifications`, { result: i, error: n } = await G(t);
|
|
94
|
+
return n ? { error: n } : { result: i?.notifications };
|
|
95
|
+
}
|
|
96
|
+
async function qt(e, t) {
|
|
97
|
+
if (!e?.user)
|
|
98
|
+
return { success: !0 };
|
|
99
|
+
const i = t.map((o) => ({ portal: e, id: o })).map(Te);
|
|
100
|
+
return { success: !((await Promise.allSettled(i))?.filter((o) => o.status === "rejected" || !o.value?.success)).length };
|
|
101
|
+
}
|
|
102
|
+
async function Te({
|
|
103
|
+
portal: e,
|
|
104
|
+
id: t
|
|
105
|
+
}) {
|
|
106
|
+
const i = `${e.restUrl}/community/users/${e.user?.id}/notifications/${t}/delete`, { result: n } = await G(i, { method: "post" });
|
|
107
|
+
return n?.success ? { success: !0, id: t } : { success: !1, id: t };
|
|
108
|
+
}
|
|
109
|
+
const Ce = "notifications-menu";
|
|
110
|
+
function Jt(e) {
|
|
111
|
+
try {
|
|
112
|
+
const t = decodeURIComponent(e);
|
|
113
|
+
return t !== e ? t : e;
|
|
114
|
+
} catch {
|
|
115
|
+
return e;
|
|
116
|
+
}
|
|
117
|
+
}
|
|
118
|
+
function Kt(e) {
|
|
119
|
+
switch (e) {
|
|
120
|
+
case "group_join_admin":
|
|
121
|
+
return "users";
|
|
122
|
+
case "group_application_accepted":
|
|
123
|
+
return "register";
|
|
124
|
+
case "group_join":
|
|
125
|
+
return "file-user";
|
|
126
|
+
case "group_application_declined":
|
|
127
|
+
return "user-risk";
|
|
128
|
+
case "user_invitation_declined":
|
|
129
|
+
return "group-x";
|
|
130
|
+
case "user_invitation_accepted":
|
|
131
|
+
return "user-plus";
|
|
132
|
+
case "user_invite":
|
|
133
|
+
return "envelope";
|
|
134
|
+
case "user_added_to_group":
|
|
135
|
+
return "user-plus";
|
|
136
|
+
case "collaboration_workspace_added":
|
|
137
|
+
case "collaboration_deleted":
|
|
138
|
+
case "collaboration_leaving":
|
|
139
|
+
case "collaboration_join":
|
|
140
|
+
case "collaboration_participant_workspace_join":
|
|
141
|
+
case "collaboration_participant_workspace_unjoin":
|
|
142
|
+
case "collaboration_participant_removed":
|
|
143
|
+
case "collaboration_peer_participant_removed":
|
|
144
|
+
case "collaboration_participant_access_changed":
|
|
145
|
+
return "collaboration";
|
|
146
|
+
case "collaboration_participant_join":
|
|
147
|
+
return "collaboration-user";
|
|
148
|
+
case "collaboration_content_store_disk_limit_reached":
|
|
149
|
+
return "gauge";
|
|
150
|
+
case "user_email_bounced":
|
|
151
|
+
return "speech-bubble-exclamation";
|
|
152
|
+
case "feature_layer_copy_over_failed":
|
|
153
|
+
case "feature_layer_one_way_shared_not_two_way":
|
|
154
|
+
case "feature_view_copy_over_failed":
|
|
155
|
+
case "webapp_not_copied":
|
|
156
|
+
case "webapp_not_copied_portal":
|
|
157
|
+
case "insights_item_not_copied":
|
|
158
|
+
return "collaboration";
|
|
159
|
+
case "scheduled_task_disabled":
|
|
160
|
+
return "date-time";
|
|
161
|
+
case "portal_certificate_about_to_expire":
|
|
162
|
+
case "portal_certificate_expired":
|
|
163
|
+
return "hourglass-expired";
|
|
164
|
+
case "notebook_runtime_deprecated":
|
|
165
|
+
return "notebook-server";
|
|
166
|
+
case "ingress_certificate_about_to_expire":
|
|
167
|
+
case "ingress_certificate_expired":
|
|
168
|
+
return "certificate";
|
|
169
|
+
default:
|
|
170
|
+
return "bell";
|
|
171
|
+
}
|
|
172
|
+
}
|
|
173
|
+
function Qt({
|
|
174
|
+
notification: e,
|
|
175
|
+
portal: t,
|
|
176
|
+
locale: i,
|
|
177
|
+
t9n: n
|
|
178
|
+
}) {
|
|
179
|
+
if (e?.received && e.id) {
|
|
180
|
+
const r = {
|
|
181
|
+
date: Ne({ locale: i, time: e.received, t9n: n }),
|
|
182
|
+
id: e.id,
|
|
183
|
+
text: "",
|
|
184
|
+
icon: Kt(e.type)
|
|
185
|
+
};
|
|
186
|
+
if (e.type === "webapp_not_copied" && t.isPortal && (e.type = "webapp_not_copied_portal"), e.data?.taskTitle && (e.data.taskTitle = Jt(e.data.taskTitle)), e.type === "message_received")
|
|
187
|
+
r.text = e.data.message || "";
|
|
188
|
+
else if (n.types[e.type]) {
|
|
189
|
+
const o = re({ portal: t, usePortalHostname: !!t.user });
|
|
190
|
+
e.data.baseUrl = `${o}/home/`, r.text = K(n.types[e.type], e.data);
|
|
191
|
+
}
|
|
192
|
+
if (r.text)
|
|
193
|
+
return r;
|
|
194
|
+
}
|
|
195
|
+
return null;
|
|
196
|
+
}
|
|
197
|
+
async function ge({
|
|
198
|
+
portal: e,
|
|
199
|
+
locale: t,
|
|
200
|
+
t9n: i
|
|
201
|
+
}) {
|
|
202
|
+
if (!i)
|
|
203
|
+
return [];
|
|
204
|
+
const { result: n, error: r } = await Ht({ portal: e });
|
|
205
|
+
return r && console.error(r), n?.length ? n.map((s) => Qt({ notification: s, portal: e, t9n: i, locale: t })).filter((s) => s) : [];
|
|
206
|
+
}
|
|
207
|
+
function Xt({ notifications: e, messages: t, handleToggleNotifications: i, handleToggleSearch: n, notificationsActive: r }) {
|
|
208
|
+
return t ? c`<calcite-action class="action" scale=l .text=${t.label} icon=bell .indicator=${!!e?.length} id=${Ce} @click=${() => i(!r)} @focusin=${() => n(!1, !0)}></calcite-action>` : null;
|
|
209
|
+
}
|
|
210
|
+
function J({ icon: e, title: t, description: i }) {
|
|
211
|
+
return !t && !i ? null : c`<div class="empty">${e && c`<svg xmlns=http://www.w3.org/2000/svg width=64 height=64 viewBox="0 0 64 64" fill=none>${_t`<path d=${kt[e] ?? L} fill=var(--calcite-color-border-input) />`}</svg>` || ""}${t && c`<h3 class="notifications__empty__header">${t}</h3>` || ""}${i && c`<p class="notifications__empty__text">${i}</p>` || ""}</div>`;
|
|
212
|
+
}
|
|
213
|
+
function Yt({ notifications: e, deleteNotifications: t, messages: i, navigate: n, portal: r, notificationsActive: o, handleToggleNotifications: s, notificationDeleteProgress: a }) {
|
|
214
|
+
return i ? c`<calcite-popover .referenceElement=${Ce} @calcitePopoverClose=${() => s(!1)} .label=${i.label} auto-close .open=${o} pointer-disabled flip-disabled trigger-disabled placement=bottom-end scale=l .heading=${i.label}>${e?.length > 0 ? c`<div class="notifications notifications--full">${typeof a == "number" && c`<calcite-scrim><calcite-loader type=determinate-value .label=${i.deleting} .value=${a}></calcite-loader></calcite-scrim>` || ""}<calcite-list .label=${i.label} interaction-mode=static class="notifications__list" scale=l>${z(e, (l) => l.id, (l) => c`<calcite-list-item closable @calciteListItemClose=${async () => await t([l.id])} .messageOverrides=${{ close: i.dismissLabel }} .iconStart=${l.icon}><div slot=content class="notification"><div class="notification__message" .innerHTML=${l.text ?? ""} @click=${(u) => {
|
|
215
|
+
const h = u.target, b = h.href;
|
|
216
|
+
if (h.nodeName === "CALCITE-LINK" && b) {
|
|
217
|
+
const p = `${re({ portal: r, usePortalHostname: !!r.user })}/home/`;
|
|
218
|
+
n({ event: u, href: b, relativePath: b.replace(p, "") });
|
|
219
|
+
}
|
|
220
|
+
}}></div><div class="notification__date">${l.date}</div></div></calcite-list-item>`)}</calcite-list></div><calcite-button class="notifications__dismiss" scale=l appearance=transparent @click=${async (l) => {
|
|
221
|
+
const u = l.currentTarget?.parentElement;
|
|
222
|
+
await t(e?.map(({ id: h }) => h)), u.open = !1;
|
|
223
|
+
}}>${i.dismissAllLabel}</calcite-button>` : c`<div class="notifications">${J({ title: i.noNotifications, description: i.noNotificationsDescription, icon: "check" })}</div>`}</calcite-popover>` : null;
|
|
224
|
+
}
|
|
225
|
+
function Zt(e) {
|
|
226
|
+
return e.replace(/[.*+?^${}()|[\]\\]/gu, "\\$&");
|
|
227
|
+
}
|
|
228
|
+
function ei(e, t, i, n) {
|
|
229
|
+
si(e, JSON.stringify(t), i);
|
|
230
|
+
}
|
|
231
|
+
function ti(e) {
|
|
232
|
+
return ri(e, !0);
|
|
233
|
+
}
|
|
234
|
+
function ii(e) {
|
|
235
|
+
try {
|
|
236
|
+
window.localStorage.removeItem(e);
|
|
237
|
+
} catch {
|
|
238
|
+
}
|
|
239
|
+
}
|
|
240
|
+
function ni(e) {
|
|
241
|
+
try {
|
|
242
|
+
window.sessionStorage.removeItem(e);
|
|
243
|
+
} catch {
|
|
244
|
+
}
|
|
245
|
+
}
|
|
246
|
+
function ri(e, t) {
|
|
247
|
+
const i = oi(e);
|
|
248
|
+
return i && t ? JSON.parse(i) : i;
|
|
249
|
+
}
|
|
250
|
+
function oi(e) {
|
|
251
|
+
const t = document.cookie, i = new RegExp(`(?:^|; )${Zt(e)}=([^;]*)`, "u"), n = t.match(i);
|
|
252
|
+
return n ? decodeURIComponent(n[1]) : "";
|
|
253
|
+
}
|
|
254
|
+
function si(e, t, i) {
|
|
255
|
+
i = i || {};
|
|
256
|
+
let n = i?.expires;
|
|
257
|
+
if (typeof n == "number") {
|
|
258
|
+
const o = /* @__PURE__ */ new Date(), s = n * 24 * 60 * 60 * 1e3;
|
|
259
|
+
o.setTime(Date.now() + s), n = o, i.expires = o;
|
|
260
|
+
}
|
|
261
|
+
typeof n != "string" && n?.toUTCString && (i.expires = n.toUTCString());
|
|
262
|
+
let r = `${e}=${encodeURIComponent(t)}`;
|
|
263
|
+
for (const o of Object.keys(i)) {
|
|
264
|
+
r += `; ${o}`;
|
|
265
|
+
const s = i[o];
|
|
266
|
+
s !== !0 && (r += `=${s}`);
|
|
267
|
+
}
|
|
268
|
+
document.cookie = r;
|
|
269
|
+
}
|
|
270
|
+
async function ai(e) {
|
|
271
|
+
const i = `owner:"${e.isPortal ? "esri" : "esri_config"}" AND title:"AppSwitcher Config" AND type:"Application Configuration"`, n = `${e.restUrl}/search`;
|
|
272
|
+
return await G(n, { query: {
|
|
273
|
+
num: 1,
|
|
274
|
+
start: 0,
|
|
275
|
+
sortField: "title",
|
|
276
|
+
sortOrder: "asc",
|
|
277
|
+
q: i
|
|
278
|
+
} });
|
|
279
|
+
}
|
|
280
|
+
async function ci(e) {
|
|
281
|
+
const t = { appSwitcher: { apps: [] } };
|
|
282
|
+
if (!e?.id || !e.user)
|
|
283
|
+
return t;
|
|
284
|
+
const { result: i } = await ai(e), n = i?.results?.[0];
|
|
285
|
+
if (!n)
|
|
286
|
+
return t;
|
|
287
|
+
const r = n.id;
|
|
288
|
+
return (await Se(e, r)).result;
|
|
289
|
+
}
|
|
290
|
+
async function li(e, t, i) {
|
|
291
|
+
if (!t || !e?.length)
|
|
292
|
+
return { result: null };
|
|
293
|
+
const n = `${i.restUrl}/search`;
|
|
294
|
+
return await G(n, {
|
|
295
|
+
query: {
|
|
296
|
+
num: 100,
|
|
297
|
+
q: `id:(${e.map((r) => `"${r.itemId}"`).join(" OR ")})`
|
|
298
|
+
}
|
|
299
|
+
});
|
|
300
|
+
}
|
|
301
|
+
async function ui(e) {
|
|
302
|
+
const t = `${e.restUrl}/search`, i = {
|
|
303
|
+
num: 10,
|
|
304
|
+
start: 0,
|
|
305
|
+
sortField: "title",
|
|
306
|
+
sortOrder: "asc",
|
|
307
|
+
q: 'owner:"esri" AND title:"BlockedApps Config" AND type: "Application Configuration"'
|
|
308
|
+
}, { result: n } = await G(t, { query: i }), r = n?.results?.[0]?.id;
|
|
309
|
+
return r ? (await Se(e, r))?.result?.blockedApps || [] : [];
|
|
310
|
+
}
|
|
311
|
+
function di(e, t) {
|
|
312
|
+
const i = e?.toLowerCase() || "", n = `${t.title || ""} ${t.label || ""}`;
|
|
313
|
+
return !i || n.toLowerCase().includes(i);
|
|
314
|
+
}
|
|
315
|
+
function pi() {
|
|
316
|
+
if (ti("APSW-query")?.expires > (/* @__PURE__ */ new Date()).setHours((/* @__PURE__ */ new Date()).getHours()))
|
|
317
|
+
return !0;
|
|
318
|
+
const t = { expires: (/* @__PURE__ */ new Date()).setHours((/* @__PURE__ */ new Date()).getHours() + 5) };
|
|
319
|
+
return ei(
|
|
320
|
+
"APSW-query",
|
|
321
|
+
t,
|
|
322
|
+
{
|
|
323
|
+
path: "/",
|
|
324
|
+
domain: window.location.hostname,
|
|
325
|
+
sameSite: "Strict"
|
|
326
|
+
}
|
|
327
|
+
), !1;
|
|
328
|
+
}
|
|
329
|
+
function hi(e, t) {
|
|
330
|
+
const { landingPage: i } = t || {};
|
|
331
|
+
return {
|
|
332
|
+
image: "arcgis-online.png",
|
|
333
|
+
label: "ArcGIS Online",
|
|
334
|
+
title: "ArcGIS Online",
|
|
335
|
+
url: `${Ae({ portal: e })}/${i?.url ? i.url : xe(e.user) ? "organization.html" : "index.html"}`
|
|
336
|
+
};
|
|
337
|
+
}
|
|
338
|
+
function be(e) {
|
|
339
|
+
const i = [
|
|
340
|
+
"api-for-python",
|
|
341
|
+
"appstudio",
|
|
342
|
+
"arcade",
|
|
343
|
+
"arcgis-earth",
|
|
344
|
+
"arcgis-enterprise",
|
|
345
|
+
"arcgis-experience-builder",
|
|
346
|
+
"arcgis-geoanalytics",
|
|
347
|
+
"arcgis-hub",
|
|
348
|
+
"arcgis-online",
|
|
349
|
+
"arcgis-pro",
|
|
350
|
+
"arcgis-urban",
|
|
351
|
+
"blank",
|
|
352
|
+
"business-analyst",
|
|
353
|
+
"city-engine",
|
|
354
|
+
"collector",
|
|
355
|
+
"community-analyst",
|
|
356
|
+
"configurable-apps",
|
|
357
|
+
"dashboards-beta",
|
|
358
|
+
"dashboards-classic",
|
|
359
|
+
"data-pipelines",
|
|
360
|
+
"deeplearningstudio",
|
|
361
|
+
"demographics",
|
|
362
|
+
"drone2map",
|
|
363
|
+
"esri-events",
|
|
364
|
+
"essential-apps",
|
|
365
|
+
"excalibur",
|
|
366
|
+
"explorer",
|
|
367
|
+
"field-apps",
|
|
368
|
+
"fieldmaps-beta",
|
|
369
|
+
"fieldmaps-ea",
|
|
370
|
+
"fieldmaps",
|
|
371
|
+
"generic-app",
|
|
372
|
+
"geobim",
|
|
373
|
+
"geoplanner",
|
|
374
|
+
"grid-view-9",
|
|
375
|
+
"indoor",
|
|
376
|
+
"indoors",
|
|
377
|
+
"insights",
|
|
378
|
+
"instant-apps",
|
|
379
|
+
"ips",
|
|
380
|
+
"knowledge-studio",
|
|
381
|
+
"living-atlas",
|
|
382
|
+
"location-platform",
|
|
383
|
+
"map-maker",
|
|
384
|
+
"map-viewer-beta",
|
|
385
|
+
"map-viewer-classic",
|
|
386
|
+
"map-viewer",
|
|
387
|
+
"maps-adobe-cloud",
|
|
388
|
+
"maps-for-office",
|
|
389
|
+
"maps-for-power-bi",
|
|
390
|
+
"maps-for-sharepoint",
|
|
391
|
+
"marketplace",
|
|
392
|
+
"mission",
|
|
393
|
+
"monitor",
|
|
394
|
+
"navigator",
|
|
395
|
+
"notebook",
|
|
396
|
+
"office-apps",
|
|
397
|
+
"open-data",
|
|
398
|
+
"operations-dashboard",
|
|
399
|
+
"ortho-maker",
|
|
400
|
+
"pro-extension",
|
|
401
|
+
"quick-capture",
|
|
402
|
+
"redistricting",
|
|
403
|
+
"runtime",
|
|
404
|
+
"scene-viewer",
|
|
405
|
+
"sites",
|
|
406
|
+
"solutions",
|
|
407
|
+
"story-maps",
|
|
408
|
+
"streetmap-premium",
|
|
409
|
+
"survey123",
|
|
410
|
+
"track-viewer",
|
|
411
|
+
"user-type-extension-online",
|
|
412
|
+
"user-type-extension",
|
|
413
|
+
"vector-tile-style-editor",
|
|
414
|
+
"velocity",
|
|
415
|
+
"web-app-builder",
|
|
416
|
+
"web-editor",
|
|
417
|
+
"web-mapping",
|
|
418
|
+
"workflow-manager-beta",
|
|
419
|
+
"workflow-manager",
|
|
420
|
+
"workforce"
|
|
421
|
+
].find((n) => e?.includes(n) && W(`${n}.png`) === e);
|
|
422
|
+
return i ? W(`${i}.avif`) : e;
|
|
423
|
+
}
|
|
424
|
+
function mi(e, t) {
|
|
425
|
+
const i = e?.blockedApps || [], n = [];
|
|
426
|
+
return !i.length && !e.blockBetaApps || !t?.length ? [] : (e.blockBetaApps && t.forEach((r) => {
|
|
427
|
+
r.isBeta && !i.includes(r.clientid) && i.push(r.clientid);
|
|
428
|
+
}), i.forEach((r) => {
|
|
429
|
+
const o = t.find((s) => s.clientid === r);
|
|
430
|
+
o && n.push(o);
|
|
431
|
+
}), n);
|
|
432
|
+
}
|
|
433
|
+
function I(e, t) {
|
|
434
|
+
return t && t[e.toLowerCase()]?.valid || !1;
|
|
435
|
+
}
|
|
436
|
+
function fi(e, t) {
|
|
437
|
+
return e?.portalProperties && !e.portalProperties?.openData?.enabled ? !1 : I("HubforArcGIS", t);
|
|
438
|
+
}
|
|
439
|
+
function gi(e, t) {
|
|
440
|
+
if (!e)
|
|
441
|
+
return !1;
|
|
442
|
+
const i = [
|
|
443
|
+
"portal:publisher:publishFeeds",
|
|
444
|
+
"portal:publisher:publishRealTimeAnalytics",
|
|
445
|
+
"portal:publisher:publishBigDataAnalytics"
|
|
446
|
+
], r = (e?.privileges || []).some((s) => i.includes(s)), o = I("velocity", t);
|
|
447
|
+
return r && o;
|
|
448
|
+
}
|
|
449
|
+
function bi(e) {
|
|
450
|
+
return I("HubforArcGIS", e);
|
|
451
|
+
}
|
|
452
|
+
function vi(e, t) {
|
|
453
|
+
return !(e.isPortal && e.portalProperties?.newMapViewerEnabled === !1) && I("arcgisWebApps", t);
|
|
454
|
+
}
|
|
455
|
+
function _i(e) {
|
|
456
|
+
return !!e.helperServices?.rasterAnalytics && !!e.helperServices.orthoMapping;
|
|
457
|
+
}
|
|
458
|
+
function wi(e, t, i) {
|
|
459
|
+
const n = i && (!e.isPortal || !!e.sourceJSON?.supportsHostedNotebooks), r = !!t?.privileges?.length && t.privileges.some((o) => o === "premium:publisher:createNotebooks");
|
|
460
|
+
return n && r;
|
|
461
|
+
}
|
|
462
|
+
function yi(e, t) {
|
|
463
|
+
return !!e.helperServices?.locationTracking && t;
|
|
464
|
+
}
|
|
465
|
+
function $i(e, t, i, n) {
|
|
466
|
+
const r = e?.user;
|
|
467
|
+
return {
|
|
468
|
+
"Open Data": {
|
|
469
|
+
hasAccess: () => fi(e, n)
|
|
470
|
+
},
|
|
471
|
+
AppStudio: {
|
|
472
|
+
hasAccess: () => I("arcgisWebApps", n)
|
|
473
|
+
},
|
|
474
|
+
"ArcGIS Velocity": {
|
|
475
|
+
hasAccess: () => e.isPortal || gi(r, n)
|
|
476
|
+
},
|
|
477
|
+
"ArcGIS Hub": {
|
|
478
|
+
hasAccess: () => I("HubforArcGIS", n)
|
|
479
|
+
},
|
|
480
|
+
"ArcGIS Enterprise Sites": {
|
|
481
|
+
hasAccess: () => bi(n)
|
|
482
|
+
},
|
|
483
|
+
"ArcGIS QuickCapture Web Designer": {
|
|
484
|
+
hasAccess: () => I("arcgisWebApps", n)
|
|
485
|
+
},
|
|
486
|
+
"ArcGIS Dashboards": {
|
|
487
|
+
hasAccess: () => I("dashboards", n)
|
|
488
|
+
},
|
|
489
|
+
"Map Viewer": {
|
|
490
|
+
hasAccess: () => vi(e, n)
|
|
491
|
+
},
|
|
492
|
+
"Map Viewer Classic": {
|
|
493
|
+
hasAccess: () => I("arcgisWebApps", n)
|
|
494
|
+
},
|
|
495
|
+
"Operations Dashboard for ArcGIS": {
|
|
496
|
+
hasAccess: () => I("opsdashboard", n)
|
|
497
|
+
},
|
|
498
|
+
"ArcGIS Dashboards Classic": {
|
|
499
|
+
hasAccess: () => I("opsdashboard", n)
|
|
500
|
+
},
|
|
501
|
+
"Ortho Maker": {
|
|
502
|
+
hasAccess: () => _i(e)
|
|
503
|
+
},
|
|
504
|
+
Notebook: {
|
|
505
|
+
hasAccess: () => wi(e, r, t)
|
|
506
|
+
},
|
|
507
|
+
"Scene Viewer": {
|
|
508
|
+
hasAccess: () => I("arcgisWebApps", n)
|
|
509
|
+
},
|
|
510
|
+
"Story Maps": {
|
|
511
|
+
hasAccess: () => I("arcgisWebApps", n)
|
|
512
|
+
},
|
|
513
|
+
Survey123: {
|
|
514
|
+
hasAccess: () => I("survey123", n)
|
|
515
|
+
},
|
|
516
|
+
"Track Viewer": {
|
|
517
|
+
hasAccess: () => yi(e, i)
|
|
518
|
+
},
|
|
519
|
+
"Instant Apps": {
|
|
520
|
+
// For Portal
|
|
521
|
+
hasAccess: () => I("arcgisWebApps", n)
|
|
522
|
+
},
|
|
523
|
+
"ArcGIS Maps for Adobe Creative Cloud": {
|
|
524
|
+
hasAccess: () => I("arcgisWebApps", n) && !e.isPortal
|
|
525
|
+
}
|
|
526
|
+
};
|
|
527
|
+
}
|
|
528
|
+
function ki(e) {
|
|
529
|
+
let t = {
|
|
530
|
+
opsdashboard: 1,
|
|
531
|
+
arcgisWebApps: 1,
|
|
532
|
+
Workforce: 1,
|
|
533
|
+
geoplanner: 1,
|
|
534
|
+
webappbuilder: 1,
|
|
535
|
+
HubforArcGIS: 1,
|
|
536
|
+
appstudio: 1,
|
|
537
|
+
survey123: 1,
|
|
538
|
+
storymaps: 1,
|
|
539
|
+
mapsForOffice: 1,
|
|
540
|
+
mapsForO365: 1,
|
|
541
|
+
mapsForSharePoint: 1,
|
|
542
|
+
mapsForCreativeCloud: 1,
|
|
543
|
+
indoorsweb: 1,
|
|
544
|
+
indoorskiosk: 1,
|
|
545
|
+
indoorsspaceplanner: 1,
|
|
546
|
+
locationplatformWebApps: 1,
|
|
547
|
+
// eslint-disable-next-line @typescript-eslint/naming-convention
|
|
548
|
+
communityanalyst_2: 1
|
|
549
|
+
};
|
|
550
|
+
return e.isPortal && (t = { ...t, arcgisonline: 1, arcgisUrban: 1, arcgisinstantapps: 1 }), t;
|
|
551
|
+
}
|
|
552
|
+
function te(e) {
|
|
553
|
+
return e.sourceJSON?.subscriptionInfo?.options?.includes("Developer");
|
|
554
|
+
}
|
|
555
|
+
function W(e) {
|
|
556
|
+
return ee(`assets/portal-navigation/apps/${e || ""}`);
|
|
557
|
+
}
|
|
558
|
+
function Me(e, t, i) {
|
|
559
|
+
return e.icon ? `${t.restUrl}/portals/self/resources/${e.icon}?token=${i}` : `${t.restUrl}/content/items/${e.itemId}/resources/${e.image || e.properties?.appSwitcher?.image}?token=${i}`;
|
|
560
|
+
}
|
|
561
|
+
function D(e, t, i) {
|
|
562
|
+
if (e.image ? e.image = W(e.image) : e.placeHolderIcon = `${W()}svg-app-icon.svg`, e.url?.startsWith("../")) {
|
|
563
|
+
const n = i.urlKey ? `${i.urlKey}.${i.customBaseUrl}` : i.portalHostname;
|
|
564
|
+
e.url = `${window.location.protocol}//${n}${e.url.substring(2, e.url.length)}`;
|
|
565
|
+
}
|
|
566
|
+
return delete e.isLicensed, delete e.privileges, e.itemId = t, e;
|
|
567
|
+
}
|
|
568
|
+
function Le() {
|
|
569
|
+
return `${W()}svg-app-circle.svg`;
|
|
570
|
+
}
|
|
571
|
+
function Ai(e, t, i) {
|
|
572
|
+
const n = e.properties?.appSwitcher?.image || e.icon;
|
|
573
|
+
return {
|
|
574
|
+
abbr: e.properties?.appSwitcher?.abbr || e.abbreviation,
|
|
575
|
+
itemId: e.itemId,
|
|
576
|
+
canAccess: !0,
|
|
577
|
+
webMappingApp: !0,
|
|
578
|
+
image: n ? Me(e, t, i) : void 0,
|
|
579
|
+
label: e.title || e.label,
|
|
580
|
+
url: e.url,
|
|
581
|
+
placeHolderIcon: e.placeHolderIcon || Le()
|
|
582
|
+
};
|
|
583
|
+
}
|
|
584
|
+
function xi(e, t, i) {
|
|
585
|
+
return e.appSwitcher?.image || e.icon ? e.image = Me(e, t, i) : e.placeHolderIcon = Le(), e.abbr = e.appSwitcher?.abbr || e.abbreviation, delete e.abbreviation, delete e.appSwitcher, delete e.approvedApp, delete e.webMappingApp, e;
|
|
586
|
+
}
|
|
587
|
+
function ve(e, t) {
|
|
588
|
+
e.forEach((i) => {
|
|
589
|
+
i.uid === "Map Viewer Beta" && (i.uid = "Map Viewer"), t.isPortal && (i.uid === "Operations Dashboard for ArcGIS" ? i.uid = "ArcGIS Dashboards Classic" : i.uid === "Workforce for ArcGIS" && (i.uid = "ArcGIS Workforce"));
|
|
590
|
+
});
|
|
591
|
+
}
|
|
592
|
+
async function Si({
|
|
593
|
+
userApps: e,
|
|
594
|
+
servers: t,
|
|
595
|
+
portal: i,
|
|
596
|
+
licenses: n,
|
|
597
|
+
blockedApps: r,
|
|
598
|
+
provisionedListings: o,
|
|
599
|
+
orgCapabilities: s,
|
|
600
|
+
trackViewerEnabled: a,
|
|
601
|
+
notebookServerEnabled: l,
|
|
602
|
+
willQueryForItems: u,
|
|
603
|
+
approvedApps: h
|
|
604
|
+
}) {
|
|
605
|
+
const b = {}, p = {}, y = $i(i, l, a, n), x = ki(i), k = [], P = e.length;
|
|
606
|
+
for (let m = 0; m < P; m++) {
|
|
607
|
+
const d = e[m], _ = d.itemId || d.title;
|
|
608
|
+
let N = !0;
|
|
609
|
+
const g = !d.serverFunction || t?.some((S) => (S.serverFunction?.split(",") || []).includes(d.serverFunction)), v = r?.some(
|
|
610
|
+
(S) => d.itemId && d.itemId === S.itemid || d.title && d.title === S.title
|
|
611
|
+
);
|
|
612
|
+
if (b[_] = 1, p[_] = d, v || te(i) && !d.showInLocationPlatform || i.sourceJSON?.portalDeploymentType === "ArcGISEnterpriseOnKubernetes" && d.supportsKubernetes === !1)
|
|
613
|
+
continue;
|
|
614
|
+
const A = d.title;
|
|
615
|
+
if (y[A] && !y[A]?.hasAccess())
|
|
616
|
+
continue;
|
|
617
|
+
const E = i.sourceJSON?.subscriptionInfo;
|
|
618
|
+
if (d.subscriptionType) {
|
|
619
|
+
E?.type === d.subscriptionType && (p[_].canAccess = !0, k.push(D(d, _, i)));
|
|
620
|
+
continue;
|
|
621
|
+
}
|
|
622
|
+
if (d.orgCapabilities) {
|
|
623
|
+
s?.length && s.some((M) => d.orgCapabilities?.includes(M.id)) && (p[_].canAccess = !0, k.push(D(d, _, i)));
|
|
624
|
+
continue;
|
|
625
|
+
}
|
|
626
|
+
if (!d.privileges?.length && !d.isLicensed && g && (d.label !== "ArcGIS Location Platform" || te(i))) {
|
|
627
|
+
p[_].canAccess = !0, k.push(D(d, _, i));
|
|
628
|
+
continue;
|
|
629
|
+
}
|
|
630
|
+
if (i.user?.sourceJSON?.userLicenseTypeId?.toLowerCase() === "storytellerut" && d.label?.toLowerCase() === "storymaps") {
|
|
631
|
+
p[_].canAccess = !0, k.push(D(d, _, i));
|
|
632
|
+
continue;
|
|
633
|
+
}
|
|
634
|
+
if (d.privileges?.length && i.user?.privileges) {
|
|
635
|
+
for (let S = 0; S < d.privileges.length; S++)
|
|
636
|
+
if (!i.user.privileges.includes(d.privileges[S])) {
|
|
637
|
+
N = !1;
|
|
638
|
+
break;
|
|
639
|
+
}
|
|
640
|
+
if (!d.isLicensed && N && g) {
|
|
641
|
+
p[_].canAccess = !0, k.push(D(d, _, i));
|
|
642
|
+
continue;
|
|
643
|
+
}
|
|
644
|
+
}
|
|
645
|
+
if (d.isLicensed && N && g) {
|
|
646
|
+
for (let S = 0; S < o.length; S++)
|
|
647
|
+
if (_ === o[S].itemId || _ === o[S].title) {
|
|
648
|
+
p[_].canAccess = !0, k.push(D(d, _, i));
|
|
649
|
+
break;
|
|
650
|
+
}
|
|
651
|
+
}
|
|
652
|
+
}
|
|
653
|
+
const w = await Ot(i);
|
|
654
|
+
return o.forEach((m) => {
|
|
655
|
+
if (m.type === "Web Mapping Application" && !x[m.clientId] && !b[m.itemId] && m.url && m.title && !b[m.title] && !m.typeKeywords.includes("hideFromAppSwitcher")) {
|
|
656
|
+
const d = Ai(m, i, w);
|
|
657
|
+
p[m.itemId] = d, k.push(d);
|
|
658
|
+
}
|
|
659
|
+
}), {
|
|
660
|
+
apps: [
|
|
661
|
+
...h.map((m) => {
|
|
662
|
+
const d = {
|
|
663
|
+
...m.appProperties,
|
|
664
|
+
itemId: m.itemId,
|
|
665
|
+
webMappingApp: !0,
|
|
666
|
+
approvedApp: !0,
|
|
667
|
+
canAccess: !u
|
|
668
|
+
};
|
|
669
|
+
return p[m.itemId] = d, xi(d, i, w);
|
|
670
|
+
}),
|
|
671
|
+
...k
|
|
672
|
+
],
|
|
673
|
+
appDictionary: p
|
|
674
|
+
};
|
|
675
|
+
}
|
|
676
|
+
function Z(e, t) {
|
|
677
|
+
return e.filter((i) => !t?.some(
|
|
678
|
+
(r) => i.itemId && i.itemId === r.itemid || i.title && i.title === r.title
|
|
679
|
+
));
|
|
680
|
+
}
|
|
681
|
+
function _e({
|
|
682
|
+
apps: e,
|
|
683
|
+
app: t,
|
|
684
|
+
appDictionary: i,
|
|
685
|
+
newAppDictionary: n,
|
|
686
|
+
portal: r
|
|
687
|
+
}) {
|
|
688
|
+
let s = Object.keys(i).map((a) => i[a]).filter((a) => a.itemId === t.uid || a.title === t.uid).shift();
|
|
689
|
+
return s && !i[t.uid] && (t.uid = s.itemId || s.title || ""), s?.hasBeenPopulated || (s ? ((t.hasChanged || s.hasChanged || !s.canAccess && !s.ignoreNoAccess) && xe(r.user) && (i[t.uid].hasChanged = !0, i[t.uid].ignoreNoAccess = t.ignoreNoAccess), t.isNew && (i[t.uid].isNew = !0), delete n[t.uid]) : (s = t, s.canAccess = !1, s.itemId = t.uid, i[t.uid] = s), i[t.uid].hasBeenPopulated = !0, e.push(s)), e;
|
|
690
|
+
}
|
|
691
|
+
async function Ii({
|
|
692
|
+
portal: e,
|
|
693
|
+
trackViewerEnabled: t,
|
|
694
|
+
notebookServerEnabled: i
|
|
695
|
+
}) {
|
|
696
|
+
if (!e?.id || !e.user)
|
|
697
|
+
return { apps: [], hiddenApps: {} };
|
|
698
|
+
const n = pi(), [r, o, s, a, l, u, h] = await Promise.all([
|
|
699
|
+
ci(e),
|
|
700
|
+
Ct(e),
|
|
701
|
+
Mt(e),
|
|
702
|
+
xt(e),
|
|
703
|
+
St(e),
|
|
704
|
+
It(e),
|
|
705
|
+
ui(e)
|
|
706
|
+
]), b = e.isPortal ? await Pt(e) : null, p = s?.result?.properties;
|
|
707
|
+
let y = r?.appSwitcher?.apps || [];
|
|
708
|
+
e.isPortal || (y = y.filter(
|
|
709
|
+
(g) => g.title !== "Map Viewer Classic" || e.sourceJSON.created < /* @__PURE__ */ new Date("February 26 2025")
|
|
710
|
+
), y.unshift(hi(e, p)));
|
|
711
|
+
const x = a?.result?.approvedApps?.filter((g) => !g.hideForNonPrivilegedMember) || [], k = {};
|
|
712
|
+
o?.forEach((g) => {
|
|
713
|
+
const v = g.clientId?.toLowerCase();
|
|
714
|
+
v && (k[v] = {
|
|
715
|
+
valid: !0,
|
|
716
|
+
itemId: g.itemId,
|
|
717
|
+
clientId: g.clientId
|
|
718
|
+
});
|
|
719
|
+
}), l?.forEach((g) => {
|
|
720
|
+
const v = g.id?.toLowerCase();
|
|
721
|
+
v && (k[v] = {
|
|
722
|
+
valid: !0,
|
|
723
|
+
clientId: g.id
|
|
724
|
+
});
|
|
725
|
+
});
|
|
726
|
+
const P = mi(u, h), { apps: w, appDictionary: f } = await Si({
|
|
727
|
+
userApps: y,
|
|
728
|
+
servers: b,
|
|
729
|
+
portal: e,
|
|
730
|
+
blockedApps: P,
|
|
731
|
+
provisionedListings: o,
|
|
732
|
+
orgCapabilities: l,
|
|
733
|
+
licenses: k,
|
|
734
|
+
trackViewerEnabled: t,
|
|
735
|
+
notebookServerEnabled: i,
|
|
736
|
+
willQueryForItems: n,
|
|
737
|
+
approvedApps: x
|
|
738
|
+
});
|
|
739
|
+
p?.appLauncher && (p?.appLauncher.primary && ve(p?.appLauncher.primary, e), p?.appLauncher.secondary && ve(p?.appLauncher.secondary, e));
|
|
740
|
+
let m = [], d = [];
|
|
741
|
+
if (!p?.appLauncher?.primary || !p?.appLauncher.secondary)
|
|
742
|
+
m = w.slice().sort((g, v) => (g.label || "") < (v.label || "") ? -1 : 1), m = Z(m, P), d = [];
|
|
743
|
+
else {
|
|
744
|
+
const { result: g } = await li(x, n, e);
|
|
745
|
+
g?.results?.length && g.results.forEach(($) => {
|
|
746
|
+
const A = f[$.id];
|
|
747
|
+
A.canAccess = !0, A.hasChanged = A.url !== $.url ? !!$.url : !1;
|
|
748
|
+
});
|
|
749
|
+
const v = { ...f };
|
|
750
|
+
p?.appLauncher?.primary?.forEach(($) => {
|
|
751
|
+
$.label === "Map Viewer" && ($.uid = "Map Viewer");
|
|
752
|
+
}), m = p?.appLauncher.primary.reduce(
|
|
753
|
+
($, A) => _e({ apps: $, app: A, appDictionary: f, newAppDictionary: v, portal: e }),
|
|
754
|
+
[]
|
|
755
|
+
) || [], d = p?.appLauncher.secondary.reduce(
|
|
756
|
+
($, A) => _e({ apps: $, app: A, appDictionary: f, newAppDictionary: v, portal: e }),
|
|
757
|
+
[]
|
|
758
|
+
) || [], m = Z(m, P), d = Z(d, P), te(e) && (m = m.filter(($) => $.canAccess), d = d.filter(($) => $.canAccess));
|
|
759
|
+
for (const $ of Object.keys(v))
|
|
760
|
+
v[$].canAccess && (v[$].isNew = !0, f[$] = v[$], m.push(v[$]));
|
|
761
|
+
}
|
|
762
|
+
const _ = [...m, ...d], N = d.reduce((g, v) => (v.itemId && (g[v.itemId] = !0), g), {});
|
|
763
|
+
return {
|
|
764
|
+
apps: _,
|
|
765
|
+
hiddenApps: N,
|
|
766
|
+
signInSettings: u,
|
|
767
|
+
licenses: k,
|
|
768
|
+
userProperties: p
|
|
769
|
+
};
|
|
770
|
+
}
|
|
771
|
+
function Pi(e, t) {
|
|
772
|
+
return !e?.itemId || !t ? !1 : t[e.itemId];
|
|
773
|
+
}
|
|
774
|
+
async function Ni({
|
|
775
|
+
apps: e,
|
|
776
|
+
hiddenApps: t,
|
|
777
|
+
userProperties: i,
|
|
778
|
+
portal: n
|
|
779
|
+
}) {
|
|
780
|
+
const r = e.reduce(
|
|
781
|
+
(s, a) => {
|
|
782
|
+
const l = t[a.itemId];
|
|
783
|
+
return s[l ? "secondary" : "primary"].push({
|
|
784
|
+
label: a.label,
|
|
785
|
+
uid: a.itemId || a.title
|
|
786
|
+
}), s;
|
|
787
|
+
},
|
|
788
|
+
{ primary: [], secondary: [] }
|
|
789
|
+
), o = { ...i || {}, appLauncher: r };
|
|
790
|
+
return await Tt(o, n);
|
|
791
|
+
}
|
|
792
|
+
function Oe({ app: e }) {
|
|
793
|
+
if (!e)
|
|
794
|
+
return null;
|
|
795
|
+
if (!e.canAccess)
|
|
796
|
+
return c`<span class="list-item__logo list-item__logo-empty"></span>`;
|
|
797
|
+
const t = !e.image && e.abbr;
|
|
798
|
+
return c`${t && c`<span class="list-item__logo">${e.placeHolderIcon && c`<img src=${be(e.placeHolderIcon) ?? L} class="list-item__logo-bg" alt>` || ""}<span style=${ke({ fontSize: e.fontSize || "20px" })} class="list-item__abbr">${e.abbr}</span></span>` || ""}${e.image && c`<img src=${be(e.image) ?? L} class="list-item__logo" alt>` || ""}${e.isNew && c`<span class=${H({ "list-item__indicator": !0 })}></span>` || ""}`;
|
|
799
|
+
}
|
|
800
|
+
function Ti({ app: e, hiddenApps: t, messages: i, toggleAppVisibility: n }) {
|
|
801
|
+
if (!e || !i)
|
|
802
|
+
return null;
|
|
803
|
+
const r = Pi(e, t), { title: o, itemId: s, label: a } = e;
|
|
804
|
+
return c`<calcite-list-item .label=${o || a} class=${H(r ? "app--hidden" : "")}><span slot=content-start>${Oe({ app: e })}</span><calcite-action .text=${r ? i.show : i.hide} .icon=${r ? "view-hide" : "view-visible"} slot=actions-end @click=${() => s && n(s, !r)}></calcite-action></calcite-list-item>`;
|
|
805
|
+
}
|
|
806
|
+
function Ci({ app: e, messages: t }) {
|
|
807
|
+
if (!e || !t)
|
|
808
|
+
return null;
|
|
809
|
+
const { title: i, itemId: n, label: r, url: o, isNew: s } = e, a = t?.descriptions?.[i] || t?.descriptions?.[r];
|
|
810
|
+
return c`<li class="list-item"><a class="list-item__link" href=${o ?? L} target=_blank id=${n ?? L} aria-describedby=${`${n}--tooltip`}>${c`<span class="list-item__container">${Oe({ app: e })}<span class="list-item__title">${i || r}</span>${s && c`<calcite-chip scale=s class="list-item__chip" icon=asterisk-small .label=${t.new}>${t.new}</calcite-chip>` || ""}</span>`}</a>${a && c`<calcite-tooltip .referenceElement=${n} placement=trailing .id=${`${n}--tooltip`} role=tooltip>${a}</calcite-tooltip>` || ""}</li>`;
|
|
811
|
+
}
|
|
812
|
+
function Mi({ apps: e, appsLoading: t, appsSearchTerm: i, hiddenApps: n, messages: r, handleAppsSearch: o, handleAppReorder: s, handleAppSave: a, handleAppHide: l, handleAppCancel: u, handleAppEdit: h, editingApplications: b, portal: p }) {
|
|
813
|
+
if (!e || !r)
|
|
814
|
+
return null;
|
|
815
|
+
const y = i?.length > 0, x = (e || []).filter((w) => w.itemId && (!n?.[w.itemId] || y) && di(i, w)), k = y ? r.noAppResults.replace("{term}", i) : r.noAppsAvailable, P = y ? C(p) ? r.noAppsDescriptionPublic : r.noAppResultsDescriptionOrg : r.noAppsAvailable;
|
|
816
|
+
return b ? c`<div class="list__header"><calcite-button appearance=outline width=half @click=${() => {
|
|
817
|
+
u();
|
|
818
|
+
}}>${r.cancel}</calcite-button><calcite-button width=half @click=${() => {
|
|
819
|
+
a();
|
|
820
|
+
}}>${r.applyChanges}</calcite-button></div><calcite-list .label=${r.allMyApplications} drag-enabled @calciteListDragEnd=${(w) => {
|
|
821
|
+
const { newIndex: f, oldIndex: m } = w.detail;
|
|
822
|
+
s({ newIndex: f, oldIndex: m });
|
|
823
|
+
}} .loading=${t}>${z(e, (w) => w.itemId, (w) => Ti({ app: w, hiddenApps: n, messages: r, toggleAppVisibility: (f, m) => {
|
|
824
|
+
l({ app: f, hidden: m });
|
|
825
|
+
} }))}</calcite-list>` : c`<div class="list__header"><calcite-input type=search icon .placeholder=${r.searchMyApps} scale=m class="list__search" @calciteInputInput=${(w) => {
|
|
826
|
+
o(w.currentTarget.value);
|
|
827
|
+
}}></calcite-input><calcite-button appearance=transparent kind=neutral icon-start=reorder-cards .label=${r.reorder} @click=${() => h()} id=customize-apps></calcite-button><calcite-tooltip reference-element=customize-apps><span>${r.customizeApps}</span></calcite-tooltip></div>${x?.length > 0 ? c`<ul class="list">${z(x, (w) => w.itemId, (w) => Ci({ app: w, messages: r }))}</ul>` : J({ title: k, description: P, icon: i ? "search" : "apps" })}`;
|
|
828
|
+
}
|
|
829
|
+
const we = "portalAppClientId", ce = {
|
|
830
|
+
GeoanalyticsEngine: "geoanalyticsengine",
|
|
831
|
+
GeoanalyticsFabric: "geoanalyticsfabric",
|
|
832
|
+
IndoorsOnline: "indoorsonline"
|
|
833
|
+
};
|
|
834
|
+
function le(e) {
|
|
835
|
+
return ce.GeoanalyticsEngine === e;
|
|
836
|
+
}
|
|
837
|
+
function ue(e) {
|
|
838
|
+
return ce.GeoanalyticsFabric === e;
|
|
839
|
+
}
|
|
840
|
+
function Ee(e) {
|
|
841
|
+
return ce.IndoorsOnline === e;
|
|
842
|
+
}
|
|
843
|
+
function de(e) {
|
|
844
|
+
return ["Location Platform", "GeoAnalytics Fabric", "GeoAnalytics Engine", "Online", "Enterprise"].includes(e);
|
|
845
|
+
}
|
|
846
|
+
function Li({
|
|
847
|
+
portal: e,
|
|
848
|
+
messages: t,
|
|
849
|
+
licenses: i,
|
|
850
|
+
clientId: n,
|
|
851
|
+
signInSettings: r
|
|
852
|
+
}) {
|
|
853
|
+
if (!t || !e)
|
|
854
|
+
return [];
|
|
855
|
+
const o = e.sourceJSON?.subscriptionInfo, s = Di({ messages: t, portal: e });
|
|
856
|
+
if (!e.user)
|
|
857
|
+
return s;
|
|
858
|
+
if (!e || !s || e?.user && !i && !C(e))
|
|
859
|
+
return [];
|
|
860
|
+
const a = Gi({
|
|
861
|
+
portal: e,
|
|
862
|
+
licenses: i,
|
|
863
|
+
subscriptionInfo: o
|
|
864
|
+
});
|
|
865
|
+
return zi({ messages: t, portal: e, clientId: n, signInSettings: r, navLinkDictionary: a });
|
|
866
|
+
}
|
|
867
|
+
function Oi(e) {
|
|
868
|
+
const { id: t, access: i, isPortal: n } = e;
|
|
869
|
+
return !t && !i && !n;
|
|
870
|
+
}
|
|
871
|
+
function Ei(e, t) {
|
|
872
|
+
const i = new URL(e), n = t || window.location.pathname;
|
|
873
|
+
return i.pathname === n;
|
|
874
|
+
}
|
|
875
|
+
function je({
|
|
876
|
+
portal: e,
|
|
877
|
+
clientId: t,
|
|
878
|
+
signInSettings: i
|
|
879
|
+
}) {
|
|
880
|
+
const n = e.user, r = Ee(t), o = !!i?.blockedApps?.includes("arcgisnotebooks"), {
|
|
881
|
+
gallery: s = "all",
|
|
882
|
+
groups: a = "all",
|
|
883
|
+
map: l = "all",
|
|
884
|
+
notebook: u = "notebookCreators",
|
|
885
|
+
scene: h = "all"
|
|
886
|
+
} = e.portalProperties?.topNav || {};
|
|
887
|
+
let b = ["home"];
|
|
888
|
+
if (!n) {
|
|
889
|
+
if (!e.portalProperties?.topNav) {
|
|
890
|
+
const y = ["gallery", "map", "scene", "groups"], x = e.isPortal ? ["help"] : [];
|
|
891
|
+
return [...b, ...y, ...x];
|
|
892
|
+
}
|
|
893
|
+
return [
|
|
894
|
+
...b,
|
|
895
|
+
...s === "all" ? ["gallery"] : [],
|
|
896
|
+
...l === "all" ? ["map"] : [],
|
|
897
|
+
...h === "all" ? ["scene"] : [],
|
|
898
|
+
...a === "all" ? ["groups"] : [],
|
|
899
|
+
...e.isPortal ? ["help"] : []
|
|
900
|
+
];
|
|
901
|
+
}
|
|
902
|
+
const p = n.orgId === e.id;
|
|
903
|
+
return !e.portalProperties?.topNav && C(e) ? b = ["ArcGIS", "overview", "pricing", "map", "scene", "groups", "myContent"] : b = [
|
|
904
|
+
...b,
|
|
905
|
+
...(s === "all" || s === "members" && p) && !r ? ["gallery"] : [],
|
|
906
|
+
...(l === "all" || l === "members" && p || l === "mapCreators" && he(n)) && !r ? ["map"] : [],
|
|
907
|
+
...(h === "all" || h === "members" && p || h === "sceneCreators" && he(n)) && !r ? ["scene"] : [],
|
|
908
|
+
...!o && (!e.isPortal || e.sourceJSON.supportsHostedNotebooks) && (u === "members" && p || u === "notebookCreators" && At(n)) && !r ? ["notebook"] : [],
|
|
909
|
+
...(a === "all" || a === "members" && p) && !r ? ["groups"] : [],
|
|
910
|
+
...p && !r ? ["myContent", "organization"] : []
|
|
911
|
+
], b;
|
|
912
|
+
}
|
|
913
|
+
function O(e) {
|
|
914
|
+
return `${Ae({ portal: e })}/`;
|
|
915
|
+
}
|
|
916
|
+
function ji({
|
|
917
|
+
keys: e,
|
|
918
|
+
navLinkDictionary: t,
|
|
919
|
+
messages: i
|
|
920
|
+
}) {
|
|
921
|
+
const n = [];
|
|
922
|
+
return e.forEach((r) => {
|
|
923
|
+
const o = t[r];
|
|
924
|
+
if (o && (!("show" in o) || o.show)) {
|
|
925
|
+
const { href: s, newTab: a, icon: l, relativePath: u } = o;
|
|
926
|
+
n.push({
|
|
927
|
+
label: i[r],
|
|
928
|
+
href: s,
|
|
929
|
+
newTab: a,
|
|
930
|
+
relativePath: u,
|
|
931
|
+
icon: l
|
|
932
|
+
});
|
|
933
|
+
}
|
|
934
|
+
}), n;
|
|
935
|
+
}
|
|
936
|
+
function Di({
|
|
937
|
+
messages: e,
|
|
938
|
+
portal: t
|
|
939
|
+
}) {
|
|
940
|
+
if (!e || !t)
|
|
941
|
+
return [];
|
|
942
|
+
const i = O(t), n = {
|
|
943
|
+
overview: { label: e.overview, href: `${i}../features/features.html`, icon: "information" },
|
|
944
|
+
pricing: { label: e.pricing, href: `${i}../features/plans/pricing.html`, icon: "credit-card" },
|
|
945
|
+
map: { label: e.map, href: `${i}apps/mapviewer/index.html`, icon: "map" },
|
|
946
|
+
scene: { label: e.scene, href: `${i}webscene/viewer.html`, icon: "globe" },
|
|
947
|
+
help: { label: e.help, href: se(t), newTab: !0, icon: "headset" },
|
|
948
|
+
home: { label: e.home, href: `${i}index.html`, relativePath: "index.html", icon: "home" },
|
|
949
|
+
gallery: { label: e.gallery, href: `${i}gallery.html`, relativePath: "gallery.html", icon: "gallery" },
|
|
950
|
+
groups: { label: e.groups, href: `${i}groups.html`, relativePath: "groups.html", icon: "group" }
|
|
951
|
+
};
|
|
952
|
+
return (Oi(t) ? ["overview", "pricing", "map", "scene", "help"] : je({ portal: t })).map((o) => n[o]);
|
|
953
|
+
}
|
|
954
|
+
function zi({
|
|
955
|
+
messages: e,
|
|
956
|
+
portal: t,
|
|
957
|
+
clientId: i,
|
|
958
|
+
signInSettings: n,
|
|
959
|
+
navLinkDictionary: r
|
|
960
|
+
}) {
|
|
961
|
+
const o = le(i), s = je({ portal: t, clientId: i, signInSettings: n }), a = `${O(t)}geoanalytics${o ? "engine" : "fabric"}.html`;
|
|
962
|
+
return o || ue(i) ? [
|
|
963
|
+
{
|
|
964
|
+
// TODO: active calculations in the component need to account for hash for these options
|
|
965
|
+
href: `${a}#subscription`,
|
|
966
|
+
label: e.subscription
|
|
967
|
+
},
|
|
968
|
+
...o ? [
|
|
969
|
+
{
|
|
970
|
+
href: `${a}#downloads`,
|
|
971
|
+
label: e.downloads
|
|
972
|
+
}
|
|
973
|
+
] : [],
|
|
974
|
+
{
|
|
975
|
+
href: `${a}#credentials`,
|
|
976
|
+
label: e.developerCredentials
|
|
977
|
+
},
|
|
978
|
+
{
|
|
979
|
+
href: `${a}#account`,
|
|
980
|
+
label: e.account
|
|
981
|
+
}
|
|
982
|
+
] : ji({ keys: s, messages: e, navLinkDictionary: r });
|
|
983
|
+
}
|
|
984
|
+
function Gi({
|
|
985
|
+
portal: e,
|
|
986
|
+
licenses: t,
|
|
987
|
+
subscriptionInfo: i
|
|
988
|
+
}) {
|
|
989
|
+
const n = e.user, r = O(e), o = i?.options?.includes("Developer"), s = I("arcgiswebapps", t) || o && I("locationplatformwebapps", t) || C(e);
|
|
990
|
+
return {
|
|
991
|
+
pricing: { href: `${r}../features/plans/pricing.html` },
|
|
992
|
+
overview: { href: `${r}../features/features.html` },
|
|
993
|
+
ArcGIS: {
|
|
994
|
+
href: `${r}${C(e) ? "index.html" : "../features/features.html"}`,
|
|
995
|
+
show: C(e) || !n
|
|
996
|
+
},
|
|
997
|
+
groups: {
|
|
998
|
+
href: `${r}groups.html`,
|
|
999
|
+
relativePath: "groups.html",
|
|
1000
|
+
icon: "group"
|
|
1001
|
+
},
|
|
1002
|
+
myContent: {
|
|
1003
|
+
href: `${r}content.html`,
|
|
1004
|
+
relativePath: "content.html",
|
|
1005
|
+
icon: "files"
|
|
1006
|
+
},
|
|
1007
|
+
map: {
|
|
1008
|
+
show: s,
|
|
1009
|
+
href: `${r}apps/mapviewer/index.html`,
|
|
1010
|
+
icon: "map"
|
|
1011
|
+
},
|
|
1012
|
+
help: {
|
|
1013
|
+
href: se(e),
|
|
1014
|
+
newTab: !0
|
|
1015
|
+
},
|
|
1016
|
+
gallery: {
|
|
1017
|
+
show: !!e.id && !o,
|
|
1018
|
+
href: `${r}gallery.html`,
|
|
1019
|
+
relativePath: "gallery.html",
|
|
1020
|
+
icon: "gallery"
|
|
1021
|
+
},
|
|
1022
|
+
home: {
|
|
1023
|
+
show: !C(e) && !o,
|
|
1024
|
+
href: `${r}index.html`,
|
|
1025
|
+
relativePath: "index.html",
|
|
1026
|
+
icon: "home"
|
|
1027
|
+
},
|
|
1028
|
+
scene: {
|
|
1029
|
+
show: s,
|
|
1030
|
+
href: `${r}webscene/viewer.html`,
|
|
1031
|
+
icon: "globe"
|
|
1032
|
+
},
|
|
1033
|
+
notebook: {
|
|
1034
|
+
show: Et(e),
|
|
1035
|
+
href: `${r}notebook/notebookhome.html`,
|
|
1036
|
+
relativePath: "notebook/notebookhome.html",
|
|
1037
|
+
icon: "notebook"
|
|
1038
|
+
},
|
|
1039
|
+
organization: {
|
|
1040
|
+
show: !C(e),
|
|
1041
|
+
href: `${r}organization.html`,
|
|
1042
|
+
relativePath: "organization.html",
|
|
1043
|
+
icon: "organization"
|
|
1044
|
+
},
|
|
1045
|
+
features: {
|
|
1046
|
+
show: C(e) && !e.isPortal,
|
|
1047
|
+
href: `${r}../features/features.html`,
|
|
1048
|
+
icon: "information"
|
|
1049
|
+
}
|
|
1050
|
+
};
|
|
1051
|
+
}
|
|
1052
|
+
function Ui({ portal: e, item: t, messages: i, navigate: n, locale: r }) {
|
|
1053
|
+
if (!t || !i || !t.modified)
|
|
1054
|
+
return null;
|
|
1055
|
+
const o = t.modified, s = { lessThanOneMinute: i.lessThanOneMinute }, a = Ie(Pe(o)), l = a?.[1] === "year" || a?.[1] === "month" ? Vt({ locale: r, time: o }, a?.[1] === "year") : Ne({ locale: r, time: o, t9n: s }), u = `item.html?id=${t.id}`, h = `${O(e)}${u}}`;
|
|
1056
|
+
return oe(t.id, c`<li class="list-item"><a class="list-item__link" href=${h ?? L} @click=${(b) => {
|
|
1057
|
+
n({ event: b, href: h, relativePath: u });
|
|
1058
|
+
}}>${c`<span class="list-item__container"><span class="list-item__logo list-item__logo--item-type"><arcgis-portal-item-type .item=${t} .user=${e.user} hide-text></arcgis-portal-item-type></span><span class="list-item__content"><span class="list-item__title list-item__title--regular">${t.title}</span><span class="list-item__subtitle">${K(i.lastUpdated, { date: l })}</span></span></span>`}</a></li>`);
|
|
1059
|
+
}
|
|
1060
|
+
function Bi({ locale: e, navigate: t, portal: i, open: n, apps: r, appsLoading: o, hiddenApps: s, appsSearchTerm: a, handlePlatformClose: l, handleAppsSearch: u, handleAppReorder: h, handleAppSave: b, handleAppHide: p, handleAppCancel: y, handleAppEdit: x, handleItemSearch: k, editingApplications: P, recentContent: w, recentContentLoading: f, recentContentSearchTerm: m, product: d, productInfo: _, links: N, messages: g }) {
|
|
1061
|
+
if (!d || !i || !g)
|
|
1062
|
+
return null;
|
|
1063
|
+
const { name: v, icon: $ } = _ || {};
|
|
1064
|
+
return c`<calcite-sheet class="platform" .label=${g.label} position=inline-start display-mode=overlay id=example-sheet .open=${n} @calciteSheetClose=${l}><calcite-panel class="platform__panel"><div slot=header-content class="platform__header"><img src=${$ ?? L} class="platform__header-image"><div class="platform__header-text"><h2 class="platform__title">${v}</h2><p class="platform__subtitle">${i.name}</p></div><calcite-action icon=x text="Close menu" scale=l @click=${l}></calcite-action></div><div class="platform__container"><div class="platform__tiles">${N.filter(({ icon: A }) => A).map(({ label: A, href: E, icon: R, relativePath: S }) => c`<calcite-tile .icon=${R} .description=${A} .href=${E} alignment=center scale=s @keydown=${(M) => {
|
|
1065
|
+
(M.key === "Enter" || M.key === " ") && t({ event: M, href: E, relativePath: S });
|
|
1066
|
+
}} @click=${(M) => {
|
|
1067
|
+
t({ event: M, href: E, relativePath: S });
|
|
1068
|
+
}}></calcite-tile>`)}</div>${i?.user && c`<calcite-tabs layout=center class="platform__tabs"><calcite-tab-nav slot=title-group>${!C(i) && c`<calcite-tab-title selected>${g.myApps}</calcite-tab-title>` || ""}<calcite-tab-title>${g.recentContent}</calcite-tab-title></calcite-tab-nav>${!C(i) && c`<calcite-tab selected class="platform__tab">${o && c`<calcite-scrim loading></calcite-scrim>` || ""}${Mi({ apps: r, appsLoading: o, appsSearchTerm: a, hiddenApps: s, messages: g, handleAppsSearch: u, handleAppReorder: h, handleAppSave: b, handleAppHide: p, handleAppCancel: y, handleAppEdit: x, editingApplications: P, portal: i })}</calcite-tab>` || ""}<calcite-tab class="platform__tab"><div class="list__header"><calcite-input type=search icon .placeholder=${g.searchRecentContent} scale=m class="list__search" @calciteInputInput=${(A) => k(A.target.value)}></calcite-input></div>${f && !o && c`<calcite-scrim loading></calcite-scrim>` || ""}<div class="list__container">${w?.length > 0 || f ? c`<ul class="list">${z(w, (A) => A.id, (A) => Ui({ portal: i, messages: g, navigate: t, item: A, locale: e }))}</ul>` : m?.length ? J({ title: K(g.noAppResults, { term: m }), description: g.recentContentNoResultsDescription, icon: "search" }) : J({ title: g.noContent, description: g.noContentDescription, icon: "clock" })}</div></calcite-tab></calcite-tabs>` || ""}</div></calcite-panel></calcite-sheet>`;
|
|
1069
|
+
}
|
|
1070
|
+
const ie = [
|
|
1071
|
+
"new",
|
|
1072
|
+
"open",
|
|
1073
|
+
"rename",
|
|
1074
|
+
"save",
|
|
1075
|
+
"saveCopy",
|
|
1076
|
+
"share",
|
|
1077
|
+
"copyLink",
|
|
1078
|
+
"embed",
|
|
1079
|
+
"details"
|
|
1080
|
+
];
|
|
1081
|
+
async function Fi(e) {
|
|
1082
|
+
return await Promise.resolve({ status: "success" });
|
|
1083
|
+
}
|
|
1084
|
+
function ne(e) {
|
|
1085
|
+
return ie.includes(e.id);
|
|
1086
|
+
}
|
|
1087
|
+
function Wi(e) {
|
|
1088
|
+
return (e || [])?.toSorted((t, i) => {
|
|
1089
|
+
const n = ne(t), r = ne(i);
|
|
1090
|
+
return n && !r ? -1 : r && !n ? 1 : r && n ? ie.indexOf(t.id) - ie.indexOf(i.id) : -1;
|
|
1091
|
+
});
|
|
1092
|
+
}
|
|
1093
|
+
function Ri(e, t) {
|
|
1094
|
+
const i = {
|
|
1095
|
+
new: [],
|
|
1096
|
+
save: [],
|
|
1097
|
+
share: [],
|
|
1098
|
+
details: [],
|
|
1099
|
+
custom: []
|
|
1100
|
+
};
|
|
1101
|
+
if (!t || !e?.length)
|
|
1102
|
+
return i;
|
|
1103
|
+
const n = {
|
|
1104
|
+
new: { text: t.new, group: "new" },
|
|
1105
|
+
open: { text: t.open, group: "new" },
|
|
1106
|
+
rename: { text: t.rename, group: "save" },
|
|
1107
|
+
save: { text: t.save, group: "save" },
|
|
1108
|
+
saveCopy: { text: t.saveAsCopy, group: "save" },
|
|
1109
|
+
share: { text: t.manageSharing, group: "share" },
|
|
1110
|
+
copyLink: { text: t.copyLink, group: "share" },
|
|
1111
|
+
embed: { text: t.embed, group: "share" },
|
|
1112
|
+
details: { text: t.itemDetails, group: "details", external: !0 }
|
|
1113
|
+
}, r = Wi(e), o = [];
|
|
1114
|
+
return r.forEach((s) => {
|
|
1115
|
+
if (!ne(s)) {
|
|
1116
|
+
o.push(s);
|
|
1117
|
+
return;
|
|
1118
|
+
}
|
|
1119
|
+
const { text: l, external: u, group: h } = n[s.id];
|
|
1120
|
+
i[h].push({ text: l, external: u, ...s });
|
|
1121
|
+
}), o.forEach((s) => {
|
|
1122
|
+
const a = s.group || "custom";
|
|
1123
|
+
i[a].push(s);
|
|
1124
|
+
}), i;
|
|
1125
|
+
}
|
|
1126
|
+
function Vi({ navigate: e, portal: t, menuItem: i, messages: n, portalItem: r, openProjectTitleEdit: o, projectMenuClick: s }) {
|
|
1127
|
+
if (!t || !n || !i || i.id === "details" && !r)
|
|
1128
|
+
return null;
|
|
1129
|
+
const { external: a, id: l, text: u } = i, h = `${O(t)}item.html?id=${r?.id}`;
|
|
1130
|
+
return oe(`${l}${u}`, c`<calcite-dropdown-item .iconEnd=${a ? "launch" : void 0} .href=${l === "details" ? h : i.href} .target=${a ? "_blank" : void 0} @calciteDropdownItemSelect=${(b) => {
|
|
1131
|
+
if (l === "rename") {
|
|
1132
|
+
o?.();
|
|
1133
|
+
return;
|
|
1134
|
+
}
|
|
1135
|
+
l === "details" && e({ event: b, href: h }), s?.({ type: l });
|
|
1136
|
+
}}>${u}${l === "save" && c`<calcite-icon icon=bullet-point-large class="project__indicator" scale=s></calcite-icon>` || ""}</calcite-dropdown-item>`);
|
|
1137
|
+
}
|
|
1138
|
+
function Hi({ navigate: e, portal: t, projectTitle: i, editedProjectTitle: n, handleProjectTitleSave: r, handleProjectTitleEdit: o, handleProjectTitleCancel: s, openProjectTitleEdit: a, portalItem: l, projectTitleEditing: u, projectTitleSaving: h, projectTitleErrorMessage: b, projectMenuIcon: p, projectMenuSaveIndicator: y, projectMenuClick: x, projectMenuOptions: k, projectTitleInputRef: P, projectButtonRef: w, messages: f }) {
|
|
1139
|
+
if (!t || !f || !k?.length && !i)
|
|
1140
|
+
return null;
|
|
1141
|
+
if (!k?.length)
|
|
1142
|
+
return c`<div class="project__title">${p && c`<calcite-icon .icon=${p} scale=s class="project__menu-icon"></calcite-icon>` || ""}<h1 class="project__title__header">${i}</h1>${y && c`<calcite-icon scale=s icon=bullet-point-large class="project__indicator"></calcite-icon>` || ""}</div>`;
|
|
1143
|
+
const m = Ri(k, f), d = !!b;
|
|
1144
|
+
return u ? c`<form class="rename" @submit=${async (_) => {
|
|
1145
|
+
_.preventDefault(), await r?.(n);
|
|
1146
|
+
}} @keydown=${(_) => {
|
|
1147
|
+
_.key === "Escape" && s?.();
|
|
1148
|
+
}}><calcite-input id=project-title-input type=text scale=l class="rename__input" .label=${f.title} .value=${n} .status=${d ? "invalid" : "idle"} @calciteInputInput=${(_) => o?.(_.target.value)} ${F(P)}></calcite-input>${d && c`<calcite-popover open .label=${f.error} .referenceElement=${P?.value || "project-title-input"} pointer-disabled placement=bottom-start><calcite-notice kind=danger open><div slot=message>${b}</div></calcite-notice></calcite-popover>` || ""}<calcite-action .disabled=${h} icon=check scale=l .text=${f?.saveRename} active class="rename__action" type=submit .loading=${h}></calcite-action><calcite-action .disabled=${h} icon=x scale=l .text=${f?.cancelRename} class="rename__action" @click=${() => s?.()}></calcite-action></form>` : c`<calcite-dropdown width=m class="fade-in project__dropdown"><button slot=trigger class="project" ${F(w)}>${p && c`<calcite-icon scale=s .icon=${p} class="project__menu-icon"></calcite-icon>` || ""}<span class="project__text">${i}</span>${y && c`<calcite-icon scale=s icon=bullet-point-large class="project__indicator"></calcite-icon>` || ""}<calcite-icon scale=s icon=chevron-down></calcite-icon></button>${z(Object.entries(m).filter(([_, N]) => N.length), ([_, N]) => _, ([_, N]) => c`<calcite-dropdown-group selection-mode=none>${N.map((g) => Vi({ menuItem: g, navigate: e, portal: t, messages: f, portalItem: l, openProjectTitleEdit: a, projectMenuClick: x }))}</calcite-dropdown-group>`)}</calcite-dropdown>`;
|
|
1149
|
+
}
|
|
1150
|
+
function qi(e) {
|
|
1151
|
+
return ["Location Platform", "Online", "Enterprise"].includes(e);
|
|
1152
|
+
}
|
|
1153
|
+
function De({
|
|
1154
|
+
portal: e,
|
|
1155
|
+
searchType: t,
|
|
1156
|
+
searchTerm: i
|
|
1157
|
+
}) {
|
|
1158
|
+
const r = e?.sourceJSON?.vectorSearchEnabled ? `&mode=${t}` : "";
|
|
1159
|
+
return `search.html?q=${i}${r}`;
|
|
1160
|
+
}
|
|
1161
|
+
function Ji({ portal: e, item: t, messages: i, navigate: n }) {
|
|
1162
|
+
if (!t || !i)
|
|
1163
|
+
return null;
|
|
1164
|
+
const r = K(i.by, {
|
|
1165
|
+
itemType: Lt(t),
|
|
1166
|
+
owner: t.owner
|
|
1167
|
+
}), o = `item.html?id=${t.id}`, s = `${O(e)}${o}`;
|
|
1168
|
+
return oe(t.id, c`<li class="list-item"><a class="list-item__link" href=${s ?? L} @click=${(a) => n({ event: a, href: s, relativePath: o })}>${c`<span class="list-item__container"><span class="list-item__logo list-item__logo--item-type"><arcgis-portal-item-type .item=${t} .user=${e.user} hide-text></arcgis-portal-item-type></span><span class="list-item__content"><span class="list-item__title list-item__title--regular list-item__title--large">${t.title}</span><span class="list-item__subtitle list-item__subtitle--large">${r}</span></span></span>`}</a></li>`);
|
|
1169
|
+
}
|
|
1170
|
+
function Ki({ portal: e, suggestions: t, messages: i, navigate: n, searchType: r, searchTerm: o }) {
|
|
1171
|
+
if (!i || !e || !o)
|
|
1172
|
+
return null;
|
|
1173
|
+
if (!t)
|
|
1174
|
+
return c`<div><calcite-loader scale=l .label=${i.loadingResults}></calcite-loader></div>`;
|
|
1175
|
+
const s = De({ portal: e, searchType: r, searchTerm: o }), a = `/${s}`, l = `${O(e)}${s}`;
|
|
1176
|
+
return c`<ul class="list">${t.map((u) => Ji({ messages: i, portal: e, item: u, navigate: n }))}</ul><div class="suggestions__footer"><calcite-button icon-end=arrow-right scale=l appearance=outline class="suggestions__footer__button" kind=neutral round .href=${l} @click=${(u) => {
|
|
1177
|
+
n({ href: l, event: u, relativePath: a });
|
|
1178
|
+
}}>${i.viewAll}</calcite-button></div>`;
|
|
1179
|
+
}
|
|
1180
|
+
function Qi({ portal: e, messages: t, searchType: i, handleSearchTypeChange: n }) {
|
|
1181
|
+
if (!t || !e?.sourceJSON?.vectorSearchEnabled)
|
|
1182
|
+
return null;
|
|
1183
|
+
const r = i === "keyword", o = t.searchType;
|
|
1184
|
+
return c`<calcite-chip .label=${o.label} .icon=${r ? "text" : "effects"} id=search-type-toggle appearance=solid kind=neutral><span>${r ? o.keywordTitle : o.semanticTitle}</span><calcite-icon icon=chevron-down scale=s class="suggestions__search-type__icon" aria-hidden=true></calcite-icon></calcite-chip><calcite-popover pointer-disabled .label=${t.searchType.label} reference-element=search-type-toggle placement=bottom-end class="suggestions__search-type"><div class="esri-header-search-type-popover-contents"><calcite-list .label=${t.searchType.label} interaction-mode=interactive display-mode=flat scale=m selection-mode=none><calcite-list-item @calciteListItemSelect=${() => n("keyword")} icon-start=text value=keyword .label=${o.keywordTitle} .description=${o.keywordDescription}></calcite-list-item><calcite-list-item @calciteListItemSelect=${() => n("vector")} icon-start=effects value=semantic .label=${o.semanticTitle} .description=${o.semanticDescription}></calcite-list-item></calcite-list></div></calcite-popover>`;
|
|
1185
|
+
}
|
|
1186
|
+
function Xi({ currentPathname: e, navigate: t, product: i, portal: n, messages: r, searchActive: o, searchType: s, searchTerm: a, suggestions: l, searchInputRef: u, searchActionRef: h, searchPopoverRef: b, handleSearch: p, handleToggleSearch: y, handleSearchTypeChange: x }) {
|
|
1187
|
+
if (!qi(i) || !r || !n || e?.includes("search.html"))
|
|
1188
|
+
return null;
|
|
1189
|
+
const k = De({ portal: n, searchType: s, searchTerm: a }), P = `/${k}`, w = `${O(n)}${k}`;
|
|
1190
|
+
return o ? c`<div class="search" id=search-reference-element><calcite-input type=search scale=l icon=search class="search__input" .ariaLabel=${r.label} .placeholder=${s === "vector" ? r.searchType.semanticPlaceholder : r.searchType.keywordPlaceholder} @calciteInputInput=${(f) => p(f.target.value)} @keydown=${(f) => {
|
|
1191
|
+
f.key === "Enter" && (t({ href: w, event: f, relativePath: P }), f.defaultPrevented || (window.location.href = w)), f.key === "Escape" && y(!1);
|
|
1192
|
+
}} ${F(u)}></calcite-input><calcite-action icon=x scale=l .text=${r?.close} active class="search__action" @click=${() => y(!1)}></calcite-action><calcite-popover .label=${r.suggestions} reference-element=search-reference-element .open=${o && !!a} pointer-disabled placement=bottom-start trigger-disabled .focusTrapOptions=${{ initialFocus: !1 }} ${F(b)}><div class="suggestions__header"><h3 class="suggestions__title">${r.topResults}</h3>${Qi({ portal: n, messages: r, searchType: s, handleSearchTypeChange: x })}</div><div class="suggestions__results">${Ki({ portal: n, suggestions: l, navigate: t, messages: r, searchType: s, searchTerm: a })}</div></calcite-popover></div>` : c`<calcite-action icon=search scale=l text=search class="search__action fade-in" @click=${() => y(!0)} ${F(h)}></calcite-action>`;
|
|
1193
|
+
}
|
|
1194
|
+
function Yi({ signIn: e, messages: t }) {
|
|
1195
|
+
return c`<calcite-menu slot=user .label=${t?.account || ""} class="border-start fade-in"><calcite-menu-item .label=${t?.signIn || ""} text-enabled .text=${t?.signIn || ""} @calciteMenuItemSelect=${() => e()}></calcite-menu-item></calcite-menu>`;
|
|
1196
|
+
}
|
|
1197
|
+
function Zi({ navigate: e, portal: t, product: i, links: n, messages: r, currentPathname: o, searchActive: s }) {
|
|
1198
|
+
return !i || !t || !r || !de(i) || !n || s ? null : c`<calcite-menu slot=content-start .label=${r.label} class="site-nav fade-in">${z(n, ({ href: a }) => a, ({ label: a, href: l, relativePath: u }) => c`<calcite-menu-item .text=${a} text-enabled .label=${a} .href=${l} .active=${Ei(l, o)} @click=${(h) => e({ event: h, href: l, relativePath: u })}></calcite-menu-item>`)}</calcite-menu>`;
|
|
1199
|
+
}
|
|
1200
|
+
function en({ userLinks: e, messages: t, navigate: i, openAccountSwitcher: n, portal: r, signOut: o, textDisabled: s }) {
|
|
1201
|
+
const a = r?.user;
|
|
1202
|
+
return !a || !e || !t || e?.account?.options.length < 1 && e?.resources?.options.length < 1 ? null : c`<div class="user fade-in"><calcite-dropdown .width=${s ? "l" : "m"} class="user__dropdown"><calcite-button class="user__button" slot=trigger appearance=transparent kind=neutral><span class="user__button__contents"><arcgis-portal-user-avatar .user=${a} .portal=${r} scale=l class="user__button__avatar"></arcgis-portal-user-avatar>${!s && c`<span class="user__button__text"><h2 class="user__button__full user__full">${a.fullName}</h2><p class="user__button__username user__username">${a.username}</p></span>` || ""}</span></calcite-button>${s && c`<div class="user__top"><arcgis-portal-user-avatar .user=${a} .portal=${r} scale=l class="user__avatar"></arcgis-portal-user-avatar><div class="user__top__text"><h2 class="user__top__full user__full">${a.fullName}</h2><p class="user__top__username user__username">${a.username}</p></div></div>` || ""}${Object.values(e).filter((l) => l.options.length).map(({ title: l, options: u }) => c`<calcite-dropdown-group selection-mode=none .groupTitle=${l}>${u.map(({ icon: h, label: b, href: p, relativePath: y }) => c`<calcite-dropdown-item .iconStart=${h} .href=${p} @keydown=${(x) => {
|
|
1203
|
+
(x.key === "Enter" || x.key === " ") && i({ event: x, href: p, relativePath: y });
|
|
1204
|
+
}} @click=${(x) => {
|
|
1205
|
+
i({ event: x, href: p, relativePath: y });
|
|
1206
|
+
}}>${b}</calcite-dropdown-item>`)}</calcite-dropdown-group>`)}<calcite-dropdown-group selection-mode=none>${n && c`<calcite-dropdown-item icon-start=users @calciteDropdownItemSelect=${(l) => {
|
|
1207
|
+
const u = Dt(l.target, "calcite-dropdown");
|
|
1208
|
+
u && (u.open = !1), n();
|
|
1209
|
+
}}>${t.switchAccounts}</calcite-dropdown-item>` || ""}<calcite-dropdown-item icon-start=sign-out @calciteDropdownItemSelect=${() => o()}>${t.signOut}</calcite-dropdown-item></calcite-dropdown-group></calcite-dropdown></div>`;
|
|
1210
|
+
}
|
|
1211
|
+
const ze = {
|
|
1212
|
+
community: "https://community.esri.com/plugins/common/feature/oauth2sso_v2/sso_login_redirect?referer=https%3A%2F%2Fcommunity.esri.com%2F",
|
|
1213
|
+
myEsri: "https://my.esri.com"
|
|
1214
|
+
};
|
|
1215
|
+
function tn({
|
|
1216
|
+
messages: e,
|
|
1217
|
+
userLinks: t
|
|
1218
|
+
}) {
|
|
1219
|
+
const i = {
|
|
1220
|
+
account: { title: e.account, options: [] },
|
|
1221
|
+
resources: { title: e.resources, options: [] }
|
|
1222
|
+
};
|
|
1223
|
+
return t.forEach((n) => {
|
|
1224
|
+
i[n.group].options.push(n);
|
|
1225
|
+
}), i;
|
|
1226
|
+
}
|
|
1227
|
+
function nn({
|
|
1228
|
+
portal: e,
|
|
1229
|
+
messages: t,
|
|
1230
|
+
clientId: i
|
|
1231
|
+
}) {
|
|
1232
|
+
if (!e?.user || !t)
|
|
1233
|
+
return {
|
|
1234
|
+
account: { title: t?.account, options: [] },
|
|
1235
|
+
resources: { title: t?.account, options: [] }
|
|
1236
|
+
};
|
|
1237
|
+
const n = sn(e), r = rn({ navLinkDictionary: n, messages: t, clientId: i });
|
|
1238
|
+
return tn({ userLinks: r, messages: t });
|
|
1239
|
+
}
|
|
1240
|
+
function rn({
|
|
1241
|
+
navLinkDictionary: e,
|
|
1242
|
+
messages: t,
|
|
1243
|
+
clientId: i
|
|
1244
|
+
}) {
|
|
1245
|
+
let n = [
|
|
1246
|
+
"myProfile",
|
|
1247
|
+
"mySettings",
|
|
1248
|
+
"myEsri",
|
|
1249
|
+
"training",
|
|
1250
|
+
"trialDownload",
|
|
1251
|
+
"communityForums",
|
|
1252
|
+
"arcgisBlog",
|
|
1253
|
+
"help"
|
|
1254
|
+
];
|
|
1255
|
+
return (le(i) || ue(i)) && (n = ["mySettings", "arcgisBlog", "help"]), Ee(i) && (n = []), on(n, t, e);
|
|
1256
|
+
}
|
|
1257
|
+
function on(e, t, i) {
|
|
1258
|
+
const n = [];
|
|
1259
|
+
return e.forEach((r) => {
|
|
1260
|
+
const o = i[r];
|
|
1261
|
+
if (o && (!("show" in o) || o.show)) {
|
|
1262
|
+
const { href: s, newTab: a, icon: l, group: u, relativePath: h } = o;
|
|
1263
|
+
n.push({
|
|
1264
|
+
label: t[r],
|
|
1265
|
+
group: u,
|
|
1266
|
+
href: s,
|
|
1267
|
+
newTab: a,
|
|
1268
|
+
relativePath: h,
|
|
1269
|
+
icon: l
|
|
1270
|
+
});
|
|
1271
|
+
}
|
|
1272
|
+
}), n;
|
|
1273
|
+
}
|
|
1274
|
+
function sn(e) {
|
|
1275
|
+
const t = O(e), i = an(e), n = `user.html${window.location.pathname.includes("home/user.html") ? "?nav=1" : ""}`;
|
|
1276
|
+
return {
|
|
1277
|
+
myProfile: {
|
|
1278
|
+
href: `${t}${n}`,
|
|
1279
|
+
relativePath: n,
|
|
1280
|
+
group: "account",
|
|
1281
|
+
icon: "user"
|
|
1282
|
+
},
|
|
1283
|
+
mySettings: {
|
|
1284
|
+
href: `${t}${n}#settings`,
|
|
1285
|
+
relativePath: `${n}#settings`,
|
|
1286
|
+
group: "account",
|
|
1287
|
+
icon: "gear"
|
|
1288
|
+
},
|
|
1289
|
+
help: {
|
|
1290
|
+
group: "resources",
|
|
1291
|
+
icon: "question",
|
|
1292
|
+
href: se(e),
|
|
1293
|
+
newTab: !0
|
|
1294
|
+
},
|
|
1295
|
+
communityForums: {
|
|
1296
|
+
show: i,
|
|
1297
|
+
group: "resources",
|
|
1298
|
+
icon: "speech-bubbles",
|
|
1299
|
+
href: ze.community,
|
|
1300
|
+
newTab: !0
|
|
1301
|
+
},
|
|
1302
|
+
myEsri: {
|
|
1303
|
+
show: i,
|
|
1304
|
+
group: "account",
|
|
1305
|
+
icon: "globe",
|
|
1306
|
+
href: ln(e),
|
|
1307
|
+
newTab: !0
|
|
1308
|
+
},
|
|
1309
|
+
arcgisBlog: {
|
|
1310
|
+
show: i,
|
|
1311
|
+
group: "resources",
|
|
1312
|
+
icon: "article",
|
|
1313
|
+
href: "https://www.esri.com/arcgis-blog/products/arcgis-online",
|
|
1314
|
+
newTab: !0
|
|
1315
|
+
},
|
|
1316
|
+
training: {
|
|
1317
|
+
show: i,
|
|
1318
|
+
group: "resources",
|
|
1319
|
+
icon: "education",
|
|
1320
|
+
href: cn(e),
|
|
1321
|
+
newTab: !0
|
|
1322
|
+
},
|
|
1323
|
+
trialDownload: {
|
|
1324
|
+
group: "resources",
|
|
1325
|
+
icon: "download-to",
|
|
1326
|
+
show: dn(e),
|
|
1327
|
+
href: `${t}/home/user.html${window.location.pathname.includes("home/user.html") ? "?nav=1&tab=licenses" : "?tab=licenses"}#settings`
|
|
1328
|
+
}
|
|
1329
|
+
};
|
|
1330
|
+
}
|
|
1331
|
+
function an(e) {
|
|
1332
|
+
return !e.isPortal && e?.user?.sourceJSON?.userType === "both";
|
|
1333
|
+
}
|
|
1334
|
+
function cn(e) {
|
|
1335
|
+
return Ge(
|
|
1336
|
+
e,
|
|
1337
|
+
`${window.location.protocol}//www.esri.com/training/arcgis-online-training`
|
|
1338
|
+
);
|
|
1339
|
+
}
|
|
1340
|
+
function ln(e) {
|
|
1341
|
+
return Ge(e, ze.myEsri);
|
|
1342
|
+
}
|
|
1343
|
+
function Ge(e, t) {
|
|
1344
|
+
const i = ae(e), n = un(e), r = `https://accounts${n ? n === "dev" ? "-dev" : "-stg" : ""}.esri.com/`, o = `&authBaseUrl=${q(i.replace("/sharing/rest/", ""), e)}`, s = `${r}LoginHandler/switchuser?`, a = `username=${e?.user?.username ?? ""}&redirect_uri=${t}${o}`;
|
|
1345
|
+
return `${s}${a}`;
|
|
1346
|
+
}
|
|
1347
|
+
function un(e) {
|
|
1348
|
+
const t = e.portalHostname;
|
|
1349
|
+
return t?.includes("dev") ? "dev" : t?.includes("qa") ? "qa" : "";
|
|
1350
|
+
}
|
|
1351
|
+
function dn(e) {
|
|
1352
|
+
return !e?.isPortal && ["Trial", "Trial Press"].includes(e?.sourceJSON.subscriptionInfo?.type);
|
|
1353
|
+
}
|
|
1354
|
+
function pn(e) {
|
|
1355
|
+
switch (e) {
|
|
1356
|
+
case "360 VR":
|
|
1357
|
+
return {
|
|
1358
|
+
name: "360 VR",
|
|
1359
|
+
fileName: "arcgis-360-vr",
|
|
1360
|
+
icon: "arcgis-360-vr"
|
|
1361
|
+
};
|
|
1362
|
+
case "Business Analyst":
|
|
1363
|
+
return {
|
|
1364
|
+
name: "ArcGIS Business Analyst",
|
|
1365
|
+
fileName: "arcgis-business-analyst",
|
|
1366
|
+
icon: "business-analyst"
|
|
1367
|
+
};
|
|
1368
|
+
case "Dashboards":
|
|
1369
|
+
return {
|
|
1370
|
+
name: "ArcGIS Dashboards",
|
|
1371
|
+
fileName: "arcgis-dashboards",
|
|
1372
|
+
icon: "operations-dashboard"
|
|
1373
|
+
};
|
|
1374
|
+
case "Data Pipelines":
|
|
1375
|
+
return {
|
|
1376
|
+
name: "ArcGIS Data Pipelines",
|
|
1377
|
+
fileName: "arcgis-data-pipelines",
|
|
1378
|
+
icon: "data-pipelines"
|
|
1379
|
+
};
|
|
1380
|
+
case "Deep Learning Studio":
|
|
1381
|
+
return {
|
|
1382
|
+
name: "Deep Learning Studio",
|
|
1383
|
+
fileName: "arcgis-deep-learning-studio",
|
|
1384
|
+
icon: "deeplearningstudio"
|
|
1385
|
+
};
|
|
1386
|
+
case "Enterprise":
|
|
1387
|
+
return {
|
|
1388
|
+
name: "ArcGIS Enterprise",
|
|
1389
|
+
fileName: "arcgis-enterprise",
|
|
1390
|
+
icon: "arcgis-enterprise"
|
|
1391
|
+
};
|
|
1392
|
+
case "Excalibur":
|
|
1393
|
+
return {
|
|
1394
|
+
name: "ArcGIS Excalibur",
|
|
1395
|
+
fileName: "arcgis-excalibur",
|
|
1396
|
+
icon: "excalibur"
|
|
1397
|
+
};
|
|
1398
|
+
case "Experience Builder":
|
|
1399
|
+
return {
|
|
1400
|
+
name: "ArcGIS Experience Builder",
|
|
1401
|
+
fileName: "arcgis-experience-builder",
|
|
1402
|
+
icon: "arcgis-experience-builder"
|
|
1403
|
+
};
|
|
1404
|
+
case "Field Maps":
|
|
1405
|
+
return {
|
|
1406
|
+
name: "Field Maps Designer",
|
|
1407
|
+
fileName: "arcgis-field-maps",
|
|
1408
|
+
icon: "fieldmaps"
|
|
1409
|
+
};
|
|
1410
|
+
case "Field Maps Designer EA":
|
|
1411
|
+
return {
|
|
1412
|
+
name: "Field Maps Designer (EA)",
|
|
1413
|
+
fileName: "arcgis-field-maps-designer-ea",
|
|
1414
|
+
icon: "fieldmaps"
|
|
1415
|
+
};
|
|
1416
|
+
case "GeoAnalytics Engine":
|
|
1417
|
+
case "GeoAnalytics Fabric":
|
|
1418
|
+
return {
|
|
1419
|
+
name: e,
|
|
1420
|
+
fileName: "arcgis-geoanalytics-engine",
|
|
1421
|
+
icon: "arcgis-geoanalytics"
|
|
1422
|
+
};
|
|
1423
|
+
case "GeoBIM":
|
|
1424
|
+
return {
|
|
1425
|
+
name: "ArcGIS GeoBIM",
|
|
1426
|
+
fileName: "arcgis-geobim",
|
|
1427
|
+
icon: "geobim"
|
|
1428
|
+
};
|
|
1429
|
+
case "Hub":
|
|
1430
|
+
return {
|
|
1431
|
+
name: "ArcGIS Hub",
|
|
1432
|
+
fileName: "arcgis-hub",
|
|
1433
|
+
icon: "arcgis-hub"
|
|
1434
|
+
};
|
|
1435
|
+
case "Instant Apps":
|
|
1436
|
+
return {
|
|
1437
|
+
name: "Instant Apps",
|
|
1438
|
+
fileName: "arcgis-instant-apps",
|
|
1439
|
+
icon: "instant-apps"
|
|
1440
|
+
};
|
|
1441
|
+
case "Knowledge":
|
|
1442
|
+
return {
|
|
1443
|
+
name: "ArcGIS Knowledge Studio",
|
|
1444
|
+
fileName: "arcgis-knowledge",
|
|
1445
|
+
icon: "knowledge-studio"
|
|
1446
|
+
};
|
|
1447
|
+
case "Location Platform":
|
|
1448
|
+
return {
|
|
1449
|
+
name: "Location Platform",
|
|
1450
|
+
fileName: "arcgis-location-platform",
|
|
1451
|
+
icon: "location-platform"
|
|
1452
|
+
};
|
|
1453
|
+
case "Map Viewer":
|
|
1454
|
+
return {
|
|
1455
|
+
name: "Map Viewer",
|
|
1456
|
+
fileName: "map-viewer",
|
|
1457
|
+
icon: "map-viewer"
|
|
1458
|
+
};
|
|
1459
|
+
case "Mission":
|
|
1460
|
+
return {
|
|
1461
|
+
name: "ArcGIS Mission Manager",
|
|
1462
|
+
fileName: "arcgis-mission",
|
|
1463
|
+
icon: "mission"
|
|
1464
|
+
};
|
|
1465
|
+
case "Monitor":
|
|
1466
|
+
return {
|
|
1467
|
+
name: "ArcGIS Monitor",
|
|
1468
|
+
fileName: "arcgis-monitor",
|
|
1469
|
+
icon: "monitor"
|
|
1470
|
+
};
|
|
1471
|
+
case "Notebooks":
|
|
1472
|
+
return {
|
|
1473
|
+
name: "ArcGIS Notebooks",
|
|
1474
|
+
fileName: "arcgis-notebooks",
|
|
1475
|
+
icon: "notebook"
|
|
1476
|
+
};
|
|
1477
|
+
case "Online":
|
|
1478
|
+
return {
|
|
1479
|
+
name: "ArcGIS Online",
|
|
1480
|
+
fileName: "arcgis-online",
|
|
1481
|
+
icon: "arcgis-online"
|
|
1482
|
+
};
|
|
1483
|
+
case "Ortho Maker":
|
|
1484
|
+
return {
|
|
1485
|
+
name: "Ortho Maker",
|
|
1486
|
+
fileName: "arcgis-ortho-maker",
|
|
1487
|
+
icon: "ortho-maker"
|
|
1488
|
+
};
|
|
1489
|
+
case "QuickCapture":
|
|
1490
|
+
return {
|
|
1491
|
+
name: "ArcGIS QuickCapture",
|
|
1492
|
+
fileName: "arcgis-quickcapture",
|
|
1493
|
+
icon: "quick-capture"
|
|
1494
|
+
};
|
|
1495
|
+
case "Reality Studio":
|
|
1496
|
+
return {
|
|
1497
|
+
name: "ArcGIS Reality Studio",
|
|
1498
|
+
fileName: "arcgis-reality-studio",
|
|
1499
|
+
icon: "arcgis-reality-studio"
|
|
1500
|
+
};
|
|
1501
|
+
case "Scene Viewer":
|
|
1502
|
+
return {
|
|
1503
|
+
name: "Scene Viewer",
|
|
1504
|
+
fileName: "sceneviewer",
|
|
1505
|
+
icon: "scene-viewer"
|
|
1506
|
+
};
|
|
1507
|
+
case "Solutions":
|
|
1508
|
+
return {
|
|
1509
|
+
name: "ArcGIS Solutions",
|
|
1510
|
+
fileName: "arcgis-solutions",
|
|
1511
|
+
icon: "solutions"
|
|
1512
|
+
};
|
|
1513
|
+
case "StoryMaps":
|
|
1514
|
+
return {
|
|
1515
|
+
name: "ArcGIS StoryMaps",
|
|
1516
|
+
fileName: "arcgis-storymaps",
|
|
1517
|
+
icon: "story-maps"
|
|
1518
|
+
};
|
|
1519
|
+
case "Survey123":
|
|
1520
|
+
return {
|
|
1521
|
+
name: "ArcGIS Survey123",
|
|
1522
|
+
fileName: "arcgis-survey123",
|
|
1523
|
+
icon: "survey123"
|
|
1524
|
+
};
|
|
1525
|
+
case "Tracker":
|
|
1526
|
+
return {
|
|
1527
|
+
name: "Track Viewer",
|
|
1528
|
+
fileName: "arcgis-tracker",
|
|
1529
|
+
icon: "track-viewer"
|
|
1530
|
+
};
|
|
1531
|
+
case "Urban":
|
|
1532
|
+
return {
|
|
1533
|
+
name: "ArcGIS Urban",
|
|
1534
|
+
fileName: "arcgis-urban",
|
|
1535
|
+
icon: "arcgis-urban"
|
|
1536
|
+
};
|
|
1537
|
+
case "Vector Tile Style Editor":
|
|
1538
|
+
return {
|
|
1539
|
+
name: "Vector Tile Style Editor",
|
|
1540
|
+
fileName: "vector-tile-style-editor",
|
|
1541
|
+
icon: "vector-tile-style-editor"
|
|
1542
|
+
};
|
|
1543
|
+
case "Velocity":
|
|
1544
|
+
return {
|
|
1545
|
+
name: "ArcGIS Velocity",
|
|
1546
|
+
fileName: "arcgis-velocity",
|
|
1547
|
+
icon: "velocity"
|
|
1548
|
+
};
|
|
1549
|
+
case "Web Editor":
|
|
1550
|
+
return {
|
|
1551
|
+
name: "Web Editor",
|
|
1552
|
+
fileName: "arcgis-web-editor",
|
|
1553
|
+
icon: "web-editor"
|
|
1554
|
+
};
|
|
1555
|
+
case "Workflow Manager":
|
|
1556
|
+
return {
|
|
1557
|
+
name: "ArcGIS Workflow Manager",
|
|
1558
|
+
fileName: "arcgis-workflow-manager",
|
|
1559
|
+
icon: "workflow-manager"
|
|
1560
|
+
};
|
|
1561
|
+
case "Workforce":
|
|
1562
|
+
return {
|
|
1563
|
+
name: "ArcGIS Workforce",
|
|
1564
|
+
fileName: "arcgis-workforce",
|
|
1565
|
+
icon: "workforce"
|
|
1566
|
+
};
|
|
1567
|
+
default:
|
|
1568
|
+
return {
|
|
1569
|
+
name: "ArcGIS Online",
|
|
1570
|
+
fileName: "arcgis-online",
|
|
1571
|
+
icon: "arcgis-online"
|
|
1572
|
+
};
|
|
1573
|
+
}
|
|
1574
|
+
}
|
|
1575
|
+
function hn({
|
|
1576
|
+
product: e,
|
|
1577
|
+
portal: t,
|
|
1578
|
+
clientId: i
|
|
1579
|
+
}) {
|
|
1580
|
+
return e !== "Online" ? e : t?.sourceJSON?.subscriptionInfo?.options?.includes("Developer") ? "Location Platform" : ue(i) ? "GeoAnalytics Fabric" : le(i) ? "GeoAnalytics Engine" : t?.isPortal ? "Enterprise" : "Online";
|
|
1581
|
+
}
|
|
1582
|
+
function ye(e) {
|
|
1583
|
+
const t = hn(e), { name: i, fileName: n, icon: r } = pn(t);
|
|
1584
|
+
return {
|
|
1585
|
+
name: i,
|
|
1586
|
+
glyph: ee(`assets/portal-navigation/product-logos/${n}-glyph-32.svg`),
|
|
1587
|
+
icon: ee(`assets/portal-navigation/apps/${r}.avif`)
|
|
1588
|
+
};
|
|
1589
|
+
}
|
|
1590
|
+
function mn() {
|
|
1591
|
+
const e = $t();
|
|
1592
|
+
["item.html", "group.html"].some((t) => window.location.href.includes(t)) ? window.location.href = `./signin.html?locale=${e}&useLandingPage=false&returnUrl=${encodeURIComponent(
|
|
1593
|
+
window.location.href
|
|
1594
|
+
)}` : window.location.href = `./signin.html?locale=${e}&useLandingPage=true`;
|
|
1595
|
+
}
|
|
1596
|
+
function fn({ portal: e, clientId: t }) {
|
|
1597
|
+
const i = re({ portal: e });
|
|
1598
|
+
if (e?.isPortal) {
|
|
1599
|
+
const n = e.access === "private" ? q("signin.html", e) : e.allSSL || window.location.protocol === "https:" ? q("./index.html", e) : `${i}/index.html`;
|
|
1600
|
+
bn(e, n);
|
|
1601
|
+
} else
|
|
1602
|
+
window.location.href = `${i}/pages/Account/manage_accounts.html#client_id=${t}&signout=true`;
|
|
1603
|
+
}
|
|
1604
|
+
function gn() {
|
|
1605
|
+
ii(we), ni(we);
|
|
1606
|
+
}
|
|
1607
|
+
function bn(e, t = window.location.href) {
|
|
1608
|
+
const i = window.location.href.startsWith("http://"), n = jt(e);
|
|
1609
|
+
Gt.destroyCredentials(), gn();
|
|
1610
|
+
const r = new URL(q(`${ae(e)}oauth2/signout`, e)), { searchParams: o } = r;
|
|
1611
|
+
o.append("client_id", "arcgisonline"), o.append("redirect_uri", t), n && i && (e.isPortal || e.user?.sourceJSON.provider === "enterprise") && o.append("token", n), window.location.href = r.href;
|
|
1612
|
+
}
|
|
1613
|
+
function j(e, t) {
|
|
1614
|
+
if (!e)
|
|
1615
|
+
return 0;
|
|
1616
|
+
const i = zt({ text: e, font: `${t === "s" ? ".875rem" : "1rem"} 'Avenir Next'` });
|
|
1617
|
+
return Math.ceil(i);
|
|
1618
|
+
}
|
|
1619
|
+
function vn({
|
|
1620
|
+
portal: e,
|
|
1621
|
+
product: t,
|
|
1622
|
+
projectTitle: i,
|
|
1623
|
+
links: n,
|
|
1624
|
+
messages: r,
|
|
1625
|
+
productInfo: o
|
|
1626
|
+
}) {
|
|
1627
|
+
if (!t || !e)
|
|
1628
|
+
return;
|
|
1629
|
+
const s = e.user, l = de(t) && n?.length ? 24 + n.reduce((b, p) => b + 16 + j(p.label) + 16, 0) : 0, u = 40 + j(i) + 32 + 16 + 16 + 12, h = s ? Math.max(j(s?.username, "s"), j(s?.fullName)) : j(r?.signIn);
|
|
1630
|
+
return {
|
|
1631
|
+
actions: 192,
|
|
1632
|
+
project: i ? Math.min(u, 400) : 0,
|
|
1633
|
+
product: 64 + Math.max(j(o?.name), j(e.name, "s")) + 16,
|
|
1634
|
+
nav: l,
|
|
1635
|
+
user: 64 + h + 16
|
|
1636
|
+
};
|
|
1637
|
+
}
|
|
1638
|
+
function _n({
|
|
1639
|
+
measurements: e,
|
|
1640
|
+
screenWidth: t
|
|
1641
|
+
}) {
|
|
1642
|
+
const { actions: i, nav: n, product: r, project: o, user: s } = e, a = 64, l = t - i - a > n, u = t - i - (l ? n : 0) - o - a > Math.min(r, 400), h = t - n - o - i - r < Math.min(s, 320);
|
|
1643
|
+
return {
|
|
1644
|
+
nav: l,
|
|
1645
|
+
product: u,
|
|
1646
|
+
user: h ? "avatar" : "full"
|
|
1647
|
+
};
|
|
1648
|
+
}
|
|
1649
|
+
const Ue = ' -type:"Code Attachment" -type:"Featured Items" -type:"Symbol Set" -type:"Color Set" -type:"Windows Viewer Add In" -type:"Windows Viewer Configuration" -type:"Map Area" -typekeywords:"MapAreaPackage" -type:"Indoors Map Configuration" -typekeywords:"SMX"';
|
|
1650
|
+
async function $e({
|
|
1651
|
+
portal: e,
|
|
1652
|
+
searchTerm: t
|
|
1653
|
+
}) {
|
|
1654
|
+
if (!e?.user)
|
|
1655
|
+
return [];
|
|
1656
|
+
try {
|
|
1657
|
+
return (await e.queryItems({
|
|
1658
|
+
...t ? { query: t } : {},
|
|
1659
|
+
filter: `owner:${e.user.username}${Ue}`,
|
|
1660
|
+
num: 20,
|
|
1661
|
+
sortField: "modified",
|
|
1662
|
+
sortOrder: "desc"
|
|
1663
|
+
})).results;
|
|
1664
|
+
} catch {
|
|
1665
|
+
return [];
|
|
1666
|
+
}
|
|
1667
|
+
}
|
|
1668
|
+
async function wn({
|
|
1669
|
+
portal: e,
|
|
1670
|
+
searchTerm: t
|
|
1671
|
+
}) {
|
|
1672
|
+
if (!e)
|
|
1673
|
+
return [];
|
|
1674
|
+
const i = Bt((t || "").substring(0, 409)), n = `${e?.id ? `accountid:"${e.id}"` : ""}${Ue}`, r = `${ae(e)}search/suggest`;
|
|
1675
|
+
return (await G(r, { query: {
|
|
1676
|
+
suggest: i,
|
|
1677
|
+
filters: n,
|
|
1678
|
+
searchFields: "title",
|
|
1679
|
+
f: "json"
|
|
1680
|
+
} }))?.result?.results || [];
|
|
1681
|
+
}
|
|
1682
|
+
const yn = wt`:host{display:block;--arcgis-portal-navigation-logo-max-width: 260px;--arcgis-portal-navigation-logo-text-display: flex;--arcgis-portal-navigation-user-max-width: 260px;--arcgis-portal-navigation-user-text-display: block;--arcgis-portal-navigation-project-max-width: auto}.scrim{z-index:100;pointer-events:none;opacity:0;transition:opacity .2s ease-in-out;--calcite-scrim-background: rgba(0, 0, 0, .85)}.scrim--active{opacity:1}.wrapper{background:var(--calcite-color-foreground-1);border-bottom:1px solid var(--calcite-color-border-3);position:relative;z-index:200}.navigation{width:100%;min-width:0;min-height:4rem;display:flex;align-items:stretch;max-width:var(--arcgis-portal-navigation-max-width);margin-inline:auto;overflow:hidden}.navigation--loading .fade-in{opacity:0}.fade-in{opacity:1;transition:opacity ease-in-out .15s}.content-end{margin-inline-start:auto;display:flex;align-items:center}.content-end[hidden]{display:none}.action{height:100%;--calcite-internal-action-spacing: 1.25rem}.border-start{border-inline-start:1px solid var(--calcite-color-border-3)}.platform{--calcite-sheet-scrim-background: var(--calcite-color-transparent-scrim);--calcite-sheet-width: 24rem}.platform__container{display:flex;flex-direction:column;max-height:100%}.platform__header{display:flex;align-items:center}.platform__header-image{width:48px;height:48px;margin-inline-end:1rem}.platform__header-text{flex:1 1 auto;line-height:1.375}.platform__title{margin:0;padding:0;color:var(--calcite-color-text-1);font-size:var(--calcite-font-size--1);font-weight:var(--calcite-font-weight-medium)}.platform__subtitle{margin:0;padding:0;font-size:var(--calcite-font-size--2);color:var(--calcite-color-text-2)}.platform__panel{border-inline-end:1px solid var(--calcite-color-border-3);--calcite-panel-background-color: var(--calcite-color-foreground-1)}.platform__tiles{margin:.75rem .75rem 1.5rem;display:grid;grid-template-columns:repeat(auto-fit,minmax(100px,1fr));grid-gap:.5rem}.platform__tabs{min-height:0;flex:1 1 auto;--calcite-tab-content-space-y: 0}.platform__tab{position:relative}.list{list-style:none;margin:0;padding:0}.list__container{position:relative}.list__header{display:flex;align-items:center;padding:.5rem .75rem;border-bottom:1px solid var(--calcite-color-border-3);background-color:var(--calcite-color-foreground-1);position:sticky;top:0;z-index:701}.list__search{flex:1 1 auto;--calcite-color-border-input: var(--calcite-color-foreground-1)}.list-item__link{display:block;box-sizing:border-box;width:100%;padding-inline-start:.75rem;background-color:var(--calcite-color-foreground-1);outline-color:transparent;text-decoration:none;outline-offset:0;transition:color var(--calcite-animation-timing) ease-in-out,background-color var(--calcite-animation-timing) ease-in-out,outline-color var(--calcite-internal-animation-timing-fast) ease-in-out,outline-offset var(--calcite-internal-animation-timing-fast) ease-in-out}.list-item__link:hover{background-color:var(--calcite-color-transparent-hover)}.list-item__link:focus{outline:var(--calcite-border-width-md) solid var(--calcite-color-focus);outline-offset:-2px}.list-item:focus-within .list-item__container{border-bottom-color:transparent}.list-item__container{box-sizing:border-box;width:100%;padding-block:.5rem;padding-inline-start:0;padding-inline-end:.5rem;border-bottom:1px solid var(--calcite-color-border-3);display:flex;align-items:center;position:relative;pointer-events:none}.list-item__content{display:flex;flex-direction:column;justify-content:center;min-width:0}.list-item__logo{width:48px;height:48px;flex:0 0 auto;box-sizing:border-box;margin-inline-end:.5rem;justify-content:center;align-items:center;position:relative;display:flex}.list-item__logo-bg{position:absolute}.list-item__indicator{position:absolute;width:.5rem;height:.5rem;border-radius:50%;background-color:var(--calcite-color-status-success);border:2px solid var(--calcite-color-foreground-1);z-index:50;top:.25rem;inset-inline-start:-.25rem}.list-item__abbr{color:#fff;font-weight:700;position:relative}.list-item__logo-empty{border:2px dashed var(--calcite-color-border-3);border-radius:8px}.list-item__logo--item-type{background-color:var(--calcite-color-background);display:flex;justify-content:center;align-items:center}.list-item__title{display:block;font-size:var(--calcite-font-size--1);color:var(--calcite-color-text-1);font-weight:500;word-wrap:break-word}.list-item__title--regular{font-weight:400;padding-top:.25rem}.list-item__title--large{font-size:var(--calcite-font-size-0);line-height:1}.list-item__subtitle{display:block;font-size:var(--calcite-font-size--2);color:var(--calcite-color-text-3);font-weight:500;padding-top:.25rem;padding-bottom:.25rem}.list-item__subtitle--large{font-size:var(--calcite-font-size--1);font-weight:400;padding:0}.list-item__chip{margin-inline-start:auto;--calcite-chip-background-color: var(--calcite-color-foreground-current)}.app--hidden{--calcite-list-background-color: var(--calcite-color-background)}.app--hidden .list-item__logo{opacity:.4}.logo{border-inline-end:1px solid var(--calcite-color-border-3);max-width:var(--arcgis-portal-navigation-logo-max-width);display:flex;align-items:center}.logo--link{text-decoration:none}.logo--link:hover{background-color:var(--calcite-color-transparent-hover)}.logo--link:focus{outline:2px solid var(--calcite-color-brand);outline-offset:-2px}.logo__glyph{width:32px;height:32px;padding-inline:1rem}.logo__text{display:var(--arcgis-portal-navigation-logo-text-display);flex-direction:column;overflow:hidden;white-space:nowrap;text-align:start;padding-inline:var(--calcite-internal-navigation-logo-padding-inline);padding-inline-end:1rem}.logo__title{margin:0;padding:0;color:var(--calcite-color-text-1);font-size:var(--calcite-font-size-0);font-weight:var(--calcite-font-weight-medium);line-height:1.25rem;text-overflow:ellipsis;overflow:hidden}.logo__subtitle{margin:0;padding:0;font-size:var(--calcite-font-size--1);color:var(--calcite-color-text-2);font-size:.875rem;line-height:1rem;text-overflow:ellipsis;overflow:hidden}.site-nav{margin-inline-start:1.5rem}.project{min-width:0;outline:none;border:none;border-inline-end:1px solid var(--calcite-color-border-3);cursor:pointer;background-color:var(--calcite-color-foreground-1);box-sizing:border-box;display:flex;user-select:none;appearance:none;align-items:center;justify-content:center;text-align:center;font-family:inherit;font-weight:var(--calcite-font-weight-normal);text-decoration-line:none;outline-color:transparent;box-shadow:var(--calcite-button-shadow, var(--calcite-shadow-none));color:var(--calcite-color-text-1);transition:all var(--calcite-animation-timing) ease-in-out 0s,outline 0s,outline-offset 0s;inset-inline-end:.25rem;background:transparent;white-space:nowrap;padding:0 1.375rem;flex-grow:2}.project:hover{background-color:var(--calcite-color-transparent-hover)}.project:focus{outline:2px solid var(--calcite-color-brand);outline-offset:-2px}.project__title{display:flex;justify-self:stretch;min-width:0;align-items:center;justify-content:center;padding:0 1.5rem;margin-inline-end:1.5rem;color:var(--calcite-color-text-1);border-inline-end:1px solid var(--calcite-color-border-3);max-width:var(--arcgis-portal-navigation-project-max-width, 60%)}.project__title__header{padding:0;margin:0;font-size:1rem;font-weight:400;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.project__dropdown{max-width:var(--arcgis-portal-navigation-project-max-width, 60%);min-width:0;margin-inline-end:1.5rem}.project__indicator{margin-inline-end:.5rem;--calcite-ui-icon-color: var(--calcite-color-status-danger)}.project__menu-icon{margin-inline-end:.75rem}.project__text{font-size:1rem;min-width:0;overflow:hidden;text-overflow:ellipsis;margin-inline-end:.75rem}.rename{width:100%;min-width:0;display:flex;flex:1 1 0;align-items:center;margin-inline-start:.5rem}.rename__action{margin-inline-end:.5rem;display:flex;align-items:center}.rename__input{margin-inline-end:.5rem;display:block;width:100%}.search{width:100%;min-width:0;display:flex;flex:1 1 0;align-items:center;margin-inline-start:.5rem}.search__action{margin-inline-end:.5rem;display:flex;align-items:center}.search__input{margin-inline-end:.5rem;display:block;width:100%}.suggestions__header{display:flex;align-items:center;width:var(--calcite-popover-max-size-x);box-sizing:border-box;padding:.75rem 1rem;border-bottom:1px solid var(--calcite-color-border-3)}.suggestions__title{padding:0;margin:0;font-weight:500;color:var(--calcite-color-text-1);font-size:var(--calcite-font-size-1);flex:1 1 0}.suggestions__search-type{--calcite-popover-max-size-x: 320px}.suggestions__search-type__icon{vertical-align:-.2rem}.suggestions__footer{display:flex;align-items:center;justify-content:center;padding:1rem}.notifications{width:min(24rem,80vw)}.notifications--full:after{content:"";display:block;border-top:1px solid var(--calcite-color-border-3);margin-left:1rem}.notifications__list{max-height:min(18rem,80vh);overflow:auto;box-sizing:border-box;width:100%}.notifications--empty{padding:2rem}.empty{padding:1rem;text-align:center;color:var(--calcite-color-text-3);--calcite-icon-color: var(--calcite-color-status-success-hover)}.empty__header{margin:0;padding:.75rem 0 0;color:var(--calcite-color-text-1);font-weight:500;font-size:var(--calcite-font-size-1)}.empty__text{margin:0;padding:0;color:var(--calcite-color-text-3);font-weight:400;font-size:var(--calcite-font-size-0)}.notification{display:flex;flex-direction:column;padding:.5rem}.notification__message{color:var(--calcite-color-text-1);font-size:var(--calcite-font-size-0);--calcite-color-brand-underline: transparent}.notification__date{color:var(--calcite-color-text-3);font-size:var(--calcite-font-size-0)}.notifications__dismiss{margin-inline-start:auto;margin-inline-end:1rem;margin-block:.5rem}.user{display:flex;max-width:var(--arcgis-portal-navigation-user-max-width);--calcite-dropdown-item-text-color: var(--calcite-color-text-3);--calcite-dropdown-group-title-text-color: var(--calcite-color-text-2)}.user__dropdown{max-width:100%}.user__button{max-width:100%;--calcite-spacing-base: -2px}.user__button__contents{display:flex;text-align:start}.user__button__text{display:var(--arcgis-portal-navigation-user-text-display);flex:1 1 0;min-width:0;padding-inline-start:1rem;line-height:1.375;overflow:hidden}.user__button__avatar{flex:0 0 auto}.user__button__full,.user__button__username{max-width:100%;overflow:hidden;text-overflow:ellipsis}.user__top{display:flex;padding:.75rem;border-bottom:1px solid var(--calcite-color-border-3)}.user__top__avatar{flex:0 0 auto}.user__top__text{box-sizing:border-box;word-wrap:break-word;flex:1 1 0;min-width:0;padding-inline-start:1rem;line-height:1.375}.user__full{font-size:1rem;font-weight:medium;color:var(--calcite-colot-text-1);line-height:1.25;padding:0;margin:0}.user__username{font-size:.875rem;line-height:1.25;color:var(--calcite-colot-text-2);padding:0;margin:0}`;
|
|
1683
|
+
function $n({ messages: e, portal: t, showNav: i, openPlatformMenu: n, handleToggleSearch: r }) {
|
|
1684
|
+
return !e || i && !t?.user ? null : c`<calcite-action .label=${e.applicationMenu} text="app switcher" icon=app-launcher scale=l class="action" @click=${n} @focusin=${() => r(!1, !0)}></calcite-action>`;
|
|
1685
|
+
}
|
|
1686
|
+
class kn extends bt {
|
|
1687
|
+
constructor() {
|
|
1688
|
+
super(...arguments), this.messages = vt({ blocking: !0 }), this.refreshNotifications = async () => {
|
|
1689
|
+
const { portal: t, messages: i } = this;
|
|
1690
|
+
this.notifications = await ge({ portal: t, locale: i._t9nLocale, t9n: i.notifications });
|
|
1691
|
+
}, this.deleteNotifications = async (t) => {
|
|
1692
|
+
const { portal: i } = this;
|
|
1693
|
+
if (t?.length < 20)
|
|
1694
|
+
await qt(i, t);
|
|
1695
|
+
else {
|
|
1696
|
+
let n = 0;
|
|
1697
|
+
for await (const r of t)
|
|
1698
|
+
await Te({ id: r, portal: i }), this.notificationDeleteProgress = Math.ceil(n++ / t.length * 100);
|
|
1699
|
+
}
|
|
1700
|
+
this.notificationDeleteProgress = void 0, this.refreshNotifications();
|
|
1701
|
+
}, this.navigate = (t) => {
|
|
1702
|
+
this.arcgisNavigate.emit(t), this.platformMenuOpen = !1, this.notificationsActive = !1, this.searchActive = !1;
|
|
1703
|
+
}, this.openPlatformMenu = () => {
|
|
1704
|
+
this.platformMenuOpen = !0, this.searchActive = !1;
|
|
1705
|
+
}, this.projectMenuClick = (t) => {
|
|
1706
|
+
this.arcgisNavigationProjectMenuClick.emit(t);
|
|
1707
|
+
}, this.openProjectTitleEdit = () => {
|
|
1708
|
+
this.projectTitleEditing = !0, this.editedProjectTitle = this.projectTitle, requestAnimationFrame(() => {
|
|
1709
|
+
this.projectTitleInputRef?.value?.setFocus();
|
|
1710
|
+
});
|
|
1711
|
+
}, this.closeProjectTitleEdit = () => {
|
|
1712
|
+
this.projectTitleEditing = !1, this.projectTitleErrorMessage = void 0, requestAnimationFrame(() => {
|
|
1713
|
+
this.projectButtonRef?.value?.focus();
|
|
1714
|
+
});
|
|
1715
|
+
}, this.handleProjectTitleSave = async (t) => {
|
|
1716
|
+
this.projectTitleSaving = !0;
|
|
1717
|
+
const n = await (this.projectTitleSave || Fi)(t);
|
|
1718
|
+
if (this.projectTitleSaving = !1, n.status === "success") {
|
|
1719
|
+
this.closeProjectTitleEdit();
|
|
1720
|
+
return;
|
|
1721
|
+
}
|
|
1722
|
+
n.message && (this.projectTitleErrorMessage = n.message);
|
|
1723
|
+
}, this.handleProjectTitleEdit = (t) => {
|
|
1724
|
+
this.editedProjectTitle = t;
|
|
1725
|
+
}, this.handleProjectTitleCancel = () => {
|
|
1726
|
+
this.editedProjectTitle = this.projectTitle, this.closeProjectTitleEdit();
|
|
1727
|
+
}, this.signOut = () => {
|
|
1728
|
+
const { portal: t, clientId: i } = this;
|
|
1729
|
+
fn({ portal: t, clientId: i }), this.arcgisNavigationSignOut.emit();
|
|
1730
|
+
}, this.signIn = () => {
|
|
1731
|
+
this.arcgisNavigationSignIn.emit(), mn();
|
|
1732
|
+
}, this.openAccountSwitcher = () => {
|
|
1733
|
+
this.accountSwitcherOpen = !0;
|
|
1734
|
+
}, this.handlePlatformClose = () => {
|
|
1735
|
+
this.platformMenuOpen = !1, this.handleAppCancel();
|
|
1736
|
+
}, this.handleAppSave = async () => {
|
|
1737
|
+
const { hiddenApps: t, sortedApps: i, userProperties: n, portal: r } = this;
|
|
1738
|
+
this.apps = [...i], this.editingApplications = !1, this.appsLoading = !0;
|
|
1739
|
+
const { result: o } = await Ni({ apps: i, hiddenApps: t, userProperties: n, portal: r });
|
|
1740
|
+
o?.success && (this.previousAppState = {
|
|
1741
|
+
apps: i,
|
|
1742
|
+
hiddenApps: t
|
|
1743
|
+
}), await Ut(1e3), this.appsLoading = !1;
|
|
1744
|
+
}, this.handleAppCancel = () => {
|
|
1745
|
+
this.previousAppState && (this.apps = this.previousAppState.apps, this.hiddenApps = this.previousAppState.hiddenApps), this.editingApplications = !1;
|
|
1746
|
+
}, this.handleAppHide = ({ app: t, hidden: i }) => {
|
|
1747
|
+
!this.hiddenApps || !t || (this.hiddenApps = { ...this.hiddenApps || {}, [t]: i });
|
|
1748
|
+
}, this.handleAppReorder = ({ oldIndex: t, newIndex: i }) => {
|
|
1749
|
+
const n = [...this.sortedApps], r = n[t];
|
|
1750
|
+
n.splice(t, 1), n.splice(i, 0, r), this.sortedApps = n;
|
|
1751
|
+
}, this.handleItemSearch = (t) => {
|
|
1752
|
+
this.recentContentLoading = !0, this.recentContentSearchTerm = t, this.debouncedItemSearch(t);
|
|
1753
|
+
}, this.debouncedItemSearch = me(async (t) => {
|
|
1754
|
+
this.recentContent = await $e({ portal: this.portal, searchTerm: t }), this.recentContentLoading = !1;
|
|
1755
|
+
}, 1e3), this.debouncedSuggest = me(async (t) => {
|
|
1756
|
+
this.suggestions = await wn({ portal: this.portal, searchTerm: t });
|
|
1757
|
+
}, 1e3), this.handleSearch = (t) => {
|
|
1758
|
+
this.searchTerm = t, this.suggestions = void 0, this.debouncedSuggest(t);
|
|
1759
|
+
}, this.sizeSearchPopover = () => {
|
|
1760
|
+
const t = this.searchInput?.value, i = this.searchPopover?.value;
|
|
1761
|
+
if (!t || !i)
|
|
1762
|
+
return;
|
|
1763
|
+
const n = t.offsetWidth > 480 ? `${t.offsetWidth}px` : "80vw";
|
|
1764
|
+
i.style?.setProperty?.("--calcite-popover-max-size-x", n);
|
|
1765
|
+
}, this.handleToggleNotifications = (t) => {
|
|
1766
|
+
this.notificationsActive = t;
|
|
1767
|
+
}, this.handleToggleSearch = (t, i) => {
|
|
1768
|
+
this.searchActive = t, this.searchTerm = "", this.suggestions = void 0, document.documentElement.style.overflow = t ? "hidden" : this.initialDocumentOverflowStyle, !i && requestAnimationFrame(() => {
|
|
1769
|
+
if (t) {
|
|
1770
|
+
this.searchInput?.value?.setFocus(), this.sizeSearchPopover();
|
|
1771
|
+
return;
|
|
1772
|
+
}
|
|
1773
|
+
this.searchAction?.value?.setFocus();
|
|
1774
|
+
});
|
|
1775
|
+
}, this.handleSearchTypeChange = (t) => {
|
|
1776
|
+
this.searchType = t;
|
|
1777
|
+
}, this.searchInput = B(), this.searchAction = B(), this.searchPopover = B(), this.projectTitleInputRef = B(), this.projectButtonRef = B(), this.initialDocumentOverflowStyle = document.documentElement.style.overflow, this.links = [], this.notifications = [], this.notificationsActive = !1, this.apps = [], this.hiddenApps = {}, this.sortedApps = [], this.appsSearchTerm = "", this.appsLoading = !0, this.editingApplications = !1, this.recentContent = [], this.recentContentSearchTerm = "", this.recentContentLoading = !0, this.platformMenuOpen = !1, this.accountSwitcherOpen = !1, this.projectTitleEditing = !1, this.projectTitleSaving = !1, this.screenWidth = window.innerWidth, this.searchActive = !1, this.searchTerm = "", this.searchType = "keyword", this.projectMenuOptions = [], this.currentPathname = window.location.pathname, this.arcgisNavigate = V(), this.arcgisNavigationProjectMenuClick = V(), this.arcgisNavigationSignIn = V(), this.arcgisNavigationSignOut = V();
|
|
1778
|
+
}
|
|
1779
|
+
static {
|
|
1780
|
+
this.properties = { infoBanner: 16, links: 16, userLinks: 16, notifications: 16, notificationsActive: 16, apps: 16, hiddenApps: 16, sortedApps: 16, previousAppState: 16, appsSearchTerm: 16, appsLoading: 16, editingApplications: 16, recentContent: 16, recentContentSearchTerm: 16, recentContentLoading: 16, platformMenuOpen: 16, accountSwitcherOpen: 16, editedProjectTitle: 16, projectTitleEditing: 16, projectTitleSaving: 16, projectTitleErrorMessage: 16, productInfo: 16, notificationDeleteProgress: 16, measurements: 16, screenWidth: 16, showProduct: 16, showNav: 16, showUser: 16, searchActive: 16, searchTerm: 16, suggestions: 16, searchType: 16, portal: 0, portalItem: 0, product: 1, productHref: 1, projectTitle: 1, projectTitleSave: 0, projectMenuIcon: 1, projectMenuSaveIndicator: 5, projectMenuOptions: 0, disableTrackViewer: 5, disableNotebookServer: 5, clientId: 1, currentPathname: 1, maxWidth: 9 };
|
|
1781
|
+
}
|
|
1782
|
+
static {
|
|
1783
|
+
this.styles = yn;
|
|
1784
|
+
}
|
|
1785
|
+
#e;
|
|
1786
|
+
async loaded() {
|
|
1787
|
+
const { portal: t, messages: i, clientId: n, product: r } = this;
|
|
1788
|
+
this.calculateMeasurements(), this.productInfo = ye({ product: r, clientId: n, portal: t }), this.userLinks = nn({ portal: t, messages: i.user, clientId: n }), this.notifications = await ge({ portal: t, locale: i._t9nLocale, t9n: i.notifications }), this.recentContent = await $e({ portal: t }), this.recentContentLoading = !1;
|
|
1789
|
+
const { apps: o, hiddenApps: s, signInSettings: a, licenses: l, userProperties: u } = await Ii({
|
|
1790
|
+
portal: t,
|
|
1791
|
+
trackViewerEnabled: !this.disableTrackViewer,
|
|
1792
|
+
notebookServerEnabled: !this.disableNotebookServer
|
|
1793
|
+
}), h = await Nt(t);
|
|
1794
|
+
this.infoBanner = h?.informationalBanner, this.userProperties = u, this.apps = o, this.hiddenApps = s, this.sortedApps = o, this.previousAppState = { apps: o, hiddenApps: s }, this.appsLoading = !1, this.links = Li({
|
|
1795
|
+
portal: t,
|
|
1796
|
+
messages: i.links,
|
|
1797
|
+
licenses: l,
|
|
1798
|
+
clientId: n,
|
|
1799
|
+
signInSettings: a
|
|
1800
|
+
}), this.calculateMeasurements();
|
|
1801
|
+
}
|
|
1802
|
+
connectedCallback() {
|
|
1803
|
+
super.connectedCallback(), this.initialDocumentOverflowStyle = document.documentElement.style.overflow, !(typeof ResizeObserver > "u") && (this.#e = new ResizeObserver(() => {
|
|
1804
|
+
requestAnimationFrame(() => {
|
|
1805
|
+
this.screenWidth = window.innerWidth, this.updateBreakpoints(), this.sizeSearchPopover();
|
|
1806
|
+
});
|
|
1807
|
+
}));
|
|
1808
|
+
}
|
|
1809
|
+
firstUpdated() {
|
|
1810
|
+
this.el && this.#e && (this.#e.observe(this.el), this.screenWidth = window.innerWidth);
|
|
1811
|
+
}
|
|
1812
|
+
willUpdate(t) {
|
|
1813
|
+
(t.has("product") || t.has("clientId")) && this.hasUpdated && (this.productInfo = ye({ product: this.product, clientId: this.clientId, portal: this.portal }));
|
|
1814
|
+
}
|
|
1815
|
+
disconnectedCallback() {
|
|
1816
|
+
this.#e?.disconnect(), this.#e = void 0, document.documentElement.style.overflow = this.initialDocumentOverflowStyle, super.disconnectedCallback();
|
|
1817
|
+
}
|
|
1818
|
+
calculateMeasurements() {
|
|
1819
|
+
const { links: t, messages: i, portal: n, product: r, productInfo: o, projectTitle: s } = this;
|
|
1820
|
+
if (n) {
|
|
1821
|
+
const a = vn({
|
|
1822
|
+
portal: n,
|
|
1823
|
+
product: r,
|
|
1824
|
+
productInfo: o,
|
|
1825
|
+
links: t,
|
|
1826
|
+
messages: i.user,
|
|
1827
|
+
projectTitle: s
|
|
1828
|
+
});
|
|
1829
|
+
this.measurements = a, this.updateBreakpoints();
|
|
1830
|
+
}
|
|
1831
|
+
}
|
|
1832
|
+
updateBreakpoints() {
|
|
1833
|
+
const { measurements: t, maxWidth: i } = this;
|
|
1834
|
+
if (t) {
|
|
1835
|
+
const n = i ? Math.min(this.screenWidth, i) : this.screenWidth, r = _n({ measurements: t, screenWidth: n });
|
|
1836
|
+
this.showProduct = r.product, this.showNav = r.nav, this.showUser = r.user;
|
|
1837
|
+
}
|
|
1838
|
+
}
|
|
1839
|
+
render() {
|
|
1840
|
+
const { accountSwitcherOpen: t, apps: i, appsLoading: n, appsSearchTerm: r, currentPathname: o, handleAppCancel: s, handleAppHide: a, handleAppReorder: l, handleAppSave: u, handleItemSearch: h, handlePlatformClose: b, handleSearch: p, handleToggleSearch: y, handleSearchTypeChange: x, hiddenApps: k, infoBanner: P, links: w, messages: f, navigate: m, notifications: d, notificationsActive: _, notificationDeleteProgress: N, openAccountSwitcher: g, portal: v, portalItem: $, product: A, productInfo: E, productHref: R, projectTitle: S, editedProjectTitle: M, handleProjectTitleSave: Be, handleProjectTitleEdit: Fe, handleProjectTitleCancel: We, handleToggleNotifications: pe, openProjectTitleEdit: Re, openPlatformMenu: Ve, platformMenuOpen: He, projectTitleEditing: Q, projectTitleSaving: qe, projectTitleErrorMessage: Je, projectMenuIcon: Ke, projectMenuSaveIndicator: Qe, projectMenuClick: Xe, projectMenuOptions: Ye, projectTitleInputRef: Ze, projectButtonRef: et, recentContent: tt, recentContentSearchTerm: it, recentContentLoading: nt, userLinks: rt, searchActive: U, searchTerm: ot, searchType: st, searchInput: at, searchAction: ct, searchPopover: lt, showNav: X, showProduct: ut, showUser: dt, suggestions: pt } = this, ht = v?.user, mt = de(A) && !w?.length || !this.measurements;
|
|
1841
|
+
return c`<calcite-scrim class=${H({ scrim: !0, "scrim--active": U })}></calcite-scrim><div class="wrapper" style=${ke({ "--arcgis-portal-navigation-max-width": this.maxWidth ? `${this.maxWidth}px` : "100%" })}><arcgis-portal-info-banner .config=${P}></arcgis-portal-info-banner>${v?.isPortal && $?.loaded && c`<arcgis-portal-classification-banner .portalItem=${$}></arcgis-portal-classification-banner>` || ""}<header class=${H({ navigation: !0, "navigation--loading": mt })}>${$n({ messages: f?.platform, portal: v, showNav: X, openPlatformMenu: Ve, handleToggleSearch: y })}${ut && Ft({ navigate: m, portal: v, product: A, productInfo: E, productHref: R, messages: f?.logo, showNav: X, searchActive: U, projectTitleEditing: Q }) || ""}${Hi({ navigate: m, portal: v, portalItem: $, messages: f?.project, projectTitle: S, editedProjectTitle: M, handleProjectTitleSave: Be, handleProjectTitleEdit: Fe, openProjectTitleEdit: Re, projectTitleErrorMessage: Je, handleProjectTitleCancel: We, projectTitleEditing: Q, projectTitleSaving: qe, projectMenuIcon: Ke, projectMenuSaveIndicator: Qe, projectMenuClick: Xe, projectMenuOptions: Ye, projectTitleInputRef: Ze, projectButtonRef: et })}${X && Zi({ searchActive: U, navigate: m, portal: v, product: A, messages: f?.links, links: w, currentPathname: o }) || ""}<div slot=content-end class="content-end fade-in" .hidden=${Q || U}><slot name=content-end></slot></div>${Xi({ currentPathname: o, navigate: m, portal: v, product: A, messages: f?.search, searchActive: U, searchType: st, searchTerm: ot, suggestions: pt, handleSearch: p, handleToggleSearch: y, handleSearchTypeChange: x, searchInputRef: at, searchActionRef: ct, searchPopoverRef: lt })}${ht ? c`<div class="border-start fade-in">${Xt({ notifications: d, notificationsActive: _, messages: f?.notifications, handleToggleNotifications: pe, handleToggleSearch: y })}${Yt({ notificationsActive: _, notifications: d, navigate: m, portal: v, deleteNotifications: this.deleteNotifications, handleToggleNotifications: pe, messages: f?.notifications, notificationDeleteProgress: N })}</div>${en({ portal: v, userLinks: rt, openAccountSwitcher: v?.isPortal ? void 0 : g, signOut: this.signOut, messages: f?.user, textDisabled: dt === "avatar", navigate: m })}` : Yi({ messages: f.user, signIn: this.signIn })}</header>${Bi({ locale: f._t9nLocale, navigate: m, portal: v, product: A, productInfo: E, messages: f?.platform, apps: i, appsLoading: n, hiddenApps: k, appsSearchTerm: r, editingApplications: this.editingApplications, open: He, links: w, recentContent: tt, recentContentSearchTerm: it, recentContentLoading: nt, handlePlatformClose: b, handleAppReorder: l, handleAppEdit: () => this.editingApplications = !0, handleAppsSearch: (ft) => this.appsSearchTerm = ft, handleAppSave: u, handleAppCancel: s, handleAppHide: a, handleItemSearch: h })}${t && c`<arcgis-portal-account-switcher .portal=${v} @arcgisClose=${() => {
|
|
1842
|
+
this.accountSwitcherOpen = !1;
|
|
1843
|
+
}}></arcgis-portal-account-switcher>` || ""}</div>`;
|
|
1844
|
+
}
|
|
1845
|
+
}
|
|
1846
|
+
gt("arcgis-portal-navigation", kn);
|
|
1847
|
+
export {
|
|
1848
|
+
kn as ArcGISPortalNavigation
|
|
1849
|
+
};
|