@esri/hub-common 13.17.2 → 13.17.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/esm/associations/addAssociation.js +16 -0
- package/dist/esm/associations/addAssociation.js.map +1 -0
- package/dist/esm/associations/index.js +5 -0
- package/dist/esm/associations/index.js.map +1 -0
- package/dist/esm/associations/internal/getTargetEntityFromAssociationType.js +18 -0
- package/dist/esm/associations/internal/getTargetEntityFromAssociationType.js.map +1 -0
- package/dist/esm/associations/internal/getTypeByIdsQuery.js +28 -0
- package/dist/esm/associations/internal/getTypeByIdsQuery.js.map +1 -0
- package/dist/esm/associations/internal/getTypeFromAssociationType.js +18 -0
- package/dist/esm/associations/internal/getTypeFromAssociationType.js.map +1 -0
- package/dist/esm/associations/internal/getTypeWithKeywordQuery.js +27 -0
- package/dist/esm/associations/internal/getTypeWithKeywordQuery.js.map +1 -0
- package/dist/esm/associations/internal/getTypeWithoutKeywordQuery.js +27 -0
- package/dist/esm/associations/internal/getTypeWithoutKeywordQuery.js.map +1 -0
- package/dist/esm/associations/listAssociations.js +17 -0
- package/dist/esm/associations/listAssociations.js.map +1 -0
- package/dist/esm/associations/removeAssociation.js +17 -0
- package/dist/esm/associations/removeAssociation.js.map +1 -0
- package/dist/esm/associations/types.js +2 -0
- package/dist/esm/associations/types.js.map +1 -0
- package/dist/esm/content/_internal/ContentSchema.js +16 -0
- package/dist/esm/content/_internal/ContentSchema.js.map +1 -0
- package/dist/esm/content/_internal/ContentUiSchemaEdit.js +148 -0
- package/dist/esm/content/_internal/ContentUiSchemaEdit.js.map +1 -0
- package/dist/esm/content/_internal/ContentUiSchemaSettings.js +59 -0
- package/dist/esm/content/_internal/ContentUiSchemaSettings.js.map +1 -0
- package/dist/esm/content/_internal/computeProps.js +57 -0
- package/dist/esm/content/_internal/computeProps.js.map +1 -0
- package/dist/esm/content/hostedServiceUtils.js +91 -0
- package/dist/esm/content/hostedServiceUtils.js.map +1 -0
- package/dist/esm/core/EntityEditor.js +56 -0
- package/dist/esm/core/EntityEditor.js.map +1 -0
- package/dist/esm/core/behaviors/IWIthAssociationBehavior.js +1 -0
- package/dist/esm/core/behaviors/IWIthAssociationBehavior.js.map +1 -0
- package/dist/esm/core/behaviors/IWithFollowersBehavior.js +1 -0
- package/dist/esm/core/behaviors/IWithFollowersBehavior.js.map +1 -0
- package/dist/esm/core/enrichEntity.js +66 -0
- package/dist/esm/core/enrichEntity.js.map +1 -0
- package/dist/esm/core/schemas/getEditorConfig.js +13 -0
- package/dist/esm/core/schemas/getEditorConfig.js.map +1 -0
- package/dist/esm/core/schemas/internal/ConfigurableEntity.js +1 -0
- package/dist/esm/core/schemas/internal/ConfigurableEntity.js.map +1 -0
- package/dist/esm/core/schemas/internal/configOptionHelpers.js +88 -0
- package/dist/esm/core/schemas/internal/configOptionHelpers.js.map +1 -0
- package/dist/esm/core/schemas/internal/getCategoryItems.js +34 -0
- package/dist/esm/core/schemas/internal/getCategoryItems.js.map +1 -0
- package/dist/esm/core/schemas/internal/getConfigOptions.js +15 -0
- package/dist/esm/core/schemas/internal/getConfigOptions.js.map +1 -0
- package/dist/esm/core/schemas/internal/getEditorConfigOptions.js +37 -0
- package/dist/esm/core/schemas/internal/getEditorConfigOptions.js.map +1 -0
- package/dist/esm/core/schemas/internal/getEntityEditorSchemas.js +93 -0
- package/dist/esm/core/schemas/internal/getEntityEditorSchemas.js.map +1 -0
- package/dist/esm/core/schemas/internal/getFeaturedContentCatalogs.js +21 -0
- package/dist/esm/core/schemas/internal/getFeaturedContentCatalogs.js.map +1 -0
- package/dist/esm/core/schemas/internal/getFeaturedImageUrl.js +11 -0
- package/dist/esm/core/schemas/internal/getFeaturedImageUrl.js.map +1 -0
- package/dist/esm/core/schemas/internal/getLocationExtent.js +11 -0
- package/dist/esm/core/schemas/internal/getLocationExtent.js.map +1 -0
- package/dist/esm/core/schemas/internal/getLocationOptions.js +64 -0
- package/dist/esm/core/schemas/internal/getLocationOptions.js.map +1 -0
- package/dist/esm/core/schemas/internal/getSharableGroupsComboBoxItems.js +27 -0
- package/dist/esm/core/schemas/internal/getSharableGroupsComboBoxItems.js.map +1 -0
- package/dist/esm/core/schemas/internal/getTagItems.js +61 -0
- package/dist/esm/core/schemas/internal/getTagItems.js.map +1 -0
- package/dist/esm/core/traits/IWithAssociations.js +1 -0
- package/dist/esm/core/traits/IWithAssociations.js.map +1 -0
- package/dist/esm/core/traits/IWithFollowers.js +1 -0
- package/dist/esm/core/traits/IWithFollowers.js.map +1 -0
- package/dist/esm/core/types/HubEntityEditor.js +1 -0
- package/dist/esm/core/types/HubEntityEditor.js.map +1 -0
- package/dist/esm/core/types/IHubGroup.js +1 -0
- package/dist/esm/core/types/IHubGroup.js.map +1 -0
- package/dist/esm/discussions/api/channels/channels.js +14 -0
- package/dist/esm/discussions/api/channels/channels.js.map +1 -0
- package/dist/esm/discussions/api/channels/index.js +2 -0
- package/dist/esm/discussions/api/channels/index.js.map +1 -0
- package/dist/esm/discussions/api/index.js +3 -0
- package/dist/esm/discussions/api/index.js.map +1 -0
- package/dist/esm/discussions/api/request.js +20 -0
- package/dist/esm/discussions/api/request.js.map +1 -0
- package/dist/esm/discussions/api/types.js +245 -0
- package/dist/esm/discussions/api/types.js.map +1 -0
- package/dist/esm/discussions/api/utils/request.js +77 -0
- package/dist/esm/discussions/api/utils/request.js.map +1 -0
- package/dist/esm/features/_internal/checkCapabilityAccess.js +54 -0
- package/dist/esm/features/_internal/checkCapabilityAccess.js.map +1 -0
- package/dist/esm/features/_internal/checkFeatureAccess.js +99 -0
- package/dist/esm/features/_internal/checkFeatureAccess.js.map +1 -0
- package/dist/esm/features/_internal/index.js +3 -0
- package/dist/esm/features/_internal/index.js.map +1 -0
- package/dist/esm/features/checkFeature.js +107 -0
- package/dist/esm/features/checkFeature.js.map +1 -0
- package/dist/esm/features/index.js +5 -0
- package/dist/esm/features/index.js.map +1 -0
- package/dist/esm/features/types.js +28 -0
- package/dist/esm/features/types.js.map +1 -0
- package/dist/esm/groups/HubGroup.js +258 -0
- package/dist/esm/groups/HubGroup.js.map +1 -0
- package/dist/esm/groups/_internal/AddOrInviteUsersToGroupUtils.js +195 -0
- package/dist/esm/groups/_internal/AddOrInviteUsersToGroupUtils.js.map +1 -0
- package/dist/esm/groups/_internal/GroupBusinessRules.js +94 -0
- package/dist/esm/groups/_internal/GroupBusinessRules.js.map +1 -0
- package/dist/esm/groups/_internal/GroupSchema.js +31 -0
- package/dist/esm/groups/_internal/GroupSchema.js.map +1 -0
- package/dist/esm/groups/_internal/GroupUiSchemaEdit.js +62 -0
- package/dist/esm/groups/_internal/GroupUiSchemaEdit.js.map +1 -0
- package/dist/esm/groups/_internal/GroupUiSchemaSettings.js +46 -0
- package/dist/esm/groups/_internal/GroupUiSchemaSettings.js.map +1 -0
- package/dist/esm/groups/_internal/autoAddUsersAsAdmins.js +24 -0
- package/dist/esm/groups/_internal/autoAddUsersAsAdmins.js.map +1 -0
- package/dist/esm/groups/_internal/computeProps.js +45 -0
- package/dist/esm/groups/_internal/computeProps.js.map +1 -0
- package/dist/esm/groups/_internal/convertGroupToHubGroup.js +14 -0
- package/dist/esm/groups/_internal/convertGroupToHubGroup.js.map +1 -0
- package/dist/esm/groups/_internal/convertHubGroupToGroup.js +26 -0
- package/dist/esm/groups/_internal/convertHubGroupToGroup.js.map +1 -0
- package/dist/esm/groups/_internal/getPropertyMap.js +40 -0
- package/dist/esm/groups/_internal/getPropertyMap.js.map +1 -0
- package/dist/esm/groups/_internal/processAutoAddUsers.js +62 -0
- package/dist/esm/groups/_internal/processAutoAddUsers.js.map +1 -0
- package/dist/esm/groups/_internal/processEmailUsers.js +50 -0
- package/dist/esm/groups/_internal/processEmailUsers.js.map +1 -0
- package/dist/esm/groups/_internal/processInviteUsers.js +51 -0
- package/dist/esm/groups/_internal/processInviteUsers.js.map +1 -0
- package/dist/esm/groups/addOrInviteUsersToGroup.js +67 -0
- package/dist/esm/groups/addOrInviteUsersToGroup.js.map +1 -0
- package/dist/esm/groups/addOrInviteUsersToGroups.js +51 -0
- package/dist/esm/groups/addOrInviteUsersToGroups.js.map +1 -0
- package/dist/esm/groups/autoAddUsers.js +24 -0
- package/dist/esm/groups/autoAddUsers.js.map +1 -0
- package/dist/esm/groups/defaults.js +21 -0
- package/dist/esm/groups/defaults.js.map +1 -0
- package/dist/esm/groups/deleteGroupThumbnail.js +14 -0
- package/dist/esm/groups/deleteGroupThumbnail.js.map +1 -0
- package/dist/esm/groups/emailOrgUsers.js +29 -0
- package/dist/esm/groups/emailOrgUsers.js.map +1 -0
- package/dist/esm/groups/inviteUsers.js +30 -0
- package/dist/esm/groups/inviteUsers.js.map +1 -0
- package/dist/esm/groups/setGroupThumbnail.js +32 -0
- package/dist/esm/groups/setGroupThumbnail.js.map +1 -0
- package/dist/esm/groups/types/types.js +1 -0
- package/dist/esm/groups/types/types.js.map +1 -0
- package/dist/esm/initiatives/_internal/InitiativeUiSchemaCreate.js +134 -0
- package/dist/esm/initiatives/_internal/InitiativeUiSchemaCreate.js.map +1 -0
- package/dist/esm/initiatives/view.js +81 -0
- package/dist/esm/initiatives/view.js.map +1 -0
- package/dist/esm/items/deleteItemThumbnail.js +14 -0
- package/dist/esm/items/deleteItemThumbnail.js.map +1 -0
- package/dist/esm/pages/HubPage.js +201 -0
- package/dist/esm/pages/HubPage.js.map +1 -0
- package/dist/esm/pages/_internal/PageSchema.js +31 -0
- package/dist/esm/pages/_internal/PageSchema.js.map +1 -0
- package/dist/esm/pages/_internal/PageUiSchemaEdit.js +126 -0
- package/dist/esm/pages/_internal/PageUiSchemaEdit.js.map +1 -0
- package/dist/esm/pages/_internal/computeProps.js +45 -0
- package/dist/esm/pages/_internal/computeProps.js.map +1 -0
- package/dist/esm/pages/_internal/getPropertyMap.js +20 -0
- package/dist/esm/pages/_internal/getPropertyMap.js.map +1 -0
- package/dist/esm/pages/defaults.js +41 -0
- package/dist/esm/pages/defaults.js.map +1 -0
- package/dist/esm/permissions/PlatformPermissionPolicies.js +711 -0
- package/dist/esm/permissions/PlatformPermissionPolicies.js.map +1 -0
- package/dist/esm/permissions/_internal/PermissionCheckFunction.js +1 -0
- package/dist/esm/permissions/_internal/PermissionCheckFunction.js.map +1 -0
- package/dist/esm/permissions/_internal/checkAvailability.js +46 -0
- package/dist/esm/permissions/_internal/checkAvailability.js.map +1 -0
- package/dist/esm/permissions/_internal/checkEntityFeature.js +29 -0
- package/dist/esm/permissions/_internal/checkEntityFeature.js.map +1 -0
- package/dist/esm/permissions/_internal/checkEnvironment.js +28 -0
- package/dist/esm/permissions/_internal/checkEnvironment.js.map +1 -0
- package/dist/esm/permissions/_internal/checkFeature.js +65 -0
- package/dist/esm/permissions/_internal/checkFeature.js.map +1 -0
- package/dist/esm/permissions/_internal/checkFeatures.js +42 -0
- package/dist/esm/permissions/_internal/checkFeatures.js.map +1 -0
- package/dist/esm/permissions/_internal/checkParents.js +23 -0
- package/dist/esm/permissions/_internal/checkParents.js.map +1 -0
- package/dist/esm/permissions/_internal/checkServiceStatus.js +24 -0
- package/dist/esm/permissions/_internal/checkServiceStatus.js.map +1 -0
- package/dist/esm/permissions/_internal/processEntityFeatures.js +26 -0
- package/dist/esm/permissions/_internal/processEntityFeatures.js.map +1 -0
- package/dist/esm/projects/_internal/getProjectEditorConfigOptions.js +63 -0
- package/dist/esm/projects/_internal/getProjectEditorConfigOptions.js.map +1 -0
- package/dist/esm/search/_internal/commonHelpers/getDiscussionsApiDefinition.js +10 -0
- package/dist/esm/search/_internal/commonHelpers/getDiscussionsApiDefinition.js.map +1 -0
- package/dist/esm/search/_internal/commonHelpers/shouldUseDiscussionsApi.js +13 -0
- package/dist/esm/search/_internal/commonHelpers/shouldUseDiscussionsApi.js.map +1 -0
- package/dist/esm/search/_internal/explainFilter.js +34 -0
- package/dist/esm/search/_internal/explainFilter.js.map +1 -0
- package/dist/esm/search/_internal/explainHelpers.js +193 -0
- package/dist/esm/search/_internal/explainHelpers.js.map +1 -0
- package/dist/esm/search/_internal/explainPredicate.js +35 -0
- package/dist/esm/search/_internal/explainPredicate.js.map +1 -0
- package/dist/esm/search/_internal/getEntityTypeFromType.js +21 -0
- package/dist/esm/search/_internal/getEntityTypeFromType.js.map +1 -0
- package/dist/esm/search/_internal/hubSearchChannels.js +137 -0
- package/dist/esm/search/_internal/hubSearchChannels.js.map +1 -0
- package/dist/esm/search/_internal/negateGroupPredicates.js +28 -0
- package/dist/esm/search/_internal/negateGroupPredicates.js.map +1 -0
- package/dist/esm/search/_internal/portalSearchGroupMembers.js +10 -1
- package/dist/esm/search/_internal/portalSearchGroupMembers.js.map +1 -1
- package/dist/esm/search/explainQueryResult.js +53 -0
- package/dist/esm/search/explainQueryResult.js.map +1 -0
- package/dist/esm/sites/HubSite.js +2 -1
- package/dist/esm/sites/HubSite.js.map +1 -1
- package/dist/esm/sites/_internal/SiteUiSchemaFollowers.js +56 -0
- package/dist/esm/sites/_internal/SiteUiSchemaFollowers.js.map +1 -0
- package/dist/esm/sites/_internal/_migrate-summary-stat-card-configs.js +188 -0
- package/dist/esm/sites/_internal/_migrate-summary-stat-card-configs.js.map +1 -0
- package/dist/esm/sites/_internal/applyCatalogStructureMigration.js +39 -0
- package/dist/esm/sites/_internal/applyCatalogStructureMigration.js.map +1 -0
- package/dist/esm/sites/_internal/applyDefaultCollectionMigration.js +92 -0
- package/dist/esm/sites/_internal/applyDefaultCollectionMigration.js.map +1 -0
- package/dist/esm/sites/_internal/capabilities/capabilityToFeatureMap.js +31 -0
- package/dist/esm/sites/_internal/capabilities/capabilityToFeatureMap.js.map +1 -0
- package/dist/esm/sites/_internal/capabilities/convertFeaturesToLegacyCapabilities.js +46 -0
- package/dist/esm/sites/_internal/capabilities/convertFeaturesToLegacyCapabilities.js.map +1 -0
- package/dist/esm/sites/_internal/capabilities/migrateLegacyCapabilitiesToFeatures.js +34 -0
- package/dist/esm/sites/_internal/capabilities/migrateLegacyCapabilitiesToFeatures.js.map +1 -0
- package/dist/esm/sites/_internal/capabilities/types.js +1 -0
- package/dist/esm/sites/_internal/capabilities/types.js.map +1 -0
- package/dist/esm/sites/_internal/convertCatalogToLegacyFormat.js +33 -0
- package/dist/esm/sites/_internal/convertCatalogToLegacyFormat.js.map +1 -0
- package/dist/esm/sites/_internal/reflectCollectionsToSearchCategories.js +55 -0
- package/dist/esm/sites/_internal/reflectCollectionsToSearchCategories.js.map +1 -0
- package/dist/esm/sites/_internal/types.js +11 -0
- package/dist/esm/sites/_internal/types.js.map +1 -0
- package/dist/esm/urls/cacheBustUrl.js +13 -0
- package/dist/esm/urls/cacheBustUrl.js.map +1 -0
- package/dist/esm/urls/getCardModelUrl.js +76 -0
- package/dist/esm/urls/getCardModelUrl.js.map +1 -0
- package/dist/esm/users/view.js +71 -0
- package/dist/esm/users/view.js.map +1 -0
- package/dist/esm/utils/getEnvironmentFromPortalUrl.js +20 -0
- package/dist/esm/utils/getEnvironmentFromPortalUrl.js.map +1 -0
- package/dist/node/associations/addAssociation.js +20 -0
- package/dist/node/associations/addAssociation.js.map +1 -0
- package/dist/node/associations/index.js +8 -0
- package/dist/node/associations/index.js.map +1 -0
- package/dist/node/associations/internal/getTargetEntityFromAssociationType.js +22 -0
- package/dist/node/associations/internal/getTargetEntityFromAssociationType.js.map +1 -0
- package/dist/node/associations/internal/getTypeByIdsQuery.js +32 -0
- package/dist/node/associations/internal/getTypeByIdsQuery.js.map +1 -0
- package/dist/node/associations/internal/getTypeFromAssociationType.js +22 -0
- package/dist/node/associations/internal/getTypeFromAssociationType.js.map +1 -0
- package/dist/node/associations/internal/getTypeWithKeywordQuery.js +31 -0
- package/dist/node/associations/internal/getTypeWithKeywordQuery.js.map +1 -0
- package/dist/node/associations/internal/getTypeWithoutKeywordQuery.js +31 -0
- package/dist/node/associations/internal/getTypeWithoutKeywordQuery.js.map +1 -0
- package/dist/node/associations/listAssociations.js +21 -0
- package/dist/node/associations/listAssociations.js.map +1 -0
- package/dist/node/associations/removeAssociation.js +21 -0
- package/dist/node/associations/removeAssociation.js.map +1 -0
- package/dist/node/associations/types.js +4 -0
- package/dist/node/associations/types.js.map +1 -0
- package/dist/node/content/_internal/ContentSchema.js +19 -0
- package/dist/node/content/_internal/ContentSchema.js.map +1 -0
- package/dist/node/content/_internal/ContentUiSchemaEdit.js +151 -0
- package/dist/node/content/_internal/ContentUiSchemaEdit.js.map +1 -0
- package/dist/node/content/_internal/ContentUiSchemaSettings.js +62 -0
- package/dist/node/content/_internal/ContentUiSchemaSettings.js.map +1 -0
- package/dist/node/content/_internal/computeProps.js +62 -0
- package/dist/node/content/_internal/computeProps.js.map +1 -0
- package/dist/node/content/hostedServiceUtils.js +98 -0
- package/dist/node/content/hostedServiceUtils.js.map +1 -0
- package/dist/node/core/EntityEditor.js +60 -0
- package/dist/node/core/EntityEditor.js.map +1 -0
- package/dist/node/core/behaviors/IWIthAssociationBehavior.js +3 -0
- package/dist/node/core/behaviors/IWIthAssociationBehavior.js.map +1 -0
- package/dist/node/core/behaviors/IWithFollowersBehavior.js +3 -0
- package/dist/node/core/behaviors/IWithFollowersBehavior.js.map +1 -0
- package/dist/node/core/enrichEntity.js +69 -0
- package/dist/node/core/enrichEntity.js.map +1 -0
- package/dist/node/core/schemas/getEditorConfig.js +17 -0
- package/dist/node/core/schemas/getEditorConfig.js.map +1 -0
- package/dist/node/core/schemas/internal/ConfigurableEntity.js +3 -0
- package/dist/node/core/schemas/internal/ConfigurableEntity.js.map +1 -0
- package/dist/node/core/schemas/internal/configOptionHelpers.js +91 -0
- package/dist/node/core/schemas/internal/configOptionHelpers.js.map +1 -0
- package/dist/node/core/schemas/internal/getCategoryItems.js +38 -0
- package/dist/node/core/schemas/internal/getCategoryItems.js.map +1 -0
- package/dist/node/core/schemas/internal/getConfigOptions.js +19 -0
- package/dist/node/core/schemas/internal/getConfigOptions.js.map +1 -0
- package/dist/node/core/schemas/internal/getEditorConfigOptions.js +41 -0
- package/dist/node/core/schemas/internal/getEditorConfigOptions.js.map +1 -0
- package/dist/node/core/schemas/internal/getEntityEditorSchemas.js +97 -0
- package/dist/node/core/schemas/internal/getEntityEditorSchemas.js.map +1 -0
- package/dist/node/core/schemas/internal/getFeaturedContentCatalogs.js +25 -0
- package/dist/node/core/schemas/internal/getFeaturedContentCatalogs.js.map +1 -0
- package/dist/node/core/schemas/internal/getFeaturedImageUrl.js +15 -0
- package/dist/node/core/schemas/internal/getFeaturedImageUrl.js.map +1 -0
- package/dist/node/core/schemas/internal/getLocationExtent.js +15 -0
- package/dist/node/core/schemas/internal/getLocationExtent.js.map +1 -0
- package/dist/node/core/schemas/internal/getLocationOptions.js +68 -0
- package/dist/node/core/schemas/internal/getLocationOptions.js.map +1 -0
- package/dist/node/core/schemas/internal/getSharableGroupsComboBoxItems.js +31 -0
- package/dist/node/core/schemas/internal/getSharableGroupsComboBoxItems.js.map +1 -0
- package/dist/node/core/schemas/internal/getTagItems.js +65 -0
- package/dist/node/core/schemas/internal/getTagItems.js.map +1 -0
- package/dist/node/core/traits/IWithAssociations.js +3 -0
- package/dist/node/core/traits/IWithAssociations.js.map +1 -0
- package/dist/node/core/traits/IWithFollowers.js +3 -0
- package/dist/node/core/traits/IWithFollowers.js.map +1 -0
- package/dist/node/core/types/HubEntityEditor.js +3 -0
- package/dist/node/core/types/HubEntityEditor.js.map +1 -0
- package/dist/node/core/types/IHubGroup.js +3 -0
- package/dist/node/core/types/IHubGroup.js.map +1 -0
- package/dist/node/discussions/api/channels/channels.js +18 -0
- package/dist/node/discussions/api/channels/channels.js.map +1 -0
- package/dist/node/discussions/api/channels/index.js +5 -0
- package/dist/node/discussions/api/channels/index.js.map +1 -0
- package/dist/node/discussions/api/index.js +6 -0
- package/dist/node/discussions/api/index.js.map +1 -0
- package/dist/node/discussions/api/request.js +24 -0
- package/dist/node/discussions/api/request.js.map +1 -0
- package/dist/node/discussions/api/types.js +248 -0
- package/dist/node/discussions/api/types.js.map +1 -0
- package/dist/node/discussions/api/utils/request.js +83 -0
- package/dist/node/discussions/api/utils/request.js.map +1 -0
- package/dist/node/features/_internal/checkCapabilityAccess.js +54 -0
- package/dist/node/features/_internal/checkCapabilityAccess.js.map +1 -0
- package/dist/node/features/_internal/checkFeatureAccess.js +99 -0
- package/dist/node/features/_internal/checkFeatureAccess.js.map +1 -0
- package/dist/node/features/_internal/index.js +3 -0
- package/dist/node/features/_internal/index.js.map +1 -0
- package/dist/node/features/checkFeature.js +111 -0
- package/dist/node/features/checkFeature.js.map +1 -0
- package/dist/node/features/index.js +8 -0
- package/dist/node/features/index.js.map +1 -0
- package/dist/node/features/types.js +32 -0
- package/dist/node/features/types.js.map +1 -0
- package/dist/node/groups/HubGroup.js +262 -0
- package/dist/node/groups/HubGroup.js.map +1 -0
- package/dist/node/groups/_internal/AddOrInviteUsersToGroupUtils.js +205 -0
- package/dist/node/groups/_internal/AddOrInviteUsersToGroupUtils.js.map +1 -0
- package/dist/node/groups/_internal/GroupBusinessRules.js +97 -0
- package/dist/node/groups/_internal/GroupBusinessRules.js.map +1 -0
- package/dist/node/groups/_internal/GroupSchema.js +34 -0
- package/dist/node/groups/_internal/GroupSchema.js.map +1 -0
- package/dist/node/groups/_internal/GroupUiSchemaEdit.js +65 -0
- package/dist/node/groups/_internal/GroupUiSchemaEdit.js.map +1 -0
- package/dist/node/groups/_internal/GroupUiSchemaSettings.js +49 -0
- package/dist/node/groups/_internal/GroupUiSchemaSettings.js.map +1 -0
- package/dist/node/groups/_internal/autoAddUsersAsAdmins.js +28 -0
- package/dist/node/groups/_internal/autoAddUsersAsAdmins.js.map +1 -0
- package/dist/node/groups/_internal/computeProps.js +49 -0
- package/dist/node/groups/_internal/computeProps.js.map +1 -0
- package/dist/node/groups/_internal/convertGroupToHubGroup.js +18 -0
- package/dist/node/groups/_internal/convertGroupToHubGroup.js.map +1 -0
- package/dist/node/groups/_internal/convertHubGroupToGroup.js +30 -0
- package/dist/node/groups/_internal/convertHubGroupToGroup.js.map +1 -0
- package/dist/node/groups/_internal/getPropertyMap.js +44 -0
- package/dist/node/groups/_internal/getPropertyMap.js.map +1 -0
- package/dist/node/groups/_internal/processAutoAddUsers.js +66 -0
- package/dist/node/groups/_internal/processAutoAddUsers.js.map +1 -0
- package/dist/node/groups/_internal/processEmailUsers.js +54 -0
- package/dist/node/groups/_internal/processEmailUsers.js.map +1 -0
- package/dist/node/groups/_internal/processInviteUsers.js +55 -0
- package/dist/node/groups/_internal/processInviteUsers.js.map +1 -0
- package/dist/node/groups/addOrInviteUsersToGroup.js +71 -0
- package/dist/node/groups/addOrInviteUsersToGroup.js.map +1 -0
- package/dist/node/groups/addOrInviteUsersToGroups.js +55 -0
- package/dist/node/groups/addOrInviteUsersToGroups.js.map +1 -0
- package/dist/node/groups/autoAddUsers.js +28 -0
- package/dist/node/groups/autoAddUsers.js.map +1 -0
- package/dist/node/groups/defaults.js +24 -0
- package/dist/node/groups/defaults.js.map +1 -0
- package/dist/node/groups/deleteGroupThumbnail.js +18 -0
- package/dist/node/groups/deleteGroupThumbnail.js.map +1 -0
- package/dist/node/groups/emailOrgUsers.js +33 -0
- package/dist/node/groups/emailOrgUsers.js.map +1 -0
- package/dist/node/groups/inviteUsers.js +34 -0
- package/dist/node/groups/inviteUsers.js.map +1 -0
- package/dist/node/groups/setGroupThumbnail.js +36 -0
- package/dist/node/groups/setGroupThumbnail.js.map +1 -0
- package/dist/node/groups/types/types.js +3 -0
- package/dist/node/groups/types/types.js.map +1 -0
- package/dist/node/initiatives/_internal/InitiativeUiSchemaCreate.js +137 -0
- package/dist/node/initiatives/_internal/InitiativeUiSchemaCreate.js.map +1 -0
- package/dist/node/initiatives/view.js +84 -0
- package/dist/node/initiatives/view.js.map +1 -0
- package/dist/node/items/deleteItemThumbnail.js +18 -0
- package/dist/node/items/deleteItemThumbnail.js.map +1 -0
- package/dist/node/pages/HubPage.js +205 -0
- package/dist/node/pages/HubPage.js.map +1 -0
- package/dist/node/pages/_internal/PageSchema.js +34 -0
- package/dist/node/pages/_internal/PageSchema.js.map +1 -0
- package/dist/node/pages/_internal/PageUiSchemaEdit.js +129 -0
- package/dist/node/pages/_internal/PageUiSchemaEdit.js.map +1 -0
- package/dist/node/pages/_internal/computeProps.js +49 -0
- package/dist/node/pages/_internal/computeProps.js.map +1 -0
- package/dist/node/pages/_internal/getPropertyMap.js +24 -0
- package/dist/node/pages/_internal/getPropertyMap.js.map +1 -0
- package/dist/node/pages/defaults.js +44 -0
- package/dist/node/pages/defaults.js.map +1 -0
- package/dist/node/permissions/PlatformPermissionPolicies.js +714 -0
- package/dist/node/permissions/PlatformPermissionPolicies.js.map +1 -0
- package/dist/node/permissions/_internal/PermissionCheckFunction.js +3 -0
- package/dist/node/permissions/_internal/PermissionCheckFunction.js.map +1 -0
- package/dist/node/permissions/_internal/checkAvailability.js +50 -0
- package/dist/node/permissions/_internal/checkAvailability.js.map +1 -0
- package/dist/node/permissions/_internal/checkEntityFeature.js +33 -0
- package/dist/node/permissions/_internal/checkEntityFeature.js.map +1 -0
- package/dist/node/permissions/_internal/checkEnvironment.js +32 -0
- package/dist/node/permissions/_internal/checkEnvironment.js.map +1 -0
- package/dist/node/permissions/_internal/checkFeature.js +69 -0
- package/dist/node/permissions/_internal/checkFeature.js.map +1 -0
- package/dist/node/permissions/_internal/checkFeatures.js +46 -0
- package/dist/node/permissions/_internal/checkFeatures.js.map +1 -0
- package/dist/node/permissions/_internal/checkParents.js +27 -0
- package/dist/node/permissions/_internal/checkParents.js.map +1 -0
- package/dist/node/permissions/_internal/checkServiceStatus.js +28 -0
- package/dist/node/permissions/_internal/checkServiceStatus.js.map +1 -0
- package/dist/node/permissions/_internal/processEntityFeatures.js +30 -0
- package/dist/node/permissions/_internal/processEntityFeatures.js.map +1 -0
- package/dist/node/projects/_internal/getProjectEditorConfigOptions.js +67 -0
- package/dist/node/projects/_internal/getProjectEditorConfigOptions.js.map +1 -0
- package/dist/node/search/_internal/commonHelpers/getDiscussionsApiDefinition.js +14 -0
- package/dist/node/search/_internal/commonHelpers/getDiscussionsApiDefinition.js.map +1 -0
- package/dist/node/search/_internal/commonHelpers/shouldUseDiscussionsApi.js +17 -0
- package/dist/node/search/_internal/commonHelpers/shouldUseDiscussionsApi.js.map +1 -0
- package/dist/node/search/_internal/explainFilter.js +38 -0
- package/dist/node/search/_internal/explainFilter.js.map +1 -0
- package/dist/node/search/_internal/explainHelpers.js +202 -0
- package/dist/node/search/_internal/explainHelpers.js.map +1 -0
- package/dist/node/search/_internal/explainPredicate.js +39 -0
- package/dist/node/search/_internal/explainPredicate.js.map +1 -0
- package/dist/node/search/_internal/getEntityTypeFromType.js +25 -0
- package/dist/node/search/_internal/getEntityTypeFromType.js.map +1 -0
- package/dist/node/search/_internal/hubSearchChannels.js +140 -0
- package/dist/node/search/_internal/hubSearchChannels.js.map +1 -0
- package/dist/node/search/_internal/negateGroupPredicates.js +32 -0
- package/dist/node/search/_internal/negateGroupPredicates.js.map +1 -0
- package/dist/node/search/_internal/portalSearchGroupMembers.js +10 -1
- package/dist/node/search/_internal/portalSearchGroupMembers.js.map +1 -1
- package/dist/node/search/explainQueryResult.js +57 -0
- package/dist/node/search/explainQueryResult.js.map +1 -0
- package/dist/node/sites/HubSite.js +2 -1
- package/dist/node/sites/HubSite.js.map +1 -1
- package/dist/node/sites/_internal/SiteUiSchemaFollowers.js +59 -0
- package/dist/node/sites/_internal/SiteUiSchemaFollowers.js.map +1 -0
- package/dist/node/sites/_internal/_migrate-summary-stat-card-configs.js +192 -0
- package/dist/node/sites/_internal/_migrate-summary-stat-card-configs.js.map +1 -0
- package/dist/node/sites/_internal/applyCatalogStructureMigration.js +43 -0
- package/dist/node/sites/_internal/applyCatalogStructureMigration.js.map +1 -0
- package/dist/node/sites/_internal/applyDefaultCollectionMigration.js +96 -0
- package/dist/node/sites/_internal/applyDefaultCollectionMigration.js.map +1 -0
- package/dist/node/sites/_internal/capabilities/capabilityToFeatureMap.js +34 -0
- package/dist/node/sites/_internal/capabilities/capabilityToFeatureMap.js.map +1 -0
- package/dist/node/sites/_internal/capabilities/convertFeaturesToLegacyCapabilities.js +49 -0
- package/dist/node/sites/_internal/capabilities/convertFeaturesToLegacyCapabilities.js.map +1 -0
- package/dist/node/sites/_internal/capabilities/migrateLegacyCapabilitiesToFeatures.js +37 -0
- package/dist/node/sites/_internal/capabilities/migrateLegacyCapabilitiesToFeatures.js.map +1 -0
- package/dist/node/sites/_internal/capabilities/types.js +3 -0
- package/dist/node/sites/_internal/capabilities/types.js.map +1 -0
- package/dist/node/sites/_internal/convertCatalogToLegacyFormat.js +37 -0
- package/dist/node/sites/_internal/convertCatalogToLegacyFormat.js.map +1 -0
- package/dist/node/sites/_internal/reflectCollectionsToSearchCategories.js +59 -0
- package/dist/node/sites/_internal/reflectCollectionsToSearchCategories.js.map +1 -0
- package/dist/node/sites/_internal/types.js +14 -0
- package/dist/node/sites/_internal/types.js.map +1 -0
- package/dist/node/urls/cacheBustUrl.js +16 -0
- package/dist/node/urls/cacheBustUrl.js.map +1 -0
- package/dist/node/urls/getCardModelUrl.js +81 -0
- package/dist/node/urls/getCardModelUrl.js.map +1 -0
- package/dist/node/users/view.js +74 -0
- package/dist/node/users/view.js.map +1 -0
- package/dist/node/utils/getEnvironmentFromPortalUrl.js +24 -0
- package/dist/node/utils/getEnvironmentFromPortalUrl.js.map +1 -0
- package/dist/types/associations/addAssociation.d.ts +9 -0
- package/dist/types/associations/index.d.ts +4 -0
- package/dist/types/associations/internal/getTargetEntityFromAssociationType.d.ts +8 -0
- package/dist/types/associations/internal/getTypeByIdsQuery.d.ts +10 -0
- package/dist/types/associations/internal/getTypeFromAssociationType.d.ts +7 -0
- package/dist/types/associations/internal/getTypeWithKeywordQuery.d.ts +10 -0
- package/dist/types/associations/internal/getTypeWithoutKeywordQuery.d.ts +10 -0
- package/dist/types/associations/listAssociations.d.ts +8 -0
- package/dist/types/associations/removeAssociation.d.ts +9 -0
- package/dist/types/associations/types.d.ts +19 -0
- package/dist/types/content/_internal/ContentSchema.d.ts +7 -0
- package/dist/types/content/_internal/ContentUiSchemaEdit.d.ts +10 -0
- package/dist/types/content/_internal/ContentUiSchemaSettings.d.ts +10 -0
- package/dist/types/content/_internal/computeProps.d.ts +9 -0
- package/dist/types/content/hostedServiceUtils.d.ts +35 -0
- package/dist/types/core/EntityEditor.d.ts +13 -0
- package/dist/types/core/behaviors/IWIthAssociationBehavior.d.ts +23 -0
- package/dist/types/core/behaviors/IWithFollowersBehavior.d.ts +15 -0
- package/dist/types/core/enrichEntity.d.ts +16 -0
- package/dist/types/core/schemas/getEditorConfig.d.ts +13 -0
- package/dist/types/core/schemas/internal/ConfigurableEntity.d.ts +4 -0
- package/dist/types/core/schemas/internal/configOptionHelpers.d.ts +6 -0
- package/dist/types/core/schemas/internal/getCategoryItems.d.ts +11 -0
- package/dist/types/core/schemas/internal/getConfigOptions.d.ts +12 -0
- package/dist/types/core/schemas/internal/getEditorConfigOptions.d.ts +11 -0
- package/dist/types/core/schemas/internal/getEntityEditorSchemas.d.ts +15 -0
- package/dist/types/core/schemas/internal/getFeaturedContentCatalogs.d.ts +8 -0
- package/dist/types/core/schemas/internal/getFeaturedImageUrl.d.ts +3 -0
- package/dist/types/core/schemas/internal/getLocationExtent.d.ts +7 -0
- package/dist/types/core/schemas/internal/getLocationOptions.d.ts +16 -0
- package/dist/types/core/schemas/internal/getSharableGroupsComboBoxItems.d.ts +7 -0
- package/dist/types/core/schemas/internal/getTagItems.d.ts +12 -0
- package/dist/types/core/traits/IWithAssociations.d.ts +4 -0
- package/dist/types/core/traits/IWithFollowers.d.ts +7 -0
- package/dist/types/core/types/HubEntityEditor.d.ts +11 -0
- package/dist/types/core/types/IHubGroup.d.ts +109 -0
- package/dist/types/discussions/api/channels/channels.d.ts +10 -0
- package/dist/types/discussions/api/channels/index.d.ts +1 -0
- package/dist/types/discussions/api/index.d.ts +2 -0
- package/dist/types/discussions/api/request.d.ts +11 -0
- package/dist/types/discussions/api/types.d.ts +1007 -0
- package/dist/types/discussions/api/utils/request.d.ts +25 -0
- package/dist/types/features/_internal/checkCapabilityAccess.d.ts +0 -0
- package/dist/types/features/_internal/checkFeatureAccess.d.ts +0 -0
- package/dist/types/features/_internal/index.d.ts +0 -0
- package/dist/types/features/checkFeature.d.ts +10 -0
- package/dist/types/features/index.d.ts +2 -0
- package/dist/types/features/types.d.ts +31 -0
- package/dist/types/groups/HubGroup.d.ts +114 -0
- package/dist/types/groups/_internal/AddOrInviteUsersToGroupUtils.d.ts +82 -0
- package/dist/types/groups/_internal/GroupBusinessRules.d.ts +12 -0
- package/dist/types/groups/_internal/GroupSchema.d.ts +7 -0
- package/dist/types/groups/_internal/GroupUiSchemaEdit.d.ts +10 -0
- package/dist/types/groups/_internal/GroupUiSchemaSettings.d.ts +10 -0
- package/dist/types/groups/_internal/autoAddUsersAsAdmins.d.ts +13 -0
- package/dist/types/groups/_internal/computeProps.d.ts +12 -0
- package/dist/types/groups/_internal/convertGroupToHubGroup.d.ts +9 -0
- package/dist/types/groups/_internal/convertHubGroupToGroup.d.ts +7 -0
- package/dist/types/groups/_internal/getPropertyMap.d.ts +8 -0
- package/dist/types/groups/_internal/processAutoAddUsers.d.ts +15 -0
- package/dist/types/groups/_internal/processEmailUsers.d.ts +14 -0
- package/dist/types/groups/_internal/processInviteUsers.d.ts +13 -0
- package/dist/types/groups/addOrInviteUsersToGroup.d.ts +18 -0
- package/dist/types/groups/addOrInviteUsersToGroups.d.ts +30 -0
- package/dist/types/groups/autoAddUsers.d.ts +14 -0
- package/dist/types/groups/defaults.d.ts +11 -0
- package/dist/types/groups/deleteGroupThumbnail.d.ts +9 -0
- package/dist/types/groups/emailOrgUsers.d.ts +15 -0
- package/dist/types/groups/inviteUsers.d.ts +17 -0
- package/dist/types/groups/setGroupThumbnail.d.ts +9 -0
- package/dist/types/groups/types/types.d.ts +72 -0
- package/dist/types/initiatives/_internal/InitiativeUiSchemaCreate.d.ts +13 -0
- package/dist/types/initiatives/view.d.ts +19 -0
- package/dist/types/items/deleteItemThumbnail.d.ts +9 -0
- package/dist/types/pages/HubPage.d.ts +71 -0
- package/dist/types/pages/_internal/PageSchema.d.ts +7 -0
- package/dist/types/pages/_internal/PageUiSchemaEdit.d.ts +10 -0
- package/dist/types/pages/_internal/computeProps.d.ts +12 -0
- package/dist/types/pages/_internal/getPropertyMap.d.ts +8 -0
- package/dist/types/pages/defaults.d.ts +13 -0
- package/dist/types/permissions/PlatformPermissionPolicies.d.ts +9 -0
- package/dist/types/permissions/_internal/PermissionCheckFunction.d.ts +7 -0
- package/dist/types/permissions/_internal/checkAvailability.d.ts +13 -0
- package/dist/types/permissions/_internal/checkEntityFeature.d.ts +4 -0
- package/dist/types/permissions/_internal/checkEnvironment.d.ts +13 -0
- package/dist/types/permissions/_internal/checkFeature.d.ts +16 -0
- package/dist/types/permissions/_internal/checkFeatures.d.ts +10 -0
- package/dist/types/permissions/_internal/checkParents.d.ts +12 -0
- package/dist/types/permissions/_internal/checkServiceStatus.d.ts +4 -0
- package/dist/types/permissions/_internal/processEntityFeatures.d.ts +9 -0
- package/dist/types/projects/_internal/getProjectEditorConfigOptions.d.ts +10 -0
- package/dist/types/search/_internal/commonHelpers/getDiscussionsApiDefinition.d.ts +2 -0
- package/dist/types/search/_internal/commonHelpers/shouldUseDiscussionsApi.d.ts +11 -0
- package/dist/types/search/_internal/explainFilter.d.ts +11 -0
- package/dist/types/search/_internal/explainHelpers.d.ts +38 -0
- package/dist/types/search/_internal/explainPredicate.d.ts +12 -0
- package/dist/types/search/_internal/getEntityTypeFromType.d.ts +9 -0
- package/dist/types/search/_internal/hubSearchChannels.d.ts +30 -0
- package/dist/types/search/_internal/negateGroupPredicates.d.ts +9 -0
- package/dist/types/search/_internal/portalSearchGroupMembers.d.ts +2 -1
- package/dist/types/search/explainQueryResult.d.ts +102 -0
- package/dist/types/sites/_internal/SiteUiSchemaFollowers.d.ts +11 -0
- package/dist/types/sites/_internal/_migrate-summary-stat-card-configs.d.ts +9 -0
- package/dist/types/sites/_internal/applyCatalogStructureMigration.d.ts +11 -0
- package/dist/types/sites/_internal/applyDefaultCollectionMigration.d.ts +21 -0
- package/dist/types/sites/_internal/capabilities/capabilityToFeatureMap.d.ts +14 -0
- package/dist/types/sites/_internal/capabilities/convertFeaturesToLegacyCapabilities.d.ts +19 -0
- package/dist/types/sites/_internal/capabilities/migrateLegacyCapabilitiesToFeatures.d.ts +12 -0
- package/dist/types/sites/_internal/capabilities/types.d.ts +29 -0
- package/dist/types/sites/_internal/convertCatalogToLegacyFormat.d.ts +11 -0
- package/dist/types/sites/_internal/reflectCollectionsToSearchCategories.d.ts +11 -0
- package/dist/types/sites/_internal/types.d.ts +8 -0
- package/dist/types/urls/cacheBustUrl.d.ts +5 -0
- package/dist/types/urls/getCardModelUrl.d.ts +21 -0
- package/dist/types/users/view.d.ts +9 -0
- package/dist/types/utils/getEnvironmentFromPortalUrl.d.ts +2 -0
- package/package.json +1 -1
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.buildUiSchema = void 0;
|
|
4
|
+
/**
|
|
5
|
+
* @private
|
|
6
|
+
* constructs the followers uiSchema for Hub Sites.
|
|
7
|
+
* This defines how the schema properties should
|
|
8
|
+
* be rendered in the site followers > settings
|
|
9
|
+
* experience
|
|
10
|
+
*/
|
|
11
|
+
exports.buildUiSchema = async (i18nScope, entity, context) => {
|
|
12
|
+
return {
|
|
13
|
+
type: "Layout",
|
|
14
|
+
elements: [
|
|
15
|
+
{
|
|
16
|
+
type: "Section",
|
|
17
|
+
elements: [
|
|
18
|
+
{
|
|
19
|
+
labelKey: `${i18nScope}.fields.followers.groupAccess.label`,
|
|
20
|
+
scope: "/properties/_followers/properties/groupAccess",
|
|
21
|
+
type: "Control",
|
|
22
|
+
options: {
|
|
23
|
+
control: "hub-field-input-tile-select",
|
|
24
|
+
layout: "horizontal",
|
|
25
|
+
helperText: {
|
|
26
|
+
labelKey: `${i18nScope}.fields.followers.groupAccess.helperText`,
|
|
27
|
+
},
|
|
28
|
+
labels: [
|
|
29
|
+
`{{${i18nScope}.fields.followers.groupAccess.private.label:translate}}`,
|
|
30
|
+
`{{${i18nScope}.fields.followers.groupAccess.org.label:translate}}`,
|
|
31
|
+
`{{${i18nScope}.fields.followers.groupAccess.public.label:translate}}`,
|
|
32
|
+
],
|
|
33
|
+
descriptions: [
|
|
34
|
+
`{{${i18nScope}.fields.followers.groupAccess.private.description:translate}}`,
|
|
35
|
+
`{{${i18nScope}.fields.followers.groupAccess.org.description:translate}}`,
|
|
36
|
+
`{{${i18nScope}.fields.followers.groupAccess.public.description:translate}}`,
|
|
37
|
+
],
|
|
38
|
+
icons: ["users", "organization", "globe"],
|
|
39
|
+
styles: { "max-width": "45rem" },
|
|
40
|
+
},
|
|
41
|
+
},
|
|
42
|
+
{
|
|
43
|
+
labelKey: `${i18nScope}.fields.followers.showFollowAction.label`,
|
|
44
|
+
scope: "/properties/_followers/properties/showFollowAction",
|
|
45
|
+
type: "Control",
|
|
46
|
+
options: {
|
|
47
|
+
control: "hub-field-input-switch",
|
|
48
|
+
layout: "inline-space-between",
|
|
49
|
+
helperText: {
|
|
50
|
+
labelKey: `${i18nScope}.fields.followers.showFollowAction.helperText`,
|
|
51
|
+
},
|
|
52
|
+
},
|
|
53
|
+
},
|
|
54
|
+
],
|
|
55
|
+
},
|
|
56
|
+
],
|
|
57
|
+
};
|
|
58
|
+
};
|
|
59
|
+
//# sourceMappingURL=SiteUiSchemaFollowers.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SiteUiSchemaFollowers.js","sourceRoot":"","sources":["../../../../src/sites/_internal/SiteUiSchemaFollowers.ts"],"names":[],"mappings":";;;AAIA;;;;;;GAMG;AACU,QAAA,aAAa,GAAG,KAAK,EAChC,SAAiB,EACjB,MAAgB,EAChB,OAAuB,EACH,EAAE;IACtB,OAAO;QACL,IAAI,EAAE,QAAQ;QACd,QAAQ,EAAE;YACR;gBACE,IAAI,EAAE,SAAS;gBACf,QAAQ,EAAE;oBACR;wBACE,QAAQ,EAAE,GAAG,SAAS,qCAAqC;wBAC3D,KAAK,EAAE,+CAA+C;wBACtD,IAAI,EAAE,SAAS;wBACf,OAAO,EAAE;4BACP,OAAO,EAAE,6BAA6B;4BACtC,MAAM,EAAE,YAAY;4BACpB,UAAU,EAAE;gCACV,QAAQ,EAAE,GAAG,SAAS,0CAA0C;6BACjE;4BACD,MAAM,EAAE;gCACN,KAAK,SAAS,yDAAyD;gCACvE,KAAK,SAAS,qDAAqD;gCACnE,KAAK,SAAS,wDAAwD;6BACvE;4BACD,YAAY,EAAE;gCACZ,KAAK,SAAS,+DAA+D;gCAC7E,KAAK,SAAS,2DAA2D;gCACzE,KAAK,SAAS,8DAA8D;6BAC7E;4BACD,KAAK,EAAE,CAAC,OAAO,EAAE,cAAc,EAAE,OAAO,CAAC;4BACzC,MAAM,EAAE,EAAE,WAAW,EAAE,OAAO,EAAE;yBACjC;qBACF;oBACD;wBACE,QAAQ,EAAE,GAAG,SAAS,0CAA0C;wBAChE,KAAK,EAAE,oDAAoD;wBAC3D,IAAI,EAAE,SAAS;wBACf,OAAO,EAAE;4BACP,OAAO,EAAE,wBAAwB;4BACjC,MAAM,EAAE,sBAAsB;4BAC9B,UAAU,EAAE;gCACV,QAAQ,EAAE,GAAG,SAAS,+CAA+C;6BACtE;yBACF;qBACF;iBACF;aACF;SACF;KACF,CAAC;AACJ,CAAC,CAAC"}
|
|
@@ -0,0 +1,192 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports._migrateSummaryStatCardConfigs = void 0;
|
|
4
|
+
const objects_1 = require("../../objects");
|
|
5
|
+
const util_1 = require("../../util");
|
|
6
|
+
/**
|
|
7
|
+
* Reconfigure summary stat card properties to align with the
|
|
8
|
+
* new web component card.
|
|
9
|
+
* @private
|
|
10
|
+
* @param {Object} model Site Model
|
|
11
|
+
* @returns {Object}
|
|
12
|
+
*/
|
|
13
|
+
function _migrateSummaryStatCardConfigs(model) {
|
|
14
|
+
// attempt migration for 1.7 schema version
|
|
15
|
+
const migratedModel = _migrateSummaryStatSchemaVersion1_7(model);
|
|
16
|
+
return migratedModel;
|
|
17
|
+
}
|
|
18
|
+
exports._migrateSummaryStatCardConfigs = _migrateSummaryStatCardConfigs;
|
|
19
|
+
function _migrateSummaryStatSchemaVersion1_7(model) {
|
|
20
|
+
// do nothing if migration already applied
|
|
21
|
+
if (objects_1.getProp(model, "item.properties.schemaVersion") >= 1.7)
|
|
22
|
+
return model;
|
|
23
|
+
// apply migration
|
|
24
|
+
const clone = util_1.cloneObject(model);
|
|
25
|
+
clone.data.values.layout.sections.map((section) => (Object.assign(Object.assign({}, section), { rows: (section.rows || []).map((row) => (Object.assign(Object.assign({}, row), { cards: (row.cards || []).map((card) => {
|
|
26
|
+
var _a;
|
|
27
|
+
if (card.component.name === "summary-statistic-card") {
|
|
28
|
+
const values = card.component.settings;
|
|
29
|
+
const expressionSet = whereToExpressionSet(values.where);
|
|
30
|
+
card.component.settings = {
|
|
31
|
+
type: "dynamic",
|
|
32
|
+
cardTitle: values.title,
|
|
33
|
+
dynamicMetric: {
|
|
34
|
+
itemId: [values.itemId],
|
|
35
|
+
layerId: (_a = values.layerId) === null || _a === void 0 ? void 0 : _a.toString(),
|
|
36
|
+
field: values.statFieldName,
|
|
37
|
+
fieldType: values.statFieldType,
|
|
38
|
+
statistic: values.statType,
|
|
39
|
+
serviceUrl: getServiceUrl(values.url),
|
|
40
|
+
expressionSet,
|
|
41
|
+
allowExpressionSet: !!expressionSet.length,
|
|
42
|
+
},
|
|
43
|
+
serverTimeout: values.timeout,
|
|
44
|
+
textAlign: migrateTextAlign(values.statValueAlign),
|
|
45
|
+
valueColor: values.statValueColor === null
|
|
46
|
+
? undefined
|
|
47
|
+
: values.statValueColor,
|
|
48
|
+
trailingText: values.trailingText,
|
|
49
|
+
cardId: values.cardId || util_1.createId(),
|
|
50
|
+
// did not exist on old stat card
|
|
51
|
+
allowUnitFormatting: false,
|
|
52
|
+
allowLink: false,
|
|
53
|
+
};
|
|
54
|
+
}
|
|
55
|
+
return card;
|
|
56
|
+
}) }))) })));
|
|
57
|
+
objects_1.setProp("item.properties.schemaVersion", 1.7, clone);
|
|
58
|
+
return clone;
|
|
59
|
+
}
|
|
60
|
+
function getServiceUrl(url) {
|
|
61
|
+
let serviceUrl = url;
|
|
62
|
+
// url has layer id at end
|
|
63
|
+
if ((url === null || url === void 0 ? void 0 : url.lastIndexOf("FeatureServer")) > -1) {
|
|
64
|
+
serviceUrl = url.slice(0, url.lastIndexOf("FeatureServer") + 13);
|
|
65
|
+
// url has layer id at end
|
|
66
|
+
}
|
|
67
|
+
else if ((url === null || url === void 0 ? void 0 : url.lastIndexOf("MapServer")) > -1) {
|
|
68
|
+
serviceUrl = url.slice(0, url.lastIndexOf("MapServer") + 9);
|
|
69
|
+
}
|
|
70
|
+
return serviceUrl;
|
|
71
|
+
}
|
|
72
|
+
function migrateTextAlign(align) {
|
|
73
|
+
switch (align) {
|
|
74
|
+
case "center":
|
|
75
|
+
return "center";
|
|
76
|
+
case "right":
|
|
77
|
+
return "end";
|
|
78
|
+
case "left":
|
|
79
|
+
default:
|
|
80
|
+
return "start";
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
/**
|
|
84
|
+
* Takes a where clause from a summary statistic card and transforms it into
|
|
85
|
+
* the new expression set array for usage in the new summary stat card.
|
|
86
|
+
*
|
|
87
|
+
* This is a brittle function to be used just for the migration of the <=1.6 of the summary stat card into
|
|
88
|
+
* the 1.7 version of the summary stat card.
|
|
89
|
+
* @param where A where clause as a string. Ex: "Category = 'abc' AND date <= TIMESTAMP '2023-01-01 00:00:00"
|
|
90
|
+
* @returns IExpression[] expression set of the where clause, broken down into individual expressions
|
|
91
|
+
*/
|
|
92
|
+
function whereToExpressionSet(where) {
|
|
93
|
+
let expressionSet = [];
|
|
94
|
+
if (where) {
|
|
95
|
+
const whereClauses = where.split("AND"); // what happens if a user puts "AND" as the matching value?
|
|
96
|
+
expressionSet = whereClauses
|
|
97
|
+
.map((clause) => {
|
|
98
|
+
let expression;
|
|
99
|
+
// could be number or date
|
|
100
|
+
if (clause.includes(">=")) {
|
|
101
|
+
const { fieldName, value } = handleClauseSplit(clause, ">=");
|
|
102
|
+
let finalValue = value;
|
|
103
|
+
let fieldType;
|
|
104
|
+
// handle date
|
|
105
|
+
if (value.includes("TIMESTAMP")) {
|
|
106
|
+
finalValue = handleDateInClause(value);
|
|
107
|
+
fieldType = "esriFieldTypeDate";
|
|
108
|
+
}
|
|
109
|
+
expression = makeExpression(fieldName, fieldType, [finalValue]);
|
|
110
|
+
}
|
|
111
|
+
// could be number or date AND value is second in values array
|
|
112
|
+
else if (clause.includes("<=")) {
|
|
113
|
+
const { fieldName, value } = handleClauseSplit(clause, "<=");
|
|
114
|
+
let finalValue = value;
|
|
115
|
+
let fieldType;
|
|
116
|
+
// handle date
|
|
117
|
+
if (value.includes("TIMESTAMP")) {
|
|
118
|
+
finalValue = handleDateInClause(value);
|
|
119
|
+
fieldType = "esriFieldTypeDate";
|
|
120
|
+
}
|
|
121
|
+
expression = makeExpression(fieldName, fieldType, [
|
|
122
|
+
undefined,
|
|
123
|
+
finalValue,
|
|
124
|
+
]);
|
|
125
|
+
}
|
|
126
|
+
// string match
|
|
127
|
+
else if (clause.includes("=") && clause !== "1=1") {
|
|
128
|
+
const { fieldName, value } = handleClauseSplit(clause, "=");
|
|
129
|
+
const cleanedValue = removeQuotesAroundValue(value);
|
|
130
|
+
expression = makeExpression(fieldName, "esriFieldTypeString", [
|
|
131
|
+
cleanedValue,
|
|
132
|
+
]);
|
|
133
|
+
}
|
|
134
|
+
return expression;
|
|
135
|
+
})
|
|
136
|
+
.filter((ex) => !!ex);
|
|
137
|
+
}
|
|
138
|
+
return expressionSet;
|
|
139
|
+
}
|
|
140
|
+
/**
|
|
141
|
+
* Splits a clause by a given parameter.
|
|
142
|
+
* @param clause String to split into pieces
|
|
143
|
+
* @param splitBy How to split the string
|
|
144
|
+
* @returns The field name and value from the clause, split
|
|
145
|
+
*/
|
|
146
|
+
function handleClauseSplit(clause, splitBy) {
|
|
147
|
+
const pieces = clause.split(splitBy);
|
|
148
|
+
const fieldName = pieces[0].trim();
|
|
149
|
+
const value = pieces[1].trim();
|
|
150
|
+
return { fieldName, value };
|
|
151
|
+
}
|
|
152
|
+
/**
|
|
153
|
+
* Takes a piece of a where clause with a date in it, and extracts just the YYYY-MM-DD.
|
|
154
|
+
* @param value - where clause piece with value
|
|
155
|
+
* @returns YYYY-MM-DD as string
|
|
156
|
+
*/
|
|
157
|
+
function handleDateInClause(value) {
|
|
158
|
+
const dateAndTimePieces = value.split("'");
|
|
159
|
+
const dateAndTime = dateAndTimePieces[1].trim();
|
|
160
|
+
const date = dateAndTime.split(" ")[0].trim();
|
|
161
|
+
return date;
|
|
162
|
+
}
|
|
163
|
+
/**
|
|
164
|
+
* Makes an expression for the expression set.
|
|
165
|
+
* @param fieldName Name of IField
|
|
166
|
+
* @param fieldType Type of IField
|
|
167
|
+
* @param values Values in clause
|
|
168
|
+
* @returns IExpression to be used in an expression set.
|
|
169
|
+
*/
|
|
170
|
+
function makeExpression(fieldName, fieldType, values) {
|
|
171
|
+
const field = {
|
|
172
|
+
name: fieldName,
|
|
173
|
+
};
|
|
174
|
+
if (fieldType) {
|
|
175
|
+
field.type = fieldType;
|
|
176
|
+
}
|
|
177
|
+
const expression = {
|
|
178
|
+
field,
|
|
179
|
+
values,
|
|
180
|
+
};
|
|
181
|
+
return expression;
|
|
182
|
+
}
|
|
183
|
+
/**
|
|
184
|
+
* Removes single quotes around a value. Used to remove the leading and trailing
|
|
185
|
+
* single quotes around a string value for a where clause.
|
|
186
|
+
* @param value string value with single quotes around it
|
|
187
|
+
* @returns string value without leading or trailing single quotes
|
|
188
|
+
*/
|
|
189
|
+
function removeQuotesAroundValue(value) {
|
|
190
|
+
return value.replace(/^\'+|\'+$/g, "");
|
|
191
|
+
}
|
|
192
|
+
//# sourceMappingURL=_migrate-summary-stat-card-configs.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"_migrate-summary-stat-card-configs.js","sourceRoot":"","sources":["../../../../src/sites/_internal/_migrate-summary-stat-card-configs.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.applyCatalogStructureMigration = void 0;
|
|
4
|
+
/**
|
|
5
|
+
* Add the default catalog structure to the Site model
|
|
6
|
+
* Note: This in-memory migration is only applies via `fetchSite(..):IHubSite` and not
|
|
7
|
+
* the older `getSiteById(...):IModel`. Changes made in this migration will not be
|
|
8
|
+
* persisted to AGO until all other parts of the application stop relying on the legacy
|
|
9
|
+
* catalog implementation
|
|
10
|
+
* @param model
|
|
11
|
+
* @returns
|
|
12
|
+
*/
|
|
13
|
+
function applyCatalogStructureMigration(model) {
|
|
14
|
+
let siteCatalog = model.data.catalog || {};
|
|
15
|
+
// This _shouldn't_ happen, but some of our testing sites might have this
|
|
16
|
+
// migration already persisted in AGO. In that case, we ignore and move on
|
|
17
|
+
if (!siteCatalog.schemaVersion) {
|
|
18
|
+
const groups = siteCatalog.groups || [];
|
|
19
|
+
siteCatalog = {
|
|
20
|
+
schemaVersion: 1,
|
|
21
|
+
title: "Default Site Catalog",
|
|
22
|
+
scopes: {
|
|
23
|
+
item: {
|
|
24
|
+
targetEntity: "item",
|
|
25
|
+
filters: [],
|
|
26
|
+
},
|
|
27
|
+
},
|
|
28
|
+
collections: [],
|
|
29
|
+
};
|
|
30
|
+
// groups are used to set the item scope for the whole catalog
|
|
31
|
+
siteCatalog.scopes.item.filters.push({
|
|
32
|
+
predicates: [
|
|
33
|
+
{
|
|
34
|
+
group: [...groups],
|
|
35
|
+
},
|
|
36
|
+
],
|
|
37
|
+
});
|
|
38
|
+
model.data.catalog = siteCatalog;
|
|
39
|
+
}
|
|
40
|
+
return model;
|
|
41
|
+
}
|
|
42
|
+
exports.applyCatalogStructureMigration = applyCatalogStructureMigration;
|
|
43
|
+
//# sourceMappingURL=applyCatalogStructureMigration.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"applyCatalogStructureMigration.js","sourceRoot":"","sources":["../../../../src/sites/_internal/applyCatalogStructureMigration.ts"],"names":[],"mappings":";;;AAIA;;;;;;;;GAQG;AACH,SAAgB,8BAA8B,CAAC,KAAa;IAC1D,IAAI,WAAW,GAAG,KAAK,CAAC,IAAI,CAAC,OAAO,IAAI,EAAE,CAAC;IAC3C,yEAAyE;IACzE,0EAA0E;IAC1E,IAAI,CAAC,WAAW,CAAC,aAAa,EAAE;QAC9B,MAAM,MAAM,GAAG,WAAW,CAAC,MAAM,IAAI,EAAE,CAAC;QACxC,WAAW,GAAG;YACZ,aAAa,EAAE,CAAC;YAChB,KAAK,EAAE,sBAAsB;YAC7B,MAAM,EAAE;gBACN,IAAI,EAAE;oBACJ,YAAY,EAAE,MAAM;oBACpB,OAAO,EAAE,EAAE;iBACZ;aACF;YACD,WAAW,EAAE,EAAE;SACD,CAAC;QAEjB,8DAA8D;QAC9D,WAAW,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC;YACnC,UAAU,EAAE;gBACV;oBACE,KAAK,EAAE,CAAC,GAAG,MAAM,CAAC;iBACnB;aACF;SACF,CAAC,CAAC;QAEH,KAAK,CAAC,IAAI,CAAC,OAAO,GAAG,WAAW,CAAC;KAClC;IAED,OAAO,KAAK,CAAC;AACf,CAAC;AA/BD,wEA+BC"}
|
|
@@ -0,0 +1,96 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.applyDefaultCollectionMigration = void 0;
|
|
4
|
+
const types_1 = require("./types");
|
|
5
|
+
/**
|
|
6
|
+
* In-Memory migration that adds default collections to site models that have the
|
|
7
|
+
* new catalog structure. These default collections will have the same names and
|
|
8
|
+
* display order found in `site.data.values.searchCategories`
|
|
9
|
+
*
|
|
10
|
+
* This migration simplifies display logic, as consuming components no longer
|
|
11
|
+
* have to merge `catalog.collections` with the default collection definitions.
|
|
12
|
+
*
|
|
13
|
+
* This migration also lays the foundation for customization, since editors will
|
|
14
|
+
* be able to modify these persisted default objects. For example, editors can
|
|
15
|
+
* change the default labels, display order, or mark a default as "hidden" so the
|
|
16
|
+
* public can't see it.
|
|
17
|
+
*
|
|
18
|
+
* NOTE: The changes made in this migration will not be persisted to AGO at this time
|
|
19
|
+
*
|
|
20
|
+
* @param model site model to migrate
|
|
21
|
+
* @returns a migrated model with default `IHubCollectionPersistance` objects added
|
|
22
|
+
* to the catalog
|
|
23
|
+
*/
|
|
24
|
+
function applyDefaultCollectionMigration(model) {
|
|
25
|
+
const baseCollectionKeys = [
|
|
26
|
+
// TODO: add 'all' as a wellknown collection and figure out the
|
|
27
|
+
// ramifications of doing so across the app. (or create a new
|
|
28
|
+
// type that includes 'all')
|
|
29
|
+
"all",
|
|
30
|
+
"dataset",
|
|
31
|
+
"document",
|
|
32
|
+
"site",
|
|
33
|
+
"appAndMap",
|
|
34
|
+
];
|
|
35
|
+
const baseCollectionMap = baseCollectionKeys.reduce((map, key) => {
|
|
36
|
+
map[key] = {
|
|
37
|
+
// We chose to leave the label as "null" for a couple of reasons. First off,
|
|
38
|
+
// the default collection names are supposed to be translated and we don't
|
|
39
|
+
// have access to i18n services here. Second, because we temporarily have to
|
|
40
|
+
// serialize changes from catalog.collections back to site.data.values.searchCategories
|
|
41
|
+
// for backwards compatibility, we need a way to indicate whether a collection's
|
|
42
|
+
// name has been explicitly set or if it is relying on the default translation.
|
|
43
|
+
// As such, we only set the label on the collection object IFF an explicit
|
|
44
|
+
// override text has been configured.
|
|
45
|
+
label: null,
|
|
46
|
+
key,
|
|
47
|
+
include: [],
|
|
48
|
+
targetEntity: "item",
|
|
49
|
+
scope: {
|
|
50
|
+
targetEntity: "item",
|
|
51
|
+
collection: key,
|
|
52
|
+
filters: [],
|
|
53
|
+
},
|
|
54
|
+
};
|
|
55
|
+
return map;
|
|
56
|
+
}, {});
|
|
57
|
+
const searchCategoryToCollection = {
|
|
58
|
+
[types_1.SearchCategories.DATA]: "dataset",
|
|
59
|
+
// Unfortunately, the "site" search category has different keys depending on if the catalog
|
|
60
|
+
// was created for a hub basic or hub premium site. As such, we just account for both.
|
|
61
|
+
[types_1.SearchCategories.INITIATIVES]: "site",
|
|
62
|
+
[types_1.SearchCategories.SITES]: "site",
|
|
63
|
+
[types_1.SearchCategories.DOCUMENTS]: "document",
|
|
64
|
+
[types_1.SearchCategories.APPS_AND_MAPS]: "appAndMap",
|
|
65
|
+
};
|
|
66
|
+
// Not every site has `data.values.searchCategories` saved, so we have to keep a bare-bones
|
|
67
|
+
// copy of what the default objects are in opendata-ui.
|
|
68
|
+
// NOTE: The `event` search category has been explicitly omitted. While the classic search view
|
|
69
|
+
// allows for the searching of `events`, the new search view does not.
|
|
70
|
+
const DEFAULT_SEARCH_CATEGORIES = [
|
|
71
|
+
{ key: types_1.SearchCategories.SITES, hidden: true },
|
|
72
|
+
{ key: types_1.SearchCategories.DATA },
|
|
73
|
+
{ key: types_1.SearchCategories.DOCUMENTS },
|
|
74
|
+
{ key: types_1.SearchCategories.APPS_AND_MAPS },
|
|
75
|
+
];
|
|
76
|
+
const legacySearchCategories = model.data.values.searchCategories || DEFAULT_SEARCH_CATEGORIES;
|
|
77
|
+
const configuredCollections = legacySearchCategories
|
|
78
|
+
// The new search view doesn't currently allow for searching events
|
|
79
|
+
.filter((searchCategory) => searchCategory.key !== types_1.SearchCategories.EVENTS)
|
|
80
|
+
// Some sites have a borked `data.values.searchCategories` that explicitly includes the `all`
|
|
81
|
+
// collection. We have this check to catch that and any other weird scenarios.
|
|
82
|
+
.filter((searchCategory) => !!searchCategoryToCollection[searchCategory.key])
|
|
83
|
+
.map((searchCategory) => {
|
|
84
|
+
const collectionKey = searchCategoryToCollection[searchCategory.key];
|
|
85
|
+
const collection = baseCollectionMap[collectionKey];
|
|
86
|
+
collection.label = searchCategory.overrideText || null;
|
|
87
|
+
collection.hidden = searchCategory.hidden;
|
|
88
|
+
return collection;
|
|
89
|
+
});
|
|
90
|
+
// the "all" collection always goes first
|
|
91
|
+
configuredCollections.unshift(baseCollectionMap.all);
|
|
92
|
+
model.data.catalog.collections = configuredCollections;
|
|
93
|
+
return model;
|
|
94
|
+
}
|
|
95
|
+
exports.applyDefaultCollectionMigration = applyDefaultCollectionMigration;
|
|
96
|
+
//# sourceMappingURL=applyDefaultCollectionMigration.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"applyDefaultCollectionMigration.js","sourceRoot":"","sources":["../../../../src/sites/_internal/applyDefaultCollectionMigration.ts"],"names":[],"mappings":";;;AAGA,mCAA2C;AAE3C;;;;;;;;;;;;;;;;;;GAkBG;AACH,SAAgB,+BAA+B,CAAC,KAAa;IAC3D,MAAM,kBAAkB,GAA0B;QAChD,+DAA+D;QAC/D,6DAA6D;QAC7D,4BAA4B;QAC5B,KAAY;QACZ,SAAS;QACT,UAAU;QACV,MAAM;QACN,WAAW;KACZ,CAAC;IACF,MAAM,iBAAiB,GAAG,kBAAkB,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE;QAC/D,GAAG,CAAC,GAAG,CAAC,GAAG;YACT,4EAA4E;YAC5E,0EAA0E;YAC1E,4EAA4E;YAC5E,uFAAuF;YACvF,gFAAgF;YAChF,+EAA+E;YAC/E,0EAA0E;YAC1E,qCAAqC;YACrC,KAAK,EAAE,IAAI;YACX,GAAG;YACH,OAAO,EAAE,EAAE;YACX,YAAY,EAAE,MAAM;YACpB,KAAK,EAAE;gBACL,YAAY,EAAE,MAAM;gBACpB,UAAU,EAAE,GAAG;gBACf,OAAO,EAAE,EAAE;aACZ;SACF,CAAC;QACF,OAAO,GAAG,CAAC;IACb,CAAC,EAAE,EAA+C,CAAC,CAAC;IACpD,MAAM,0BAA0B,GAE5B;QACF,CAAC,wBAAgB,CAAC,IAAI,CAAC,EAAE,SAAS;QAClC,2FAA2F;QAC3F,sFAAsF;QACtF,CAAC,wBAAgB,CAAC,WAAW,CAAC,EAAE,MAAM;QACtC,CAAC,wBAAgB,CAAC,KAAK,CAAC,EAAE,MAAM;QAChC,CAAC,wBAAgB,CAAC,SAAS,CAAC,EAAE,UAAU;QACxC,CAAC,wBAAgB,CAAC,aAAa,CAAC,EAAE,WAAW;KAC9C,CAAC;IACF,2FAA2F;IAC3F,uDAAuD;IACvD,+FAA+F;IAC/F,sEAAsE;IACtE,MAAM,yBAAyB,GAAU;QACvC,EAAE,GAAG,EAAE,wBAAgB,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE;QAC7C,EAAE,GAAG,EAAE,wBAAgB,CAAC,IAAI,EAAE;QAC9B,EAAE,GAAG,EAAE,wBAAgB,CAAC,SAAS,EAAE;QACnC,EAAE,GAAG,EAAE,wBAAgB,CAAC,aAAa,EAAE;KACxC,CAAC;IACF,MAAM,sBAAsB,GAC1B,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,gBAAgB,IAAI,yBAAyB,CAAC;IAElE,MAAM,qBAAqB,GAAG,sBAAsB;QAClD,mEAAmE;SAClE,MAAM,CAAC,CAAC,cAAc,EAAE,EAAE,CAAC,cAAc,CAAC,GAAG,KAAK,wBAAgB,CAAC,MAAM,CAAC;QAC3E,6FAA6F;QAC7F,8EAA8E;SAC7E,MAAM,CACL,CAAC,cAAc,EAAE,EAAE,CACjB,CAAC,CAAC,0BAA0B,CAAC,cAAc,CAAC,GAAuB,CAAC,CACvE;SACA,GAAG,CAAC,CAAC,cAAc,EAAE,EAAE;QACtB,MAAM,aAAa,GACjB,0BAA0B,CAAC,cAAc,CAAC,GAAuB,CAAC,CAAC;QACrE,MAAM,UAAU,GAAG,iBAAiB,CAAC,aAAa,CAAC,CAAC;QACpD,UAAU,CAAC,KAAK,GAAG,cAAc,CAAC,YAAY,IAAI,IAAI,CAAC;QACvD,UAAU,CAAC,MAAM,GAAG,cAAc,CAAC,MAAM,CAAC;QAC1C,OAAO,UAAU,CAAC;IACpB,CAAC,CAAC,CAAC;IAEL,yCAAyC;IACzC,qBAAqB,CAAC,OAAO,CAAC,iBAAiB,CAAC,GAAG,CAAC,CAAC;IACrD,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,GAAG,qBAAqB,CAAC;IAEvD,OAAO,KAAK,CAAC;AACf,CAAC;AAhFD,0EAgFC"}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.capabilityToFeatureMap = void 0;
|
|
4
|
+
/**
|
|
5
|
+
* Returns an array of ICapabilityToFeatureMap objects
|
|
6
|
+
* that define the projection of legacy capabilities
|
|
7
|
+
* to permission features.
|
|
8
|
+
*
|
|
9
|
+
* We use this map to manage foward and backard conversions
|
|
10
|
+
* and migration of legacy capablities to features when a
|
|
11
|
+
* site is fetched or updated
|
|
12
|
+
*
|
|
13
|
+
* NOTE: if you are porting a legacy capability over to
|
|
14
|
+
* workspaces, add it to this map
|
|
15
|
+
*/
|
|
16
|
+
exports.capabilityToFeatureMap = [
|
|
17
|
+
{
|
|
18
|
+
/**
|
|
19
|
+
* Currently if the hideFollow capability is present
|
|
20
|
+
* on the site capabilities, the app interprets this
|
|
21
|
+
* to mean following is disabled for the site, and
|
|
22
|
+
* thus, in-page action "Follow" buttons are not
|
|
23
|
+
* displayed. Permissions, however, are structured
|
|
24
|
+
* in the positive, meaning that hub:site:feature:follow
|
|
25
|
+
* should return true if following is enabled, and
|
|
26
|
+
* false if it's disabled. We set "negate" to true
|
|
27
|
+
* to handle this forward/backward discrepancy
|
|
28
|
+
*/
|
|
29
|
+
capability: "hideFollow",
|
|
30
|
+
feature: "hub:site:feature:follow",
|
|
31
|
+
negate: true,
|
|
32
|
+
},
|
|
33
|
+
];
|
|
34
|
+
//# sourceMappingURL=capabilityToFeatureMap.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"capabilityToFeatureMap.js","sourceRoot":"","sources":["../../../../../src/sites/_internal/capabilities/capabilityToFeatureMap.ts"],"names":[],"mappings":";;;AAEA;;;;;;;;;;;GAWG;AACU,QAAA,sBAAsB,GAA8B;IAC/D;QACE;;;;;;;;;;WAUG;QACH,UAAU,EAAE,YAAY;QACxB,OAAO,EAAE,yBAAyB;QAClC,MAAM,EAAE,IAAI;KACb;CACF,CAAC"}
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.convertFeaturesToLegacyCapabilities = void 0;
|
|
4
|
+
const get_prop_1 = require("../../../objects/get-prop");
|
|
5
|
+
const capabilityToFeatureMap_1 = require("./capabilityToFeatureMap");
|
|
6
|
+
const objects_1 = require("../../../objects");
|
|
7
|
+
/**
|
|
8
|
+
* Site capabilities are currently saved as an array on the
|
|
9
|
+
* site.data.values.capabilities. We want to migragte these
|
|
10
|
+
* legacy capabilities over to features in the new permissions
|
|
11
|
+
* system; however, we must continue persisting updates to
|
|
12
|
+
* these features in the legacy capabilities array until the
|
|
13
|
+
* existing site capabilities in our application are plumbed
|
|
14
|
+
* to work off of permissions
|
|
15
|
+
*
|
|
16
|
+
* This function is called within updateSite to ensure
|
|
17
|
+
* the legacy capabilities array is kept up-to-date
|
|
18
|
+
*
|
|
19
|
+
* TODO: Remove once site capabilities use permissions
|
|
20
|
+
*
|
|
21
|
+
* @param modelToUpdate
|
|
22
|
+
* @param currentModel
|
|
23
|
+
*/
|
|
24
|
+
exports.convertFeaturesToLegacyCapabilities = (modelToUpdate, currentModel) => {
|
|
25
|
+
let legacyCapabilityFeatureFlags = {};
|
|
26
|
+
// 1. convert legacy capabilities to a feature flag hash
|
|
27
|
+
(get_prop_1.getProp(currentModel, "data.values.capabilities") || []).forEach((capability) => {
|
|
28
|
+
legacyCapabilityFeatureFlags[capability] = true;
|
|
29
|
+
});
|
|
30
|
+
// 2. override legacy capabilities that are driven by features
|
|
31
|
+
const features = get_prop_1.getProp(modelToUpdate, "data.settings.features") || {};
|
|
32
|
+
legacyCapabilityFeatureFlags = capabilityToFeatureMap_1.capabilityToFeatureMap.reduce((capabilities, map) => {
|
|
33
|
+
// TODO: remove istanbul exception once we include a
|
|
34
|
+
// legacy capability that satisfies the second condition
|
|
35
|
+
/* istanbul ignore next */
|
|
36
|
+
const featureFlag = map.negate
|
|
37
|
+
? !features[map.feature]
|
|
38
|
+
: features[map.feature];
|
|
39
|
+
return Object.assign(Object.assign({}, capabilities), { [map.capability]: featureFlag });
|
|
40
|
+
}, legacyCapabilityFeatureFlags);
|
|
41
|
+
// 3. convert legacy capabilities back to an array and persist on model
|
|
42
|
+
const updatedCapabilities = Object.entries(legacyCapabilityFeatureFlags).reduce((acc, [key, value]) => {
|
|
43
|
+
value && acc.push(key);
|
|
44
|
+
return acc;
|
|
45
|
+
}, []);
|
|
46
|
+
objects_1.setProp("data.values.capabilities", updatedCapabilities, modelToUpdate);
|
|
47
|
+
return modelToUpdate;
|
|
48
|
+
};
|
|
49
|
+
//# sourceMappingURL=convertFeaturesToLegacyCapabilities.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"convertFeaturesToLegacyCapabilities.js","sourceRoot":"","sources":["../../../../../src/sites/_internal/capabilities/convertFeaturesToLegacyCapabilities.ts"],"names":[],"mappings":";;;AACA,wDAAoD;AACpD,qEAAkE;AAMlE,8CAA2C;AAE3C;;;;;;;;;;;;;;;;GAgBG;AACU,QAAA,mCAAmC,GAAG,CACjD,aAAqB,EACrB,YAAoB,EACZ,EAAE;IACV,IAAI,4BAA4B,GAAkC,EAAE,CAAC;IAErE,wDAAwD;IACxD,CAAC,kBAAO,CAAC,YAAY,EAAE,0BAA0B,CAAC,IAAI,EAAE,CAAC,CAAC,OAAO,CAC/D,CAAC,UAA4B,EAAE,EAAE;QAC/B,4BAA4B,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC;IAClD,CAAC,CACF,CAAC;IAEF,8DAA8D;IAC9D,MAAM,QAAQ,GAAG,kBAAO,CAAC,aAAa,EAAE,wBAAwB,CAAC,IAAI,EAAE,CAAC;IACxE,4BAA4B,GAAG,+CAAsB,CAAC,MAAM,CAC1D,CACE,YAA2C,EAC3C,GAA4B,EAC5B,EAAE;QACF,oDAAoD;QACpD,wDAAwD;QACxD,0BAA0B;QAC1B,MAAM,WAAW,GAAG,GAAG,CAAC,MAAM;YAC5B,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC;YACxB,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QAE1B,uCACK,YAAY,KACf,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE,WAAW,IAC7B;IACJ,CAAC,EACD,4BAA4B,CAC7B,CAAC;IAEF,uEAAuE;IACvE,MAAM,mBAAmB,GAAG,MAAM,CAAC,OAAO,CACxC,4BAA4B,CAC7B,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE;QAC7B,KAAK,IAAI,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACvB,OAAO,GAAG,CAAC;IACb,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,iBAAO,CAAC,0BAA0B,EAAE,mBAAmB,EAAE,aAAa,CAAC,CAAC;IACxE,OAAO,aAAa,CAAC;AACvB,CAAC,CAAC"}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.migrateLegacyCapabilitiesToFeatures = void 0;
|
|
4
|
+
const objects_1 = require("../../../objects");
|
|
5
|
+
const capabilityToFeatureMap_1 = require("./capabilityToFeatureMap");
|
|
6
|
+
/**
|
|
7
|
+
* Site capabilities are currently saved as an array on the
|
|
8
|
+
* site.data.values.capabilities. We want to migragte these
|
|
9
|
+
* legacy capabilities over to features in the new permissions
|
|
10
|
+
* system and expose them on the entity
|
|
11
|
+
*
|
|
12
|
+
* This function is called within fetchSite to ensure all
|
|
13
|
+
* sites have features that are kept up-to-date with the
|
|
14
|
+
* legacy capabilities array
|
|
15
|
+
*/
|
|
16
|
+
exports.migrateLegacyCapabilitiesToFeatures = (model) => {
|
|
17
|
+
const legacyCapabilityFeatureFlags = {};
|
|
18
|
+
let updatedFeatures = {};
|
|
19
|
+
// 1. convert legacy capabilities to a feature flag hash
|
|
20
|
+
(objects_1.getProp(model, "data.values.capabilities") || []).forEach((capability) => {
|
|
21
|
+
legacyCapabilityFeatureFlags[capability] = true;
|
|
22
|
+
});
|
|
23
|
+
// 2. update/add features based on the legacy capabilities array
|
|
24
|
+
const currentFeatures = objects_1.getProp(model, "data.settings.features") || {};
|
|
25
|
+
updatedFeatures = capabilityToFeatureMap_1.capabilityToFeatureMap.reduce((features, map) => {
|
|
26
|
+
// TODO: remove istanbul exception once we include a
|
|
27
|
+
// legacy capability that satisfies the second condition
|
|
28
|
+
/* istanbul ignore next */
|
|
29
|
+
const capabilityFlag = map.negate
|
|
30
|
+
? !legacyCapabilityFeatureFlags[map.capability]
|
|
31
|
+
: legacyCapabilityFeatureFlags[map.capability];
|
|
32
|
+
return Object.assign(Object.assign({}, features), { [map.feature]: capabilityFlag });
|
|
33
|
+
}, currentFeatures);
|
|
34
|
+
objects_1.setProp("data.settings.features", updatedFeatures, model);
|
|
35
|
+
return model;
|
|
36
|
+
};
|
|
37
|
+
//# sourceMappingURL=migrateLegacyCapabilitiesToFeatures.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"migrateLegacyCapabilitiesToFeatures.js","sourceRoot":"","sources":["../../../../../src/sites/_internal/capabilities/migrateLegacyCapabilitiesToFeatures.ts"],"names":[],"mappings":";;;AAAA,8CAAoD;AAGpD,qEAAkE;AAOlE;;;;;;;;;GASG;AACU,QAAA,mCAAmC,GAAG,CAAC,KAAa,EAAU,EAAE;IAC3E,MAAM,4BAA4B,GAAkC,EAAE,CAAC;IACvE,IAAI,eAAe,GAAkB,EAAE,CAAC;IAExC,wDAAwD;IACxD,CAAC,iBAAO,CAAC,KAAK,EAAE,0BAA0B,CAAC,IAAI,EAAE,CAAC,CAAC,OAAO,CACxD,CAAC,UAA4B,EAAE,EAAE;QAC/B,4BAA4B,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC;IAClD,CAAC,CACF,CAAC;IAEF,gEAAgE;IAChE,MAAM,eAAe,GAAG,iBAAO,CAAC,KAAK,EAAE,wBAAwB,CAAC,IAAI,EAAE,CAAC;IACvE,eAAe,GAAG,+CAAsB,CAAC,MAAM,CAC7C,CAAC,QAAuB,EAAE,GAA4B,EAAE,EAAE;QACxD,oDAAoD;QACpD,wDAAwD;QACxD,0BAA0B;QAC1B,MAAM,cAAc,GAAG,GAAG,CAAC,MAAM;YAC/B,CAAC,CAAC,CAAC,4BAA4B,CAAC,GAAG,CAAC,UAAU,CAAC;YAC/C,CAAC,CAAC,4BAA4B,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;QAEjD,uCACK,QAAQ,KACX,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,cAAc,IAC7B;IACJ,CAAC,EACD,eAAe,CAChB,CAAC;IAEF,iBAAO,CAAC,wBAAwB,EAAE,eAAe,EAAE,KAAK,CAAC,CAAC;IAC1D,OAAO,KAAK,CAAC;AACf,CAAC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../../src/sites/_internal/capabilities/types.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.convertCatalogToLegacyFormat = void 0;
|
|
4
|
+
const objects_1 = require("../../objects");
|
|
5
|
+
const utils_1 = require("../../search/utils");
|
|
6
|
+
const util_1 = require("../../util");
|
|
7
|
+
/**
|
|
8
|
+
* Converts the migrated catalog of a site model back into a legacy catalog format.
|
|
9
|
+
* As the new catalog format is much more flexible than the legacy format, only supported
|
|
10
|
+
* fields configurations (i.e., group ids) are transferred.
|
|
11
|
+
*
|
|
12
|
+
* @param modelToUpdate modified site model with a migrated catalog
|
|
13
|
+
* @param currentModel currently persisted site model with a legacy catalog
|
|
14
|
+
* @returns site model with any catalog group changes reflected in a legacy format
|
|
15
|
+
*/
|
|
16
|
+
function convertCatalogToLegacyFormat(modelToUpdate, currentModel) {
|
|
17
|
+
const updatedModel = util_1.cloneObject(modelToUpdate);
|
|
18
|
+
const updatedItemScope = objects_1.getProp(modelToUpdate, "data.catalog.scopes.item");
|
|
19
|
+
const updatedGroupPredicate = utils_1.getScopeGroupPredicate(updatedItemScope);
|
|
20
|
+
if (updatedGroupPredicate) {
|
|
21
|
+
const updatedLegacyCatalog = util_1.cloneObject(currentModel.data.catalog);
|
|
22
|
+
// TODO: Do we need to worry about whether predicate.group is an IMatchOption?
|
|
23
|
+
const updatedGroupIds = Array.isArray(updatedGroupPredicate.group)
|
|
24
|
+
? updatedGroupPredicate.group
|
|
25
|
+
: [updatedGroupPredicate.group];
|
|
26
|
+
updatedLegacyCatalog.groups = updatedGroupIds;
|
|
27
|
+
updatedModel.data.catalog = updatedLegacyCatalog;
|
|
28
|
+
}
|
|
29
|
+
else {
|
|
30
|
+
// This shouldn't happen, but in case something is malformed we protect the data integrity
|
|
31
|
+
// by reverting to the catalog of the most recently fetched model
|
|
32
|
+
updatedModel.data.catalog = util_1.cloneObject(currentModel.data.catalog);
|
|
33
|
+
}
|
|
34
|
+
return updatedModel;
|
|
35
|
+
}
|
|
36
|
+
exports.convertCatalogToLegacyFormat = convertCatalogToLegacyFormat;
|
|
37
|
+
//# sourceMappingURL=convertCatalogToLegacyFormat.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"convertCatalogToLegacyFormat.js","sourceRoot":"","sources":["../../../../src/sites/_internal/convertCatalogToLegacyFormat.ts"],"names":[],"mappings":";;;AAAA,2CAAwC;AACxC,8CAA4D;AAE5D,qCAAyC;AAEzC;;;;;;;;GAQG;AACH,SAAgB,4BAA4B,CAC1C,aAAqB,EACrB,YAAoB;IAEpB,MAAM,YAAY,GAAG,kBAAW,CAAC,aAAa,CAAC,CAAC;IAChD,MAAM,gBAAgB,GAAG,iBAAO,CAAC,aAAa,EAAE,0BAA0B,CAAC,CAAC;IAC5E,MAAM,qBAAqB,GAAG,8BAAsB,CAAC,gBAAgB,CAAC,CAAC;IACvE,IAAI,qBAAqB,EAAE;QACzB,MAAM,oBAAoB,GAAG,kBAAW,CAAC,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACpE,8EAA8E;QAC9E,MAAM,eAAe,GAAG,KAAK,CAAC,OAAO,CAAC,qBAAqB,CAAC,KAAK,CAAC;YAChE,CAAC,CAAC,qBAAqB,CAAC,KAAK;YAC7B,CAAC,CAAC,CAAC,qBAAqB,CAAC,KAAK,CAAC,CAAC;QAClC,oBAAoB,CAAC,MAAM,GAAG,eAAe,CAAC;QAC9C,YAAY,CAAC,IAAI,CAAC,OAAO,GAAG,oBAAoB,CAAC;KAClD;SAAM;QACL,0FAA0F;QAC1F,iEAAiE;QACjE,YAAY,CAAC,IAAI,CAAC,OAAO,GAAG,kBAAW,CAAC,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;KACpE;IACD,OAAO,YAAY,CAAC;AACtB,CAAC;AArBD,oEAqBC"}
|