@esri/hub-common 13.17.3 → 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.
Files changed (580) hide show
  1. package/dist/esm/associations/addAssociation.js +16 -0
  2. package/dist/esm/associations/addAssociation.js.map +1 -0
  3. package/dist/esm/associations/index.js +5 -0
  4. package/dist/esm/associations/index.js.map +1 -0
  5. package/dist/esm/associations/internal/getTargetEntityFromAssociationType.js +18 -0
  6. package/dist/esm/associations/internal/getTargetEntityFromAssociationType.js.map +1 -0
  7. package/dist/esm/associations/internal/getTypeByIdsQuery.js +28 -0
  8. package/dist/esm/associations/internal/getTypeByIdsQuery.js.map +1 -0
  9. package/dist/esm/associations/internal/getTypeFromAssociationType.js +18 -0
  10. package/dist/esm/associations/internal/getTypeFromAssociationType.js.map +1 -0
  11. package/dist/esm/associations/internal/getTypeWithKeywordQuery.js +27 -0
  12. package/dist/esm/associations/internal/getTypeWithKeywordQuery.js.map +1 -0
  13. package/dist/esm/associations/internal/getTypeWithoutKeywordQuery.js +27 -0
  14. package/dist/esm/associations/internal/getTypeWithoutKeywordQuery.js.map +1 -0
  15. package/dist/esm/associations/listAssociations.js +17 -0
  16. package/dist/esm/associations/listAssociations.js.map +1 -0
  17. package/dist/esm/associations/removeAssociation.js +17 -0
  18. package/dist/esm/associations/removeAssociation.js.map +1 -0
  19. package/dist/esm/associations/types.js +2 -0
  20. package/dist/esm/associations/types.js.map +1 -0
  21. package/dist/esm/content/_internal/ContentSchema.js +16 -0
  22. package/dist/esm/content/_internal/ContentSchema.js.map +1 -0
  23. package/dist/esm/content/_internal/ContentUiSchemaEdit.js +148 -0
  24. package/dist/esm/content/_internal/ContentUiSchemaEdit.js.map +1 -0
  25. package/dist/esm/content/_internal/ContentUiSchemaSettings.js +59 -0
  26. package/dist/esm/content/_internal/ContentUiSchemaSettings.js.map +1 -0
  27. package/dist/esm/content/_internal/computeProps.js +57 -0
  28. package/dist/esm/content/_internal/computeProps.js.map +1 -0
  29. package/dist/esm/content/hostedServiceUtils.js +91 -0
  30. package/dist/esm/content/hostedServiceUtils.js.map +1 -0
  31. package/dist/esm/core/EntityEditor.js +56 -0
  32. package/dist/esm/core/EntityEditor.js.map +1 -0
  33. package/dist/esm/core/behaviors/IWIthAssociationBehavior.js +1 -0
  34. package/dist/esm/core/behaviors/IWIthAssociationBehavior.js.map +1 -0
  35. package/dist/esm/core/behaviors/IWithFollowersBehavior.js +1 -0
  36. package/dist/esm/core/behaviors/IWithFollowersBehavior.js.map +1 -0
  37. package/dist/esm/core/enrichEntity.js +66 -0
  38. package/dist/esm/core/enrichEntity.js.map +1 -0
  39. package/dist/esm/core/schemas/getEditorConfig.js +13 -0
  40. package/dist/esm/core/schemas/getEditorConfig.js.map +1 -0
  41. package/dist/esm/core/schemas/internal/ConfigurableEntity.js +1 -0
  42. package/dist/esm/core/schemas/internal/ConfigurableEntity.js.map +1 -0
  43. package/dist/esm/core/schemas/internal/configOptionHelpers.js +88 -0
  44. package/dist/esm/core/schemas/internal/configOptionHelpers.js.map +1 -0
  45. package/dist/esm/core/schemas/internal/getCategoryItems.js +34 -0
  46. package/dist/esm/core/schemas/internal/getCategoryItems.js.map +1 -0
  47. package/dist/esm/core/schemas/internal/getConfigOptions.js +15 -0
  48. package/dist/esm/core/schemas/internal/getConfigOptions.js.map +1 -0
  49. package/dist/esm/core/schemas/internal/getEditorConfigOptions.js +37 -0
  50. package/dist/esm/core/schemas/internal/getEditorConfigOptions.js.map +1 -0
  51. package/dist/esm/core/schemas/internal/getEntityEditorSchemas.js +93 -0
  52. package/dist/esm/core/schemas/internal/getEntityEditorSchemas.js.map +1 -0
  53. package/dist/esm/core/schemas/internal/getFeaturedContentCatalogs.js +21 -0
  54. package/dist/esm/core/schemas/internal/getFeaturedContentCatalogs.js.map +1 -0
  55. package/dist/esm/core/schemas/internal/getFeaturedImageUrl.js +11 -0
  56. package/dist/esm/core/schemas/internal/getFeaturedImageUrl.js.map +1 -0
  57. package/dist/esm/core/schemas/internal/getLocationExtent.js +11 -0
  58. package/dist/esm/core/schemas/internal/getLocationExtent.js.map +1 -0
  59. package/dist/esm/core/schemas/internal/getLocationOptions.js +64 -0
  60. package/dist/esm/core/schemas/internal/getLocationOptions.js.map +1 -0
  61. package/dist/esm/core/schemas/internal/getSharableGroupsComboBoxItems.js +27 -0
  62. package/dist/esm/core/schemas/internal/getSharableGroupsComboBoxItems.js.map +1 -0
  63. package/dist/esm/core/schemas/internal/getTagItems.js +61 -0
  64. package/dist/esm/core/schemas/internal/getTagItems.js.map +1 -0
  65. package/dist/esm/core/traits/IWithAssociations.js +1 -0
  66. package/dist/esm/core/traits/IWithAssociations.js.map +1 -0
  67. package/dist/esm/core/traits/IWithFollowers.js +1 -0
  68. package/dist/esm/core/traits/IWithFollowers.js.map +1 -0
  69. package/dist/esm/core/types/HubEntityEditor.js +1 -0
  70. package/dist/esm/core/types/HubEntityEditor.js.map +1 -0
  71. package/dist/esm/core/types/IHubGroup.js +1 -0
  72. package/dist/esm/core/types/IHubGroup.js.map +1 -0
  73. package/dist/esm/discussions/api/channels/channels.js +14 -0
  74. package/dist/esm/discussions/api/channels/channels.js.map +1 -0
  75. package/dist/esm/discussions/api/channels/index.js +2 -0
  76. package/dist/esm/discussions/api/channels/index.js.map +1 -0
  77. package/dist/esm/discussions/api/index.js +3 -0
  78. package/dist/esm/discussions/api/index.js.map +1 -0
  79. package/dist/esm/discussions/api/request.js +20 -0
  80. package/dist/esm/discussions/api/request.js.map +1 -0
  81. package/dist/esm/discussions/api/types.js +245 -0
  82. package/dist/esm/discussions/api/types.js.map +1 -0
  83. package/dist/esm/discussions/api/utils/request.js +77 -0
  84. package/dist/esm/discussions/api/utils/request.js.map +1 -0
  85. package/dist/esm/features/_internal/checkCapabilityAccess.js +54 -0
  86. package/dist/esm/features/_internal/checkCapabilityAccess.js.map +1 -0
  87. package/dist/esm/features/_internal/checkFeatureAccess.js +99 -0
  88. package/dist/esm/features/_internal/checkFeatureAccess.js.map +1 -0
  89. package/dist/esm/features/_internal/index.js +3 -0
  90. package/dist/esm/features/_internal/index.js.map +1 -0
  91. package/dist/esm/features/checkFeature.js +107 -0
  92. package/dist/esm/features/checkFeature.js.map +1 -0
  93. package/dist/esm/features/index.js +5 -0
  94. package/dist/esm/features/index.js.map +1 -0
  95. package/dist/esm/features/types.js +28 -0
  96. package/dist/esm/features/types.js.map +1 -0
  97. package/dist/esm/groups/HubGroup.js +258 -0
  98. package/dist/esm/groups/HubGroup.js.map +1 -0
  99. package/dist/esm/groups/_internal/AddOrInviteUsersToGroupUtils.js +195 -0
  100. package/dist/esm/groups/_internal/AddOrInviteUsersToGroupUtils.js.map +1 -0
  101. package/dist/esm/groups/_internal/GroupBusinessRules.js +94 -0
  102. package/dist/esm/groups/_internal/GroupBusinessRules.js.map +1 -0
  103. package/dist/esm/groups/_internal/GroupSchema.js +31 -0
  104. package/dist/esm/groups/_internal/GroupSchema.js.map +1 -0
  105. package/dist/esm/groups/_internal/GroupUiSchemaEdit.js +62 -0
  106. package/dist/esm/groups/_internal/GroupUiSchemaEdit.js.map +1 -0
  107. package/dist/esm/groups/_internal/GroupUiSchemaSettings.js +46 -0
  108. package/dist/esm/groups/_internal/GroupUiSchemaSettings.js.map +1 -0
  109. package/dist/esm/groups/_internal/autoAddUsersAsAdmins.js +24 -0
  110. package/dist/esm/groups/_internal/autoAddUsersAsAdmins.js.map +1 -0
  111. package/dist/esm/groups/_internal/computeProps.js +45 -0
  112. package/dist/esm/groups/_internal/computeProps.js.map +1 -0
  113. package/dist/esm/groups/_internal/convertGroupToHubGroup.js +14 -0
  114. package/dist/esm/groups/_internal/convertGroupToHubGroup.js.map +1 -0
  115. package/dist/esm/groups/_internal/convertHubGroupToGroup.js +26 -0
  116. package/dist/esm/groups/_internal/convertHubGroupToGroup.js.map +1 -0
  117. package/dist/esm/groups/_internal/getPropertyMap.js +40 -0
  118. package/dist/esm/groups/_internal/getPropertyMap.js.map +1 -0
  119. package/dist/esm/groups/_internal/processAutoAddUsers.js +62 -0
  120. package/dist/esm/groups/_internal/processAutoAddUsers.js.map +1 -0
  121. package/dist/esm/groups/_internal/processEmailUsers.js +50 -0
  122. package/dist/esm/groups/_internal/processEmailUsers.js.map +1 -0
  123. package/dist/esm/groups/_internal/processInviteUsers.js +51 -0
  124. package/dist/esm/groups/_internal/processInviteUsers.js.map +1 -0
  125. package/dist/esm/groups/addOrInviteUsersToGroup.js +67 -0
  126. package/dist/esm/groups/addOrInviteUsersToGroup.js.map +1 -0
  127. package/dist/esm/groups/addOrInviteUsersToGroups.js +51 -0
  128. package/dist/esm/groups/addOrInviteUsersToGroups.js.map +1 -0
  129. package/dist/esm/groups/autoAddUsers.js +24 -0
  130. package/dist/esm/groups/autoAddUsers.js.map +1 -0
  131. package/dist/esm/groups/defaults.js +21 -0
  132. package/dist/esm/groups/defaults.js.map +1 -0
  133. package/dist/esm/groups/deleteGroupThumbnail.js +14 -0
  134. package/dist/esm/groups/deleteGroupThumbnail.js.map +1 -0
  135. package/dist/esm/groups/emailOrgUsers.js +29 -0
  136. package/dist/esm/groups/emailOrgUsers.js.map +1 -0
  137. package/dist/esm/groups/inviteUsers.js +30 -0
  138. package/dist/esm/groups/inviteUsers.js.map +1 -0
  139. package/dist/esm/groups/setGroupThumbnail.js +32 -0
  140. package/dist/esm/groups/setGroupThumbnail.js.map +1 -0
  141. package/dist/esm/groups/types/types.js +1 -0
  142. package/dist/esm/groups/types/types.js.map +1 -0
  143. package/dist/esm/initiatives/_internal/InitiativeUiSchemaCreate.js +134 -0
  144. package/dist/esm/initiatives/_internal/InitiativeUiSchemaCreate.js.map +1 -0
  145. package/dist/esm/initiatives/view.js +81 -0
  146. package/dist/esm/initiatives/view.js.map +1 -0
  147. package/dist/esm/items/deleteItemThumbnail.js +14 -0
  148. package/dist/esm/items/deleteItemThumbnail.js.map +1 -0
  149. package/dist/esm/pages/HubPage.js +201 -0
  150. package/dist/esm/pages/HubPage.js.map +1 -0
  151. package/dist/esm/pages/_internal/PageSchema.js +31 -0
  152. package/dist/esm/pages/_internal/PageSchema.js.map +1 -0
  153. package/dist/esm/pages/_internal/PageUiSchemaEdit.js +126 -0
  154. package/dist/esm/pages/_internal/PageUiSchemaEdit.js.map +1 -0
  155. package/dist/esm/pages/_internal/computeProps.js +45 -0
  156. package/dist/esm/pages/_internal/computeProps.js.map +1 -0
  157. package/dist/esm/pages/_internal/getPropertyMap.js +20 -0
  158. package/dist/esm/pages/_internal/getPropertyMap.js.map +1 -0
  159. package/dist/esm/pages/defaults.js +41 -0
  160. package/dist/esm/pages/defaults.js.map +1 -0
  161. package/dist/esm/permissions/PlatformPermissionPolicies.js +711 -0
  162. package/dist/esm/permissions/PlatformPermissionPolicies.js.map +1 -0
  163. package/dist/esm/permissions/_internal/PermissionCheckFunction.js +1 -0
  164. package/dist/esm/permissions/_internal/PermissionCheckFunction.js.map +1 -0
  165. package/dist/esm/permissions/_internal/checkAvailability.js +46 -0
  166. package/dist/esm/permissions/_internal/checkAvailability.js.map +1 -0
  167. package/dist/esm/permissions/_internal/checkEntityFeature.js +29 -0
  168. package/dist/esm/permissions/_internal/checkEntityFeature.js.map +1 -0
  169. package/dist/esm/permissions/_internal/checkEnvironment.js +28 -0
  170. package/dist/esm/permissions/_internal/checkEnvironment.js.map +1 -0
  171. package/dist/esm/permissions/_internal/checkFeature.js +65 -0
  172. package/dist/esm/permissions/_internal/checkFeature.js.map +1 -0
  173. package/dist/esm/permissions/_internal/checkFeatures.js +42 -0
  174. package/dist/esm/permissions/_internal/checkFeatures.js.map +1 -0
  175. package/dist/esm/permissions/_internal/checkParents.js +23 -0
  176. package/dist/esm/permissions/_internal/checkParents.js.map +1 -0
  177. package/dist/esm/permissions/_internal/checkServiceStatus.js +24 -0
  178. package/dist/esm/permissions/_internal/checkServiceStatus.js.map +1 -0
  179. package/dist/esm/permissions/_internal/processEntityFeatures.js +26 -0
  180. package/dist/esm/permissions/_internal/processEntityFeatures.js.map +1 -0
  181. package/dist/esm/projects/_internal/getProjectEditorConfigOptions.js +63 -0
  182. package/dist/esm/projects/_internal/getProjectEditorConfigOptions.js.map +1 -0
  183. package/dist/esm/search/_internal/commonHelpers/getDiscussionsApiDefinition.js +10 -0
  184. package/dist/esm/search/_internal/commonHelpers/getDiscussionsApiDefinition.js.map +1 -0
  185. package/dist/esm/search/_internal/commonHelpers/shouldUseDiscussionsApi.js +13 -0
  186. package/dist/esm/search/_internal/commonHelpers/shouldUseDiscussionsApi.js.map +1 -0
  187. package/dist/esm/search/_internal/explainFilter.js +34 -0
  188. package/dist/esm/search/_internal/explainFilter.js.map +1 -0
  189. package/dist/esm/search/_internal/explainHelpers.js +193 -0
  190. package/dist/esm/search/_internal/explainHelpers.js.map +1 -0
  191. package/dist/esm/search/_internal/explainPredicate.js +35 -0
  192. package/dist/esm/search/_internal/explainPredicate.js.map +1 -0
  193. package/dist/esm/search/_internal/getEntityTypeFromType.js +21 -0
  194. package/dist/esm/search/_internal/getEntityTypeFromType.js.map +1 -0
  195. package/dist/esm/search/_internal/hubSearchChannels.js +137 -0
  196. package/dist/esm/search/_internal/hubSearchChannels.js.map +1 -0
  197. package/dist/esm/search/_internal/negateGroupPredicates.js +28 -0
  198. package/dist/esm/search/_internal/negateGroupPredicates.js.map +1 -0
  199. package/dist/esm/search/explainQueryResult.js +53 -0
  200. package/dist/esm/search/explainQueryResult.js.map +1 -0
  201. package/dist/esm/sites/HubSite.js +2 -1
  202. package/dist/esm/sites/HubSite.js.map +1 -1
  203. package/dist/esm/sites/_internal/SiteUiSchemaFollowers.js +56 -0
  204. package/dist/esm/sites/_internal/SiteUiSchemaFollowers.js.map +1 -0
  205. package/dist/esm/sites/_internal/_migrate-summary-stat-card-configs.js +188 -0
  206. package/dist/esm/sites/_internal/_migrate-summary-stat-card-configs.js.map +1 -0
  207. package/dist/esm/sites/_internal/applyCatalogStructureMigration.js +39 -0
  208. package/dist/esm/sites/_internal/applyCatalogStructureMigration.js.map +1 -0
  209. package/dist/esm/sites/_internal/applyDefaultCollectionMigration.js +92 -0
  210. package/dist/esm/sites/_internal/applyDefaultCollectionMigration.js.map +1 -0
  211. package/dist/esm/sites/_internal/capabilities/capabilityToFeatureMap.js +31 -0
  212. package/dist/esm/sites/_internal/capabilities/capabilityToFeatureMap.js.map +1 -0
  213. package/dist/esm/sites/_internal/capabilities/convertFeaturesToLegacyCapabilities.js +46 -0
  214. package/dist/esm/sites/_internal/capabilities/convertFeaturesToLegacyCapabilities.js.map +1 -0
  215. package/dist/esm/sites/_internal/capabilities/migrateLegacyCapabilitiesToFeatures.js +34 -0
  216. package/dist/esm/sites/_internal/capabilities/migrateLegacyCapabilitiesToFeatures.js.map +1 -0
  217. package/dist/esm/sites/_internal/capabilities/types.js +1 -0
  218. package/dist/esm/sites/_internal/capabilities/types.js.map +1 -0
  219. package/dist/esm/sites/_internal/convertCatalogToLegacyFormat.js +33 -0
  220. package/dist/esm/sites/_internal/convertCatalogToLegacyFormat.js.map +1 -0
  221. package/dist/esm/sites/_internal/reflectCollectionsToSearchCategories.js +55 -0
  222. package/dist/esm/sites/_internal/reflectCollectionsToSearchCategories.js.map +1 -0
  223. package/dist/esm/sites/_internal/types.js +11 -0
  224. package/dist/esm/sites/_internal/types.js.map +1 -0
  225. package/dist/esm/urls/cacheBustUrl.js +13 -0
  226. package/dist/esm/urls/cacheBustUrl.js.map +1 -0
  227. package/dist/esm/urls/getCardModelUrl.js +76 -0
  228. package/dist/esm/urls/getCardModelUrl.js.map +1 -0
  229. package/dist/esm/users/view.js +71 -0
  230. package/dist/esm/users/view.js.map +1 -0
  231. package/dist/esm/utils/getEnvironmentFromPortalUrl.js +20 -0
  232. package/dist/esm/utils/getEnvironmentFromPortalUrl.js.map +1 -0
  233. package/dist/node/associations/addAssociation.js +20 -0
  234. package/dist/node/associations/addAssociation.js.map +1 -0
  235. package/dist/node/associations/index.js +8 -0
  236. package/dist/node/associations/index.js.map +1 -0
  237. package/dist/node/associations/internal/getTargetEntityFromAssociationType.js +22 -0
  238. package/dist/node/associations/internal/getTargetEntityFromAssociationType.js.map +1 -0
  239. package/dist/node/associations/internal/getTypeByIdsQuery.js +32 -0
  240. package/dist/node/associations/internal/getTypeByIdsQuery.js.map +1 -0
  241. package/dist/node/associations/internal/getTypeFromAssociationType.js +22 -0
  242. package/dist/node/associations/internal/getTypeFromAssociationType.js.map +1 -0
  243. package/dist/node/associations/internal/getTypeWithKeywordQuery.js +31 -0
  244. package/dist/node/associations/internal/getTypeWithKeywordQuery.js.map +1 -0
  245. package/dist/node/associations/internal/getTypeWithoutKeywordQuery.js +31 -0
  246. package/dist/node/associations/internal/getTypeWithoutKeywordQuery.js.map +1 -0
  247. package/dist/node/associations/listAssociations.js +21 -0
  248. package/dist/node/associations/listAssociations.js.map +1 -0
  249. package/dist/node/associations/removeAssociation.js +21 -0
  250. package/dist/node/associations/removeAssociation.js.map +1 -0
  251. package/dist/node/associations/types.js +4 -0
  252. package/dist/node/associations/types.js.map +1 -0
  253. package/dist/node/content/_internal/ContentSchema.js +19 -0
  254. package/dist/node/content/_internal/ContentSchema.js.map +1 -0
  255. package/dist/node/content/_internal/ContentUiSchemaEdit.js +151 -0
  256. package/dist/node/content/_internal/ContentUiSchemaEdit.js.map +1 -0
  257. package/dist/node/content/_internal/ContentUiSchemaSettings.js +62 -0
  258. package/dist/node/content/_internal/ContentUiSchemaSettings.js.map +1 -0
  259. package/dist/node/content/_internal/computeProps.js +62 -0
  260. package/dist/node/content/_internal/computeProps.js.map +1 -0
  261. package/dist/node/content/hostedServiceUtils.js +98 -0
  262. package/dist/node/content/hostedServiceUtils.js.map +1 -0
  263. package/dist/node/core/EntityEditor.js +60 -0
  264. package/dist/node/core/EntityEditor.js.map +1 -0
  265. package/dist/node/core/behaviors/IWIthAssociationBehavior.js +3 -0
  266. package/dist/node/core/behaviors/IWIthAssociationBehavior.js.map +1 -0
  267. package/dist/node/core/behaviors/IWithFollowersBehavior.js +3 -0
  268. package/dist/node/core/behaviors/IWithFollowersBehavior.js.map +1 -0
  269. package/dist/node/core/enrichEntity.js +69 -0
  270. package/dist/node/core/enrichEntity.js.map +1 -0
  271. package/dist/node/core/schemas/getEditorConfig.js +17 -0
  272. package/dist/node/core/schemas/getEditorConfig.js.map +1 -0
  273. package/dist/node/core/schemas/internal/ConfigurableEntity.js +3 -0
  274. package/dist/node/core/schemas/internal/ConfigurableEntity.js.map +1 -0
  275. package/dist/node/core/schemas/internal/configOptionHelpers.js +91 -0
  276. package/dist/node/core/schemas/internal/configOptionHelpers.js.map +1 -0
  277. package/dist/node/core/schemas/internal/getCategoryItems.js +38 -0
  278. package/dist/node/core/schemas/internal/getCategoryItems.js.map +1 -0
  279. package/dist/node/core/schemas/internal/getConfigOptions.js +19 -0
  280. package/dist/node/core/schemas/internal/getConfigOptions.js.map +1 -0
  281. package/dist/node/core/schemas/internal/getEditorConfigOptions.js +41 -0
  282. package/dist/node/core/schemas/internal/getEditorConfigOptions.js.map +1 -0
  283. package/dist/node/core/schemas/internal/getEntityEditorSchemas.js +97 -0
  284. package/dist/node/core/schemas/internal/getEntityEditorSchemas.js.map +1 -0
  285. package/dist/node/core/schemas/internal/getFeaturedContentCatalogs.js +25 -0
  286. package/dist/node/core/schemas/internal/getFeaturedContentCatalogs.js.map +1 -0
  287. package/dist/node/core/schemas/internal/getFeaturedImageUrl.js +15 -0
  288. package/dist/node/core/schemas/internal/getFeaturedImageUrl.js.map +1 -0
  289. package/dist/node/core/schemas/internal/getLocationExtent.js +15 -0
  290. package/dist/node/core/schemas/internal/getLocationExtent.js.map +1 -0
  291. package/dist/node/core/schemas/internal/getLocationOptions.js +68 -0
  292. package/dist/node/core/schemas/internal/getLocationOptions.js.map +1 -0
  293. package/dist/node/core/schemas/internal/getSharableGroupsComboBoxItems.js +31 -0
  294. package/dist/node/core/schemas/internal/getSharableGroupsComboBoxItems.js.map +1 -0
  295. package/dist/node/core/schemas/internal/getTagItems.js +65 -0
  296. package/dist/node/core/schemas/internal/getTagItems.js.map +1 -0
  297. package/dist/node/core/traits/IWithAssociations.js +3 -0
  298. package/dist/node/core/traits/IWithAssociations.js.map +1 -0
  299. package/dist/node/core/traits/IWithFollowers.js +3 -0
  300. package/dist/node/core/traits/IWithFollowers.js.map +1 -0
  301. package/dist/node/core/types/HubEntityEditor.js +3 -0
  302. package/dist/node/core/types/HubEntityEditor.js.map +1 -0
  303. package/dist/node/core/types/IHubGroup.js +3 -0
  304. package/dist/node/core/types/IHubGroup.js.map +1 -0
  305. package/dist/node/discussions/api/channels/channels.js +18 -0
  306. package/dist/node/discussions/api/channels/channels.js.map +1 -0
  307. package/dist/node/discussions/api/channels/index.js +5 -0
  308. package/dist/node/discussions/api/channels/index.js.map +1 -0
  309. package/dist/node/discussions/api/index.js +6 -0
  310. package/dist/node/discussions/api/index.js.map +1 -0
  311. package/dist/node/discussions/api/request.js +24 -0
  312. package/dist/node/discussions/api/request.js.map +1 -0
  313. package/dist/node/discussions/api/types.js +248 -0
  314. package/dist/node/discussions/api/types.js.map +1 -0
  315. package/dist/node/discussions/api/utils/request.js +83 -0
  316. package/dist/node/discussions/api/utils/request.js.map +1 -0
  317. package/dist/node/features/_internal/checkCapabilityAccess.js +54 -0
  318. package/dist/node/features/_internal/checkCapabilityAccess.js.map +1 -0
  319. package/dist/node/features/_internal/checkFeatureAccess.js +99 -0
  320. package/dist/node/features/_internal/checkFeatureAccess.js.map +1 -0
  321. package/dist/node/features/_internal/index.js +3 -0
  322. package/dist/node/features/_internal/index.js.map +1 -0
  323. package/dist/node/features/checkFeature.js +111 -0
  324. package/dist/node/features/checkFeature.js.map +1 -0
  325. package/dist/node/features/index.js +8 -0
  326. package/dist/node/features/index.js.map +1 -0
  327. package/dist/node/features/types.js +32 -0
  328. package/dist/node/features/types.js.map +1 -0
  329. package/dist/node/groups/HubGroup.js +262 -0
  330. package/dist/node/groups/HubGroup.js.map +1 -0
  331. package/dist/node/groups/_internal/AddOrInviteUsersToGroupUtils.js +205 -0
  332. package/dist/node/groups/_internal/AddOrInviteUsersToGroupUtils.js.map +1 -0
  333. package/dist/node/groups/_internal/GroupBusinessRules.js +97 -0
  334. package/dist/node/groups/_internal/GroupBusinessRules.js.map +1 -0
  335. package/dist/node/groups/_internal/GroupSchema.js +34 -0
  336. package/dist/node/groups/_internal/GroupSchema.js.map +1 -0
  337. package/dist/node/groups/_internal/GroupUiSchemaEdit.js +65 -0
  338. package/dist/node/groups/_internal/GroupUiSchemaEdit.js.map +1 -0
  339. package/dist/node/groups/_internal/GroupUiSchemaSettings.js +49 -0
  340. package/dist/node/groups/_internal/GroupUiSchemaSettings.js.map +1 -0
  341. package/dist/node/groups/_internal/autoAddUsersAsAdmins.js +28 -0
  342. package/dist/node/groups/_internal/autoAddUsersAsAdmins.js.map +1 -0
  343. package/dist/node/groups/_internal/computeProps.js +49 -0
  344. package/dist/node/groups/_internal/computeProps.js.map +1 -0
  345. package/dist/node/groups/_internal/convertGroupToHubGroup.js +18 -0
  346. package/dist/node/groups/_internal/convertGroupToHubGroup.js.map +1 -0
  347. package/dist/node/groups/_internal/convertHubGroupToGroup.js +30 -0
  348. package/dist/node/groups/_internal/convertHubGroupToGroup.js.map +1 -0
  349. package/dist/node/groups/_internal/getPropertyMap.js +44 -0
  350. package/dist/node/groups/_internal/getPropertyMap.js.map +1 -0
  351. package/dist/node/groups/_internal/processAutoAddUsers.js +66 -0
  352. package/dist/node/groups/_internal/processAutoAddUsers.js.map +1 -0
  353. package/dist/node/groups/_internal/processEmailUsers.js +54 -0
  354. package/dist/node/groups/_internal/processEmailUsers.js.map +1 -0
  355. package/dist/node/groups/_internal/processInviteUsers.js +55 -0
  356. package/dist/node/groups/_internal/processInviteUsers.js.map +1 -0
  357. package/dist/node/groups/addOrInviteUsersToGroup.js +71 -0
  358. package/dist/node/groups/addOrInviteUsersToGroup.js.map +1 -0
  359. package/dist/node/groups/addOrInviteUsersToGroups.js +55 -0
  360. package/dist/node/groups/addOrInviteUsersToGroups.js.map +1 -0
  361. package/dist/node/groups/autoAddUsers.js +28 -0
  362. package/dist/node/groups/autoAddUsers.js.map +1 -0
  363. package/dist/node/groups/defaults.js +24 -0
  364. package/dist/node/groups/defaults.js.map +1 -0
  365. package/dist/node/groups/deleteGroupThumbnail.js +18 -0
  366. package/dist/node/groups/deleteGroupThumbnail.js.map +1 -0
  367. package/dist/node/groups/emailOrgUsers.js +33 -0
  368. package/dist/node/groups/emailOrgUsers.js.map +1 -0
  369. package/dist/node/groups/inviteUsers.js +34 -0
  370. package/dist/node/groups/inviteUsers.js.map +1 -0
  371. package/dist/node/groups/setGroupThumbnail.js +36 -0
  372. package/dist/node/groups/setGroupThumbnail.js.map +1 -0
  373. package/dist/node/groups/types/types.js +3 -0
  374. package/dist/node/groups/types/types.js.map +1 -0
  375. package/dist/node/initiatives/_internal/InitiativeUiSchemaCreate.js +137 -0
  376. package/dist/node/initiatives/_internal/InitiativeUiSchemaCreate.js.map +1 -0
  377. package/dist/node/initiatives/view.js +84 -0
  378. package/dist/node/initiatives/view.js.map +1 -0
  379. package/dist/node/items/deleteItemThumbnail.js +18 -0
  380. package/dist/node/items/deleteItemThumbnail.js.map +1 -0
  381. package/dist/node/pages/HubPage.js +205 -0
  382. package/dist/node/pages/HubPage.js.map +1 -0
  383. package/dist/node/pages/_internal/PageSchema.js +34 -0
  384. package/dist/node/pages/_internal/PageSchema.js.map +1 -0
  385. package/dist/node/pages/_internal/PageUiSchemaEdit.js +129 -0
  386. package/dist/node/pages/_internal/PageUiSchemaEdit.js.map +1 -0
  387. package/dist/node/pages/_internal/computeProps.js +49 -0
  388. package/dist/node/pages/_internal/computeProps.js.map +1 -0
  389. package/dist/node/pages/_internal/getPropertyMap.js +24 -0
  390. package/dist/node/pages/_internal/getPropertyMap.js.map +1 -0
  391. package/dist/node/pages/defaults.js +44 -0
  392. package/dist/node/pages/defaults.js.map +1 -0
  393. package/dist/node/permissions/PlatformPermissionPolicies.js +714 -0
  394. package/dist/node/permissions/PlatformPermissionPolicies.js.map +1 -0
  395. package/dist/node/permissions/_internal/PermissionCheckFunction.js +3 -0
  396. package/dist/node/permissions/_internal/PermissionCheckFunction.js.map +1 -0
  397. package/dist/node/permissions/_internal/checkAvailability.js +50 -0
  398. package/dist/node/permissions/_internal/checkAvailability.js.map +1 -0
  399. package/dist/node/permissions/_internal/checkEntityFeature.js +33 -0
  400. package/dist/node/permissions/_internal/checkEntityFeature.js.map +1 -0
  401. package/dist/node/permissions/_internal/checkEnvironment.js +32 -0
  402. package/dist/node/permissions/_internal/checkEnvironment.js.map +1 -0
  403. package/dist/node/permissions/_internal/checkFeature.js +69 -0
  404. package/dist/node/permissions/_internal/checkFeature.js.map +1 -0
  405. package/dist/node/permissions/_internal/checkFeatures.js +46 -0
  406. package/dist/node/permissions/_internal/checkFeatures.js.map +1 -0
  407. package/dist/node/permissions/_internal/checkParents.js +27 -0
  408. package/dist/node/permissions/_internal/checkParents.js.map +1 -0
  409. package/dist/node/permissions/_internal/checkServiceStatus.js +28 -0
  410. package/dist/node/permissions/_internal/checkServiceStatus.js.map +1 -0
  411. package/dist/node/permissions/_internal/processEntityFeatures.js +30 -0
  412. package/dist/node/permissions/_internal/processEntityFeatures.js.map +1 -0
  413. package/dist/node/projects/_internal/getProjectEditorConfigOptions.js +67 -0
  414. package/dist/node/projects/_internal/getProjectEditorConfigOptions.js.map +1 -0
  415. package/dist/node/search/_internal/commonHelpers/getDiscussionsApiDefinition.js +14 -0
  416. package/dist/node/search/_internal/commonHelpers/getDiscussionsApiDefinition.js.map +1 -0
  417. package/dist/node/search/_internal/commonHelpers/shouldUseDiscussionsApi.js +17 -0
  418. package/dist/node/search/_internal/commonHelpers/shouldUseDiscussionsApi.js.map +1 -0
  419. package/dist/node/search/_internal/explainFilter.js +38 -0
  420. package/dist/node/search/_internal/explainFilter.js.map +1 -0
  421. package/dist/node/search/_internal/explainHelpers.js +202 -0
  422. package/dist/node/search/_internal/explainHelpers.js.map +1 -0
  423. package/dist/node/search/_internal/explainPredicate.js +39 -0
  424. package/dist/node/search/_internal/explainPredicate.js.map +1 -0
  425. package/dist/node/search/_internal/getEntityTypeFromType.js +25 -0
  426. package/dist/node/search/_internal/getEntityTypeFromType.js.map +1 -0
  427. package/dist/node/search/_internal/hubSearchChannels.js +140 -0
  428. package/dist/node/search/_internal/hubSearchChannels.js.map +1 -0
  429. package/dist/node/search/_internal/negateGroupPredicates.js +32 -0
  430. package/dist/node/search/_internal/negateGroupPredicates.js.map +1 -0
  431. package/dist/node/search/explainQueryResult.js +57 -0
  432. package/dist/node/search/explainQueryResult.js.map +1 -0
  433. package/dist/node/sites/HubSite.js +2 -1
  434. package/dist/node/sites/HubSite.js.map +1 -1
  435. package/dist/node/sites/_internal/SiteUiSchemaFollowers.js +59 -0
  436. package/dist/node/sites/_internal/SiteUiSchemaFollowers.js.map +1 -0
  437. package/dist/node/sites/_internal/_migrate-summary-stat-card-configs.js +192 -0
  438. package/dist/node/sites/_internal/_migrate-summary-stat-card-configs.js.map +1 -0
  439. package/dist/node/sites/_internal/applyCatalogStructureMigration.js +43 -0
  440. package/dist/node/sites/_internal/applyCatalogStructureMigration.js.map +1 -0
  441. package/dist/node/sites/_internal/applyDefaultCollectionMigration.js +96 -0
  442. package/dist/node/sites/_internal/applyDefaultCollectionMigration.js.map +1 -0
  443. package/dist/node/sites/_internal/capabilities/capabilityToFeatureMap.js +34 -0
  444. package/dist/node/sites/_internal/capabilities/capabilityToFeatureMap.js.map +1 -0
  445. package/dist/node/sites/_internal/capabilities/convertFeaturesToLegacyCapabilities.js +49 -0
  446. package/dist/node/sites/_internal/capabilities/convertFeaturesToLegacyCapabilities.js.map +1 -0
  447. package/dist/node/sites/_internal/capabilities/migrateLegacyCapabilitiesToFeatures.js +37 -0
  448. package/dist/node/sites/_internal/capabilities/migrateLegacyCapabilitiesToFeatures.js.map +1 -0
  449. package/dist/node/sites/_internal/capabilities/types.js +3 -0
  450. package/dist/node/sites/_internal/capabilities/types.js.map +1 -0
  451. package/dist/node/sites/_internal/convertCatalogToLegacyFormat.js +37 -0
  452. package/dist/node/sites/_internal/convertCatalogToLegacyFormat.js.map +1 -0
  453. package/dist/node/sites/_internal/reflectCollectionsToSearchCategories.js +59 -0
  454. package/dist/node/sites/_internal/reflectCollectionsToSearchCategories.js.map +1 -0
  455. package/dist/node/sites/_internal/types.js +14 -0
  456. package/dist/node/sites/_internal/types.js.map +1 -0
  457. package/dist/node/urls/cacheBustUrl.js +16 -0
  458. package/dist/node/urls/cacheBustUrl.js.map +1 -0
  459. package/dist/node/urls/getCardModelUrl.js +81 -0
  460. package/dist/node/urls/getCardModelUrl.js.map +1 -0
  461. package/dist/node/users/view.js +74 -0
  462. package/dist/node/users/view.js.map +1 -0
  463. package/dist/node/utils/getEnvironmentFromPortalUrl.js +24 -0
  464. package/dist/node/utils/getEnvironmentFromPortalUrl.js.map +1 -0
  465. package/dist/types/associations/addAssociation.d.ts +9 -0
  466. package/dist/types/associations/index.d.ts +4 -0
  467. package/dist/types/associations/internal/getTargetEntityFromAssociationType.d.ts +8 -0
  468. package/dist/types/associations/internal/getTypeByIdsQuery.d.ts +10 -0
  469. package/dist/types/associations/internal/getTypeFromAssociationType.d.ts +7 -0
  470. package/dist/types/associations/internal/getTypeWithKeywordQuery.d.ts +10 -0
  471. package/dist/types/associations/internal/getTypeWithoutKeywordQuery.d.ts +10 -0
  472. package/dist/types/associations/listAssociations.d.ts +8 -0
  473. package/dist/types/associations/removeAssociation.d.ts +9 -0
  474. package/dist/types/associations/types.d.ts +19 -0
  475. package/dist/types/content/_internal/ContentSchema.d.ts +7 -0
  476. package/dist/types/content/_internal/ContentUiSchemaEdit.d.ts +10 -0
  477. package/dist/types/content/_internal/ContentUiSchemaSettings.d.ts +10 -0
  478. package/dist/types/content/_internal/computeProps.d.ts +9 -0
  479. package/dist/types/content/hostedServiceUtils.d.ts +35 -0
  480. package/dist/types/core/EntityEditor.d.ts +13 -0
  481. package/dist/types/core/behaviors/IWIthAssociationBehavior.d.ts +23 -0
  482. package/dist/types/core/behaviors/IWithFollowersBehavior.d.ts +15 -0
  483. package/dist/types/core/enrichEntity.d.ts +16 -0
  484. package/dist/types/core/schemas/getEditorConfig.d.ts +13 -0
  485. package/dist/types/core/schemas/internal/ConfigurableEntity.d.ts +4 -0
  486. package/dist/types/core/schemas/internal/configOptionHelpers.d.ts +6 -0
  487. package/dist/types/core/schemas/internal/getCategoryItems.d.ts +11 -0
  488. package/dist/types/core/schemas/internal/getConfigOptions.d.ts +12 -0
  489. package/dist/types/core/schemas/internal/getEditorConfigOptions.d.ts +11 -0
  490. package/dist/types/core/schemas/internal/getEntityEditorSchemas.d.ts +15 -0
  491. package/dist/types/core/schemas/internal/getFeaturedContentCatalogs.d.ts +8 -0
  492. package/dist/types/core/schemas/internal/getFeaturedImageUrl.d.ts +3 -0
  493. package/dist/types/core/schemas/internal/getLocationExtent.d.ts +7 -0
  494. package/dist/types/core/schemas/internal/getLocationOptions.d.ts +16 -0
  495. package/dist/types/core/schemas/internal/getSharableGroupsComboBoxItems.d.ts +7 -0
  496. package/dist/types/core/schemas/internal/getTagItems.d.ts +12 -0
  497. package/dist/types/core/traits/IWithAssociations.d.ts +4 -0
  498. package/dist/types/core/traits/IWithFollowers.d.ts +7 -0
  499. package/dist/types/core/types/HubEntityEditor.d.ts +11 -0
  500. package/dist/types/core/types/IHubGroup.d.ts +109 -0
  501. package/dist/types/discussions/api/channels/channels.d.ts +10 -0
  502. package/dist/types/discussions/api/channels/index.d.ts +1 -0
  503. package/dist/types/discussions/api/index.d.ts +2 -0
  504. package/dist/types/discussions/api/request.d.ts +11 -0
  505. package/dist/types/discussions/api/types.d.ts +1007 -0
  506. package/dist/types/discussions/api/utils/request.d.ts +25 -0
  507. package/dist/types/features/_internal/checkCapabilityAccess.d.ts +0 -0
  508. package/dist/types/features/_internal/checkFeatureAccess.d.ts +0 -0
  509. package/dist/types/features/_internal/index.d.ts +0 -0
  510. package/dist/types/features/checkFeature.d.ts +10 -0
  511. package/dist/types/features/index.d.ts +2 -0
  512. package/dist/types/features/types.d.ts +31 -0
  513. package/dist/types/groups/HubGroup.d.ts +114 -0
  514. package/dist/types/groups/_internal/AddOrInviteUsersToGroupUtils.d.ts +82 -0
  515. package/dist/types/groups/_internal/GroupBusinessRules.d.ts +12 -0
  516. package/dist/types/groups/_internal/GroupSchema.d.ts +7 -0
  517. package/dist/types/groups/_internal/GroupUiSchemaEdit.d.ts +10 -0
  518. package/dist/types/groups/_internal/GroupUiSchemaSettings.d.ts +10 -0
  519. package/dist/types/groups/_internal/autoAddUsersAsAdmins.d.ts +13 -0
  520. package/dist/types/groups/_internal/computeProps.d.ts +12 -0
  521. package/dist/types/groups/_internal/convertGroupToHubGroup.d.ts +9 -0
  522. package/dist/types/groups/_internal/convertHubGroupToGroup.d.ts +7 -0
  523. package/dist/types/groups/_internal/getPropertyMap.d.ts +8 -0
  524. package/dist/types/groups/_internal/processAutoAddUsers.d.ts +15 -0
  525. package/dist/types/groups/_internal/processEmailUsers.d.ts +14 -0
  526. package/dist/types/groups/_internal/processInviteUsers.d.ts +13 -0
  527. package/dist/types/groups/addOrInviteUsersToGroup.d.ts +18 -0
  528. package/dist/types/groups/addOrInviteUsersToGroups.d.ts +30 -0
  529. package/dist/types/groups/autoAddUsers.d.ts +14 -0
  530. package/dist/types/groups/defaults.d.ts +11 -0
  531. package/dist/types/groups/deleteGroupThumbnail.d.ts +9 -0
  532. package/dist/types/groups/emailOrgUsers.d.ts +15 -0
  533. package/dist/types/groups/inviteUsers.d.ts +17 -0
  534. package/dist/types/groups/setGroupThumbnail.d.ts +9 -0
  535. package/dist/types/groups/types/types.d.ts +72 -0
  536. package/dist/types/initiatives/_internal/InitiativeUiSchemaCreate.d.ts +13 -0
  537. package/dist/types/initiatives/view.d.ts +19 -0
  538. package/dist/types/items/deleteItemThumbnail.d.ts +9 -0
  539. package/dist/types/pages/HubPage.d.ts +71 -0
  540. package/dist/types/pages/_internal/PageSchema.d.ts +7 -0
  541. package/dist/types/pages/_internal/PageUiSchemaEdit.d.ts +10 -0
  542. package/dist/types/pages/_internal/computeProps.d.ts +12 -0
  543. package/dist/types/pages/_internal/getPropertyMap.d.ts +8 -0
  544. package/dist/types/pages/defaults.d.ts +13 -0
  545. package/dist/types/permissions/PlatformPermissionPolicies.d.ts +9 -0
  546. package/dist/types/permissions/_internal/PermissionCheckFunction.d.ts +7 -0
  547. package/dist/types/permissions/_internal/checkAvailability.d.ts +13 -0
  548. package/dist/types/permissions/_internal/checkEntityFeature.d.ts +4 -0
  549. package/dist/types/permissions/_internal/checkEnvironment.d.ts +13 -0
  550. package/dist/types/permissions/_internal/checkFeature.d.ts +16 -0
  551. package/dist/types/permissions/_internal/checkFeatures.d.ts +10 -0
  552. package/dist/types/permissions/_internal/checkParents.d.ts +12 -0
  553. package/dist/types/permissions/_internal/checkServiceStatus.d.ts +4 -0
  554. package/dist/types/permissions/_internal/processEntityFeatures.d.ts +9 -0
  555. package/dist/types/projects/_internal/getProjectEditorConfigOptions.d.ts +10 -0
  556. package/dist/types/search/_internal/commonHelpers/getDiscussionsApiDefinition.d.ts +2 -0
  557. package/dist/types/search/_internal/commonHelpers/shouldUseDiscussionsApi.d.ts +11 -0
  558. package/dist/types/search/_internal/explainFilter.d.ts +11 -0
  559. package/dist/types/search/_internal/explainHelpers.d.ts +38 -0
  560. package/dist/types/search/_internal/explainPredicate.d.ts +12 -0
  561. package/dist/types/search/_internal/getEntityTypeFromType.d.ts +9 -0
  562. package/dist/types/search/_internal/hubSearchChannels.d.ts +30 -0
  563. package/dist/types/search/_internal/negateGroupPredicates.d.ts +9 -0
  564. package/dist/types/search/explainQueryResult.d.ts +102 -0
  565. package/dist/types/sites/_internal/SiteUiSchemaFollowers.d.ts +11 -0
  566. package/dist/types/sites/_internal/_migrate-summary-stat-card-configs.d.ts +9 -0
  567. package/dist/types/sites/_internal/applyCatalogStructureMigration.d.ts +11 -0
  568. package/dist/types/sites/_internal/applyDefaultCollectionMigration.d.ts +21 -0
  569. package/dist/types/sites/_internal/capabilities/capabilityToFeatureMap.d.ts +14 -0
  570. package/dist/types/sites/_internal/capabilities/convertFeaturesToLegacyCapabilities.d.ts +19 -0
  571. package/dist/types/sites/_internal/capabilities/migrateLegacyCapabilitiesToFeatures.d.ts +12 -0
  572. package/dist/types/sites/_internal/capabilities/types.d.ts +29 -0
  573. package/dist/types/sites/_internal/convertCatalogToLegacyFormat.d.ts +11 -0
  574. package/dist/types/sites/_internal/reflectCollectionsToSearchCategories.d.ts +11 -0
  575. package/dist/types/sites/_internal/types.d.ts +8 -0
  576. package/dist/types/urls/cacheBustUrl.d.ts +5 -0
  577. package/dist/types/urls/getCardModelUrl.d.ts +21 -0
  578. package/dist/types/users/view.d.ts +9 -0
  579. package/dist/types/utils/getEnvironmentFromPortalUrl.d.ts +2 -0
  580. package/package.json +1 -1
@@ -0,0 +1,188 @@
1
+ import { setProp, getProp } from "../../objects";
2
+ import { cloneObject, createId } from "../../util";
3
+ /**
4
+ * Reconfigure summary stat card properties to align with the
5
+ * new web component card.
6
+ * @private
7
+ * @param {Object} model Site Model
8
+ * @returns {Object}
9
+ */
10
+ export function _migrateSummaryStatCardConfigs(model) {
11
+ // attempt migration for 1.7 schema version
12
+ const migratedModel = _migrateSummaryStatSchemaVersion1_7(model);
13
+ return migratedModel;
14
+ }
15
+ function _migrateSummaryStatSchemaVersion1_7(model) {
16
+ // do nothing if migration already applied
17
+ if (getProp(model, "item.properties.schemaVersion") >= 1.7)
18
+ return model;
19
+ // apply migration
20
+ const clone = cloneObject(model);
21
+ 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) => {
22
+ var _a;
23
+ if (card.component.name === "summary-statistic-card") {
24
+ const values = card.component.settings;
25
+ const expressionSet = whereToExpressionSet(values.where);
26
+ card.component.settings = {
27
+ type: "dynamic",
28
+ cardTitle: values.title,
29
+ dynamicMetric: {
30
+ itemId: [values.itemId],
31
+ layerId: (_a = values.layerId) === null || _a === void 0 ? void 0 : _a.toString(),
32
+ field: values.statFieldName,
33
+ fieldType: values.statFieldType,
34
+ statistic: values.statType,
35
+ serviceUrl: getServiceUrl(values.url),
36
+ expressionSet,
37
+ allowExpressionSet: !!expressionSet.length,
38
+ },
39
+ serverTimeout: values.timeout,
40
+ textAlign: migrateTextAlign(values.statValueAlign),
41
+ valueColor: values.statValueColor === null
42
+ ? undefined
43
+ : values.statValueColor,
44
+ trailingText: values.trailingText,
45
+ cardId: values.cardId || createId(),
46
+ // did not exist on old stat card
47
+ allowUnitFormatting: false,
48
+ allowLink: false,
49
+ };
50
+ }
51
+ return card;
52
+ }) }))) })));
53
+ setProp("item.properties.schemaVersion", 1.7, clone);
54
+ return clone;
55
+ }
56
+ function getServiceUrl(url) {
57
+ let serviceUrl = url;
58
+ // url has layer id at end
59
+ if ((url === null || url === void 0 ? void 0 : url.lastIndexOf("FeatureServer")) > -1) {
60
+ serviceUrl = url.slice(0, url.lastIndexOf("FeatureServer") + 13);
61
+ // url has layer id at end
62
+ }
63
+ else if ((url === null || url === void 0 ? void 0 : url.lastIndexOf("MapServer")) > -1) {
64
+ serviceUrl = url.slice(0, url.lastIndexOf("MapServer") + 9);
65
+ }
66
+ return serviceUrl;
67
+ }
68
+ function migrateTextAlign(align) {
69
+ switch (align) {
70
+ case "center":
71
+ return "center";
72
+ case "right":
73
+ return "end";
74
+ case "left":
75
+ default:
76
+ return "start";
77
+ }
78
+ }
79
+ /**
80
+ * Takes a where clause from a summary statistic card and transforms it into
81
+ * the new expression set array for usage in the new summary stat card.
82
+ *
83
+ * This is a brittle function to be used just for the migration of the <=1.6 of the summary stat card into
84
+ * the 1.7 version of the summary stat card.
85
+ * @param where A where clause as a string. Ex: "Category = 'abc' AND date <= TIMESTAMP '2023-01-01 00:00:00"
86
+ * @returns IExpression[] expression set of the where clause, broken down into individual expressions
87
+ */
88
+ function whereToExpressionSet(where) {
89
+ let expressionSet = [];
90
+ if (where) {
91
+ const whereClauses = where.split("AND"); // what happens if a user puts "AND" as the matching value?
92
+ expressionSet = whereClauses
93
+ .map((clause) => {
94
+ let expression;
95
+ // could be number or date
96
+ if (clause.includes(">=")) {
97
+ const { fieldName, value } = handleClauseSplit(clause, ">=");
98
+ let finalValue = value;
99
+ let fieldType;
100
+ // handle date
101
+ if (value.includes("TIMESTAMP")) {
102
+ finalValue = handleDateInClause(value);
103
+ fieldType = "esriFieldTypeDate";
104
+ }
105
+ expression = makeExpression(fieldName, fieldType, [finalValue]);
106
+ }
107
+ // could be number or date AND value is second in values array
108
+ else if (clause.includes("<=")) {
109
+ const { fieldName, value } = handleClauseSplit(clause, "<=");
110
+ let finalValue = value;
111
+ let fieldType;
112
+ // handle date
113
+ if (value.includes("TIMESTAMP")) {
114
+ finalValue = handleDateInClause(value);
115
+ fieldType = "esriFieldTypeDate";
116
+ }
117
+ expression = makeExpression(fieldName, fieldType, [
118
+ undefined,
119
+ finalValue,
120
+ ]);
121
+ }
122
+ // string match
123
+ else if (clause.includes("=") && clause !== "1=1") {
124
+ const { fieldName, value } = handleClauseSplit(clause, "=");
125
+ const cleanedValue = removeQuotesAroundValue(value);
126
+ expression = makeExpression(fieldName, "esriFieldTypeString", [
127
+ cleanedValue,
128
+ ]);
129
+ }
130
+ return expression;
131
+ })
132
+ .filter((ex) => !!ex);
133
+ }
134
+ return expressionSet;
135
+ }
136
+ /**
137
+ * Splits a clause by a given parameter.
138
+ * @param clause String to split into pieces
139
+ * @param splitBy How to split the string
140
+ * @returns The field name and value from the clause, split
141
+ */
142
+ function handleClauseSplit(clause, splitBy) {
143
+ const pieces = clause.split(splitBy);
144
+ const fieldName = pieces[0].trim();
145
+ const value = pieces[1].trim();
146
+ return { fieldName, value };
147
+ }
148
+ /**
149
+ * Takes a piece of a where clause with a date in it, and extracts just the YYYY-MM-DD.
150
+ * @param value - where clause piece with value
151
+ * @returns YYYY-MM-DD as string
152
+ */
153
+ function handleDateInClause(value) {
154
+ const dateAndTimePieces = value.split("'");
155
+ const dateAndTime = dateAndTimePieces[1].trim();
156
+ const date = dateAndTime.split(" ")[0].trim();
157
+ return date;
158
+ }
159
+ /**
160
+ * Makes an expression for the expression set.
161
+ * @param fieldName Name of IField
162
+ * @param fieldType Type of IField
163
+ * @param values Values in clause
164
+ * @returns IExpression to be used in an expression set.
165
+ */
166
+ function makeExpression(fieldName, fieldType, values) {
167
+ const field = {
168
+ name: fieldName,
169
+ };
170
+ if (fieldType) {
171
+ field.type = fieldType;
172
+ }
173
+ const expression = {
174
+ field,
175
+ values,
176
+ };
177
+ return expression;
178
+ }
179
+ /**
180
+ * Removes single quotes around a value. Used to remove the leading and trailing
181
+ * single quotes around a string value for a where clause.
182
+ * @param value string value with single quotes around it
183
+ * @returns string value without leading or trailing single quotes
184
+ */
185
+ function removeQuotesAroundValue(value) {
186
+ return value.replace(/^\'+|\'+$/g, "");
187
+ }
188
+ //# 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,39 @@
1
+ /**
2
+ * Add the default catalog structure to the Site model
3
+ * Note: This in-memory migration is only applies via `fetchSite(..):IHubSite` and not
4
+ * the older `getSiteById(...):IModel`. Changes made in this migration will not be
5
+ * persisted to AGO until all other parts of the application stop relying on the legacy
6
+ * catalog implementation
7
+ * @param model
8
+ * @returns
9
+ */
10
+ export function applyCatalogStructureMigration(model) {
11
+ let siteCatalog = model.data.catalog || {};
12
+ // This _shouldn't_ happen, but some of our testing sites might have this
13
+ // migration already persisted in AGO. In that case, we ignore and move on
14
+ if (!siteCatalog.schemaVersion) {
15
+ const groups = siteCatalog.groups || [];
16
+ siteCatalog = {
17
+ schemaVersion: 1,
18
+ title: "Default Site Catalog",
19
+ scopes: {
20
+ item: {
21
+ targetEntity: "item",
22
+ filters: [],
23
+ },
24
+ },
25
+ collections: [],
26
+ };
27
+ // groups are used to set the item scope for the whole catalog
28
+ siteCatalog.scopes.item.filters.push({
29
+ predicates: [
30
+ {
31
+ group: [...groups],
32
+ },
33
+ ],
34
+ });
35
+ model.data.catalog = siteCatalog;
36
+ }
37
+ return model;
38
+ }
39
+ //# 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,MAAM,UAAU,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"}
@@ -0,0 +1,92 @@
1
+ import { SearchCategories } from "./types";
2
+ /**
3
+ * In-Memory migration that adds default collections to site models that have the
4
+ * new catalog structure. These default collections will have the same names and
5
+ * display order found in `site.data.values.searchCategories`
6
+ *
7
+ * This migration simplifies display logic, as consuming components no longer
8
+ * have to merge `catalog.collections` with the default collection definitions.
9
+ *
10
+ * This migration also lays the foundation for customization, since editors will
11
+ * be able to modify these persisted default objects. For example, editors can
12
+ * change the default labels, display order, or mark a default as "hidden" so the
13
+ * public can't see it.
14
+ *
15
+ * NOTE: The changes made in this migration will not be persisted to AGO at this time
16
+ *
17
+ * @param model site model to migrate
18
+ * @returns a migrated model with default `IHubCollectionPersistance` objects added
19
+ * to the catalog
20
+ */
21
+ export function applyDefaultCollectionMigration(model) {
22
+ const baseCollectionKeys = [
23
+ // TODO: add 'all' as a wellknown collection and figure out the
24
+ // ramifications of doing so across the app. (or create a new
25
+ // type that includes 'all')
26
+ "all",
27
+ "dataset",
28
+ "document",
29
+ "site",
30
+ "appAndMap",
31
+ ];
32
+ const baseCollectionMap = baseCollectionKeys.reduce((map, key) => {
33
+ map[key] = {
34
+ // We chose to leave the label as "null" for a couple of reasons. First off,
35
+ // the default collection names are supposed to be translated and we don't
36
+ // have access to i18n services here. Second, because we temporarily have to
37
+ // serialize changes from catalog.collections back to site.data.values.searchCategories
38
+ // for backwards compatibility, we need a way to indicate whether a collection's
39
+ // name has been explicitly set or if it is relying on the default translation.
40
+ // As such, we only set the label on the collection object IFF an explicit
41
+ // override text has been configured.
42
+ label: null,
43
+ key,
44
+ include: [],
45
+ targetEntity: "item",
46
+ scope: {
47
+ targetEntity: "item",
48
+ collection: key,
49
+ filters: [],
50
+ },
51
+ };
52
+ return map;
53
+ }, {});
54
+ const searchCategoryToCollection = {
55
+ [SearchCategories.DATA]: "dataset",
56
+ // Unfortunately, the "site" search category has different keys depending on if the catalog
57
+ // was created for a hub basic or hub premium site. As such, we just account for both.
58
+ [SearchCategories.INITIATIVES]: "site",
59
+ [SearchCategories.SITES]: "site",
60
+ [SearchCategories.DOCUMENTS]: "document",
61
+ [SearchCategories.APPS_AND_MAPS]: "appAndMap",
62
+ };
63
+ // Not every site has `data.values.searchCategories` saved, so we have to keep a bare-bones
64
+ // copy of what the default objects are in opendata-ui.
65
+ // NOTE: The `event` search category has been explicitly omitted. While the classic search view
66
+ // allows for the searching of `events`, the new search view does not.
67
+ const DEFAULT_SEARCH_CATEGORIES = [
68
+ { key: SearchCategories.SITES, hidden: true },
69
+ { key: SearchCategories.DATA },
70
+ { key: SearchCategories.DOCUMENTS },
71
+ { key: SearchCategories.APPS_AND_MAPS },
72
+ ];
73
+ const legacySearchCategories = model.data.values.searchCategories || DEFAULT_SEARCH_CATEGORIES;
74
+ const configuredCollections = legacySearchCategories
75
+ // The new search view doesn't currently allow for searching events
76
+ .filter((searchCategory) => searchCategory.key !== SearchCategories.EVENTS)
77
+ // Some sites have a borked `data.values.searchCategories` that explicitly includes the `all`
78
+ // collection. We have this check to catch that and any other weird scenarios.
79
+ .filter((searchCategory) => !!searchCategoryToCollection[searchCategory.key])
80
+ .map((searchCategory) => {
81
+ const collectionKey = searchCategoryToCollection[searchCategory.key];
82
+ const collection = baseCollectionMap[collectionKey];
83
+ collection.label = searchCategory.overrideText || null;
84
+ collection.hidden = searchCategory.hidden;
85
+ return collection;
86
+ });
87
+ // the "all" collection always goes first
88
+ configuredCollections.unshift(baseCollectionMap.all);
89
+ model.data.catalog.collections = configuredCollections;
90
+ return model;
91
+ }
92
+ //# sourceMappingURL=applyDefaultCollectionMigration.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"applyDefaultCollectionMigration.js","sourceRoot":"","sources":["../../../../src/sites/_internal/applyDefaultCollectionMigration.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAC;AAE3C;;;;;;;;;;;;;;;;;;GAkBG;AACH,MAAM,UAAU,+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,gBAAgB,CAAC,IAAI,CAAC,EAAE,SAAS;QAClC,2FAA2F;QAC3F,sFAAsF;QACtF,CAAC,gBAAgB,CAAC,WAAW,CAAC,EAAE,MAAM;QACtC,CAAC,gBAAgB,CAAC,KAAK,CAAC,EAAE,MAAM;QAChC,CAAC,gBAAgB,CAAC,SAAS,CAAC,EAAE,UAAU;QACxC,CAAC,gBAAgB,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,gBAAgB,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE;QAC7C,EAAE,GAAG,EAAE,gBAAgB,CAAC,IAAI,EAAE;QAC9B,EAAE,GAAG,EAAE,gBAAgB,CAAC,SAAS,EAAE;QACnC,EAAE,GAAG,EAAE,gBAAgB,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,gBAAgB,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"}
@@ -0,0 +1,31 @@
1
+ /**
2
+ * Returns an array of ICapabilityToFeatureMap objects
3
+ * that define the projection of legacy capabilities
4
+ * to permission features.
5
+ *
6
+ * We use this map to manage foward and backard conversions
7
+ * and migration of legacy capablities to features when a
8
+ * site is fetched or updated
9
+ *
10
+ * NOTE: if you are porting a legacy capability over to
11
+ * workspaces, add it to this map
12
+ */
13
+ export const capabilityToFeatureMap = [
14
+ {
15
+ /**
16
+ * Currently if the hideFollow capability is present
17
+ * on the site capabilities, the app interprets this
18
+ * to mean following is disabled for the site, and
19
+ * thus, in-page action "Follow" buttons are not
20
+ * displayed. Permissions, however, are structured
21
+ * in the positive, meaning that hub:site:feature:follow
22
+ * should return true if following is enabled, and
23
+ * false if it's disabled. We set "negate" to true
24
+ * to handle this forward/backward discrepancy
25
+ */
26
+ capability: "hideFollow",
27
+ feature: "hub:site:feature:follow",
28
+ negate: true,
29
+ },
30
+ ];
31
+ //# 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;AACH,MAAM,CAAC,MAAM,sBAAsB,GAA8B;IAC/D;QACE;;;;;;;;;;WAUG;QACH,UAAU,EAAE,YAAY;QACxB,OAAO,EAAE,yBAAyB;QAClC,MAAM,EAAE,IAAI;KACb;CACF,CAAC"}
@@ -0,0 +1,46 @@
1
+ import { getProp } from "../../../objects/get-prop";
2
+ import { capabilityToFeatureMap } from "./capabilityToFeatureMap";
3
+ import { setProp } from "../../../objects";
4
+ /**
5
+ * Site capabilities are currently saved as an array on the
6
+ * site.data.values.capabilities. We want to migragte these
7
+ * legacy capabilities over to features in the new permissions
8
+ * system; however, we must continue persisting updates to
9
+ * these features in the legacy capabilities array until the
10
+ * existing site capabilities in our application are plumbed
11
+ * to work off of permissions
12
+ *
13
+ * This function is called within updateSite to ensure
14
+ * the legacy capabilities array is kept up-to-date
15
+ *
16
+ * TODO: Remove once site capabilities use permissions
17
+ *
18
+ * @param modelToUpdate
19
+ * @param currentModel
20
+ */
21
+ export const convertFeaturesToLegacyCapabilities = (modelToUpdate, currentModel) => {
22
+ let legacyCapabilityFeatureFlags = {};
23
+ // 1. convert legacy capabilities to a feature flag hash
24
+ (getProp(currentModel, "data.values.capabilities") || []).forEach((capability) => {
25
+ legacyCapabilityFeatureFlags[capability] = true;
26
+ });
27
+ // 2. override legacy capabilities that are driven by features
28
+ const features = getProp(modelToUpdate, "data.settings.features") || {};
29
+ legacyCapabilityFeatureFlags = capabilityToFeatureMap.reduce((capabilities, map) => {
30
+ // TODO: remove istanbul exception once we include a
31
+ // legacy capability that satisfies the second condition
32
+ /* istanbul ignore next */
33
+ const featureFlag = map.negate
34
+ ? !features[map.feature]
35
+ : features[map.feature];
36
+ return Object.assign(Object.assign({}, capabilities), { [map.capability]: featureFlag });
37
+ }, legacyCapabilityFeatureFlags);
38
+ // 3. convert legacy capabilities back to an array and persist on model
39
+ const updatedCapabilities = Object.entries(legacyCapabilityFeatureFlags).reduce((acc, [key, value]) => {
40
+ value && acc.push(key);
41
+ return acc;
42
+ }, []);
43
+ setProp("data.values.capabilities", updatedCapabilities, modelToUpdate);
44
+ return modelToUpdate;
45
+ };
46
+ //# sourceMappingURL=convertFeaturesToLegacyCapabilities.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"convertFeaturesToLegacyCapabilities.js","sourceRoot":"","sources":["../../../../../src/sites/_internal/capabilities/convertFeaturesToLegacyCapabilities.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,MAAM,2BAA2B,CAAC;AACpD,OAAO,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAMlE,OAAO,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAE3C;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,CAAC,MAAM,mCAAmC,GAAG,CACjD,aAAqB,EACrB,YAAoB,EACZ,EAAE;IACV,IAAI,4BAA4B,GAAkC,EAAE,CAAC;IAErE,wDAAwD;IACxD,CAAC,OAAO,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,OAAO,CAAC,aAAa,EAAE,wBAAwB,CAAC,IAAI,EAAE,CAAC;IACxE,4BAA4B,GAAG,sBAAsB,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,OAAO,CAAC,0BAA0B,EAAE,mBAAmB,EAAE,aAAa,CAAC,CAAC;IACxE,OAAO,aAAa,CAAC;AACvB,CAAC,CAAC"}
@@ -0,0 +1,34 @@
1
+ import { getProp, setProp } from "../../../objects";
2
+ import { capabilityToFeatureMap } from "./capabilityToFeatureMap";
3
+ /**
4
+ * Site capabilities are currently saved as an array on the
5
+ * site.data.values.capabilities. We want to migragte these
6
+ * legacy capabilities over to features in the new permissions
7
+ * system and expose them on the entity
8
+ *
9
+ * This function is called within fetchSite to ensure all
10
+ * sites have features that are kept up-to-date with the
11
+ * legacy capabilities array
12
+ */
13
+ export const migrateLegacyCapabilitiesToFeatures = (model) => {
14
+ const legacyCapabilityFeatureFlags = {};
15
+ let updatedFeatures = {};
16
+ // 1. convert legacy capabilities to a feature flag hash
17
+ (getProp(model, "data.values.capabilities") || []).forEach((capability) => {
18
+ legacyCapabilityFeatureFlags[capability] = true;
19
+ });
20
+ // 2. update/add features based on the legacy capabilities array
21
+ const currentFeatures = getProp(model, "data.settings.features") || {};
22
+ updatedFeatures = capabilityToFeatureMap.reduce((features, map) => {
23
+ // TODO: remove istanbul exception once we include a
24
+ // legacy capability that satisfies the second condition
25
+ /* istanbul ignore next */
26
+ const capabilityFlag = map.negate
27
+ ? !legacyCapabilityFeatureFlags[map.capability]
28
+ : legacyCapabilityFeatureFlags[map.capability];
29
+ return Object.assign(Object.assign({}, features), { [map.feature]: capabilityFlag });
30
+ }, currentFeatures);
31
+ setProp("data.settings.features", updatedFeatures, model);
32
+ return model;
33
+ };
34
+ //# sourceMappingURL=migrateLegacyCapabilitiesToFeatures.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"migrateLegacyCapabilitiesToFeatures.js","sourceRoot":"","sources":["../../../../../src/sites/_internal/capabilities/migrateLegacyCapabilitiesToFeatures.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAGpD,OAAO,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAOlE;;;;;;;;;GASG;AACH,MAAM,CAAC,MAAM,mCAAmC,GAAG,CAAC,KAAa,EAAU,EAAE;IAC3E,MAAM,4BAA4B,GAAkC,EAAE,CAAC;IACvE,IAAI,eAAe,GAAkB,EAAE,CAAC;IAExC,wDAAwD;IACxD,CAAC,OAAO,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,OAAO,CAAC,KAAK,EAAE,wBAAwB,CAAC,IAAI,EAAE,CAAC;IACvE,eAAe,GAAG,sBAAsB,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,OAAO,CAAC,wBAAwB,EAAE,eAAe,EAAE,KAAK,CAAC,CAAC;IAC1D,OAAO,KAAK,CAAC;AACf,CAAC,CAAC"}
@@ -0,0 +1 @@
1
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../../src/sites/_internal/capabilities/types.ts"],"names":[],"mappings":""}
@@ -0,0 +1,33 @@
1
+ import { getProp } from "../../objects";
2
+ import { getScopeGroupPredicate } from "../../search/utils";
3
+ import { cloneObject } from "../../util";
4
+ /**
5
+ * Converts the migrated catalog of a site model back into a legacy catalog format.
6
+ * As the new catalog format is much more flexible than the legacy format, only supported
7
+ * fields configurations (i.e., group ids) are transferred.
8
+ *
9
+ * @param modelToUpdate modified site model with a migrated catalog
10
+ * @param currentModel currently persisted site model with a legacy catalog
11
+ * @returns site model with any catalog group changes reflected in a legacy format
12
+ */
13
+ export function convertCatalogToLegacyFormat(modelToUpdate, currentModel) {
14
+ const updatedModel = cloneObject(modelToUpdate);
15
+ const updatedItemScope = getProp(modelToUpdate, "data.catalog.scopes.item");
16
+ const updatedGroupPredicate = getScopeGroupPredicate(updatedItemScope);
17
+ if (updatedGroupPredicate) {
18
+ const updatedLegacyCatalog = cloneObject(currentModel.data.catalog);
19
+ // TODO: Do we need to worry about whether predicate.group is an IMatchOption?
20
+ const updatedGroupIds = Array.isArray(updatedGroupPredicate.group)
21
+ ? updatedGroupPredicate.group
22
+ : [updatedGroupPredicate.group];
23
+ updatedLegacyCatalog.groups = updatedGroupIds;
24
+ updatedModel.data.catalog = updatedLegacyCatalog;
25
+ }
26
+ else {
27
+ // This shouldn't happen, but in case something is malformed we protect the data integrity
28
+ // by reverting to the catalog of the most recently fetched model
29
+ updatedModel.data.catalog = cloneObject(currentModel.data.catalog);
30
+ }
31
+ return updatedModel;
32
+ }
33
+ //# sourceMappingURL=convertCatalogToLegacyFormat.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"convertCatalogToLegacyFormat.js","sourceRoot":"","sources":["../../../../src/sites/_internal/convertCatalogToLegacyFormat.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AACxC,OAAO,EAAE,sBAAsB,EAAE,MAAM,oBAAoB,CAAC;AAE5D,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAEzC;;;;;;;;GAQG;AACH,MAAM,UAAU,4BAA4B,CAC1C,aAAqB,EACrB,YAAoB;IAEpB,MAAM,YAAY,GAAG,WAAW,CAAC,aAAa,CAAC,CAAC;IAChD,MAAM,gBAAgB,GAAG,OAAO,CAAC,aAAa,EAAE,0BAA0B,CAAC,CAAC;IAC5E,MAAM,qBAAqB,GAAG,sBAAsB,CAAC,gBAAgB,CAAC,CAAC;IACvE,IAAI,qBAAqB,EAAE;QACzB,MAAM,oBAAoB,GAAG,WAAW,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,WAAW,CAAC,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;KACpE;IACD,OAAO,YAAY,CAAC;AACtB,CAAC"}
@@ -0,0 +1,55 @@
1
+ import { cloneObject } from "../../util";
2
+ import { SearchCategories } from "./types";
3
+ /**
4
+ * Reflects changes from a site model's collections to the `site.data.values.searchCategories`
5
+ * legacy property. This is a needed stop-gap since old search page will coexist for a time with
6
+ * the new workspaces UI and the old search page (among others) still rely on the `searchCategories`
7
+ * construct.
8
+ *
9
+ * @param model a site item model
10
+ * @returns a model with the catalog collections and search categories in sync
11
+ */
12
+ export function reflectCollectionsToSearchCategories(model) {
13
+ const clone = cloneObject(model);
14
+ const collectionToSearchCategory = {
15
+ dataset: SearchCategories.DATA,
16
+ // NOTE: the `searchCategories` construct actually has two possible labels for the
17
+ // `site` collection: "Sites" or "Initiatives". "Sites" is used if a site was created
18
+ // with Hub Basic, "Initiatives" was used if a site was created with Hub Premium.
19
+ // Since the new search page only uses "Sites", we've opted to ignore "Initiatives"
20
+ site: SearchCategories.SITES,
21
+ appAndMap: SearchCategories.APPS_AND_MAPS,
22
+ document: SearchCategories.DOCUMENTS,
23
+ };
24
+ const searchCategoryToQueryParam = {
25
+ [SearchCategories.DATA]: "Dataset",
26
+ [SearchCategories.SITES]: "Site",
27
+ [SearchCategories.APPS_AND_MAPS]: "App,Map",
28
+ [SearchCategories.DOCUMENTS]: "Document",
29
+ };
30
+ const collections = clone.data.catalog.collections;
31
+ const updatedSearchCategories = collections
32
+ // We don't want to persist any non-standard collection as a search category,
33
+ // such as the "all" collection
34
+ .filter((c) => !!collectionToSearchCategory[c.key])
35
+ .map((c) => {
36
+ const searchCategoryKey = collectionToSearchCategory[c.key];
37
+ const updated = {
38
+ hidden: c.hidden,
39
+ key: searchCategoryKey,
40
+ queryParams: {
41
+ collection: searchCategoryToQueryParam[searchCategoryKey],
42
+ },
43
+ };
44
+ // If `c.label` is falsy, we assume that the UI should display the
45
+ // default translated label for that collection. We also assume that if
46
+ // `c.label` _does_ have a value, then it must be a configured override.
47
+ if (c.label) {
48
+ updated.overrideText = c.label;
49
+ }
50
+ return updated;
51
+ });
52
+ clone.data.values.searchCategories = updatedSearchCategories;
53
+ return clone;
54
+ }
55
+ //# sourceMappingURL=reflectCollectionsToSearchCategories.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"reflectCollectionsToSearchCategories.js","sourceRoot":"","sources":["../../../../src/sites/_internal/reflectCollectionsToSearchCategories.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AACzC,OAAO,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAC;AAE3C;;;;;;;;GAQG;AACH,MAAM,UAAU,oCAAoC,CAAC,KAAa;IAChE,MAAM,KAAK,GAAG,WAAW,CAAC,KAAK,CAAC,CAAC;IACjC,MAAM,0BAA0B,GAE5B;QACF,OAAO,EAAE,gBAAgB,CAAC,IAAI;QAC9B,kFAAkF;QAClF,qFAAqF;QACrF,iFAAiF;QACjF,mFAAmF;QACnF,IAAI,EAAE,gBAAgB,CAAC,KAAK;QAC5B,SAAS,EAAE,gBAAgB,CAAC,aAAa;QACzC,QAAQ,EAAE,gBAAgB,CAAC,SAAS;KACrC,CAAC;IAEF,MAAM,0BAA0B,GAC9B;QACE,CAAC,gBAAgB,CAAC,IAAI,CAAC,EAAE,SAAS;QAClC,CAAC,gBAAgB,CAAC,KAAK,CAAC,EAAE,MAAM;QAChC,CAAC,gBAAgB,CAAC,aAAa,CAAC,EAAE,SAAS;QAC3C,CAAC,gBAAgB,CAAC,SAAS,CAAC,EAAE,UAAU;KACzC,CAAC;IACJ,MAAM,WAAW,GACf,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC;IAEjC,MAAM,uBAAuB,GAAG,WAAW;QACzC,6EAA6E;QAC7E,+BAA+B;SAC9B,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,0BAA0B,CAAC,CAAC,CAAC,GAA0B,CAAC,CAAC;SACzE,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;QACT,MAAM,iBAAiB,GACrB,0BAA0B,CAAC,CAAC,CAAC,GAA0B,CAAC,CAAC;QAC3D,MAAM,OAAO,GAAQ;YACnB,MAAM,EAAE,CAAC,CAAC,MAAM;YAChB,GAAG,EAAE,iBAAiB;YACtB,WAAW,EAAE;gBACX,UAAU,EAAE,0BAA0B,CAAC,iBAAiB,CAAC;aAC1D;SACF,CAAC;QAEF,kEAAkE;QAClE,uEAAuE;QACvE,wEAAwE;QACxE,IAAI,CAAC,CAAC,KAAK,EAAE;YACX,OAAO,CAAC,YAAY,GAAG,CAAC,CAAC,KAAK,CAAC;SAChC;QAED,OAAO,OAAO,CAAC;IACjB,CAAC,CAAC,CAAC;IAEL,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,gBAAgB,GAAG,uBAAuB,CAAC;IAC7D,OAAO,KAAK,CAAC;AACf,CAAC"}
@@ -0,0 +1,11 @@
1
+ export var SearchCategories;
2
+ (function (SearchCategories) {
3
+ SearchCategories["DATA"] = "components.search.category_tabs.data";
4
+ SearchCategories["SITES"] = "components.search.category_tabs.sites";
5
+ SearchCategories["DOCUMENTS"] = "components.search.category_tabs.documents";
6
+ SearchCategories["APPS_AND_MAPS"] = "components.search.category_tabs.apps_and_maps";
7
+ // The following entries are currently used, but will be phased out
8
+ SearchCategories["EVENTS"] = "components.search.category_tabs.events";
9
+ SearchCategories["INITIATIVES"] = "components.search.category_tabs.initiatives";
10
+ })(SearchCategories || (SearchCategories = {}));
11
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../src/sites/_internal/types.ts"],"names":[],"mappings":"AAAA,MAAM,CAAN,IAAY,gBASX;AATD,WAAY,gBAAgB;IAC1B,iEAA6C,CAAA;IAC7C,mEAA+C,CAAA;IAC/C,2EAAuD,CAAA;IACvD,mFAA+D,CAAA;IAE/D,mEAAmE;IACnE,qEAAiD,CAAA;IACjD,+EAA2D,CAAA;AAC7D,CAAC,EATW,gBAAgB,KAAhB,gBAAgB,QAS3B"}
@@ -0,0 +1,13 @@
1
+ /**
2
+ * artifically update a query param associated with a url to force
3
+ * the browser to load it from file rather than from cache
4
+ */
5
+ export const cacheBustUrl = (url, param = "v") => {
6
+ if (!url) {
7
+ return url;
8
+ }
9
+ const delimiter = url.indexOf("?") > -1 ? "&" : "?";
10
+ url += `${delimiter}${param}=${new Date().getTime()}`;
11
+ return url;
12
+ };
13
+ //# sourceMappingURL=cacheBustUrl.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cacheBustUrl.js","sourceRoot":"","sources":["../../../src/urls/cacheBustUrl.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,GAAW,EAAE,KAAK,GAAG,GAAG,EAAU,EAAE;IAC/D,IAAI,CAAC,GAAG,EAAE;QACR,OAAO,GAAG,CAAC;KACZ;IAED,MAAM,SAAS,GAAG,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC;IACpD,GAAG,IAAI,GAAG,SAAS,GAAG,KAAK,IAAI,IAAI,IAAI,EAAE,CAAC,OAAO,EAAE,EAAE,CAAC;IAEtD,OAAO,GAAG,CAAC;AACb,CAAC,CAAC"}