@arcgis/core 5.2.0-next.144 → 5.2.0-next.146
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/analysis/AreaMeasurementAnalysis.d.ts +11 -1
- package/analysis/DirectLineMeasurementAnalysis.d.ts +11 -1
- package/analysis/DistanceMeasurementAnalysis.d.ts +8 -0
- package/arcade/featureSetUtils.js +1 -1
- package/arcgisGlobal.d.ts +5 -5
- package/assets/esri/core/workers/RemoteClient.js +1 -1
- package/assets/esri/core/workers/chunks/{1ede8666d804c553803e.js → 0b6941781e35ce0f7274.js} +1 -1
- package/assets/esri/core/workers/chunks/{a0d459bdb91ee892d4b6.js → 116293b1ee788a89ce1e.js} +1 -1
- package/assets/esri/core/workers/chunks/18f20fd43ec9ce03cef1.js +1 -0
- package/assets/esri/core/workers/chunks/{8959a825f5e1ce6f38ac.js → 1c65ab9ed611c322ce27.js} +1 -1
- package/assets/esri/core/workers/chunks/257910cca66dc5df465e.js +1 -0
- package/assets/esri/core/workers/chunks/2e096537a3a5555a4a93.js +1 -0
- package/assets/esri/core/workers/chunks/{8ba32d3a0df4a206ef1c.js → 392bcef780df52fb4cca.js} +1 -1
- package/assets/esri/core/workers/chunks/{d4926545193414cf2f16.js → 4ed8655770a3e018e366.js} +1 -1
- package/assets/esri/core/workers/chunks/505227797bcf2a1d908d.js +1 -0
- package/assets/esri/core/workers/chunks/532a1b6ff9a7c950e325.js +1 -0
- package/assets/esri/core/workers/chunks/56a24061589f4a968818.js +1 -0
- package/assets/esri/core/workers/chunks/{5b3cfe95314a75a735c1.js → 588e677f33df86a595bf.js} +1 -1
- package/assets/esri/core/workers/chunks/{25e6013e2c095629b236.js → 58c252289411b0d86473.js} +1 -1
- package/assets/esri/core/workers/chunks/{1c0975c2dd1d0e2710bb.js → 6883a5c6883eccaddf64.js} +1 -1
- package/assets/esri/core/workers/chunks/{f74e32d2ffe81778826b.js → 6c1d5577a17a5c8ccf39.js} +1 -1
- package/assets/esri/core/workers/chunks/6c83398cf586ecea0eb1.js +1 -0
- package/assets/esri/core/workers/chunks/{e521bb9ee2030245c3ce.js → 6f358116f79021ff9687.js} +1 -1
- package/assets/esri/core/workers/chunks/76196c414e48834f7b92.js +1 -0
- package/assets/esri/core/workers/chunks/{cbe6c0f32608cb504695.js → 776ae25a34352d3468bc.js} +1 -1
- package/assets/esri/core/workers/chunks/77ebacfdf8e57f2e03f1.js +1118 -0
- package/assets/esri/core/workers/chunks/794e5a67a88cb10c1a19.js +1 -0
- package/assets/esri/core/workers/chunks/943a0f140813ee4ab04a.js +1 -0
- package/assets/esri/core/workers/chunks/{fccbb902fe08448f91de.js → 9c1e69ac82e2bf746191.js} +1 -1
- package/assets/esri/core/workers/chunks/aba42885c5d6b2b5fe7f.js +1 -0
- package/assets/esri/core/workers/chunks/b61008f28b788f759e2a.js +1 -0
- package/assets/esri/core/workers/chunks/{402a82c77420254831bc.js → b7d77dd2abb255fd2e5a.js} +1 -1
- package/assets/esri/core/workers/chunks/{8b54589f173259c1ba55.js → b8054adc45bca069b948.js} +1 -1
- package/assets/esri/core/workers/chunks/ba48045a81acc4cda927.js +1 -0
- package/assets/esri/core/workers/chunks/d21257d2e2a37266c0f7.js +1 -0
- package/assets/esri/core/workers/chunks/d4f038e04c42aed588c1.js +1 -0
- package/assets/esri/core/workers/chunks/d90a3bfd45b5ed4092e0.js +1 -0
- package/assets/esri/core/workers/chunks/{43fc42405167a5537039.js → f095cf98940e3f95d51e.js} +1 -1
- package/assets/esri/themes/base/widgets/_OrientedImageryViewer.scss +0 -2
- package/assets/esri/themes/dark/main.css +1 -1
- package/assets/esri/themes/light/main.css +1 -1
- package/assets/esri/themes/light/view.css +1 -1
- package/assets/esri/widgets/BatchAttributeForm/t9n/messages.en.json +1 -1
- package/{basemaps/BasemapCollection.d.ts → basemapGallery/BasemapGalleryModel.d.ts} +8 -8
- package/{basemaps/BasemapCollection.js → basemapGallery/BasemapGalleryModel.js} +1 -1
- package/{basemaps → basemapGallery}/BasemapsSource.d.ts +1 -1
- package/{basemaps → basemapGallery}/BasemapsSource.js +1 -1
- package/{basemaps → basemapGallery}/LocalBasemapsSource.d.ts +2 -2
- package/{basemaps → basemapGallery}/LocalBasemapsSource.js +1 -1
- package/{basemaps → basemapGallery}/PortalBasemapsSource.d.ts +2 -2
- package/{basemaps → basemapGallery}/PortalBasemapsSource.js +1 -1
- package/{basemaps → basemapGallery}/support/BasemapItem.d.ts +2 -2
- package/{basemaps → basemapGallery}/support/BasemapItem.js +1 -1
- package/{basemaps → basemapGallery}/types.d.ts +2 -2
- package/chunks/GlobalIllumination.glsl.js +4 -2
- package/chunks/GlobalIlluminationBlur.glsl.js +3 -5
- package/chunks/GlobalIlluminationUpscale.glsl.js +1 -1
- package/config.js +1 -1
- package/core/colorUtils.js +1 -1
- package/form/elements/inputs/DynamicChoiceInput.d.ts +35 -5
- package/kernel.js +1 -1
- package/layers/ParquetLayer.d.ts +9 -8
- package/layers/ParquetLayer.js +1 -1
- package/layers/graphics/sources/FeatureLayerSource.js +1 -1
- package/layers/graphics/transferFeatures.js +1 -1
- package/layers/raster/datasets/TIFFRaster.js +1 -1
- package/layers/support/ParquetPortalItemData.d.ts +2 -0
- package/layers/support/ParquetPortalItemData.js +1 -1
- package/layers/support/PortalItemData.d.ts +21 -0
- package/layers/support/parquetUtils.d.ts +1 -1
- package/layers/support/types.d.ts +1 -1
- package/package.json +2 -2
- package/symbols/cim/cimAnalyzer.js +1 -1
- package/views/2d/analysis/AreaMeasurementAnalysisView2D.d.ts +4 -4
- package/views/2d/analysis/DistanceMeasurementAnalysisView2D.d.ts +4 -4
- package/views/2d/layers/features/sources/strategies/FeatureDrillDownTileLoadStrategy.js +1 -1
- package/views/2d/layers/features/support/FeatureSetReader.js +1 -1
- package/views/3d/analysis/LineOfSight/LineOfSightEditTool.js +1 -1
- package/views/3d/analysis/LineOfSight/LineOfSightItemTool.js +1 -1
- package/views/3d/analysis/ViewshedAnalysisView3D.d.ts +3 -0
- package/views/3d/analysis/VolumeMeasurementAnalysisView3D.d.ts +2 -1
- package/views/3d/interactive/editingTools/move/MoveTool3D.js +1 -1
- package/views/3d/layers/support/FeatureMemory.js +1 -1
- package/views/3d/layers/support/FeatureTile.js +1 -1
- package/views/3d/layers/support/FeatureTileFetcher3D.js +1 -1
- package/views/3d/layers/support/featureTileQuery3D.js +1 -1
- package/views/3d/support/PBFDecoder.js +1 -1
- package/views/3d/webgl-engine/core/shaderLibrary/shading/ReadGlobalIllumination.glsl.js +16 -11
- package/views/3d/webgl-engine/effects/globalIllumination/GlobalIllumination.js +1 -1
- package/views/3d/webgl-engine/effects/globalIllumination/GlobalIlluminationColorQuantization.glsl.js +2 -2
- package/views/SceneView.d.ts +4 -10
- package/views/View.d.ts +4 -12
- package/views/interactive/options/SnappingOptions.d.ts +29 -12
- package/views/interactive/options/TooltipOptions.d.ts +9 -1
- package/views/interactive/options/ValueOptions.d.ts +9 -2
- package/views/interactive/options/ViewOptions.d.ts +82 -6
- package/views/interactive/support/Units.d.ts +1 -0
- package/widgets/BasemapGallery/BasemapGalleryViewModel.d.ts +2 -2
- package/widgets/BasemapGallery/BasemapGalleryViewModel.js +1 -1
- package/widgets/BasemapGallery/support/BasemapGalleryItem.d.ts +3 -3
- package/widgets/BasemapGallery/support/LocalBasemapsSource.d.ts +2 -2
- package/widgets/BasemapGallery/support/PortalBasemapsSource.d.ts +2 -2
- package/widgets/BasemapGallery/types.d.ts +3 -3
- package/widgets/BatchAttributeForm/BatchAttributeFormViewModel.js +1 -1
- package/widgets/BatchAttributeForm/expressions/ExpressionsManager.js +1 -1
- package/widgets/BatchAttributeForm/expressions/expressionUtils.js +1 -1
- package/widgets/BatchAttributeForm/inputs/FieldInput.d.ts +6 -0
- package/widgets/BatchAttributeForm/inputs/FieldInput.js +1 -1
- package/widgets/BatchAttributeForm/inputs/support/DynamicChoiceController.js +1 -1
- package/widgets/BatchAttributeForm/inputs/support/createBatchFormInputs.js +1 -1
- package/widgets/BatchAttributeForm.js +1 -1
- package/widgets/Editor/EditorViewModel.d.ts +13 -8
- package/widgets/Editor.d.ts +9 -9
- package/widgets/FeatureForm.d.ts +2 -2
- package/widgets/OrientedImageryViewer/OrientedImageryViewerViewModel.js +1 -1
- package/widgets/Sketch/SketchViewModel.d.ts +13 -8
- package/widgets/Sketch.d.ts +9 -9
- package/assets/esri/core/workers/chunks/14a3808427deaaa85bf2.js +0 -1
- package/assets/esri/core/workers/chunks/1b551ef3d84d9c1e93f9.js +0 -1
- package/assets/esri/core/workers/chunks/260dcb79dfd0f981949f.js +0 -1
- package/assets/esri/core/workers/chunks/303676d1b10676c9cab4.js +0 -1
- package/assets/esri/core/workers/chunks/37a636f61cfe89c6bfd1.js +0 -1
- package/assets/esri/core/workers/chunks/4097edb2ad522dff50ce.js +0 -1
- package/assets/esri/core/workers/chunks/4a0216ee6382d9276f1c.js +0 -1
- package/assets/esri/core/workers/chunks/55766692b578e60dd70e.js +0 -1742
- package/assets/esri/core/workers/chunks/57970d43cdcc5cf57a30.js +0 -1
- package/assets/esri/core/workers/chunks/5fd099ca1024707387b2.js +0 -1
- package/assets/esri/core/workers/chunks/68e24fa3f564c2a5c9fd.js +0 -1
- package/assets/esri/core/workers/chunks/8e7a33cc1f83063043f2.js +0 -1
- package/assets/esri/core/workers/chunks/a23272a7a47a95f6ddea.js +0 -1
- package/assets/esri/core/workers/chunks/cbdebdfa5f2cded29d0d.js +0 -1
- package/assets/esri/core/workers/chunks/cfae60b9d2f2939e9c16.js +0 -1
- package/assets/esri/core/workers/chunks/d56780290e0218d3e9de.js +0 -1
- package/assets/esri/core/workers/chunks/de24fc414a3f243d675e.js +0 -1
- package/assets/esri/core/workers/chunks/e22d45aeef293a5ffb78.js +0 -1
- package/assets/esri/core/workers/chunks/ea746d9bbea170719a1c.js +0 -1
- package/assets/esri/core/workers/chunks/f0c0c02730fe0d948fc1.js +0 -1
- /package/{basemaps → basemapGallery}/support/basemapCompatibilityUtils.js +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"attachments":{"addFile":"Add file","attachmentNumberedLabel":"Attachment {index}","attach":"Attach","attachmentEditingDisabled":"Attachment editing is disabled.","attachmentLimitExceeded":"Attachment limit exceeded","attachmentLimitReached":"Attachment limit reached","attachmentMustBeShorterThan":"Attachment must be shorter than {maxDuration}","attachmentsMustBeShorterThan":"Attachments must be shorter than {maxDuration}","attachmentMustBeSmallerThan":"Attachment must be smaller than {maxSize}","attachmentsMustBeSmallerThan":"Attachments must be smaller than {maxSize}","durationInSecond":"{count} second","durationInSeconds":"{count} seconds","capture":"Capture","captureMethodNotSupported":"Capture method is not supported","captureUnsupportedAdd":"Capture is not supported on this device.","captureUnsupportedDetail":"Capture is not supported on this device.","chooseFile":"Choose file","count":"Count: {count}","deleted":"Deleted","download":"Download","dragAndDropFile":"Drag and drop file.","fileExceedsMaximumSize":"File exceeds the maximum size","fileName":"File name","fileSelected":"File selected","fileToBeReplaced":"File to be replaced","imageResizedToMeetRequirements":"Image has been resized to meet requirements","maximumAudioLength":"Max audio length: {maxDuration}","maximumFileSize":"Maximum file size: {maxSize}","maximumNumberOfFiles":"Maximum number of files: {count}","maximumVideoLength":"Max video length: {maxDuration}","maximize":"Maximize","maximumNumberReachedRemoveToContinue":"Maximum number reached. Remove attachments to continue.","maxAttachmentsShort":"Max: {count}","maxAttachments":"Maximum attachments: {count}","minimumNotMet":"Minimum attachment requirement not met","minimumNumberOfFiles":"Minimum number of files: {count}","minAttachmentsShort":"Min: {count}","minAttachments":"Minimum attachments: {count}","noAttachments":"No attachments","noPreviewAvailable":"No preview available","remove":"Remove","replace":"Replace","recordAudio":"Record audio","takePhoto":"Take photo","takeVideo":"Take video","searchAttachments":"Search attachments","replaceFile":"Replace file","selectFile":"Select file","size":"Size","type":"Type","unableToAddAttachment":"Unable to add attachment","unableToAddAttachments":"Unable to add attachments","unsupportedDevice":"Unsupported device","unsupportedDeviceCaptureMessage":"This device does not support the required capture method.","viewAll":"View all","youCanAddUpToOneAttachment":"You can add up to 1 attachment","youCanAddUpToAttachments":"You can add up to {count} attachments"},"addFeature":"Add feature","addRecord":"Add record","unsupportedDomainGroupTitle":"Unsupported values","differentValues":"Different values","differentValuesPlaceholder":"(Different values)","empty":"No value","noDynamicChoices":"No choices are available","noDynamicChoicesWithNoValue":"No other choices are available","otherOptionLabel":"Other","expressionEvaluationFailed":"Form failed to run calculations","failedToCalculateValues":"Failed to calculate values","footerButtons":{"add":"Add","delete":"Delete","discard":"Discard","done":"Done","replace":"Replace","reset":"Reset","update":"Update"},"footerNotices":{"deleteDisabledMinimumAttachments":"Delete disabled. This feature requires a minimum number of attachments."},"formFailedToLoad":"Form failed to load.","formFailedToLoadTooManyComplexFeatures":"This form uses functions that limit attribute editing to {num} features.","formFailedToLoadTooManyFeatures":"Select up to {num} features to edit attributes.","noVisibleFields":{"allElementsHidden":"The selected features have no fields to display","elementsHiddenInSome":"The selected features have shared fields that are not displayed because of visibility expressions","noElements":"The selected feature has no fields to display","noElementsInCommon":"The selected features have no shared fields"},"other":"Other","recommended":"Recommended","relatedRecords":{"noOriginKeyFeature":"A feature cannot be added to '{relatedLayerName}' until the '{originKeyField}' has been entered.","noOriginKeyRecord":"A record cannot be added to '{relatedLayerName}' until the '{originKeyField}' has been entered.","noRecordsFound":"No records were found.","noRelatedRecordsFound":"No related records were found.","relatedRecordsTitle":"Related records","untitledLayer":"Untitled layer"},"requiredFieldBatchMode":"This field is required for one or more features.","requiredFieldLabel":"{name} - required field","deselectAllLabel":"Deselect all","selectAllLabel":"Select all","showAll":"Show all","showAllOptions":"Show all options","titles":{"addAttachments":"Add attachments","attachments":"Attachments","editFeature":"Edit feature","editFeatures":"Edit features","editAttachment":"Edit attachment","replaceAttachment":"Replace attachment"},"totalCount":"Total: {count}","unsupported":"Unsupported","unsupportedContingentValues":"Editing attributes for multiple features is not available for layers with contingent values.","validationErrors":{"cannotBeNull":"Field is required.","invalidCodedValue":"Value should be one of the listed values.","invalidType":"Not a valid value","invalidBatchFormType":"One or more features contain invalid values. Check individual features.","featuresInError":"One or more features have errors. Check individual features.","featuresWithInvalidValues":"One or more features have invalid values","nonVisibleError_changeValues":"The selected feature has hidden fields with invalid values. Change the values so that fields are visible.","nonVisibleError_checkIndividualFeatures":"One or more features have hidden fields with invalid values. Check individual features and correct the issues.","outsideRange":"Value should be between {min} and {max}","outsideRangeMax":"Value should be less than or equal to {max}","outsideRangeMin":"Value should be greater than or equal to {min}","tooFewSelectedChoices":"
|
|
1
|
+
{"attachments":{"addFile":"Add file","attachmentNumberedLabel":"Attachment {index}","attach":"Attach","attachmentEditingDisabled":"Attachment editing is disabled.","attachmentLimitExceeded":"Attachment limit exceeded","attachmentLimitReached":"Attachment limit reached","attachmentMustBeShorterThan":"Attachment must be shorter than {maxDuration}","attachmentsMustBeShorterThan":"Attachments must be shorter than {maxDuration}","attachmentMustBeSmallerThan":"Attachment must be smaller than {maxSize}","attachmentsMustBeSmallerThan":"Attachments must be smaller than {maxSize}","durationInSecond":"{count} second","durationInSeconds":"{count} seconds","capture":"Capture","captureMethodNotSupported":"Capture method is not supported","captureUnsupportedAdd":"Capture is not supported on this device.","captureUnsupportedDetail":"Capture is not supported on this device.","chooseFile":"Choose file","count":"Count: {count}","deleted":"Deleted","download":"Download","dragAndDropFile":"Drag and drop file.","fileExceedsMaximumSize":"File exceeds the maximum size","fileName":"File name","fileSelected":"File selected","fileToBeReplaced":"File to be replaced","imageResizedToMeetRequirements":"Image has been resized to meet requirements","maximumAudioLength":"Max audio length: {maxDuration}","maximumFileSize":"Maximum file size: {maxSize}","maximumNumberOfFiles":"Maximum number of files: {count}","maximumVideoLength":"Max video length: {maxDuration}","maximize":"Maximize","maximumNumberReachedRemoveToContinue":"Maximum number reached. Remove attachments to continue.","maxAttachmentsShort":"Max: {count}","maxAttachments":"Maximum attachments: {count}","minimumNotMet":"Minimum attachment requirement not met","minimumNumberOfFiles":"Minimum number of files: {count}","minAttachmentsShort":"Min: {count}","minAttachments":"Minimum attachments: {count}","noAttachments":"No attachments","noPreviewAvailable":"No preview available","remove":"Remove","replace":"Replace","recordAudio":"Record audio","takePhoto":"Take photo","takeVideo":"Take video","searchAttachments":"Search attachments","replaceFile":"Replace file","selectFile":"Select file","size":"Size","type":"Type","unableToAddAttachment":"Unable to add attachment","unableToAddAttachments":"Unable to add attachments","unsupportedDevice":"Unsupported device","unsupportedDeviceCaptureMessage":"This device does not support the required capture method.","viewAll":"View all","youCanAddUpToOneAttachment":"You can add up to 1 attachment","youCanAddUpToAttachments":"You can add up to {count} attachments"},"addFeature":"Add feature","addRecord":"Add record","unsupportedDomainGroupTitle":"Unsupported values","differentValues":"Different values","differentValuesPlaceholder":"(Different values)","empty":"No value","noDynamicChoices":"No choices are available","noDynamicChoicesWithNoValue":"No other choices are available","otherOptionLabel":"Other","expressionEvaluationFailed":"Form failed to run calculations","failedToCalculateValues":"Failed to calculate values","footerButtons":{"add":"Add","delete":"Delete","discard":"Discard","done":"Done","replace":"Replace","reset":"Reset","update":"Update"},"footerNotices":{"deleteDisabledMinimumAttachments":"Delete disabled. This feature requires a minimum number of attachments."},"formFailedToLoad":"Form failed to load.","formFailedToLoadTooManyComplexFeatures":"This form uses functions that limit attribute editing to {num} features.","formFailedToLoadTooManyFeatures":"Select up to {num} features to edit attributes.","noVisibleFields":{"allElementsHidden":"The selected features have no fields to display","elementsHiddenInSome":"The selected features have shared fields that are not displayed because of visibility expressions","noElements":"The selected feature has no fields to display","noElementsInCommon":"The selected features have no shared fields"},"other":"Other","recommended":"Recommended","relatedRecords":{"noOriginKeyFeature":"A feature cannot be added to '{relatedLayerName}' until the '{originKeyField}' has been entered.","noOriginKeyRecord":"A record cannot be added to '{relatedLayerName}' until the '{originKeyField}' has been entered.","noRecordsFound":"No records were found.","noRelatedRecordsFound":"No related records were found.","relatedRecordsTitle":"Related records","untitledLayer":"Untitled layer"},"requiredFieldBatchMode":"This field is required for one or more features.","requiredFieldLabel":"{name} - required field","deselectAllLabel":"Deselect all","selectAllLabel":"Select all","showAll":"Show all","showAllOptions":"Show all options","titles":{"addAttachments":"Add attachments","attachments":"Attachments","editFeature":"Edit feature","editFeatures":"Edit features","editAttachment":"Edit attachment","replaceAttachment":"Replace attachment"},"totalCount":"Total: {count}","unsupported":"Unsupported","unsupportedContingentValues":"Editing attributes for multiple features is not available for layers with contingent values.","validationErrors":{"cannotBeNull":"Field is required.","invalidCodedValue":"Value should be one of the listed values.","invalidType":"Not a valid value","invalidBatchFormType":"One or more features contain invalid values. Check individual features.","featuresInError":"One or more features have errors. Check individual features.","featuresWithInvalidValues":"One or more features have invalid values","nonVisibleError_changeValues":"The selected feature has hidden fields with invalid values. Change the values so that fields are visible.","nonVisibleError_checkIndividualFeatures":"One or more features have hidden fields with invalid values. Check individual features and correct the issues.","outsideRange":"Value should be between {min} and {max}","outsideRangeMax":"Value should be less than or equal to {max}","outsideRangeMin":"Value should be greater than or equal to {min}","tooFewSelectedChoices":"Minimum selections required: {min}","tooManySelectedChoices":"Maximum selections allowed: {max}","tooShort":"This field requires a minimum of {min} characters","valuesIncompatible":"Value is incompatible with other selected values"},"valueExpressionError":"Failed to calculate value","viewAll":"View all","subtypes":{"changeWarning":"The subtype {newType} may have different default values from {originalType}. Keeping the current values may cause unexpected results.","changeWarningTitle":"Subtype changed","useDefaultValuesOption":"Use default values","keepCurrentValuesOption":"Keep current values","unsupportedDomainGroupTitle":"Unsupported","fieldOutOfSubtypeDomainWarning":"This field's value is out of range for its domain."}}
|
|
@@ -14,7 +14,7 @@ import type { AbortOptions } from "../core/promiseUtils.js";
|
|
|
14
14
|
import type { MapViewOrSceneView } from "../views/MapViewOrSceneView.js";
|
|
15
15
|
|
|
16
16
|
/** @since 5.2 */
|
|
17
|
-
export interface
|
|
17
|
+
export interface BasemapGalleryModelProperties extends LoadableMixinProperties, Partial<Pick<BasemapGalleryModel, "view">> {
|
|
18
18
|
/**
|
|
19
19
|
* The map's [Map.basemap](https://developers.arcgis.com/javascript/latest/references/core/Map/#basemap).
|
|
20
20
|
*
|
|
@@ -31,7 +31,7 @@ export interface BasemapCollectionProperties extends LoadableMixinProperties, Pa
|
|
|
31
31
|
/**
|
|
32
32
|
* The source for basemaps that the gallery will display.
|
|
33
33
|
* This property can be autocast with an array or [Collection](https://developers.arcgis.com/javascript/latest/references/core/core/Collection/) of [Basemap](https://developers.arcgis.com/javascript/latest/references/core/Basemap/)s, or
|
|
34
|
-
* a [Portal](https://developers.arcgis.com/javascript/latest/references/core/portal/Portal/) instance. The default source is a [PortalBasemapsSource](https://developers.arcgis.com/javascript/latest/references/core/
|
|
34
|
+
* a [Portal](https://developers.arcgis.com/javascript/latest/references/core/portal/Portal/) instance. The default source is a [PortalBasemapsSource](https://developers.arcgis.com/javascript/latest/references/core/basemapGallery/PortalBasemapsSource/).
|
|
35
35
|
*
|
|
36
36
|
* @since 5.2
|
|
37
37
|
*/
|
|
@@ -42,12 +42,12 @@ export interface BasemapCollectionProperties extends LoadableMixinProperties, Pa
|
|
|
42
42
|
* Provides the logic for displaying and selecting a collection of basemaps.
|
|
43
43
|
*
|
|
44
44
|
* @since 5.2
|
|
45
|
-
* @see [LocalBasemapsSource](https://developers.arcgis.com/javascript/latest/references/core/
|
|
46
|
-
* @see [PortalBasemapsSource](https://developers.arcgis.com/javascript/latest/references/core/
|
|
45
|
+
* @see [LocalBasemapsSource](https://developers.arcgis.com/javascript/latest/references/core/basemapGallery/LocalBasemapsSource/)
|
|
46
|
+
* @see [PortalBasemapsSource](https://developers.arcgis.com/javascript/latest/references/core/basemapGallery/PortalBasemapsSource/)
|
|
47
47
|
*/
|
|
48
|
-
export default class
|
|
48
|
+
export default class BasemapGalleryModel extends Loadable {
|
|
49
49
|
/** @since 5.2 */
|
|
50
|
-
constructor(properties?:
|
|
50
|
+
constructor(properties?: BasemapGalleryModelProperties);
|
|
51
51
|
/**
|
|
52
52
|
* The map's [Map.basemap](https://developers.arcgis.com/javascript/latest/references/core/Map/#basemap).
|
|
53
53
|
*
|
|
@@ -93,7 +93,7 @@ export default class BasemapCollection extends Loadable {
|
|
|
93
93
|
/**
|
|
94
94
|
* The source for basemaps that the gallery will display.
|
|
95
95
|
* This property can be autocast with an array or [Collection](https://developers.arcgis.com/javascript/latest/references/core/core/Collection/) of [Basemap](https://developers.arcgis.com/javascript/latest/references/core/Basemap/)s, or
|
|
96
|
-
* a [Portal](https://developers.arcgis.com/javascript/latest/references/core/portal/Portal/) instance. The default source is a [PortalBasemapsSource](https://developers.arcgis.com/javascript/latest/references/core/
|
|
96
|
+
* a [Portal](https://developers.arcgis.com/javascript/latest/references/core/portal/Portal/) instance. The default source is a [PortalBasemapsSource](https://developers.arcgis.com/javascript/latest/references/core/basemapGallery/PortalBasemapsSource/).
|
|
97
97
|
*
|
|
98
98
|
* @since 5.2
|
|
99
99
|
*/
|
|
@@ -131,7 +131,7 @@ export default class BasemapCollection extends Loadable {
|
|
|
131
131
|
/**
|
|
132
132
|
* Loads the current basemap source.
|
|
133
133
|
*
|
|
134
|
-
* Unlike [load()](https://developers.arcgis.com/javascript/latest/references/core/
|
|
134
|
+
* Unlike [load()](https://developers.arcgis.com/javascript/latest/references/core/basemapGallery/BasemapGalleryModel/#load), this method can be called again after the source changes.
|
|
135
135
|
*
|
|
136
136
|
* @param options - Options for aborting the load.
|
|
137
137
|
* @returns A promise that resolves with this collection when the source has loaded.
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
/* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
|
|
2
|
-
import{__decorate as e}from"tslib";import t from"./LocalBasemapsSource.js";import n from"./PortalBasemapsSource.js";import{default3DCompatibility as r,default2DCompatibility as i}from"./support/basemapCompatibilityUtils.js";import a from"./support/BasemapItem.js";import o from"../core/Collection.js";import{Loadable as s,isLoadable as c}from"../core/Loadable.js";import{watch as l,on as u,when as d}from"../core/reactiveUtils.js";import{property as f,subclass as p}from"../core/accessorSupport/decorators.js";import{canProjectWithoutEngine as m,isLoaded as h,load as g}from"../geometry/projectionUtils.js";import{equals as _}from"../geometry/support/spatialReferenceUtils.js";import{basemapEnsureType as v}from"../support/basemapEnsureType.js";import{contentEquals as y}from"../support/basemapUtils.js";import{isBasemapsSource as b}from"../support/userTypeGuards/isBasemapsSource.js";const x=o.ofType(a);function S(e){return e&&e.declaredClass===`esri.portal.Portal`}function C(e){return e&&!(e instanceof n)&&(!!e.portal||!!e.query)}let w=class extends s{constructor(e){super(e),this._loadingProjectionEngine=!1,this.items=new x,this.view=null,this.source=new n}initialize(){let e=()=>this._recreateItems();this.addHandles([l(()=>[this.view,this.compatibilityFunction],()=>this._updateItems()),u(()=>this.source?.basemaps,`change`,e,{onListenerAdd:e}),d(()=>this.view,()=>{this.source instanceof n&&(this.source.viewType=this.view?.type)},{once:!0})])}destroy(){let e=this.source.basemaps.indexOf(this.activeBasemap);this.source.basemaps.removeAt(e),this.source?.destroy()}get activeBasemap(){return this.view?.map?.basemap??null}set activeBasemap(e){let t=this.view;if(!t?.map)return;if(e=v(e),!e||!t.ready){t.map.basemap=e,this._clearOverride(`activeBasemap`);return}let n=e.spatialReference||this.items?.find(t=>this.basemapEquals(e,t.basemap))?.spatialReference;if(n&&`spatialReferenceLocked`in t&&!t.spatialReferenceLocked){let r=t.spatialReference;if(n!=null&&!_(r,n)&&!m(t.spatialReference,n)&&!h()){this._override(`activeBasemap`,e),this._loadingProjectionEngine=!0,g().then(()=>{this._get(`activeBasemap`)===e&&(t.map.basemap=e,t.spatialReference=n,this._clearOverride(`activeBasemap`))},()=>{}).finally(()=>{this._loadingProjectionEngine=!1});return}t.map.basemap=e,this._clearOverride(`activeBasemap`),n!=null&&!_(t.spatialReference,n)&&(t.spatialReference=n)}else t.map.basemap=e,this._clearOverride(`activeBasemap`)}get activeBasemapIndex(){return this._findBasemapIndex(this.activeBasemap)}get compatibilityFunction(){return this.view?.type===`3d`?r:i}set compatibilityFunction(e){this._overrideIfSome(`compatibilityFunction`,e)}get source(){return this._get(`source`)}set source(e){(Array.isArray(e)||o.isCollection(e))&&(e=new t({basemaps:Array.isArray(e)?new o(e):e})),S(e)&&(e=new n({portal:e})),C(e)&&(e=new n(e)),b(e)||(e=null),this._set(`source`,e)}get loading(){return this.items.some(e=>e.state===`loading`)}get projectionEngineLoading(){return this._loadingProjectionEngine}basemapEquals(e,t){return y(e,t)}refresh(){this._recreateItems()}load(){return this.loadSource()}loadSource(e){return this.addResolvingPromise(c(this.source)?this.source.load(e):null),Promise.resolve(this)}_findBasemapIndex(e){let{items:t}=this,n=t.findIndex(t=>t.basemap===e);return n===-1?t.findIndex(t=>this.basemapEquals(t.basemap,e)):n}_recreateItems(){let e=this.source?.basemaps??[],{view:t,compatibilityFunction:n}=this,r=new Map(this.items.map(e=>[e.basemap,e])),i=e.map(e=>{let i=r.get(e);return i?(r.delete(e),i):new a({basemap:e,compatibilityFunction:n,view:t})});this.items.removeAll(),this.items.addMany(i),r.forEach(e=>e.destroy())}_updateItems(){for(let e of this.items)e.compatibilityFunction=this.compatibilityFunction,e.view=this.view}};e([f()],w.prototype,`_loadingProjectionEngine`,void 0),e([f()],w.prototype,`activeBasemap`,null),e([f({readOnly:!0})],w.prototype,`activeBasemapIndex`,null),e([f()],w.prototype,`compatibilityFunction`,null),e([f({readOnly:!0,type:x})],w.prototype,`items`,void 0),e([f()],w.prototype,`source`,null),e([f({readOnly:!0})],w.prototype,`loading`,null),e([f({readOnly:!0})],w.prototype,`projectionEngineLoading`,null),e([f()],w.prototype,`view`,void 0),w=e([p(`esri.
|
|
2
|
+
import{__decorate as e}from"tslib";import t from"./LocalBasemapsSource.js";import n from"./PortalBasemapsSource.js";import{default3DCompatibility as r,default2DCompatibility as i}from"./support/basemapCompatibilityUtils.js";import a from"./support/BasemapItem.js";import o from"../core/Collection.js";import{Loadable as s,isLoadable as c}from"../core/Loadable.js";import{watch as l,on as u,when as d}from"../core/reactiveUtils.js";import{property as f,subclass as p}from"../core/accessorSupport/decorators.js";import{canProjectWithoutEngine as m,isLoaded as h,load as g}from"../geometry/projectionUtils.js";import{equals as _}from"../geometry/support/spatialReferenceUtils.js";import{basemapEnsureType as v}from"../support/basemapEnsureType.js";import{contentEquals as y}from"../support/basemapUtils.js";import{isBasemapsSource as b}from"../support/userTypeGuards/isBasemapsSource.js";const x=o.ofType(a);function S(e){return e&&e.declaredClass===`esri.portal.Portal`}function C(e){return e&&!(e instanceof n)&&(!!e.portal||!!e.query)}let w=class extends s{constructor(e){super(e),this._loadingProjectionEngine=!1,this.items=new x,this.view=null,this.source=new n}initialize(){let e=()=>this._recreateItems();this.addHandles([l(()=>[this.view,this.compatibilityFunction],()=>this._updateItems()),u(()=>this.source?.basemaps,`change`,e,{onListenerAdd:e}),d(()=>this.view,()=>{this.source instanceof n&&(this.source.viewType=this.view?.type)},{once:!0})])}destroy(){let e=this.source.basemaps.indexOf(this.activeBasemap);this.source.basemaps.removeAt(e),this.source?.destroy()}get activeBasemap(){return this.view?.map?.basemap??null}set activeBasemap(e){let t=this.view;if(!t?.map)return;if(e=v(e),!e||!t.ready){t.map.basemap=e,this._clearOverride(`activeBasemap`);return}let n=e.spatialReference||this.items?.find(t=>this.basemapEquals(e,t.basemap))?.spatialReference;if(n&&`spatialReferenceLocked`in t&&!t.spatialReferenceLocked){let r=t.spatialReference;if(n!=null&&!_(r,n)&&!m(t.spatialReference,n)&&!h()){this._override(`activeBasemap`,e),this._loadingProjectionEngine=!0,g().then(()=>{this._get(`activeBasemap`)===e&&(t.map.basemap=e,t.spatialReference=n,this._clearOverride(`activeBasemap`))},()=>{}).finally(()=>{this._loadingProjectionEngine=!1});return}t.map.basemap=e,this._clearOverride(`activeBasemap`),n!=null&&!_(t.spatialReference,n)&&(t.spatialReference=n)}else t.map.basemap=e,this._clearOverride(`activeBasemap`)}get activeBasemapIndex(){return this._findBasemapIndex(this.activeBasemap)}get compatibilityFunction(){return this.view?.type===`3d`?r:i}set compatibilityFunction(e){this._overrideIfSome(`compatibilityFunction`,e)}get source(){return this._get(`source`)}set source(e){(Array.isArray(e)||o.isCollection(e))&&(e=new t({basemaps:Array.isArray(e)?new o(e):e})),S(e)&&(e=new n({portal:e})),C(e)&&(e=new n(e)),b(e)||(e=null),this._set(`source`,e)}get loading(){return this.items.some(e=>e.state===`loading`)}get projectionEngineLoading(){return this._loadingProjectionEngine}basemapEquals(e,t){return y(e,t)}refresh(){this._recreateItems()}load(){return this.loadSource()}loadSource(e){return this.addResolvingPromise(c(this.source)?this.source.load(e):null),Promise.resolve(this)}_findBasemapIndex(e){let{items:t}=this,n=t.findIndex(t=>t.basemap===e);return n===-1?t.findIndex(t=>this.basemapEquals(t.basemap,e)):n}_recreateItems(){let e=this.source?.basemaps??[],{view:t,compatibilityFunction:n}=this,r=new Map(this.items.map(e=>[e.basemap,e])),i=e.map(e=>{let i=r.get(e);return i?(r.delete(e),i):new a({basemap:e,compatibilityFunction:n,view:t})});this.items.removeAll(),this.items.addMany(i),r.forEach(e=>e.destroy())}_updateItems(){for(let e of this.items)e.compatibilityFunction=this.compatibilityFunction,e.view=this.view}};e([f()],w.prototype,`_loadingProjectionEngine`,void 0),e([f()],w.prototype,`activeBasemap`,null),e([f({readOnly:!0})],w.prototype,`activeBasemapIndex`,null),e([f()],w.prototype,`compatibilityFunction`,null),e([f({readOnly:!0,type:x})],w.prototype,`items`,void 0),e([f()],w.prototype,`source`,null),e([f({readOnly:!0})],w.prototype,`loading`,null),e([f({readOnly:!0})],w.prototype,`projectionEngineLoading`,null),e([f()],w.prototype,`view`,void 0),w=e([p(`esri.basemapGallery.BasemapGalleryModel`)],w);const T=w;export{T as default};
|
|
@@ -4,7 +4,7 @@ import type Collection from "../core/Collection.js";
|
|
|
4
4
|
import type { BasemapsSourceState } from "./types.js";
|
|
5
5
|
|
|
6
6
|
/**
|
|
7
|
-
* Properties for constructing a [BasemapsSource](https://developers.arcgis.com/javascript/latest/references/core/
|
|
7
|
+
* Properties for constructing a [BasemapsSource](https://developers.arcgis.com/javascript/latest/references/core/basemapGallery/BasemapsSource/).
|
|
8
8
|
*
|
|
9
9
|
* @since 5.2
|
|
10
10
|
*/
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
/* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
|
|
2
|
-
import{__decorate as e}from"tslib";import t from"../core/Accessor.js";import{subclass as n}from"../core/accessorSupport/decorators.js";import{BasemapsSourceSymbol as r}from"../support/userTypeGuards/isBasemapsSource.js";var i;let a=class extends t{static{i=r}constructor(e){super(e),this[i]=!0}};a=e([n(`esri.
|
|
2
|
+
import{__decorate as e}from"tslib";import t from"../core/Accessor.js";import{subclass as n}from"../core/accessorSupport/decorators.js";import{BasemapsSourceSymbol as r}from"../support/userTypeGuards/isBasemapsSource.js";var i;let a=class extends t{static{i=r}constructor(e){super(e),this[i]=!0}};a=e([n(`esri.basemapGallery.BasemapsSource`)],a);const o=a;export{o as default};
|
|
@@ -17,10 +17,10 @@ export interface LocalBasemapsSourceProperties extends BasemapsSourceProperties
|
|
|
17
17
|
}
|
|
18
18
|
|
|
19
19
|
/**
|
|
20
|
-
* A collection-driven source for [Basemap](https://developers.arcgis.com/javascript/latest/references/core/Basemap/)s in a [
|
|
20
|
+
* A collection-driven source for [Basemap](https://developers.arcgis.com/javascript/latest/references/core/Basemap/)s in a [BasemapGalleryModel](https://developers.arcgis.com/javascript/latest/references/core/basemapGallery/BasemapGalleryModel/).
|
|
21
21
|
*
|
|
22
22
|
* @since 5.2
|
|
23
|
-
* @see [
|
|
23
|
+
* @see [BasemapGalleryModel.source](https://developers.arcgis.com/javascript/latest/references/core/basemapGallery/BasemapGalleryModel/#source)
|
|
24
24
|
*/
|
|
25
25
|
export default class LocalBasemapsSource extends BasemapsSource {
|
|
26
26
|
/** @since 5.2 */
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
/* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
|
|
2
|
-
import{__decorate as e}from"tslib";import t from"../Basemap.js";import n from"./BasemapsSource.js";import r from"../core/Collection.js";import{property as i,subclass as a}from"../core/accessorSupport/decorators.js";const o=r.ofType(t);let s=class extends n{constructor(e){super(e),this.basemaps=new o}destroy(){this.basemaps.forEach(e=>e.destroy())}get state(){return`ready`}refresh(){}};e([i({type:o})],s.prototype,`basemaps`,void 0),e([i({readOnly:!0})],s.prototype,`state`,null),s=e([a(`esri.
|
|
2
|
+
import{__decorate as e}from"tslib";import t from"../Basemap.js";import n from"./BasemapsSource.js";import r from"../core/Collection.js";import{property as i,subclass as a}from"../core/accessorSupport/decorators.js";const o=r.ofType(t);let s=class extends n{constructor(e){super(e),this.basemaps=new o}destroy(){this.basemaps.forEach(e=>e.destroy())}get state(){return`ready`}refresh(){}};e([i({type:o})],s.prototype,`basemaps`,void 0),e([i({readOnly:!0})],s.prototype,`state`,null),s=e([a(`esri.basemapGallery.LocalBasemapsSource`)],s);const c=s;export{c as default};
|
|
@@ -20,10 +20,10 @@ export interface PortalBasemapsSourceProperties extends LocalBasemapsSourcePrope
|
|
|
20
20
|
}
|
|
21
21
|
|
|
22
22
|
/**
|
|
23
|
-
* A Portal-driven source for [Basemap](https://developers.arcgis.com/javascript/latest/references/core/Basemap/)s in a [
|
|
23
|
+
* A Portal-driven source for [Basemap](https://developers.arcgis.com/javascript/latest/references/core/Basemap/)s in a [BasemapGalleryModel](https://developers.arcgis.com/javascript/latest/references/core/basemapGallery/BasemapGalleryModel/).
|
|
24
24
|
*
|
|
25
25
|
* @since 5.2
|
|
26
|
-
* @see [
|
|
26
|
+
* @see [BasemapGalleryModel.source](https://developers.arcgis.com/javascript/latest/references/core/basemapGallery/BasemapGalleryModel/#source)
|
|
27
27
|
*/
|
|
28
28
|
export default class PortalBasemapsSource extends PortalBasemapsSourceSuperclass {
|
|
29
29
|
/** @since 5.2 */
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
/* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
|
|
2
|
-
import{__decorate as e}from"tslib";import t from"../Basemap.js";import n from"./LocalBasemapsSource.js";import{createTask as r}from"../core/asyncUtils.js";import i from"../core/Collection.js";import a from"../core/Error.js";import{LoadableMixin as o}from"../core/Loadable.js";import s from"../core/Logger.js";import{EsriPromiseMixin as c}from"../core/Promise.js";import{ignoreAbortErrors as l,throwIfAborted as u,isAbortError as d}from"../core/promiseUtils.js";import{watch as f,initial as p}from"../core/reactiveUtils.js";import{property as m,subclass as h}from"../core/accessorSupport/decorators.js";import g from"../portal/Portal.js";const _=i.ofType(t);let v=class extends o(c(n)){constructor(e){super(e),this._loadTask=null,this.basemaps=new _,this.filterFunction=null,this.portal=g.getDefault(),this.query=null,this.updateBasemapsCallback=null,this.viewType=null}initialize(){this.addHandles(f(()=>[this.filterFunction,this.loadStatus,this.portal?.basemapGalleryGroupQuery,this.portal?.basemapGalleryGroupQuery3D,this.portal?.user,this.query,this.updateBasemapsCallback],()=>l(this.refresh()),p))}destroy(){this._loadTask?.abort(),this.filterFunction=null,this.portal=null,this.basemaps.forEach(e=>e.destroy())}get state(){return this.loadStatus===`not-loaded`?`not-loaded`:this.loadStatus===`loading`||this._loadTask&&!this._loadTask.finished?`loading`:`ready`}load(e){return this.addResolvingPromise(this.portal.load(e)),Promise.resolve(this)}async refresh(){if(this.loadStatus!==`loaded`)return;this._loadTask?.abort();let e=this.portal;return(this._loadTask=r(async t=>{try{let n=await e.fetchBasemaps(this._toQueryString(this.query),{signal:t,include3d:this.viewType===`3d`||void 0});u(t),await this._updateBasemaps(n,t)}catch(e){if(d(e))throw e;u(t),s.getLogger(this).warn(new a(`basemap-source:fetch-basemaps-error`,`Could not fetch basemaps from portal.`,{error:e})),await this._updateBasemaps([],t)}})).promise}_toQueryString(e){return!e||typeof e==`string`?e:Object.keys(e).map(t=>`${t}:${e[t]}`).join(` AND `)}async _updateBasemaps(e,t){let n=await this._filterBasemaps(e);u(t),this.updateBasemapsCallback&&(n=await this.updateBasemapsCallback(n),u(t)),this.basemaps.removeAll(),this.basemaps.addMany(n)}async _filterBasemaps(e){if(!this.filterFunction)return e;let t=e.map(this.filterFunction),n=await Promise.all(t);return e.filter((e,t)=>n[t])}};e([m()],v.prototype,`_loadTask`,void 0),e([m({readOnly:!0,type:_})],v.prototype,`basemaps`,void 0),e([m()],v.prototype,`filterFunction`,void 0),e([m({type:g})],v.prototype,`portal`,void 0),e([m()],v.prototype,`query`,void 0),e([m({readOnly:!0})],v.prototype,`state`,null),e([m()],v.prototype,`updateBasemapsCallback`,void 0),e([m()],v.prototype,`viewType`,void 0),v=e([h(`esri.
|
|
2
|
+
import{__decorate as e}from"tslib";import t from"../Basemap.js";import n from"./LocalBasemapsSource.js";import{createTask as r}from"../core/asyncUtils.js";import i from"../core/Collection.js";import a from"../core/Error.js";import{LoadableMixin as o}from"../core/Loadable.js";import s from"../core/Logger.js";import{EsriPromiseMixin as c}from"../core/Promise.js";import{ignoreAbortErrors as l,throwIfAborted as u,isAbortError as d}from"../core/promiseUtils.js";import{watch as f,initial as p}from"../core/reactiveUtils.js";import{property as m,subclass as h}from"../core/accessorSupport/decorators.js";import g from"../portal/Portal.js";const _=i.ofType(t);let v=class extends o(c(n)){constructor(e){super(e),this._loadTask=null,this.basemaps=new _,this.filterFunction=null,this.portal=g.getDefault(),this.query=null,this.updateBasemapsCallback=null,this.viewType=null}initialize(){this.addHandles(f(()=>[this.filterFunction,this.loadStatus,this.portal?.basemapGalleryGroupQuery,this.portal?.basemapGalleryGroupQuery3D,this.portal?.user,this.query,this.updateBasemapsCallback],()=>l(this.refresh()),p))}destroy(){this._loadTask?.abort(),this.filterFunction=null,this.portal=null,this.basemaps.forEach(e=>e.destroy())}get state(){return this.loadStatus===`not-loaded`?`not-loaded`:this.loadStatus===`loading`||this._loadTask&&!this._loadTask.finished?`loading`:`ready`}load(e){return this.addResolvingPromise(this.portal.load(e)),Promise.resolve(this)}async refresh(){if(this.loadStatus!==`loaded`)return;this._loadTask?.abort();let e=this.portal;return(this._loadTask=r(async t=>{try{let n=await e.fetchBasemaps(this._toQueryString(this.query),{signal:t,include3d:this.viewType===`3d`||void 0});u(t),await this._updateBasemaps(n,t)}catch(e){if(d(e))throw e;u(t),s.getLogger(this).warn(new a(`basemap-source:fetch-basemaps-error`,`Could not fetch basemaps from portal.`,{error:e})),await this._updateBasemaps([],t)}})).promise}_toQueryString(e){return!e||typeof e==`string`?e:Object.keys(e).map(t=>`${t}:${e[t]}`).join(` AND `)}async _updateBasemaps(e,t){let n=await this._filterBasemaps(e);u(t),this.updateBasemapsCallback&&(n=await this.updateBasemapsCallback(n),u(t)),this.basemaps.removeAll(),this.basemaps.addMany(n)}async _filterBasemaps(e){if(!this.filterFunction)return e;let t=e.map(this.filterFunction),n=await Promise.all(t);return e.filter((e,t)=>n[t])}};e([m()],v.prototype,`_loadTask`,void 0),e([m({readOnly:!0,type:_})],v.prototype,`basemaps`,void 0),e([m()],v.prototype,`filterFunction`,void 0),e([m({type:g})],v.prototype,`portal`,void 0),e([m()],v.prototype,`query`,void 0),e([m({readOnly:!0})],v.prototype,`state`,null),e([m()],v.prototype,`updateBasemapsCallback`,void 0),e([m()],v.prototype,`viewType`,void 0),v=e([h(`esri.basemapGallery.PortalBasemapsSource`)],v);const y=v;export{y as default};
|
|
@@ -13,10 +13,10 @@ export interface BasemapItemProperties extends IdentifiableMixinProperties, Part
|
|
|
13
13
|
export type BasemapItemState = "ready" | "loading" | "error";
|
|
14
14
|
|
|
15
15
|
/**
|
|
16
|
-
* Represents one of the basemaps in [
|
|
16
|
+
* Represents one of the basemaps in [BasemapGalleryModel.items](https://developers.arcgis.com/javascript/latest/references/core/basemapGallery/BasemapGalleryModel/#items).
|
|
17
17
|
*
|
|
18
18
|
* @since 5.2
|
|
19
|
-
* @see [
|
|
19
|
+
* @see [BasemapGalleryModel.items](https://developers.arcgis.com/javascript/latest/references/core/basemapGallery/BasemapGalleryModel/#items)
|
|
20
20
|
*/
|
|
21
21
|
export default class BasemapItem extends BasemapItemSuperclass {
|
|
22
22
|
/** @since 5.2 */
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
/* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
|
|
2
|
-
import{__decorate as e}from"tslib";import t from"../../core/Accessor.js";import{createTask as n}from"../../core/asyncUtils.js";import{IdentifiableMixin as r}from"../../core/Identifiable.js";import{abortMaybe as i}from"../../core/maybe.js";import{isAbortError as a}from"../../core/promiseUtils.js";import{watch as o,whenOnce as s}from"../../core/reactiveUtils.js";import{property as c,subclass as l}from"../../core/accessorSupport/decorators.js";import{findSpatialReference as u}from"../../support/basemapUtils.js";let d=class extends r(t){constructor(e){super(e),this._refreshTask=null,this.compatibilityFunction=null,this.view=null}initialize(){this.addHandles(o(()=>[this.basemap?.loadStatus,this.compatibilityFunction,this.view&&`basemapTerrain`in this.view&&this.view.basemapTerrain?.tilingScheme,this.view?.ready,this.view?.spatialReference],()=>this.refresh())),this.refresh()}destroy(){this._refreshTask?.abort()}get _spatialReferenceTask(){return u(this.view,this.basemap)}set basemap(e){e?.load().catch(()=>{}),this._set(`basemap`,e)}get error(){if(!this.compatibilityFunction)return this.basemap?.loadStatus===`failed`?this.basemap.loadError:null;let e=this._refreshTask?.error;return a(e)?null:e}get spatialReference(){return this._spatialReferenceTask.spatialReference}get state(){let e=this.basemap?.loadStatus;if(e!==`loaded`&&e!==`failed`)return`loading`;if(!this.compatibilityFunction)return e===`loaded`?`ready`:`error`;let t=this._refreshTask;return!t?.finished||a(t.error)?`loading`:t.error?`error`:`ready`}refresh(){this._refreshTask=i(this._refreshTask);let e=this.basemap?.loadStatus;if(e!==`loaded`&&e!==`failed`)return;let t=this.compatibilityFunction;t&&(this._refreshTask=n(async e=>{await t(this,{signal:e}),await s(()=>!this._spatialReferenceTask.updating,e)}))}};e([c()],d.prototype,`_refreshTask`,void 0),e([c({readOnly:!0})],d.prototype,`_spatialReferenceTask`,null),e([c()],d.prototype,`basemap`,null),e([c()],d.prototype,`compatibilityFunction`,void 0),e([c({readOnly:!0})],d.prototype,`error`,null),e([c({readOnly:!0})],d.prototype,`spatialReference`,null),e([c({readOnly:!0})],d.prototype,`state`,null),e([c()],d.prototype,`view`,void 0),d=e([l(`esri.
|
|
2
|
+
import{__decorate as e}from"tslib";import t from"../../core/Accessor.js";import{createTask as n}from"../../core/asyncUtils.js";import{IdentifiableMixin as r}from"../../core/Identifiable.js";import{abortMaybe as i}from"../../core/maybe.js";import{isAbortError as a}from"../../core/promiseUtils.js";import{watch as o,whenOnce as s}from"../../core/reactiveUtils.js";import{property as c,subclass as l}from"../../core/accessorSupport/decorators.js";import{findSpatialReference as u}from"../../support/basemapUtils.js";let d=class extends r(t){constructor(e){super(e),this._refreshTask=null,this.compatibilityFunction=null,this.view=null}initialize(){this.addHandles(o(()=>[this.basemap?.loadStatus,this.compatibilityFunction,this.view&&`basemapTerrain`in this.view&&this.view.basemapTerrain?.tilingScheme,this.view?.ready,this.view?.spatialReference],()=>this.refresh())),this.refresh()}destroy(){this._refreshTask?.abort()}get _spatialReferenceTask(){return u(this.view,this.basemap)}set basemap(e){e?.load().catch(()=>{}),this._set(`basemap`,e)}get error(){if(!this.compatibilityFunction)return this.basemap?.loadStatus===`failed`?this.basemap.loadError:null;let e=this._refreshTask?.error;return a(e)?null:e}get spatialReference(){return this._spatialReferenceTask.spatialReference}get state(){let e=this.basemap?.loadStatus;if(e!==`loaded`&&e!==`failed`)return`loading`;if(!this.compatibilityFunction)return e===`loaded`?`ready`:`error`;let t=this._refreshTask;return!t?.finished||a(t.error)?`loading`:t.error?`error`:`ready`}refresh(){this._refreshTask=i(this._refreshTask);let e=this.basemap?.loadStatus;if(e!==`loaded`&&e!==`failed`)return;let t=this.compatibilityFunction;t&&(this._refreshTask=n(async e=>{await t(this,{signal:e}),await s(()=>!this._spatialReferenceTask.updating,e)}))}};e([c()],d.prototype,`_refreshTask`,void 0),e([c({readOnly:!0})],d.prototype,`_spatialReferenceTask`,null),e([c()],d.prototype,`basemap`,null),e([c()],d.prototype,`compatibilityFunction`,void 0),e([c({readOnly:!0})],d.prototype,`error`,null),e([c({readOnly:!0})],d.prototype,`spatialReference`,null),e([c({readOnly:!0})],d.prototype,`state`,null),e([c()],d.prototype,`view`,void 0),d=e([l(`esri.basemapGallery.support.BasemapItem`)],d);const f=d;export{f as default};
|
|
@@ -3,7 +3,7 @@ import type BasemapItem from "./support/BasemapItem.js";
|
|
|
3
3
|
import type { AbortOptions } from "../core/promiseUtils.js";
|
|
4
4
|
|
|
5
5
|
/**
|
|
6
|
-
* This function is used by the [PortalBasemapsSource.filterFunction](https://developers.arcgis.com/javascript/latest/references/core/
|
|
6
|
+
* This function is used by the [PortalBasemapsSource.filterFunction](https://developers.arcgis.com/javascript/latest/references/core/basemapGallery/PortalBasemapsSource/#filterFunction) property to filter
|
|
7
7
|
* basemaps after they are fetched from the Portal.
|
|
8
8
|
*
|
|
9
9
|
* _Support for asynchronous filter functions was added at version 4.27._
|
|
@@ -17,7 +17,7 @@ import type { AbortOptions } from "../core/promiseUtils.js";
|
|
|
17
17
|
export type BasemapFilter = (item: Basemap, index: number, array: Basemap[]) => boolean | Promise<boolean>;
|
|
18
18
|
|
|
19
19
|
/**
|
|
20
|
-
* This function is used by the [PortalBasemapsSource.updateBasemapsCallback](https://developers.arcgis.com/javascript/latest/references/core/
|
|
20
|
+
* This function is used by the [PortalBasemapsSource.updateBasemapsCallback](https://developers.arcgis.com/javascript/latest/references/core/basemapGallery/PortalBasemapsSource/#updateBasemapsCallback) property for
|
|
21
21
|
* updating basemaps after being fetched and filtered.
|
|
22
22
|
*
|
|
23
23
|
* _Support for asynchronous update functions was added at version 4.29._
|
|
@@ -237,12 +237,14 @@ return value * 2.0 - 1.0;
|
|
|
237
237
|
fragGlobalIllumination.rgb = vec3(0.0);
|
|
238
238
|
`)}
|
|
239
239
|
|
|
240
|
-
// Tone-map accumulated
|
|
240
|
+
// Tone-map only the accumulated RGB lighting, not alpha (inverse occlusion).
|
|
241
241
|
fragGlobalIllumination.rgb = tonemapKhronosNeutral(fragGlobalIllumination.rgb);
|
|
242
|
-
fragGlobalIllumination.rgb = quantizeGlobalIlluminationColor(fragGlobalIllumination.rgb);
|
|
243
242
|
|
|
244
243
|
// Accumulate occlusion
|
|
245
244
|
fragGlobalIllumination.a = mix(lastFrameGlobalIllumination.a + accumulationDither, fragGlobalIllumination.a, occlusionBlendWeight);
|
|
246
245
|
|
|
246
|
+
// Quantize all channels after temporal blending and dithering for consistent RGBA8 storage.
|
|
247
|
+
fragGlobalIllumination = quantizeGlobalIlluminationColor(fragGlobalIllumination);
|
|
248
|
+
|
|
247
249
|
fragWeight = vec2(occlusionBlendWeight, colorBlendWeight * storedColorBlendWeightScale);
|
|
248
250
|
`),x}const M=Object.freeze(Object.defineProperty({__proto__:null,GlobalIlluminationPassParameters:A,build:j,defaultColorBleedWeight:0,defaultEmissionBoostFactor:x,defaultFactorDaylightDirectional:C,defaultRayMarchMaxReach:E,defaultRayMarchMaxReachEmissionWeight:1,defaultRayMarchMaxSteps:16,defaultRayMarchMinReach:T,defaultRayMarchMinReachEmissionWeight:1,defaultRayMarchWorldReach:25},Symbol.toStringTag,{value:`Module`}));export{A as G,M as a,k as b,j as c,E as d,S as e,x as f,C as g,O as h,T as i,D as j,w as k};
|
|
@@ -55,10 +55,7 @@ import{create as e}from"../core/libs/gl-matrix-2/factories/vec2f64.js";import{Sc
|
|
|
55
55
|
bool shouldReuseCenterOcclusion = isScaledGlobalIllumination && centerOcclusionBlendWeight <= ${c.float(g)};
|
|
56
56
|
bool shouldSkipLowQualityBlur = !hasEmission && shouldReuseCenterOcclusion;
|
|
57
57
|
if (shouldSkipLowQualityBlur) {
|
|
58
|
-
fragColor =
|
|
59
|
-
quantizeGlobalIlluminationColor(centerGlobalIllumination.rgb),
|
|
60
|
-
centerGlobalIllumination.a
|
|
61
|
-
);
|
|
58
|
+
fragColor = quantizeGlobalIlluminationColor(centerGlobalIllumination);
|
|
62
59
|
return;
|
|
63
60
|
}
|
|
64
61
|
|
|
@@ -100,5 +97,6 @@ import{create as e}from"../core/libs/gl-matrix-2/factories/vec2f64.js";import{Sc
|
|
|
100
97
|
float dither = ditherNoise(vec4(blurredEmission, occlusion)) - ${c.float(30517578125e-15)};
|
|
101
98
|
blurredEmission += isScaledGlobalIllumination ? ${c.float(.85)} * dither : dither;
|
|
102
99
|
|
|
103
|
-
|
|
100
|
+
// Quantize both filtered lighting and inverse occlusion before RGBA8 storage.
|
|
101
|
+
fragColor = quantizeGlobalIlluminationColor(vec4(blurredEmission, occlusion));
|
|
104
102
|
`),e}const v=new p;v.useFloatBlend=!1;const y=Object.freeze(Object.defineProperty({__proto__:null,GlobalIlluminationBlurDrawParameters:g,build:_},Symbol.toStringTag,{value:`Module`}));export{g as G,y as a,_ as b};
|
|
@@ -79,4 +79,4 @@ import{ScreenSpacePass as e}from"../views/3d/webgl-engine/core/shaderLibrary/Scr
|
|
|
79
79
|
) / jointBilateralWeightSum;
|
|
80
80
|
}
|
|
81
81
|
`),l.outputs.add(`fragColor`,`vec4`,0),l.outputs.add(`fragWeight`,`vec2`,1),f.main.add(a`sampleJointBilateralUpscale(uv, fragColor, fragWeight);
|
|
82
|
-
fragColor
|
|
82
|
+
fragColor = quantizeGlobalIlluminationColor(fragColor);`),l}const m=Object.freeze(Object.defineProperty({__proto__:null,GlobalIlluminationUpscaleDrawParameters:f,build:p},Symbol.toStringTag,{value:`Module`}));export{f as G,m as a,p as b};
|
package/config.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
/* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
|
|
2
|
-
import"./core/has.js";import{deepMerge as e}from"./core/object.js";const t={apiKey:void 0,apiKeys:{scopes:[]},applicationName:``,applicationUrl:globalThis.location?.href,assetsPath:``,fontsUrl:`https://static.arcgis.com/fonts`,geometryServiceUrl:`https://utility.arcgisonline.com/arcgis/rest/services/Geometry/GeometryServer`,geoRSSServiceUrl:`https://utility.arcgis.com/sharing/rss`,kmlServiceUrl:`https://utility.arcgis.com/sharing/kml`,userPrivilegesApplied:!0,portalUrl:`https://www.arcgis.com`,respectPrefersReducedMotion:!0,routeServiceUrl:`https://route-api.arcgis.com/arcgis/rest/services/World/Route/NAServer/Route_World`,workers:{loaderConfig:{has:{},paths:{},map:{},packages:[]}},request:{crossOriginNoCorsDomains:null,httpsDomains:[`arcgis.com`,`arcgisonline.com`,`esrikr.com`,`premiumservices.blackbridge.com`,`esripremium.accuweather.com`,`gbm.digitalglobe.com`,`firstlook.digitalglobe.com`,`msi.digitalglobe.com`],interceptors:[],internalInterceptors:[],maxUrlLength:2e3,priority:`high`,proxyRules:[],proxyUrl:null,timeout:62e3,trustedServers:[],useIdentity:!0},log:{interceptors:[],level:null}};globalThis.esriConfig&&(e(t,globalThis.esriConfig,!0),delete t.has),!t.assetsPath&&(t.assetsPath=`https://cdn.jsdelivr.net/npm/@arcgis/core@5.2.0-next.
|
|
2
|
+
import"./core/has.js";import{deepMerge as e}from"./core/object.js";const t={apiKey:void 0,apiKeys:{scopes:[]},applicationName:``,applicationUrl:globalThis.location?.href,assetsPath:``,fontsUrl:`https://static.arcgis.com/fonts`,geometryServiceUrl:`https://utility.arcgisonline.com/arcgis/rest/services/Geometry/GeometryServer`,geoRSSServiceUrl:`https://utility.arcgis.com/sharing/rss`,kmlServiceUrl:`https://utility.arcgis.com/sharing/kml`,userPrivilegesApplied:!0,portalUrl:`https://www.arcgis.com`,respectPrefersReducedMotion:!0,routeServiceUrl:`https://route-api.arcgis.com/arcgis/rest/services/World/Route/NAServer/Route_World`,workers:{loaderConfig:{has:{},paths:{},map:{},packages:[]}},request:{crossOriginNoCorsDomains:null,httpsDomains:[`arcgis.com`,`arcgisonline.com`,`esrikr.com`,`premiumservices.blackbridge.com`,`esripremium.accuweather.com`,`gbm.digitalglobe.com`,`firstlook.digitalglobe.com`,`msi.digitalglobe.com`],interceptors:[],internalInterceptors:[],maxUrlLength:2e3,priority:`high`,proxyRules:[],proxyUrl:null,timeout:62e3,trustedServers:[],useIdentity:!0},log:{interceptors:[],level:null}};globalThis.esriConfig&&(e(t,globalThis.esriConfig,!0),delete t.has),!t.assetsPath&&(t.assetsPath=`https://cdn.jsdelivr.net/npm/@arcgis/core@5.2.0-next.145/assets`,t.defaultAssetsPath=t.assetsPath);export{t as default};
|
package/core/colorUtils.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
/* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
|
|
2
|
-
import e from"../Color.js";import{colorGamma as t,invColorGamma as n}from"../colorUtils.js";import{shuffle as r,getRandomNumberGenerator as i}from"./arrayUtils.js";import{clone as a}from"./lang.js";import{clamp as o}from"./mathUtils.js";import{equals as s}from"./libs/gl-matrix-2/math/vec4.js";import{fromValues as c}from"./libs/gl-matrix-2/factories/vec4f64.js";function l(e){return`r`in e&&`g`in e&&`b`in e}function u(e){return`h`in e&&`s`in e&&`v`in e}function d(e){return`l`in e&&`a`in e&&`b`in e}function f(e){return`l`in e&&`c`in e&&`h`in e}function p(e){return`x`in e&&`y`in e&&`z`in e}const m=[[.4124,.3576,.1805],[.2126,.7152,.0722],[.0193,.1192,.9505]],h=[[3.2406,-1.5372,-.4986],[-.9689,1.8758,.0415],[.0557,-.204,1.057]];function g(e,t){let n=[],r,i;if(e[0].length!==t.length)throw Error(`dimensions do not match`);let a=e.length,o=e[0].length,s=0;for(r=0;r<a;r++){for(s=0,i=0;i<o;i++)s+=e[r][i]*t[i];n.push(s)}return n}function _(e){let t=[e.r/255,e.g/255,e.b/255].map(e=>e<=.04045?e/12.92:((e+.055)/1.055)**2.4),n=g(m,t);return{x:n[0]*100,y:n[1]*100,z:n[2]*100}}function v(e){let t=g(h,[e.x/100,e.y/100,e.z/100]).map(e=>{let t=e<=.0031308?e*12.92:1.055*e**(1/2.4)-.055;return Math.min(1,Math.max(t,0))});return{r:Math.round(t[0]*255),g:Math.round(t[1]*255),b:Math.round(t[2]*255)}}function y(e){let t=[e.x/95.047,e.y/100,e.z/108.883].map(e=>e>(6/29)**3?e**(1/3):1/3*(29/6)**2*e+4/29);return{l:116*t[1]-16,a:500*(t[0]-t[1]),b:200*(t[1]-t[2])}}function b(e){let t=e.l,n=e.a,r=e.b,i=[(t+16)/116+n/500,(t+16)/116,(t+16)/116-r/200].map(e=>e>6/29?e**3:3*(6/29)**2*(e-4/29));return{x:i[0]*95.047,y:i[1]*100,z:i[2]*108.883}}function x(e){let t=e.l,n=e.a,r=e.b,i=Math.sqrt(n*n+r*r),a=Math.atan2(r,n);return a=a>0?a:a+2*Math.PI,{l:t,c:i,h:a}}function S(e){let t=e.l,n=e.c,r=e.h;return{l:t,a:n*Math.cos(r),b:n*Math.sin(r)}}function C(e){return y(_(e))}function w(e){return v(b(e))}function T(e){return x(y(_(e)))}function E(e){return v(b(S(e)))}function D(e){let{r:t,g:n,b:r}=e,i=Math.max(t,n,r),a=i-Math.min(t,n,r),o=i,s=a===0?0:i===t?(n-r)/a%6:i===n?(r-t)/a+2:(t-n)/a+4,c=a===0?0:a/o;return s<0&&(s+=6),s*=60,c*=100,o*=100/255,{h:s,s:c,v:o}}function O(e){let t=(e.h+360)%360/60,n=e.s/100,r=e.v/100*255,i=r*n,a=i*(1-Math.abs(t%2-1)),o;switch(Math.floor(t)){case 0:o={r:i,g:a,b:0};break;case 1:o={r:a,g:i,b:0};break;case 2:o={r:0,g:i,b:a};break;case 3:o={r:0,g:a,b:i};break;case 4:o={r:a,g:0,b:i};break;case 5:case 6:o={r:i,g:0,b:a};break;default:o={r:0,g:0,b:0}}return o.r=Math.round(o.r+r-i),o.g=Math.round(o.g+r-i),o.b=Math.round(o.b+r-i),o}function k(e){return l(e)?e:f(e)?E(e):d(e)?w(e):p(e)?v(e):u(e)?O(e):e}function A(e){return u(e)?e:D(k(e))}function j(e){return d(e)?e:C(k(e))}function M(e){return f(e)?e:T(k(e))}function N(e){return P(e).isBright?`light`:`dark`}function P(t){let{r:n,g:r,b:i,a}=t;return a<1&&(n=Math.round(a*n+(1-a)*255),r=Math.round(a*r+(1-a)*255),i=Math.round(a*i+(1-a)*255)),new e({r:n,g:r,b:i})}function F(e,t){let{r:n,g:r,b:i}=t?.ignoreAlpha?e:P(e);return .2126*n+.7152*r+.0722*i}function I(t,n=225){return F(t,{ignoreAlpha:!0})>n?new e([0,0,0,t.a]):new e([255,255,255,t.a])}function L(e,t){let n=j(e);n.l*=1-t;let r=k(n),i=e.clone();return i.setColor(r),i.a=e.a,i}function R(e,t){let n=e.clone();return n.a*=t,n}function z(e,t){let n=A(e);n.s*=t;let r=k(n),i=e.clone();return i.setColor(r),i.a=e.a,i}function B(e,t){return e===t||e!=null&&e.equals(t)}function V(e,t){return e===t||e!=null&&t!=null&&s(e,t)}function H(e){return c(e[0],e[1],e[2],e.length>3?e[3]:1)}function U(e){return e[0]??=0,e[1]??=0,e[2]??=0,e}function W(e){return e.length=4,U(e),e[3]??=1,o(e[3],0,1),e}function G(e,t){let n=e.toUnitRGBA();return n[3]*=t,n}function K(t,n,i={}){if(t.length===0||n<=0)return[];if(t=t.map(t=>typeof t==`string`?new e(t):t),t.length===1||n===1){let e=[],r=t[0];for(let t=0;t<n;t++)e.push(r.clone());return e}if(i.shuffle&&(t=r(a(t),i.seed)),t.length>=n){let e=[],r=(t.length-1)/(n-1);for(let i=0;i<n;i++){let n=Math.round(i*r);e.push(t[n].clone())}return e}return Z(t,n,i)}function q(t,n){let r=new e(t);if(!n?.strength||n.source!==`color`)return r;let[i,a,o]=r.toUnitRGB(),s=X(i,a,o),c=J(s.r+s.r*n.strength,s.g+s.g*n.strength,s.b+s.b*n.strength,r.a),l=J(
|
|
2
|
+
import e from"../Color.js";import{colorGamma as t,invColorGamma as n}from"../colorUtils.js";import{shuffle as r,getRandomNumberGenerator as i}from"./arrayUtils.js";import{clone as a}from"./lang.js";import{clamp as o}from"./mathUtils.js";import{equals as s}from"./libs/gl-matrix-2/math/vec4.js";import{fromValues as c}from"./libs/gl-matrix-2/factories/vec4f64.js";function l(e){return`r`in e&&`g`in e&&`b`in e}function u(e){return`h`in e&&`s`in e&&`v`in e}function d(e){return`l`in e&&`a`in e&&`b`in e}function f(e){return`l`in e&&`c`in e&&`h`in e}function p(e){return`x`in e&&`y`in e&&`z`in e}const m=[[.4124,.3576,.1805],[.2126,.7152,.0722],[.0193,.1192,.9505]],h=[[3.2406,-1.5372,-.4986],[-.9689,1.8758,.0415],[.0557,-.204,1.057]];function g(e,t){let n=[],r,i;if(e[0].length!==t.length)throw Error(`dimensions do not match`);let a=e.length,o=e[0].length,s=0;for(r=0;r<a;r++){for(s=0,i=0;i<o;i++)s+=e[r][i]*t[i];n.push(s)}return n}function _(e){let t=[e.r/255,e.g/255,e.b/255].map(e=>e<=.04045?e/12.92:((e+.055)/1.055)**2.4),n=g(m,t);return{x:n[0]*100,y:n[1]*100,z:n[2]*100}}function v(e){let t=g(h,[e.x/100,e.y/100,e.z/100]).map(e=>{let t=e<=.0031308?e*12.92:1.055*e**(1/2.4)-.055;return Math.min(1,Math.max(t,0))});return{r:Math.round(t[0]*255),g:Math.round(t[1]*255),b:Math.round(t[2]*255)}}function y(e){let t=[e.x/95.047,e.y/100,e.z/108.883].map(e=>e>(6/29)**3?e**(1/3):1/3*(29/6)**2*e+4/29);return{l:116*t[1]-16,a:500*(t[0]-t[1]),b:200*(t[1]-t[2])}}function b(e){let t=e.l,n=e.a,r=e.b,i=[(t+16)/116+n/500,(t+16)/116,(t+16)/116-r/200].map(e=>e>6/29?e**3:3*(6/29)**2*(e-4/29));return{x:i[0]*95.047,y:i[1]*100,z:i[2]*108.883}}function x(e){let t=e.l,n=e.a,r=e.b,i=Math.sqrt(n*n+r*r),a=Math.atan2(r,n);return a=a>0?a:a+2*Math.PI,{l:t,c:i,h:a}}function S(e){let t=e.l,n=e.c,r=e.h;return{l:t,a:n*Math.cos(r),b:n*Math.sin(r)}}function C(e){return y(_(e))}function w(e){return v(b(e))}function T(e){return x(y(_(e)))}function E(e){return v(b(S(e)))}function D(e){let{r:t,g:n,b:r}=e,i=Math.max(t,n,r),a=i-Math.min(t,n,r),o=i,s=a===0?0:i===t?(n-r)/a%6:i===n?(r-t)/a+2:(t-n)/a+4,c=a===0?0:a/o;return s<0&&(s+=6),s*=60,c*=100,o*=100/255,{h:s,s:c,v:o}}function O(e){let t=(e.h+360)%360/60,n=e.s/100,r=e.v/100*255,i=r*n,a=i*(1-Math.abs(t%2-1)),o;switch(Math.floor(t)){case 0:o={r:i,g:a,b:0};break;case 1:o={r:a,g:i,b:0};break;case 2:o={r:0,g:i,b:a};break;case 3:o={r:0,g:a,b:i};break;case 4:o={r:a,g:0,b:i};break;case 5:case 6:o={r:i,g:0,b:a};break;default:o={r:0,g:0,b:0}}return o.r=Math.round(o.r+r-i),o.g=Math.round(o.g+r-i),o.b=Math.round(o.b+r-i),o}function k(e){return l(e)?e:f(e)?E(e):d(e)?w(e):p(e)?v(e):u(e)?O(e):e}function A(e){return u(e)?e:D(k(e))}function j(e){return d(e)?e:C(k(e))}function M(e){return f(e)?e:T(k(e))}function N(e){return P(e).isBright?`light`:`dark`}function P(t){let{r:n,g:r,b:i,a}=t;return a<1&&(n=Math.round(a*n+(1-a)*255),r=Math.round(a*r+(1-a)*255),i=Math.round(a*i+(1-a)*255)),new e({r:n,g:r,b:i})}function F(e,t){let{r:n,g:r,b:i}=t?.ignoreAlpha?e:P(e);return .2126*n+.7152*r+.0722*i}function I(t,n=225){return F(t,{ignoreAlpha:!0})>n?new e([0,0,0,t.a]):new e([255,255,255,t.a])}function L(e,t){let n=j(e);n.l*=1-t;let r=k(n),i=e.clone();return i.setColor(r),i.a=e.a,i}function R(e,t){let n=e.clone();return n.a*=t,n}function z(e,t){let n=A(e);n.s*=t;let r=k(n),i=e.clone();return i.setColor(r),i.a=e.a,i}function B(e,t){return e===t||e!=null&&e.equals(t)}function V(e,t){return e===t||e!=null&&t!=null&&s(e,t)}function H(e){return c(e[0],e[1],e[2],e.length>3?e[3]:1)}function U(e){return e[0]??=0,e[1]??=0,e[2]??=0,e}function W(e){return e.length=4,U(e),e[3]??=1,o(e[3],0,1),e}function G(e,t){let n=e.toUnitRGBA();return n[3]*=t,n}function K(t,n,i={}){if(t.length===0||n<=0)return[];if(t=t.map(t=>typeof t==`string`?new e(t):t),t.length===1||n===1){let e=[],r=t[0];for(let t=0;t<n;t++)e.push(r.clone());return e}if(i.shuffle&&(t=r(a(t),i.seed)),t.length>=n){let e=[],r=(t.length-1)/(n-1);for(let i=0;i<n;i++){let n=Math.round(i*r);e.push(t[n].clone())}return e}return Z(t,n,i)}function q(t,n){let r=new e(t);if(!n?.strength||n.source!==`color`)return r;let[i,a,o]=r.toUnitRGB(),s=X(i,a,o),c=J(s.r+s.r*n.strength,s.g+s.g*n.strength,s.b+s.b*n.strength,r.a),l=J(s.r,s.g,s.b,r.a),[u,d,f]=c.toUnitRGB(),[p,m,h]=l.toUnitRGB(),g=Y(s.r+u-p,s.g+d-m,s.b+f-h);return new e([g.r*255,g.g*255,g.b*255,r.a])}function J(t,n,r,i){let a=.76,o=Math.max(t,Math.max(n,r));if(o<a)return new e([t*255,n*255,r*255,i]);let s=.24,c=1-s*s/(o+s-a),l=c/o,u=1-1/(.15*(o-c)+1),d=new e([t*l*255,n*l*255,r*l*255,i]),f=new e([c*255,c*255,c*255,i]);return e.blendColors(d,f,u)}function Y(e,t,r){return{r:e**n,g:t**n,b:r**n}}function X(e,n,r){return{r:e**t,g:n**t,b:r**t}}function Z(e,t,n={}){let i=[],a=e.length-1,o=Math.ceil((t-e.length)/a);outerLoop:for(let r=0;r<a;r++){let a=e[r],s=e[r+1];for(let r=1;r<=o;r++){let c=r/(o+1);if(i.push($(a,s,c,n)),i.length+e.length===t)break outerLoop}}return[...e.map(e=>e.clone()),...r(i,n.seed??1)]}const Q=(e,t)=>{let n=Math.floor(t()*10)-5;return Math.min(255,Math.max(0,e+n))};function $(t,n,r,a={}){let o=t.r,s=t.g,c=t.b,l=n.r,u=n.g,d=n.b,f=Math.round(o+(l-o)*r),p=Math.round(s+(u-s)*r),m=Math.round(c+(d-c)*r);if(!a.offset)return new e([f,p,m]);let h=i(a.seed);return new e([Q(f,h),Q(p,h),Q(m,h)])}export{B as colorEquals,V as colorVectorEquals,H as colorVectorToColorAndOpacity,K as createUniqueColors,L as darken,z as desaturate,F as getColorLuminance,N as getColorTheme,q as getColorWithEmissiveStrength,I as getContrast,l as isRGB,R as multiplyOpacity,G as multiplyOpacityToUnitRGBA,A as toHSV,j as toLAB,M as toLCH,k as toRGB,U as validateColor,W as validateColorAndOpacity};
|
|
@@ -4,21 +4,51 @@ import type { SingleChoiceInputProperties } from "./SingleChoiceInput.js";
|
|
|
4
4
|
export interface DynamicChoiceInputProperties extends SingleChoiceInputProperties, Partial<Pick<DynamicChoiceInput, "choiceExpression">> {}
|
|
5
5
|
|
|
6
6
|
/**
|
|
7
|
-
* The `DynamicChoiceInput` class defines the desired user interface for a dynamic choice group input.
|
|
7
|
+
* The `DynamicChoiceInput` class defines the desired user interface for a dynamic choice group input. It lets users select a field value from a list of choices generated by an [Arcade](https://developers.arcgis.com/arcade) expression, rather than a fixed list. It is supported in both single and batch feature editing. Use a [dynamic choice input](/references/core/form/elements/inputs/DynamicChoiceInput/) when the available options depend on the feature being edited, values entered in other fields, or data queried from another layer or table.
|
|
8
|
+
*
|
|
9
|
+
* This [FieldElement.input](https://developers.arcgis.com/javascript/latest/references/core/form/elements/FieldElement/#input) is used in [field elements](https://developers.arcgis.com/javascript/latest/references/core/form/elements/FieldElement/) that are set within a [feature layer's](https://developers.arcgis.com/javascript/latest/references/core/layers/FeatureLayer/#formTemplate) `formTemplate`. This is displayed within the [Editor](https://developers.arcgis.com/javascript/latest/references/map-components/components/arcgis-editor/).
|
|
10
|
+
*
|
|
11
|
+
* To configure a dynamic choice input, set its [choiceExpression](https://developers.arcgis.com/javascript/latest/references/core/form/elements/inputs/DynamicChoiceInput/#choiceExpression) to the name of an Arcade expression in the form template's [FormTemplate.expressionInfos](https://developers.arcgis.com/javascript/latest/references/core/form/FormTemplate/#expressionInfos). The expression returns a dictionary containing a `choices` array, where each choice has a `name` for its display text and a `code` for the value stored in the field.
|
|
8
12
|
*
|
|
9
13
|
* @since 5.2
|
|
10
14
|
* @see [FieldElement](https://developers.arcgis.com/javascript/latest/references/core/form/elements/FieldElement/)
|
|
11
15
|
* @example
|
|
12
16
|
* // Creates a new dynamic choice input for a field element within a form
|
|
13
17
|
* const dynamicChoiceInput = new DynamicChoiceInput({
|
|
14
|
-
* choiceExpression:
|
|
15
|
-
* noValueOptionLabel: "No Value",
|
|
16
|
-
* showNoValueOption:
|
|
18
|
+
* choiceExpression: dynamicChoiceExpression.name, // reference to the defined expression
|
|
19
|
+
* noValueOptionLabel: "No Value (null)",
|
|
20
|
+
* showNoValueOption: false,
|
|
17
21
|
* });
|
|
18
22
|
*/
|
|
19
23
|
export default class DynamicChoiceInput extends SingleChoiceInput {
|
|
20
24
|
constructor(properties?: DynamicChoiceInputProperties);
|
|
21
|
-
/**
|
|
25
|
+
/**
|
|
26
|
+
* A reference to an [Arcade](https://developers.arcgis.com/javascript/latest/arcade/) expression that returns a dictionary. The dictionary should have a `choices` array of objects, with each object in the array having a `name` property that is the text displayed to the user, and a `code` property that is the value assigned to the field when that choice is selected.
|
|
27
|
+
*
|
|
28
|
+
* @example
|
|
29
|
+
* // Set the choice expression for the dynamic choice input
|
|
30
|
+
* fieldElement.input = new DynamicChoiceInput({
|
|
31
|
+
* choiceExpression: dynamicChoiceExpression.name
|
|
32
|
+
* });
|
|
33
|
+
*
|
|
34
|
+
* const dynamicChoiceExpression = new ExpressionInfo({
|
|
35
|
+
* name: "dynamic-material-choices",
|
|
36
|
+
* title: "Dynamic material choices",
|
|
37
|
+
* expression:
|
|
38
|
+
* `var choices = [
|
|
39
|
+
* { name: "Unknown", code: 0 },
|
|
40
|
+
* { name: "Cast Iron - CAS", code: 83 },
|
|
41
|
+
* { name: "Copper - COP", code: 84 },
|
|
42
|
+
* { name: "Ductile Iron - DIP", code: 88 },
|
|
43
|
+
* { name: "Polyvinyl Chloride - PVC", code: 94 },
|
|
44
|
+
* { name: "Lead - LP", code: 109 }
|
|
45
|
+
* ];
|
|
46
|
+
* return {
|
|
47
|
+
* choices: choices
|
|
48
|
+
* };`,
|
|
49
|
+
* returnType: "dictionary",
|
|
50
|
+
* });
|
|
51
|
+
*/
|
|
22
52
|
accessor choiceExpression: string | null | undefined;
|
|
23
53
|
/** The type of form element input. */
|
|
24
54
|
get type(): "dynamic-choice";
|
package/kernel.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
/* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
|
|
2
|
-
import has from"./core/has.js";import{addQueryParameter as e}from"./core/urlUtils.js";Symbol.dispose??=Symbol(`Symbol.dispose`),Symbol.asyncDispose??=Symbol(`Symbol.asyncDispose`);const t=`5.2`;let n=`5.2`;n=`5.2.0-next.
|
|
2
|
+
import has from"./core/has.js";import{addQueryParameter as e}from"./core/urlUtils.js";Symbol.dispose??=Symbol(`Symbol.dispose`),Symbol.asyncDispose??=Symbol(`Symbol.asyncDispose`);const t=`5.2`;let n=`5.2`;n=`5.2.0-next.145`;let r;function i(e){r=e}function a(t){let n=r?.findCredential(t);return n?.token?e(t,`token`,n.token):t}has(`host-webworker`)||globalThis.$arcgis||Object.defineProperty(globalThis,"$arcgis",{configurable:!1,enumerable:!0,writable:!1,value:{}}),has(`host-webworker`);export{a as addTokenParameter,n as fullVersion,r as id,i as setId,t as version};
|
package/layers/ParquetLayer.d.ts
CHANGED
|
@@ -41,6 +41,7 @@ import type { UniqueValueRendererProperties } from "../renderers/UniqueValueRend
|
|
|
41
41
|
import type { ClassBreaksRendererProperties } from "../renderers/ClassBreaksRenderer.js";
|
|
42
42
|
import type { SimpleRendererProperties } from "../renderers/SimpleRenderer.js";
|
|
43
43
|
import type { SpatialReferenceProperties } from "../geometry/SpatialReference.js";
|
|
44
|
+
import type { PortalItemDataProperties } from "./support/PortalItemData.js";
|
|
44
45
|
import type { ParquetPortalItemDataProperties } from "./support/ParquetPortalItemData.js";
|
|
45
46
|
import type { ParquetFilesDataProperties } from "./support/ParquetFilesData.js";
|
|
46
47
|
import type { ReadonlyArrayOrCollection } from "../core/Collection.js";
|
|
@@ -49,7 +50,7 @@ import type { LayerProperties } from "./Layer.js";
|
|
|
49
50
|
export interface ParquetLayerProperties extends LayerProperties, CustomParametersMixinProperties, OperationalLayerProperties, RefreshableLayerProperties, ScaleRangeLayerProperties, DataSeriesLayerProperties, OrderedLayerProperties, BlendLayerProperties, FeatureEffectLayerProperties, FeatureReductionLayerProperties, Partial<Pick<ParquetLayer, "charts" | "copyright" | "definitionExpression" | "geometryType" | "labelsVisible" | "legendEnabled" | "outFields" | "popupEnabled">> {
|
|
50
51
|
/**
|
|
51
52
|
* The data source for the ParquetLayer. Set this property to [parquet files](https://developers.arcgis.com/javascript/latest/references/core/layers/support/ParquetFilesData/)
|
|
52
|
-
* or a [portal item](https://developers.arcgis.com/javascript/latest/references/core/layers/support/
|
|
53
|
+
* or a [portal item](https://developers.arcgis.com/javascript/latest/references/core/layers/support/PortalItemData/) to define which Parquet content the layer loads.
|
|
53
54
|
*
|
|
54
55
|
* @since 5.1
|
|
55
56
|
* @example
|
|
@@ -65,14 +66,14 @@ export interface ParquetLayerProperties extends LayerProperties, CustomParameter
|
|
|
65
66
|
* @example
|
|
66
67
|
* // Create a parquet layer from arcgis online portal item
|
|
67
68
|
* const layer = new ParquetLayer({
|
|
68
|
-
* data: new
|
|
69
|
+
* data: new PortalItemData({
|
|
69
70
|
* portalItem: {
|
|
70
71
|
* id: "6ab6f959c1684eb5a54db91644a89747",
|
|
71
72
|
* },
|
|
72
73
|
* }),
|
|
73
74
|
* });
|
|
74
75
|
*/
|
|
75
|
-
data?: (ParquetFilesDataProperties | (ParquetPortalItemDataProperties & { type: "portal-item" })) | null;
|
|
76
|
+
data?: (ParquetFilesDataProperties | (ParquetPortalItemDataProperties & { type: "portal-item" }) | (PortalItemDataProperties & { type: "portal-item" })) | null;
|
|
76
77
|
/**
|
|
77
78
|
* An array of fields in the layer.
|
|
78
79
|
*
|
|
@@ -261,7 +262,7 @@ export interface ParquetLayerProperties extends LayerProperties, CustomParameter
|
|
|
261
262
|
*
|
|
262
263
|
* // Create a parquet layer from arcgis online portal item
|
|
263
264
|
* const layer = new ParquetLayer({
|
|
264
|
-
* data: new
|
|
265
|
+
* data: new PortalItemData({
|
|
265
266
|
* portalItem: {
|
|
266
267
|
* id: "6ab6f959c1684eb5a54db91644a89747",
|
|
267
268
|
* },
|
|
@@ -321,7 +322,7 @@ export default class ParquetLayer extends ParquetLayerSuperclass {
|
|
|
321
322
|
/**
|
|
322
323
|
* @example
|
|
323
324
|
* const layer = new ParquetLayer({
|
|
324
|
-
* data: new
|
|
325
|
+
* data: new PortalItemData({
|
|
325
326
|
* portalItem: {
|
|
326
327
|
* id: "6ab6f959c1684eb5a54db91644a89747",
|
|
327
328
|
* },
|
|
@@ -342,7 +343,7 @@ export default class ParquetLayer extends ParquetLayerSuperclass {
|
|
|
342
343
|
accessor copyright: string | null | undefined;
|
|
343
344
|
/**
|
|
344
345
|
* The data source for the ParquetLayer. Set this property to [parquet files](https://developers.arcgis.com/javascript/latest/references/core/layers/support/ParquetFilesData/)
|
|
345
|
-
* or a [portal item](https://developers.arcgis.com/javascript/latest/references/core/layers/support/
|
|
346
|
+
* or a [portal item](https://developers.arcgis.com/javascript/latest/references/core/layers/support/PortalItemData/) to define which Parquet content the layer loads.
|
|
346
347
|
*
|
|
347
348
|
* @since 5.1
|
|
348
349
|
* @example
|
|
@@ -358,7 +359,7 @@ export default class ParquetLayer extends ParquetLayerSuperclass {
|
|
|
358
359
|
* @example
|
|
359
360
|
* // Create a parquet layer from arcgis online portal item
|
|
360
361
|
* const layer = new ParquetLayer({
|
|
361
|
-
* data: new
|
|
362
|
+
* data: new PortalItemData({
|
|
362
363
|
* portalItem: {
|
|
363
364
|
* id: "6ab6f959c1684eb5a54db91644a89747",
|
|
364
365
|
* },
|
|
@@ -366,7 +367,7 @@ export default class ParquetLayer extends ParquetLayerSuperclass {
|
|
|
366
367
|
* });
|
|
367
368
|
*/
|
|
368
369
|
get data(): ParquetDataUnion | null | undefined;
|
|
369
|
-
set data(value: (ParquetFilesDataProperties | (ParquetPortalItemDataProperties & { type: "portal-item" })) | null | undefined);
|
|
370
|
+
set data(value: (ParquetFilesDataProperties | (ParquetPortalItemDataProperties & { type: "portal-item" }) | (PortalItemDataProperties & { type: "portal-item" })) | null | undefined);
|
|
370
371
|
/**
|
|
371
372
|
* The SQL where clause used to filter features on the client. Only the features that satisfy the definition
|
|
372
373
|
* expression are displayed in the map. Setting a definition expression is useful
|
package/layers/ParquetLayer.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
/* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
|
|
2
|
-
import{__decorate as e}from"tslib";import t from"../PopupTemplate.js";import{ClonableMixin as n}from"../core/Clonable.js";import r from"../core/Collection.js";import{deprecatedProperty as i}from"../core/deprecate.js";import a from"../core/Error.js";import has from"../core/has.js";import o from"../core/Logger.js";import{MultiOriginJSONSupportMixin as s}from"../core/MultiOriginJSONSupport.js";import{setDeepValue as c}from"../core/object.js";import{on as l}from"../core/reactiveUtils.js";import{getFilename as u}from"../core/urlUtils.js";import{property as d}from"../core/accessorSupport/decorators/property.js";import{subclass as f}from"../core/accessorSupport/decorators/subclass.js";import{writer as p}from"../core/accessorSupport/decorators/writer.js";import m from"../geometry/Extent.js";import h from"../geometry/SpatialReference.js";import g from"../graphic/ParquetGraphicOrigin.js";import _ from"./Layer.js";import{ParquetSource as v}from"./graphics/sources/ParquetSource.js";import{BlendLayer as y}from"./mixins/BlendLayer.js";import{CustomParametersMixin as b}from"./mixins/CustomParametersMixin.js";import{DataSeriesLayer as x}from"./mixins/DataSeriesLayer.js";import{FeatureEffectLayer as S}from"./mixins/FeatureEffectLayer.js";import{FeatureReductionLayer as C}from"./mixins/FeatureReductionLayer.js";import{OperationalLayer as w}from"./mixins/OperationalLayer.js";import{OrderedLayer as T}from"./mixins/OrderedLayer.js";import{RefreshableLayer as E}from"./mixins/RefreshableLayer.js";import{ScaleRangeLayer as D}from"./mixins/ScaleRangeLayer.js";import{labelsVisible as O,legendEnabled as k,popupEnabled as A}from"./support/commonProperties.js";import j from"./support/FeatureTemplate.js";import M from"./support/Field.js";import{defineFieldProperties as N}from"./support/fieldProperties.js";import{fixRendererFields as P}from"./support/fieldUtils.js";import F from"./support/GeometryEncodingLocation.js";import I from"./support/GeometryEncodingWkb.js";import L from"./support/LabelClass.js";import{reader as R}from"./support/labelingInfo.js";import z from"./support/ParquetFilesData.js";import B
|
|
2
|
+
import{__decorate as e}from"tslib";import t from"../PopupTemplate.js";import{ClonableMixin as n}from"../core/Clonable.js";import r from"../core/Collection.js";import{deprecatedProperty as i}from"../core/deprecate.js";import a from"../core/Error.js";import has from"../core/has.js";import o from"../core/Logger.js";import{MultiOriginJSONSupportMixin as s}from"../core/MultiOriginJSONSupport.js";import{setDeepValue as c}from"../core/object.js";import{on as l}from"../core/reactiveUtils.js";import{getFilename as u}from"../core/urlUtils.js";import{property as d}from"../core/accessorSupport/decorators/property.js";import{subclass as f}from"../core/accessorSupport/decorators/subclass.js";import{writer as p}from"../core/accessorSupport/decorators/writer.js";import m from"../geometry/Extent.js";import h from"../geometry/SpatialReference.js";import g from"../graphic/ParquetGraphicOrigin.js";import _ from"./Layer.js";import{ParquetSource as v}from"./graphics/sources/ParquetSource.js";import{BlendLayer as y}from"./mixins/BlendLayer.js";import{CustomParametersMixin as b}from"./mixins/CustomParametersMixin.js";import{DataSeriesLayer as x}from"./mixins/DataSeriesLayer.js";import{FeatureEffectLayer as S}from"./mixins/FeatureEffectLayer.js";import{FeatureReductionLayer as C}from"./mixins/FeatureReductionLayer.js";import{OperationalLayer as w}from"./mixins/OperationalLayer.js";import{OrderedLayer as T}from"./mixins/OrderedLayer.js";import{RefreshableLayer as E}from"./mixins/RefreshableLayer.js";import{ScaleRangeLayer as D}from"./mixins/ScaleRangeLayer.js";import{labelsVisible as O,legendEnabled as k,popupEnabled as A}from"./support/commonProperties.js";import j from"./support/FeatureTemplate.js";import M from"./support/Field.js";import{defineFieldProperties as N}from"./support/fieldProperties.js";import{fixRendererFields as P}from"./support/fieldUtils.js";import F from"./support/GeometryEncodingLocation.js";import I from"./support/GeometryEncodingWkb.js";import L from"./support/LabelClass.js";import{reader as R}from"./support/labelingInfo.js";import z from"./support/ParquetFilesData.js";import{parquetGeometryTypeKebabDict as B}from"./support/parquetUtils.js";import V from"./support/PortalItemData.js";import{rendererTypes as H}from"../renderers/support/typeUtils.js";import U from"../rest/support/Query.js";import{createPopupTemplate as W}from"../support/popupUtils.js";import{utc as G}from"../time/constants.js";const K=N(),q=`__OBJECTID`,J={types:{key:`type`,base:null,typeMap:{wkb:I,location:F}},json:{name:`layerDefinition.geometryEncoding`,write:{ignoreOrigin:!0,isRequired:!0},origins:{service:{read:{source:`geometryEncoding`}}}}};let Y=class extends C(S(y(T(x(D(E(w(s(b(n(_))))))))))){constructor(e){super(e),this._emptyUrls=new r,this.charts=null,this.copyright=null,this.definitionExpression=null,this.returnM=void 0,this.returnZ=void 0,this.displayOptimization=null,this.fields=null,this.fieldsIndex=null,this.geometryEncoding=null,this.fullExtent=null,this.geometryType=null,this.graphicOrigin=new g(this),this.labelsVisible=!0,this.labelingInfo=null,this.objectIdField=q,this.operationalLayerType=`ParquetLayer`,this.outFields=null,this.persistenceEnabled=!!has(`parquetlayer-persistence-enabled`),this.popupTemplate=null,this.source=null,this.spatialReference=null,this.templates=null,this.type=`parquet`,this.data=null}initialize(){this.addHandles(l(()=>this.source,`source-changed`,()=>{this.emit(`refresh`,{dataChanged:!0})}))}destroy(){this.source?.destroy()}async load(e){return this.addResolvingPromise(this._load(e)),this}get capabilities(){return this.source?.capabilities}get dateFieldsTimeZone(){return G}get defaultPopupTemplate(){return this.createPopupTemplate()}writeFields(e,t,n,r){let i=e.filter(e=>e.name!==q||e.type!==`oid`).map(e=>e.toJSON(r));c(n,i,t)}get isTable(){return this.geometryEncoding==null&&this.displayOptimization==null}set renderer(e){P(e,this.fieldsIndex),this._set(`renderer`,e)}get title(){let e=this._get(`title`);if(e&&this.originOf(`title`)!==`defaults`)return e;switch(this.data?.type){case`files`:{let t=this.data.urls?.at(0);e=t?u(t,[`parquet`]):null;break}case`portal-item`:e=this.data.portalItem?.title}return e||`Parquet`}set title(e){this._set(`title`,e)}writeData(e,t,n,r){if(!e)return;if(e.type===`portal-item`&&e.portalItem?.type!==`Parquet Feature Layer`){r.messages?.push(new a(`parquet-layer:unsupported-data`,`Portal item with type '${e.portalItem?.type}' is not supported in web maps`,{layer:this,itemId:e.portalItem?.id}));return}let i=e.write({},r);i&&(t.source=i)}get urls(){return this.data?.type===`files`?this.data.urls:this._emptyUrls}set urls(e){i(o.getLogger(this),`urls`,{replacement:`data`,version:`5.1`,warnOnce:!0}),this.data=new z({urls:this._normalizeUrls(e)})}createPopupTemplate(e){return W(this,e)}createQuery(){let e=new U;return e.returnGeometry=!0,e.outFields=[`*`],e.where=this.definitionExpression||`1=1`,e}async createSource(e){let t=new v({layer:this});return await t.load(e),t}getFieldDomain(e,t){return null}getField(e){return this.fieldsIndex.get(e)}async queryFeatures(e,t){await this.load();let n=await this.source.queryFeatures(this._normalizeQuery(e),t),r=this.graphicOrigin;if(n?.features)for(let e of n.features)e.layer=e.sourceLayer=this,e.origin=r;return n}async queryObjectIds(e,t){return await this.load(),this.source.queryObjectIds(this._normalizeQuery(e),t)}async queryFeatureCount(e,t){return await this.load(),this.source.queryFeatureCount(this._normalizeQuery(e),t)}async queryExtent(e,t){return await this.load(),this.source.queryExtent(this._normalizeQuery(e),t)}async hasDataChanged(){if(this.data?.type===`portal-item`){let e=this.data.portalItem,t=e.modified?.getTime();if(await e.reload(),t===e.modified?.getTime())return!1}return await this.source.reload(null),!0}_normalizeQuery(e){return U.from(e)??this.createQuery()}_normalizeUrls(e){return Array.isArray(e)?new r(e):e??new r}async _load(e){this.data?.type===`portal-item`&&await this.data.portalItem.load();let t=await this.createSource(e);this._set(`source`,t),this.read(t.sourceJSON,{origin:`service`}),[`fields`].forEach(e=>this.revertToOrigin(e,`service`)),P(this.renderer,this.fieldsIndex),this.spatialReference??=h.WGS84}};e([d({readOnly:!0,json:{read:!1,write:!1}})],Y.prototype,`capabilities`,null),e([d({json:{origins:{"web-scene":{write:!1}},write:!0}})],Y.prototype,`charts`,void 0),e([d({type:String})],Y.prototype,`copyright`,void 0),e([d({readOnly:!0})],Y.prototype,`dateFieldsTimeZone`,null),e([d({readOnly:!0})],Y.prototype,`defaultPopupTemplate`,null),e([d({type:String,json:{name:`layerDefinition.definitionExpression`,write:{enabled:!0,allowNull:!0}}})],Y.prototype,`definitionExpression`,void 0),e([d({type:Boolean})],Y.prototype,`returnM`,void 0),e([d({type:Boolean})],Y.prototype,`returnZ`,void 0),e([d()],Y.prototype,`displayOptimization`,void 0),e([d({type:[M],json:{name:`layerDefinition.fields`,write:{ignoreOrigin:!0,isRequired:!0},origins:{service:{name:`fields`}}}})],Y.prototype,`fields`,void 0),e([p(`fields`)],Y.prototype,`writeFields`,null),e([d(K.fieldsIndex)],Y.prototype,`fieldsIndex`,void 0),e([d(J)],Y.prototype,`geometryEncoding`,void 0),e([d({type:m,json:{name:`extent`}})],Y.prototype,`fullExtent`,void 0),e([d({type:B.apiValues,json:{name:`layerDefinition.geometryType`,read:{reader:B.read},write:{writer:B.write,ignoreOrigin:!0,isRequired:!0},origins:{service:{read:{source:`geometryType`,reader:B.read}}}}})],Y.prototype,`geometryType`,void 0),e([d({readOnly:!0,clonable:!1})],Y.prototype,`graphicOrigin`,void 0),e([d(O)],Y.prototype,`labelsVisible`,void 0),e([d({type:[L],json:{name:`layerDefinition.drawingInfo.labelingInfo`,read:{reader:R},write:!0}})],Y.prototype,`labelingInfo`,void 0),e([d(k)],Y.prototype,`legendEnabled`,void 0),e([d()],Y.prototype,`file`,void 0),e([d({type:String,readOnly:!0})],Y.prototype,`objectIdField`,void 0),e([d({type:[`ParquetLayer`]})],Y.prototype,`operationalLayerType`,void 0),e([d(K.outFields)],Y.prototype,`outFields`,void 0),e([d(A)],Y.prototype,`popupEnabled`,void 0),e([d({type:t,json:{name:`popupInfo`,write:!0}})],Y.prototype,`popupTemplate`,void 0),e([d({types:H,json:{name:`layerDefinition.drawingInfo.renderer`,write:!0,origins:{service:{read:{source:`drawingInfo.renderer`}}}}})],Y.prototype,`renderer`,null),e([d({type:v,readOnly:!0,cast:null,json:{read:!1}})],Y.prototype,`source`,void 0),e([d({type:h,json:{name:`layerDefinition.spatialReference`,write:{ignoreOrigin:!0,isRequired:!0},origins:{service:{read:{source:`extent.spatialReference`}}}}})],Y.prototype,`spatialReference`,void 0),e([d({type:[j]})],Y.prototype,`templates`,void 0),e([d()],Y.prototype,`title`,null),e([d({json:{read:!1},readOnly:!0})],Y.prototype,`type`,void 0),e([d({types:{key:`type`,base:null,typeMap:{files:z,"portal-item":V}},json:{name:`source`,origins:{"web-map":{write:{target:`source`,ignoreOrigin:!0}}}}})],Y.prototype,`data`,void 0),e([p(`web-map`,`data`)],Y.prototype,`writeData`,null),e([d({type:r.ofType(String),json:{read:!1,write:!1}})],Y.prototype,`urls`,null),Y=e([f(`esri.layers.ParquetLayer`)],Y);export{Y as default};
|