@esri/hub-common 14.23.0 → 14.25.0

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 (214) hide show
  1. package/dist/esm/content/_internal/ContentBusinessRules.js +5 -0
  2. package/dist/esm/content/_internal/ContentBusinessRules.js.map +1 -1
  3. package/dist/esm/content/_internal/ContentSchema.js +1 -0
  4. package/dist/esm/content/_internal/ContentSchema.js.map +1 -1
  5. package/dist/esm/content/_internal/ContentUiSchemaDiscussions.js +37 -0
  6. package/dist/esm/content/_internal/ContentUiSchemaDiscussions.js.map +1 -0
  7. package/dist/esm/content/_internal/computeProps.js +2 -0
  8. package/dist/esm/content/_internal/computeProps.js.map +1 -1
  9. package/dist/esm/content/edit.js +3 -0
  10. package/dist/esm/content/edit.js.map +1 -1
  11. package/dist/esm/core/EntityEditor.js +4 -0
  12. package/dist/esm/core/EntityEditor.js.map +1 -1
  13. package/dist/esm/core/fetchHubEntity.js +3 -0
  14. package/dist/esm/core/fetchHubEntity.js.map +1 -1
  15. package/dist/esm/core/getTypeFromEntity.js +6 -0
  16. package/dist/esm/core/getTypeFromEntity.js.map +1 -1
  17. package/dist/esm/core/schemas/internal/getEntityEditorSchemas.js +12 -0
  18. package/dist/esm/core/schemas/internal/getEntityEditorSchemas.js.map +1 -1
  19. package/dist/esm/core/schemas/types.js +2 -0
  20. package/dist/esm/core/schemas/types.js.map +1 -1
  21. package/dist/esm/core/types/HubEntityType.js +1 -0
  22. package/dist/esm/core/types/HubEntityType.js.map +1 -1
  23. package/dist/esm/core/types/IHubInitiativeTemplate.js +1 -0
  24. package/dist/esm/core/types/IHubInitiativeTemplate.js.map +1 -0
  25. package/dist/esm/core/types/index.js +1 -0
  26. package/dist/esm/core/types/index.js.map +1 -1
  27. package/dist/esm/core/updateHubEntity.js +4 -0
  28. package/dist/esm/core/updateHubEntity.js.map +1 -1
  29. package/dist/esm/discussions/_internal/DiscussionSchema.js +1 -0
  30. package/dist/esm/discussions/_internal/DiscussionSchema.js.map +1 -1
  31. package/dist/esm/discussions/_internal/DiscussionUiSchemaEdit.js +0 -23
  32. package/dist/esm/discussions/_internal/DiscussionUiSchemaEdit.js.map +1 -1
  33. package/dist/esm/discussions/_internal/DiscussionUiSchemaSettings.js +37 -0
  34. package/dist/esm/discussions/_internal/DiscussionUiSchemaSettings.js.map +1 -0
  35. package/dist/esm/discussions/utils.js +1 -1
  36. package/dist/esm/discussions/utils.js.map +1 -1
  37. package/dist/esm/groups/HubGroups.js +3 -0
  38. package/dist/esm/groups/HubGroups.js.map +1 -1
  39. package/dist/esm/groups/_internal/GroupBusinessRules.js +5 -0
  40. package/dist/esm/groups/_internal/GroupBusinessRules.js.map +1 -1
  41. package/dist/esm/groups/_internal/GroupSchema.js +3 -1
  42. package/dist/esm/groups/_internal/GroupSchema.js.map +1 -1
  43. package/dist/esm/groups/_internal/GroupUiSchemaDiscussions.js +37 -0
  44. package/dist/esm/groups/_internal/GroupUiSchemaDiscussions.js.map +1 -0
  45. package/dist/esm/groups/_internal/getPropertyMap.js +1 -0
  46. package/dist/esm/groups/_internal/getPropertyMap.js.map +1 -1
  47. package/dist/esm/groups/defaults.js +1 -0
  48. package/dist/esm/groups/defaults.js.map +1 -1
  49. package/dist/esm/index.js +1 -0
  50. package/dist/esm/index.js.map +1 -1
  51. package/dist/esm/initiative-templates/HubInitiativeTemplate.js +192 -0
  52. package/dist/esm/initiative-templates/HubInitiativeTemplate.js.map +1 -0
  53. package/dist/esm/initiative-templates/_internal/InitiativeTemplateBusinessRules.js +72 -0
  54. package/dist/esm/initiative-templates/_internal/InitiativeTemplateBusinessRules.js.map +1 -0
  55. package/dist/esm/initiative-templates/_internal/InitiativeTemplateSchema.js +6 -0
  56. package/dist/esm/initiative-templates/_internal/InitiativeTemplateSchema.js.map +1 -0
  57. package/dist/esm/initiative-templates/_internal/InitiativeTemplateUiSchemaEdit.js +35 -0
  58. package/dist/esm/initiative-templates/_internal/InitiativeTemplateUiSchemaEdit.js.map +1 -0
  59. package/dist/esm/initiative-templates/_internal/computeLinks.js +27 -0
  60. package/dist/esm/initiative-templates/_internal/computeLinks.js.map +1 -0
  61. package/dist/esm/initiative-templates/_internal/computeProps.js +39 -0
  62. package/dist/esm/initiative-templates/_internal/computeProps.js.map +1 -0
  63. package/dist/esm/initiative-templates/_internal/getPropertyMap.js +18 -0
  64. package/dist/esm/initiative-templates/_internal/getPropertyMap.js.map +1 -0
  65. package/dist/esm/initiative-templates/defaults.js +35 -0
  66. package/dist/esm/initiative-templates/defaults.js.map +1 -0
  67. package/dist/esm/initiative-templates/edit.js +96 -0
  68. package/dist/esm/initiative-templates/edit.js.map +1 -0
  69. package/dist/esm/initiative-templates/fetch.js +68 -0
  70. package/dist/esm/initiative-templates/fetch.js.map +1 -0
  71. package/dist/esm/initiative-templates/index.js +5 -0
  72. package/dist/esm/initiative-templates/index.js.map +1 -0
  73. package/dist/esm/initiative-templates/view.js +77 -0
  74. package/dist/esm/initiative-templates/view.js.map +1 -0
  75. package/dist/esm/permissions/HubPermissionPolicies.js +2 -0
  76. package/dist/esm/permissions/HubPermissionPolicies.js.map +1 -1
  77. package/dist/esm/permissions/types/Permission.js +2 -0
  78. package/dist/esm/permissions/types/Permission.js.map +1 -1
  79. package/dist/esm/projects/HubProject.js +1 -1
  80. package/dist/esm/search/hubSearch.js +1 -1
  81. package/dist/esm/search/hubSearch.js.map +1 -1
  82. package/dist/esm/sites/HubSite.js +2 -1
  83. package/dist/esm/sites/HubSite.js.map +1 -1
  84. package/dist/esm/sites/_internal/SiteBusinessRules.js +12 -0
  85. package/dist/esm/sites/_internal/SiteBusinessRules.js.map +1 -1
  86. package/dist/esm/sites/_internal/SiteSchema.js +3 -1
  87. package/dist/esm/sites/_internal/SiteSchema.js.map +1 -1
  88. package/dist/esm/sites/_internal/SiteUiSchemaDiscussions.js +37 -0
  89. package/dist/esm/sites/_internal/SiteUiSchemaDiscussions.js.map +1 -0
  90. package/dist/esm/sites/_internal/capabilities/capabilityToFeatureMap.js +5 -0
  91. package/dist/esm/sites/_internal/capabilities/capabilityToFeatureMap.js.map +1 -1
  92. package/dist/node/content/_internal/ContentBusinessRules.js +5 -0
  93. package/dist/node/content/_internal/ContentBusinessRules.js.map +1 -1
  94. package/dist/node/content/_internal/ContentSchema.js +1 -0
  95. package/dist/node/content/_internal/ContentSchema.js.map +1 -1
  96. package/dist/node/content/_internal/ContentUiSchemaDiscussions.js +40 -0
  97. package/dist/node/content/_internal/ContentUiSchemaDiscussions.js.map +1 -0
  98. package/dist/node/content/_internal/computeProps.js +2 -0
  99. package/dist/node/content/_internal/computeProps.js.map +1 -1
  100. package/dist/node/content/edit.js +3 -0
  101. package/dist/node/content/edit.js.map +1 -1
  102. package/dist/node/core/EntityEditor.js +4 -0
  103. package/dist/node/core/EntityEditor.js.map +1 -1
  104. package/dist/node/core/fetchHubEntity.js +3 -0
  105. package/dist/node/core/fetchHubEntity.js.map +1 -1
  106. package/dist/node/core/getTypeFromEntity.js +6 -0
  107. package/dist/node/core/getTypeFromEntity.js.map +1 -1
  108. package/dist/node/core/schemas/internal/getEntityEditorSchemas.js +12 -0
  109. package/dist/node/core/schemas/internal/getEntityEditorSchemas.js.map +1 -1
  110. package/dist/node/core/schemas/types.js +2 -0
  111. package/dist/node/core/schemas/types.js.map +1 -1
  112. package/dist/node/core/types/HubEntityType.js +1 -0
  113. package/dist/node/core/types/HubEntityType.js.map +1 -1
  114. package/dist/node/core/types/IHubInitiativeTemplate.js +3 -0
  115. package/dist/node/core/types/IHubInitiativeTemplate.js.map +1 -0
  116. package/dist/node/core/types/index.js +1 -0
  117. package/dist/node/core/types/index.js.map +1 -1
  118. package/dist/node/core/updateHubEntity.js +4 -0
  119. package/dist/node/core/updateHubEntity.js.map +1 -1
  120. package/dist/node/discussions/_internal/DiscussionSchema.js +1 -0
  121. package/dist/node/discussions/_internal/DiscussionSchema.js.map +1 -1
  122. package/dist/node/discussions/_internal/DiscussionUiSchemaEdit.js +0 -23
  123. package/dist/node/discussions/_internal/DiscussionUiSchemaEdit.js.map +1 -1
  124. package/dist/node/discussions/_internal/DiscussionUiSchemaSettings.js +40 -0
  125. package/dist/node/discussions/_internal/DiscussionUiSchemaSettings.js.map +1 -0
  126. package/dist/node/discussions/utils.js +1 -1
  127. package/dist/node/discussions/utils.js.map +1 -1
  128. package/dist/node/groups/HubGroups.js +3 -0
  129. package/dist/node/groups/HubGroups.js.map +1 -1
  130. package/dist/node/groups/_internal/GroupBusinessRules.js +5 -0
  131. package/dist/node/groups/_internal/GroupBusinessRules.js.map +1 -1
  132. package/dist/node/groups/_internal/GroupSchema.js +2 -0
  133. package/dist/node/groups/_internal/GroupSchema.js.map +1 -1
  134. package/dist/node/groups/_internal/GroupUiSchemaDiscussions.js +40 -0
  135. package/dist/node/groups/_internal/GroupUiSchemaDiscussions.js.map +1 -0
  136. package/dist/node/groups/_internal/getPropertyMap.js +1 -0
  137. package/dist/node/groups/_internal/getPropertyMap.js.map +1 -1
  138. package/dist/node/groups/defaults.js +1 -0
  139. package/dist/node/groups/defaults.js.map +1 -1
  140. package/dist/node/index.js +1 -0
  141. package/dist/node/index.js.map +1 -1
  142. package/dist/node/initiative-templates/HubInitiativeTemplate.js +196 -0
  143. package/dist/node/initiative-templates/HubInitiativeTemplate.js.map +1 -0
  144. package/dist/node/initiative-templates/_internal/InitiativeTemplateBusinessRules.js +75 -0
  145. package/dist/node/initiative-templates/_internal/InitiativeTemplateBusinessRules.js.map +1 -0
  146. package/dist/node/initiative-templates/_internal/InitiativeTemplateSchema.js +9 -0
  147. package/dist/node/initiative-templates/_internal/InitiativeTemplateSchema.js.map +1 -0
  148. package/dist/node/initiative-templates/_internal/InitiativeTemplateUiSchemaEdit.js +38 -0
  149. package/dist/node/initiative-templates/_internal/InitiativeTemplateUiSchemaEdit.js.map +1 -0
  150. package/dist/node/initiative-templates/_internal/computeLinks.js +31 -0
  151. package/dist/node/initiative-templates/_internal/computeLinks.js.map +1 -0
  152. package/dist/node/initiative-templates/_internal/computeProps.js +43 -0
  153. package/dist/node/initiative-templates/_internal/computeProps.js.map +1 -0
  154. package/dist/node/initiative-templates/_internal/getPropertyMap.js +22 -0
  155. package/dist/node/initiative-templates/_internal/getPropertyMap.js.map +1 -0
  156. package/dist/node/initiative-templates/defaults.js +38 -0
  157. package/dist/node/initiative-templates/defaults.js.map +1 -0
  158. package/dist/node/initiative-templates/edit.js +103 -0
  159. package/dist/node/initiative-templates/edit.js.map +1 -0
  160. package/dist/node/initiative-templates/fetch.js +74 -0
  161. package/dist/node/initiative-templates/fetch.js.map +1 -0
  162. package/dist/node/initiative-templates/index.js +8 -0
  163. package/dist/node/initiative-templates/index.js.map +1 -0
  164. package/dist/node/initiative-templates/view.js +80 -0
  165. package/dist/node/initiative-templates/view.js.map +1 -0
  166. package/dist/node/permissions/HubPermissionPolicies.js +2 -0
  167. package/dist/node/permissions/HubPermissionPolicies.js.map +1 -1
  168. package/dist/node/permissions/types/Permission.js +2 -0
  169. package/dist/node/permissions/types/Permission.js.map +1 -1
  170. package/dist/node/projects/HubProject.js +1 -1
  171. package/dist/node/search/hubSearch.js.map +1 -1
  172. package/dist/node/sites/HubSite.js +2 -1
  173. package/dist/node/sites/HubSite.js.map +1 -1
  174. package/dist/node/sites/_internal/SiteBusinessRules.js +12 -0
  175. package/dist/node/sites/_internal/SiteBusinessRules.js.map +1 -1
  176. package/dist/node/sites/_internal/SiteSchema.js +3 -1
  177. package/dist/node/sites/_internal/SiteSchema.js.map +1 -1
  178. package/dist/node/sites/_internal/SiteUiSchemaDiscussions.js +40 -0
  179. package/dist/node/sites/_internal/SiteUiSchemaDiscussions.js.map +1 -0
  180. package/dist/node/sites/_internal/capabilities/capabilityToFeatureMap.js +5 -0
  181. package/dist/node/sites/_internal/capabilities/capabilityToFeatureMap.js.map +1 -1
  182. package/dist/types/content/_internal/ContentBusinessRules.d.ts +1 -1
  183. package/dist/types/content/_internal/ContentSchema.d.ts +1 -1
  184. package/dist/types/content/_internal/ContentUiSchemaDiscussions.d.ts +10 -0
  185. package/dist/types/core/schemas/types.d.ts +1 -1
  186. package/dist/types/core/types/HubEntityType.d.ts +1 -1
  187. package/dist/types/core/types/IHubGroup.d.ts +4 -0
  188. package/dist/types/core/types/IHubInitiativeTemplate.d.ts +14 -0
  189. package/dist/types/core/types/IHubSite.d.ts +3 -1
  190. package/dist/types/core/types/index.d.ts +1 -0
  191. package/dist/types/discussions/_internal/DiscussionSchema.d.ts +1 -1
  192. package/dist/types/discussions/_internal/DiscussionUiSchemaSettings.d.ts +10 -0
  193. package/dist/types/groups/_internal/GroupBusinessRules.d.ts +1 -1
  194. package/dist/types/groups/_internal/GroupSchema.d.ts +1 -1
  195. package/dist/types/groups/_internal/GroupUiSchemaDiscussions.d.ts +10 -0
  196. package/dist/types/index.d.ts +1 -0
  197. package/dist/types/initiative-templates/HubInitiativeTemplate.d.ts +82 -0
  198. package/dist/types/initiative-templates/_internal/InitiativeTemplateBusinessRules.d.ts +16 -0
  199. package/dist/types/initiative-templates/_internal/InitiativeTemplateSchema.d.ts +4 -0
  200. package/dist/types/initiative-templates/_internal/InitiativeTemplateUiSchemaEdit.d.ts +15 -0
  201. package/dist/types/initiative-templates/_internal/computeLinks.d.ts +12 -0
  202. package/dist/types/initiative-templates/_internal/computeProps.d.ts +12 -0
  203. package/dist/types/initiative-templates/_internal/getPropertyMap.d.ts +7 -0
  204. package/dist/types/initiative-templates/defaults.d.ts +8 -0
  205. package/dist/types/initiative-templates/edit.d.ts +32 -0
  206. package/dist/types/initiative-templates/fetch.d.ts +16 -0
  207. package/dist/types/initiative-templates/index.d.ts +4 -0
  208. package/dist/types/initiative-templates/view.d.ts +20 -0
  209. package/dist/types/permissions/types/Permission.d.ts +2 -1
  210. package/dist/types/sites/_internal/SiteBusinessRules.d.ts +1 -1
  211. package/dist/types/sites/_internal/SiteSchema.d.ts +1 -1
  212. package/dist/types/sites/_internal/SiteUiSchemaDiscussions.d.ts +10 -0
  213. package/dist/types/sites/_internal/capabilities/types.d.ts +1 -1
  214. package/package.json +1 -1
@@ -76,6 +76,10 @@ export interface IHubGroup extends IHubEntityBase, IWithPermissions {
76
76
  * User configurable tags
77
77
  */
78
78
  tags?: string[];
79
+ /**
80
+ * System configurable typekeywords
81
+ */
82
+ typeKeywords?: string[];
79
83
  /**
80
84
  * Group thumbnail url (read-only)
81
85
  */
@@ -0,0 +1,14 @@
1
+ import { IHubItemEntity } from "./IHubItemEntity";
2
+ import { IWithLayout, IWithSlug, IWithCatalog } from "../traits";
3
+ import { IHubItemEntityEditor } from "./IHubItemEntity";
4
+ /** Defines the properties of a Hub Initiative Template object */
5
+ export interface IHubInitiativeTemplate extends IHubItemEntity, IWithSlug, IWithCatalog, IWithLayout {
6
+ previewUrl: string;
7
+ recommendedTemplates: string[];
8
+ siteSolutionId: string;
9
+ }
10
+ /**
11
+ * This type redefines the IHubInitiativeTemplate interface in such a way
12
+ * that it can be consumed by the entity editor.
13
+ */
14
+ export declare type IHubInitiativeTemplateEditor = IHubItemEntityEditor<IHubInitiativeTemplate> & {};
@@ -69,4 +69,6 @@ export interface IHubSite extends IHubItemEntity, IWithSlug, IWithCatalog, IWith
69
69
  /** Legacy teams - list of ids */
70
70
  legacyTeams: string[];
71
71
  }
72
- export declare type IHubSiteEditor = IHubItemEntityEditor<IHubSite> & {};
72
+ export declare type IHubSiteEditor = IHubItemEntityEditor<IHubSite> & {
73
+ _discussions?: boolean;
74
+ };
@@ -11,6 +11,7 @@ export * from "./IHubEvent";
11
11
  export * from "./IHubGroup";
12
12
  export * from "./IHubImage";
13
13
  export * from "./IHubInitiative";
14
+ export * from "./IHubInitiativeTemplate";
14
15
  export * from "./IHubItemEntity";
15
16
  export * from "./IHubLayout";
16
17
  export * from "./IHubLocation";
@@ -1,6 +1,6 @@
1
1
  import { IConfigurationSchema } from "../../core";
2
2
  export declare type DiscussionEditorType = (typeof DiscussionEditorTypes)[number];
3
- export declare const DiscussionEditorTypes: readonly ["hub:discussion:edit", "hub:discussion:create"];
3
+ export declare const DiscussionEditorTypes: readonly ["hub:discussion:edit", "hub:discussion:create", "hub:discussion:settings"];
4
4
  /**
5
5
  * defines the JSON schema for a Discussion's editable fields
6
6
  */
@@ -0,0 +1,10 @@
1
+ import { IHubDiscussion } from "../../core/types";
2
+ import { IArcGISContext } from "../../ArcGISContext";
3
+ import { IUiSchema } from "../../core/schemas/types";
4
+ /**
5
+ * @private
6
+ * settings uiSchema for Hub Discussions - this
7
+ * defines how the schema properties should be
8
+ * rendered in the Discussions settings experience
9
+ */
10
+ export declare const buildUiSchema: (i18nScope: string, entity: IHubDiscussion, context: IArcGISContext) => Promise<IUiSchema>;
@@ -4,7 +4,7 @@ import { IPermissionPolicy } from "../../permissions";
4
4
  * These define the requirements any user must meet to perform related actions
5
5
  * @private
6
6
  */
7
- export declare const GroupPermissions: readonly ["hub:group", "hub:group:create", "hub:group:delete", "hub:group:edit", "hub:group:view", "hub:group:owner", "hub:group:workspace:overview", "hub:group:workspace:dashboard", "hub:group:workspace:details", "hub:group:workspace:settings", "hub:group:workspace:collaborators", "hub:group:workspace:content", "hub:group:workspace:members", "hub:group:shareContent", "hub:group:manage"];
7
+ export declare const GroupPermissions: readonly ["hub:group", "hub:group:create", "hub:group:delete", "hub:group:edit", "hub:group:view", "hub:group:owner", "hub:group:workspace:overview", "hub:group:workspace:dashboard", "hub:group:workspace:details", "hub:group:workspace:discussion", "hub:group:workspace:settings", "hub:group:workspace:collaborators", "hub:group:workspace:content", "hub:group:workspace:members", "hub:group:shareContent", "hub:group:manage"];
8
8
  /**
9
9
  * Group permission policies
10
10
  * @private
@@ -1,6 +1,6 @@
1
1
  import { IConfigurationSchema } from "../../core";
2
2
  export declare type GroupEditorType = (typeof GroupEditorTypes)[number];
3
- export declare const GroupEditorTypes: readonly ["hub:group:edit", "hub:group:settings"];
3
+ export declare const GroupEditorTypes: readonly ["hub:group:edit", "hub:group:settings", "hub:group:discussions"];
4
4
  /**
5
5
  * Defines the JSON schema for a Hub Group's editable fields
6
6
  */
@@ -0,0 +1,10 @@
1
+ import { IHubGroup } from "../../core/types";
2
+ import { IArcGISContext } from "../../ArcGISContext";
3
+ import { IUiSchema } from "../../core/schemas/types";
4
+ /**
5
+ * @private
6
+ * settings uiSchema for Hub Discussions - this
7
+ * defines how the schema properties should be
8
+ * rendered in the Discussions settings experience
9
+ */
10
+ export declare const buildUiSchema: (i18nScope: string, entity: IHubGroup, context: IArcGISContext) => Promise<IUiSchema>;
@@ -12,6 +12,7 @@ export * from "./extent";
12
12
  export * from "./groups";
13
13
  export * from "./i18n";
14
14
  export * from "./initiatives";
15
+ export * from "./initiative-templates";
15
16
  export * from "./discussions";
16
17
  export * from "./items";
17
18
  export * from "./models";
@@ -0,0 +1,82 @@
1
+ import { HubItemEntity } from "../core/HubItemEntity";
2
+ import { IHubInitiativeTemplate, IWithCatalogBehavior, IWithCardBehavior, IConvertToCardModelOpts, IHubCardViewModel, IEntityEditorContext, IHubInitiativeTemplateEditor, HubEntity } from "../core";
3
+ import { IEditorConfig, IWithEditorBehavior } from "../core/behaviors/IWithEditorBehavior";
4
+ import { EditorType } from "../core/schemas/types";
5
+ import { IArcGISContext } from "..";
6
+ import { Catalog } from "../search";
7
+ /**
8
+ * Hub Initiative Template Class
9
+ */
10
+ export declare class HubInitiativeTemplate extends HubItemEntity<IHubInitiativeTemplate> implements IWithCatalogBehavior, IWithEditorBehavior, IWithCardBehavior {
11
+ private _catalog;
12
+ private constructor();
13
+ get catalog(): Catalog;
14
+ /**
15
+ * Create an instance from an IHubInitiativeTemplate object
16
+ * @param json - JSON object to create a HubInitiativeTemplate from
17
+ * @param context - ArcGIS context
18
+ * @returns - instance of HubInitiativeTemplate
19
+ */
20
+ static fromJson(json: Partial<IHubInitiativeTemplate>, context: IArcGISContext): HubInitiativeTemplate;
21
+ /**
22
+ * Create a new HubInitiativeTemplate, returning a HubInitiativeTemplate instance.
23
+ * Note: This does not persist the HubInitiativeTemplate into the backing store
24
+ * @param partialInitiativeTemplate
25
+ * @param context
26
+ * @param save
27
+ * @returns
28
+ */
29
+ static create(partialInitiativeTemplate: Partial<IHubInitiativeTemplate>, context: IArcGISContext, save?: boolean): Promise<HubInitiativeTemplate>;
30
+ /**
31
+ * Fetch a HubInitiativeTemplate from the backing store and return a HubInitiativeTemplate instance.
32
+ * @param identifier - Identifier of the initiative template to load
33
+ * @param context
34
+ */
35
+ static fetch(identifier: string, context: IArcGISContext): Promise<HubInitiativeTemplate>;
36
+ /**
37
+ * Given a partial initiative template, apply defaults to it to ensure that a baseline of properties are set
38
+ * @param partialInitiativeTemplate
39
+ * @param context
40
+ * @returns
41
+ */
42
+ private static applyDefaults;
43
+ /**
44
+ * Convert the project entity into a card view model that can
45
+ * be consumed by the suite of hub gallery components
46
+ * @param opts - view model options
47
+ * @returns
48
+ */
49
+ convertToCardModel(opts?: IConvertToCardModelOpts): IHubCardViewModel;
50
+ /**
51
+ * Get the editor config for the HubInitiativeTemplate entity.
52
+ * @param i18nScope translation scope to be interpolated into the uiSchema
53
+ * @param type editor type -- corresponds to the returned uiSchema
54
+ */
55
+ getEditorConfig(i18nScope: string, type: EditorType): Promise<IEditorConfig>;
56
+ /**
57
+ * Return the initiative template as an editor object
58
+ * @param editorContext
59
+ */
60
+ toEditor(editorContext?: IEntityEditorContext, include?: string[]): Promise<IHubInitiativeTemplateEditor>;
61
+ /**
62
+ * Load the initiative template from the editor object
63
+ * @param editor
64
+ */
65
+ fromEditor(editor: IHubInitiativeTemplateEditor): Promise<HubEntity>;
66
+ /**
67
+ * Apply a new state to the instance
68
+ * @param changes
69
+ */
70
+ update(changes: Partial<IHubInitiativeTemplate>): void;
71
+ /**
72
+ * Save the HubInitiativeTemplate to the backing store.
73
+ * @returns
74
+ */
75
+ save(): Promise<void>;
76
+ /**
77
+ * Delete the HubInitiativeTemplate from the store
78
+ * set a flag to indicate that it is destroyed
79
+ * @returns
80
+ */
81
+ delete(): Promise<void>;
82
+ }
@@ -0,0 +1,16 @@
1
+ import { IFeatureFlags, IPermissionPolicy } from "../../permissions";
2
+ /**
3
+ * Default features for an Initiative Template. These are the features that can be enabled / disabled by the entity owner
4
+ */
5
+ export declare const InitiativeTemplateDefaultFeatures: IFeatureFlags;
6
+ /**
7
+ * Initiative Template Permission Policies
8
+ * These define the requirements any user must meet to perform related actions
9
+ * @private
10
+ */
11
+ export declare const InitiativeTemplatePermissions: readonly ["hub:initiativeTemplate", "hub:initiativeTemplate:create", "hub:initiativeTemplate:delete", "hub:initiativeTemplate:edit", "hub:initiativeTemplate:view", "hub:initiativeTemplate:workspace:overview", "hub:initiativeTemplate:workspace:details", "hub:initiativeTemplate:workspace:collaborators", "hub:initiativeTemplate:workspace:settings", "hub:initiativeTemplate:manage"];
12
+ /**
13
+ * Initiative Template policies
14
+ * @private
15
+ */
16
+ export declare const InitiativeTemplatePermissionPolicies: IPermissionPolicy[];
@@ -0,0 +1,4 @@
1
+ import { IConfigurationSchema } from "../../core";
2
+ export declare type InitiativeTemplateEditorType = (typeof InitiativeTemplateEditorTypes)[number];
3
+ export declare const InitiativeTemplateEditorTypes: readonly ["hub:initiativeTemplate:edit"];
4
+ export declare const InitiativeTemplateSchema: IConfigurationSchema;
@@ -0,0 +1,15 @@
1
+ import { IArcGISContext } from "../..";
2
+ import { IHubInitiativeTemplate } from "../../core";
3
+ import { IUiSchema } from "../../core/schemas/types";
4
+ /**
5
+ * @private
6
+ * constructs the complete edit uiSchema for Hub Initiative Templates.
7
+ * This defines how the schema properties should be rendered
8
+ * in the initiative template editing experience.
9
+ *
10
+ * @param i18nScope
11
+ * @param entity
12
+ * @param context
13
+ * @returns
14
+ */
15
+ export declare const buildUiSchema: (i18nScope: string, entity: IHubInitiativeTemplate, context: IArcGISContext) => Promise<IUiSchema>;
@@ -0,0 +1,12 @@
1
+ import { IRequestOptions } from "@esri/arcgis-rest-request";
2
+ import { IItem } from "@esri/arcgis-rest-types";
3
+ import { IHubEntityLinks } from "../../core";
4
+ /**
5
+ * Compute the links that get appended to a Hub Initiative Template
6
+ * search result and entity
7
+ *
8
+ * @param item
9
+ * @param requestOptions
10
+ * @returns
11
+ */
12
+ export declare function computeLinks(item: IItem, requestOptions: IRequestOptions): IHubEntityLinks;
@@ -0,0 +1,12 @@
1
+ import { IRequestOptions } from "@esri/arcgis-rest-request";
2
+ import { IHubInitiativeTemplate } from "../../core";
3
+ import { IModel } from "../../types";
4
+ /**
5
+ * Given a model and an initiative template, set various computed properties that can't be directly mapped
6
+ * @private
7
+ * @param model
8
+ * @param initiativeTemplate
9
+ * @param requestOptions
10
+ * @returns
11
+ */
12
+ export declare function computeProps(model: IModel, initiativeTemplate: Partial<IHubInitiativeTemplate>, requestOptions: IRequestOptions): IHubInitiativeTemplate;
@@ -0,0 +1,7 @@
1
+ import { IPropertyMap } from "../../core/_internal/PropertyMapper";
2
+ /**
3
+ * @private
4
+ * Returns an Array of IPropertyMap objects
5
+ * that define the projection of properties from an IModel to an IHubInitiativeTemplate
6
+ */
7
+ export declare function getPropertyMap(): IPropertyMap[];
@@ -0,0 +1,8 @@
1
+ import { IHubInitiativeTemplate } from "../core/types/IHubInitiativeTemplate";
2
+ import { IModel } from "../types";
3
+ export declare const HUB_INITIATIVE_TEMPLATE_ITEM_TYPE = "Hub Initiative Template";
4
+ /**
5
+ * Default values of a IHubInitiativeTemplate
6
+ */
7
+ export declare const DEFAULT_INITIATIVE_TEMPLATE: Partial<IHubInitiativeTemplate>;
8
+ export declare const DEFAULT_INITIATIVE_TEMPLATE_MODEL: IModel;
@@ -0,0 +1,32 @@
1
+ import { IUserRequestOptions } from "@esri/arcgis-rest-auth";
2
+ import { IPortal } from "@esri/arcgis-rest-portal";
3
+ import { IHubInitiativeTemplate, IHubInitiativeTemplateEditor } from "../core/types/IHubInitiativeTemplate";
4
+ /**
5
+ * @private
6
+ * Create a new Hub Initiative Template item
7
+ * @param partialInitiativeTemplate
8
+ * @param requestOptions
9
+ * @returns
10
+ */
11
+ export declare function createInitiativeTemplate(partialInitiativeTemplate: Partial<IHubInitiativeTemplate>, requestOptions: IUserRequestOptions): Promise<IHubInitiativeTemplate>;
12
+ /**
13
+ * Convert an IHubInitiativeTemplateEditor back to an IHubInitiativeTemplate
14
+ * @param editor
15
+ * @param portal
16
+ * @returns
17
+ */
18
+ export declare function editorToInitiativeTemplate(editor: IHubInitiativeTemplateEditor, portal: IPortal): IHubInitiativeTemplate;
19
+ /**
20
+ * @private
21
+ * Update a Hub Initiative Template
22
+ * @param initiativeTemplate
23
+ * @param requestOptions
24
+ */
25
+ export declare function updateInitiativeTemplate(initiativeTemplate: IHubInitiativeTemplate, requestOptions: IUserRequestOptions): Promise<IHubInitiativeTemplate>;
26
+ /**
27
+ * @private
28
+ * Remove a Hub Initiative Template
29
+ * @param id
30
+ * @param requestOptions
31
+ */
32
+ export declare function deleteInitiativeTemplate(id: string, requestOptions: IUserRequestOptions): Promise<void>;
@@ -0,0 +1,16 @@
1
+ import { IRequestOptions } from "@esri/arcgis-rest-request";
2
+ import { IItem } from "@esri/arcgis-rest-portal";
3
+ import { IHubInitiativeTemplate } from "../core/types";
4
+ import { IHubSearchResult } from "../search";
5
+ import { IHubRequestOptions } from "../types";
6
+ export declare function fetchInitiativeTemplate(identifier: string, requestOptions: IRequestOptions): Promise<IHubInitiativeTemplate>;
7
+ /**
8
+ * @private
9
+ * Convert a Hub Initiative Template Item into a Hub Initiative Template, feching any additional
10
+ * information that may be required
11
+ * @param item
12
+ * @param requestOptions
13
+ * @returns
14
+ */
15
+ export declare function convertItemToInitiativeTemplate(item: IItem, requestOptions: IRequestOptions): Promise<IHubInitiativeTemplate>;
16
+ export declare function enrichInitiativeTemplateSearchResult(item: IItem, include: string[], requestOptions: IHubRequestOptions): Promise<IHubSearchResult>;
@@ -0,0 +1,4 @@
1
+ export * from "./HubInitiativeTemplate";
2
+ export * from "./edit";
3
+ export * from "./fetch";
4
+ export * from "./view";
@@ -0,0 +1,20 @@
1
+ import { IHubInitiativeTemplate } from "../core/types/IHubInitiativeTemplate";
2
+ import { ResultToCardModelFn, EntityToCardModelFn } from "../core/types/IHubCardViewModel";
3
+ /**
4
+ * Convert an initiative template entity into a card view model that can
5
+ * be consumed by the suite of hub gallery components
6
+ *
7
+ * @param initiativeTemplate initiative template entity
8
+ * @param context auth & portal information
9
+ * @param opts view model options
10
+ * @returns
11
+ */
12
+ export declare const initiativeTemplateToCardModel: EntityToCardModelFn<IHubInitiativeTemplate>;
13
+ /**
14
+ * Convert an initiative template hub search result into a card view model that
15
+ * can be consumed by the suite of hub gallery components
16
+ *
17
+ * @param searchResult hub initiative template search result
18
+ * @param opts view model options
19
+ */
20
+ export declare const initiativeTemplateResultToCardModel: ResultToCardModelFn;
@@ -6,6 +6,7 @@ import { ContentPermissions } from "../../content/_internal/ContentBusinessRules
6
6
  import { GroupPermissions } from "../../groups/_internal/GroupBusinessRules";
7
7
  import { PagePermissions } from "../../pages/_internal/PageBusinessRules";
8
8
  import { PlatformPermissions } from "../PlatformPermissionPolicies";
9
+ import { InitiativeTemplatePermissions } from "../../initiative-templates/_internal/InitiativeTemplateBusinessRules";
9
10
  /**
10
11
  * Defines the values for Permissions
11
12
  * It's critical that the arrays defined in the modules use `as const`
@@ -15,7 +16,7 @@ declare const TempPermissions: string[];
15
16
  /**
16
17
  * Defines the possible values for Permissions
17
18
  */
18
- export declare type Permission = (typeof SitePermissions)[number] | (typeof ProjectPermissions)[number] | (typeof InitiativePermissions)[number] | (typeof ContentPermissions)[number] | (typeof GroupPermissions)[number] | (typeof PagePermissions)[number] | (typeof PlatformPermissions)[number] | (typeof TempPermissions)[number] | (typeof DiscussionPermissions)[number];
19
+ export declare type Permission = (typeof SitePermissions)[number] | (typeof ProjectPermissions)[number] | (typeof InitiativePermissions)[number] | (typeof ContentPermissions)[number] | (typeof GroupPermissions)[number] | (typeof PagePermissions)[number] | (typeof PlatformPermissions)[number] | (typeof TempPermissions)[number] | (typeof DiscussionPermissions)[number] | (typeof InitiativeTemplatePermissions)[number];
19
20
  /**
20
21
  * Validate a Permission
21
22
  * @param permission
@@ -7,7 +7,7 @@ export declare const SiteDefaultFeatures: IFeatureFlags;
7
7
  * Site Permissions
8
8
  * This feeds into the Permissions type
9
9
  */
10
- export declare const SitePermissions: readonly ["hub:site", "hub:site:create", "hub:site:delete", "hub:site:edit", "hub:site:view", "hub:site:owner", "hub:site:events", "hub:site:content", "hub:site:discussions", "hub:site:feature:follow", "hub:site:workspace:overview", "hub:site:workspace:dashboard", "hub:site:workspace:details", "hub:site:workspace:settings", "hub:site:workspace:collaborators", "hub:site:workspace:content", "hub:site:workspace:metrics", "hub:site:workspace:followers", "hub:site:workspace:followers:member", "hub:site:workspace:followers:manager", "hub:site:manage"];
10
+ export declare const SitePermissions: readonly ["hub:site", "hub:site:create", "hub:site:delete", "hub:site:edit", "hub:site:view", "hub:site:owner", "hub:site:events", "hub:site:content", "hub:site:discussions", "hub:site:feature:follow", "hub:site:feature:discussions", "hub:site:workspace:overview", "hub:site:workspace:dashboard", "hub:site:workspace:details", "hub:site:workspace:settings", "hub:site:workspace:collaborators", "hub:site:workspace:content", "hub:site:workspace:metrics", "hub:site:workspace:followers", "hub:site:workspace:followers:member", "hub:site:workspace:followers:manager", "hub:site:workspace:discussion", "hub:site:manage"];
11
11
  /**
12
12
  * Site permission policies
13
13
  * @private
@@ -1,6 +1,6 @@
1
1
  import { IConfigurationSchema } from "../../core";
2
2
  export declare type SiteEditorType = (typeof SiteEditorTypes)[number];
3
- export declare const SiteEditorTypes: readonly ["hub:site:edit", "hub:site:create", "hub:site:followers"];
3
+ export declare const SiteEditorTypes: readonly ["hub:site:edit", "hub:site:create", "hub:site:followers", "hub:site:discussions"];
4
4
  /**
5
5
  * defines the JSON schema for a Hub Site's editable fields
6
6
  */
@@ -0,0 +1,10 @@
1
+ import { IHubSite } from "../../core/types";
2
+ import { IArcGISContext } from "../../ArcGISContext";
3
+ import { IUiSchema } from "../../core/schemas/types";
4
+ /**
5
+ * @private
6
+ * settings uiSchema for Hub Discussions - this
7
+ * defines how the schema properties should be
8
+ * rendered in the Discussions settings experience
9
+ */
10
+ export declare const buildUiSchema: (i18nScope: string, entity: IHubSite, context: IArcGISContext) => Promise<IUiSchema>;
@@ -2,7 +2,7 @@ import { SitePermissions } from "../SiteBusinessRules";
2
2
  /**
3
3
  * legacy site capabilities
4
4
  */
5
- export declare type LegacyCapability = "hideFollow";
5
+ export declare type LegacyCapability = "hideFollow" | "disableDiscussions";
6
6
  /**
7
7
  * representation of legacy site capabilities as
8
8
  * feature flags
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@esri/hub-common",
3
- "version": "14.23.0",
3
+ "version": "14.25.0",
4
4
  "description": "Common TypeScript types and utility functions for @esri/hub.js.",
5
5
  "main": "dist/node/index.js",
6
6
  "module": "dist/esm/index.js",