@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
@@ -0,0 +1,40 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.buildUiSchema = void 0;
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
+ exports.buildUiSchema = async (i18nScope, entity, context) => {
11
+ return {
12
+ type: "Layout",
13
+ elements: [
14
+ {
15
+ type: "Section",
16
+ labelKey: `${i18nScope}.sections.discussions.label`,
17
+ elements: [
18
+ {
19
+ labelKey: `${i18nScope}.fields.discussable.label`,
20
+ scope: "/properties/isDiscussable",
21
+ type: "Control",
22
+ options: {
23
+ control: "hub-field-input-radio",
24
+ labels: [
25
+ `{{${i18nScope}.fields.discussable.enabled.label:translate}}`,
26
+ `{{${i18nScope}.fields.discussable.disabled.label:translate}}`,
27
+ ],
28
+ descriptions: [
29
+ `{{${i18nScope}.fields.discussable.enabled.description:translate}}`,
30
+ `{{${i18nScope}.fields.discussable.disabled.description:translate}}`,
31
+ ],
32
+ icons: ["speech-bubbles", "circle-disallowed"],
33
+ },
34
+ },
35
+ ],
36
+ },
37
+ ],
38
+ };
39
+ };
40
+ //# sourceMappingURL=GroupUiSchemaDiscussions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"GroupUiSchemaDiscussions.js","sourceRoot":"","sources":["../../../../src/groups/_internal/GroupUiSchemaDiscussions.ts"],"names":[],"mappings":";;;AAGA;;;;;GAKG;AACU,QAAA,aAAa,GAAG,KAAK,EAChC,SAAiB,EACjB,MAAiB,EACjB,OAAuB,EACH,EAAE;IACtB,OAAO;QACL,IAAI,EAAE,QAAQ;QACd,QAAQ,EAAE;YACR;gBACE,IAAI,EAAE,SAAS;gBACf,QAAQ,EAAE,GAAG,SAAS,6BAA6B;gBACnD,QAAQ,EAAE;oBACR;wBACE,QAAQ,EAAE,GAAG,SAAS,2BAA2B;wBACjD,KAAK,EAAE,2BAA2B;wBAClC,IAAI,EAAE,SAAS;wBACf,OAAO,EAAE;4BACP,OAAO,EAAE,uBAAuB;4BAChC,MAAM,EAAE;gCACN,KAAK,SAAS,+CAA+C;gCAC7D,KAAK,SAAS,gDAAgD;6BAC/D;4BACD,YAAY,EAAE;gCACZ,KAAK,SAAS,qDAAqD;gCACnE,KAAK,SAAS,sDAAsD;6BACrE;4BACD,KAAK,EAAE,CAAC,gBAAgB,EAAE,mBAAmB,CAAC;yBAC/C;qBACF;iBACF;aACF;SACF;KACF,CAAC;AACJ,CAAC,CAAC"}
@@ -33,6 +33,7 @@ function getPropertyMap() {
33
33
  "tags",
34
34
  "thumbnail",
35
35
  "thumbnailUrl",
36
+ "typeKeywords",
36
37
  "userMembership",
37
38
  ];
38
39
  groupProps.forEach((entry) => {
@@ -1 +1 @@
1
- {"version":3,"file":"getPropertyMap.js","sourceRoot":"","sources":["../../../../src/groups/_internal/getPropertyMap.ts"],"names":[],"mappings":";;;AAEA;;;;;GAKG;AAEH,SAAgB,cAAc;IAC5B,MAAM,GAAG,GAAmB,EAAE,CAAC;IAE/B;;OAEG;IACH,GAAG,CAAC,IAAI,CAAC,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC,CAAC;IACnD,GAAG,CAAC,IAAI,CAAC,EAAE,SAAS,EAAE,SAAS,EAAE,QAAQ,EAAE,SAAS,EAAE,CAAC,CAAC;IACxD,GAAG,CAAC,IAAI,CAAC,EAAE,SAAS,EAAE,aAAa,EAAE,QAAQ,EAAE,wBAAwB,EAAE,CAAC,CAAC;IAE3E,qCAAqC;IAErC,MAAM,UAAU,GAAG;QACjB,QAAQ;QACR,UAAU;QACV,aAAa;QACb,IAAI;QACJ,kBAAkB;QAClB,eAAe;QACf,YAAY;QACZ,YAAY;QACZ,kBAAkB;QAClB,OAAO;QACP,WAAW;QACX,WAAW;QACX,WAAW;QACX,MAAM;QACN,WAAW;QACX,cAAc;QACd,gBAAgB;KACjB,CAAC;IACF,UAAU,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE;QAC3B,GAAG,CAAC,IAAI,CAAC,EAAE,SAAS,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,CAAC;IAClD,CAAC,CAAC,CAAC;IAEH,OAAO,GAAG,CAAC;AACb,CAAC;AApCD,wCAoCC"}
1
+ {"version":3,"file":"getPropertyMap.js","sourceRoot":"","sources":["../../../../src/groups/_internal/getPropertyMap.ts"],"names":[],"mappings":";;;AAEA;;;;;GAKG;AAEH,SAAgB,cAAc;IAC5B,MAAM,GAAG,GAAmB,EAAE,CAAC;IAE/B;;OAEG;IACH,GAAG,CAAC,IAAI,CAAC,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC,CAAC;IACnD,GAAG,CAAC,IAAI,CAAC,EAAE,SAAS,EAAE,SAAS,EAAE,QAAQ,EAAE,SAAS,EAAE,CAAC,CAAC;IACxD,GAAG,CAAC,IAAI,CAAC,EAAE,SAAS,EAAE,aAAa,EAAE,QAAQ,EAAE,wBAAwB,EAAE,CAAC,CAAC;IAE3E,qCAAqC;IAErC,MAAM,UAAU,GAAG;QACjB,QAAQ;QACR,UAAU;QACV,aAAa;QACb,IAAI;QACJ,kBAAkB;QAClB,eAAe;QACf,YAAY;QACZ,YAAY;QACZ,kBAAkB;QAClB,OAAO;QACP,WAAW;QACX,WAAW;QACX,WAAW;QACX,MAAM;QACN,WAAW;QACX,cAAc;QACd,cAAc;QACd,gBAAgB;KACjB,CAAC;IACF,UAAU,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE;QAC3B,GAAG,CAAC,IAAI,CAAC,EAAE,SAAS,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,CAAC;IAClD,CAAC,CAAC,CAAC;IAEH,OAAO,GAAG,CAAC;AACb,CAAC;AArCD,wCAqCC"}
@@ -9,6 +9,7 @@ exports.DEFAULT_GROUP = {
9
9
  name: "No title provided",
10
10
  access: "private",
11
11
  permissions: [],
12
+ typeKeywords: [],
12
13
  };
13
14
  /**
14
15
  * Default values for a new HubGroup Model
@@ -1 +1 @@
1
- {"version":3,"file":"defaults.js","sourceRoot":"","sources":["../../../src/groups/defaults.ts"],"names":[],"mappings":";;;AAGa,QAAA,cAAc,GAAG,WAAW,CAAC;AAE1C;;GAEG;AACU,QAAA,aAAa,GAAuB;IAC/C,IAAI,EAAE,mBAAmB;IACzB,MAAM,EAAE,SAAS;IACjB,WAAW,EAAE,EAAE;CAChB,CAAC;AAEF;;GAEG;AACU,QAAA,mBAAmB,GAAW;IACzC,IAAI,EAAE,sBAAc;IACpB,KAAK,EAAE,mBAAmB;IAC1B,WAAW,EAAE,EAAE;IACf,MAAM,EAAE,EAAE;IACV,OAAO,EAAE,EAAE;IACX,IAAI,EAAE,EAAE;CACY,CAAC"}
1
+ {"version":3,"file":"defaults.js","sourceRoot":"","sources":["../../../src/groups/defaults.ts"],"names":[],"mappings":";;;AAGa,QAAA,cAAc,GAAG,WAAW,CAAC;AAE1C;;GAEG;AACU,QAAA,aAAa,GAAuB;IAC/C,IAAI,EAAE,mBAAmB;IACzB,MAAM,EAAE,SAAS;IACjB,WAAW,EAAE,EAAE;IACf,YAAY,EAAE,EAAE;CACjB,CAAC;AAEF;;GAEG;AACU,QAAA,mBAAmB,GAAW;IACzC,IAAI,EAAE,sBAAc;IACpB,KAAK,EAAE,mBAAmB;IAC1B,WAAW,EAAE,EAAE;IACf,MAAM,EAAE,EAAE;IACV,OAAO,EAAE,EAAE;IACX,IAAI,EAAE,EAAE;CACY,CAAC"}
@@ -19,6 +19,7 @@ tslib_1.__exportStar(require("./extent"), exports);
19
19
  tslib_1.__exportStar(require("./groups"), exports);
20
20
  tslib_1.__exportStar(require("./i18n"), exports);
21
21
  tslib_1.__exportStar(require("./initiatives"), exports);
22
+ tslib_1.__exportStar(require("./initiative-templates"), exports);
22
23
  tslib_1.__exportStar(require("./discussions"), exports);
23
24
  tslib_1.__exportStar(require("./items"), exports);
24
25
  tslib_1.__exportStar(require("./models"), exports);
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";AAAA;gBACgB;AAChB,0BAA0B;;;;AAE1B,yDAA+B;AAC/B,mDAAyB;AACzB,gDAAsB;AACtB,0DAAgC;AAChC,iEAAuC;AACvC,iDAAuB;AACvB,uDAA6B;AAC7B,oDAA0B;AAC1B,iDAAuB;AACvB,sDAA4B;AAC5B,mDAAyB;AACzB,mDAAyB;AACzB,iDAAuB;AACvB,wDAA8B;AAC9B,wDAA8B;AAC9B,kDAAwB;AACxB,mDAAyB;AACzB,oDAA0B;AAC1B,gDAAsB;AACtB,kDAAwB;AACxB,wDAA8B;AAC9B,qDAA2B;AAC3B,oDAA0B;AAC1B,sDAA4B;AAC5B,mDAAyB;AACzB,kDAAwB;AACxB,oDAA0B;AAC1B,kDAAwB;AACxB,iDAAuB;AACvB,kDAAwB;AACxB,iDAAuB;AACvB,kDAAwB;AACxB,uDAA6B;AAC7B,oDAA0B;AAC1B,0DAA0D;AAC1D,qDAAqD;AACrD,iEAAuC;AACvC,2DAA2D;AAC3D,yDAAyD;AACzD,iEAAuC;AACvC,8DAAoC;AACpC,6DAA6D;AAC7D,0DAA0D;AAC1D,sEAA4C;AAE5C,qDAA8C;AAKrC,yBALF,wBAAc,CAKE;AAJvB,qDAA8C;AAIrB,yBAJlB,wBAAc,CAIkB;AAHvC,yCAAkC;AAGO,mBAHlC,kBAAQ,CAGkC;AACjD,6BAAkC;AAAzB,4FAAA,IAAI,OAAA;AAAE,4FAAA,IAAI,OAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";AAAA;gBACgB;AAChB,0BAA0B;;;;AAE1B,yDAA+B;AAC/B,mDAAyB;AACzB,gDAAsB;AACtB,0DAAgC;AAChC,iEAAuC;AACvC,iDAAuB;AACvB,uDAA6B;AAC7B,oDAA0B;AAC1B,iDAAuB;AACvB,sDAA4B;AAC5B,mDAAyB;AACzB,mDAAyB;AACzB,iDAAuB;AACvB,wDAA8B;AAC9B,iEAAuC;AACvC,wDAA8B;AAC9B,kDAAwB;AACxB,mDAAyB;AACzB,oDAA0B;AAC1B,gDAAsB;AACtB,kDAAwB;AACxB,wDAA8B;AAC9B,qDAA2B;AAC3B,oDAA0B;AAC1B,sDAA4B;AAC5B,mDAAyB;AACzB,kDAAwB;AACxB,oDAA0B;AAC1B,kDAAwB;AACxB,iDAAuB;AACvB,kDAAwB;AACxB,iDAAuB;AACvB,kDAAwB;AACxB,uDAA6B;AAC7B,oDAA0B;AAC1B,0DAA0D;AAC1D,qDAAqD;AACrD,iEAAuC;AACvC,2DAA2D;AAC3D,yDAAyD;AACzD,iEAAuC;AACvC,8DAAoC;AACpC,6DAA6D;AAC7D,0DAA0D;AAC1D,sEAA4C;AAE5C,qDAA8C;AAKrC,yBALF,wBAAc,CAKE;AAJvB,qDAA8C;AAIrB,yBAJlB,wBAAc,CAIkB;AAHvC,yCAAkC;AAGO,mBAHlC,kBAAQ,CAGkC;AACjD,6BAAkC;AAAzB,4FAAA,IAAI,OAAA;AAAE,4FAAA,IAAI,OAAA"}
@@ -0,0 +1,196 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.HubInitiativeTemplate = void 0;
4
+ const HubItemEntity_1 = require("../core/HubItemEntity");
5
+ const getEditorConfig_1 = require("../core/schemas/getEditorConfig");
6
+ const search_1 = require("../search");
7
+ const defaults_1 = require("./defaults");
8
+ const fetch_1 = require("./fetch");
9
+ const view_1 = require("./view");
10
+ const util_1 = require("../util");
11
+ const edit_1 = require("./edit");
12
+ const enrichEntity_1 = require("../core/enrichEntity");
13
+ /**
14
+ * Hub Initiative Template Class
15
+ */
16
+ class HubInitiativeTemplate extends HubItemEntity_1.HubItemEntity {
17
+ constructor(initiativeTemplate, context) {
18
+ super(initiativeTemplate, context);
19
+ this._catalog = search_1.Catalog.fromJson(initiativeTemplate.catalog, this.context);
20
+ }
21
+ get catalog() {
22
+ return this._catalog;
23
+ }
24
+ /**
25
+ * Create an instance from an IHubInitiativeTemplate object
26
+ * @param json - JSON object to create a HubInitiativeTemplate from
27
+ * @param context - ArcGIS context
28
+ * @returns - instance of HubInitiativeTemplate
29
+ */
30
+ static fromJson(json, context) {
31
+ // merge what we have with the default values
32
+ const pojo = this.applyDefaults(json, context);
33
+ return new HubInitiativeTemplate(pojo, context);
34
+ }
35
+ /**
36
+ * Create a new HubInitiativeTemplate, returning a HubInitiativeTemplate instance.
37
+ * Note: This does not persist the HubInitiativeTemplate into the backing store
38
+ * @param partialInitiativeTemplate
39
+ * @param context
40
+ * @param save
41
+ * @returns
42
+ */
43
+ static async create(partialInitiativeTemplate, context, save = false) {
44
+ const pojo = this.applyDefaults(partialInitiativeTemplate, context);
45
+ // return an instance of HubInitiativeTemplate
46
+ const instance = HubInitiativeTemplate.fromJson(pojo, context);
47
+ if (save) {
48
+ await instance.save();
49
+ }
50
+ return instance;
51
+ }
52
+ /**
53
+ * Fetch a HubInitiativeTemplate from the backing store and return a HubInitiativeTemplate instance.
54
+ * @param identifier - Identifier of the initiative template to load
55
+ * @param context
56
+ */
57
+ static async fetch(identifier, context) {
58
+ // fetch the initiative template by id or slug
59
+ try {
60
+ const initiativeTemplate = await fetch_1.fetchInitiativeTemplate(identifier, context.requestOptions);
61
+ // create an instance of HubInitiativeTemplate from the initiative template
62
+ return HubInitiativeTemplate.fromJson(initiativeTemplate, context);
63
+ }
64
+ catch (ex) {
65
+ if (ex.message ===
66
+ "CONT_0001: Item does not exist or is inaccessible.") {
67
+ throw new Error(`Initiative Template not found.`);
68
+ }
69
+ else {
70
+ throw ex;
71
+ }
72
+ }
73
+ }
74
+ /**
75
+ * Given a partial initiative template, apply defaults to it to ensure that a baseline of properties are set
76
+ * @param partialInitiativeTemplate
77
+ * @param context
78
+ * @returns
79
+ */
80
+ static applyDefaults(partialInitiativeTemplate, context) {
81
+ // ensure we have the orgUrlKey
82
+ if (!partialInitiativeTemplate.orgUrlKey) {
83
+ partialInitiativeTemplate.orgUrlKey = context.portal.urlKey;
84
+ }
85
+ const pojo = Object.assign(Object.assign({}, defaults_1.DEFAULT_INITIATIVE_TEMPLATE), partialInitiativeTemplate);
86
+ return pojo;
87
+ }
88
+ /**
89
+ * Convert the project entity into a card view model that can
90
+ * be consumed by the suite of hub gallery components
91
+ * @param opts - view model options
92
+ * @returns
93
+ */
94
+ convertToCardModel(opts) {
95
+ return view_1.initiativeTemplateToCardModel(this.entity, this.context, opts);
96
+ }
97
+ /**
98
+ * Get the editor config for the HubInitiativeTemplate entity.
99
+ * @param i18nScope translation scope to be interpolated into the uiSchema
100
+ * @param type editor type -- corresponds to the returned uiSchema
101
+ */
102
+ async getEditorConfig(i18nScope, type) {
103
+ // delegate to the schema subsystem
104
+ return getEditorConfig_1.getEditorConfig(i18nScope, type, this.entity, this.context);
105
+ }
106
+ /**
107
+ * Return the initiative template as an editor object
108
+ * @param editorContext
109
+ */
110
+ async toEditor(editorContext = {}, include = []) {
111
+ // cast the entity to its editor
112
+ const editor = include.length
113
+ ? (await enrichEntity_1.enrichEntity(util_1.cloneObject(this.entity), include, this.context.hubRequestOptions))
114
+ : util_1.cloneObject(this.entity);
115
+ // for now, just return
116
+ return editor;
117
+ }
118
+ /**
119
+ * Load the initiative template from the editor object
120
+ * @param editor
121
+ */
122
+ async fromEditor(editor) {
123
+ const isCreate = !editor.id;
124
+ // Setting the thumbnailCache will ensure that the thumbnail is updated on next save
125
+ if (editor._thumbnail) {
126
+ if (editor._thumbnail.blob) {
127
+ this.thumbnailCache = {
128
+ file: editor._thumbnail.blob,
129
+ filename: editor._thumbnail.filename,
130
+ clear: false,
131
+ };
132
+ }
133
+ else {
134
+ this.thumbnailCache = {
135
+ clear: true,
136
+ };
137
+ }
138
+ }
139
+ delete editor._thumbnail;
140
+ const entity = edit_1.editorToInitiativeTemplate(editor, this.context.portal);
141
+ // save, which will also create an entity if we don't have an id for it
142
+ this.entity = entity;
143
+ await this.save();
144
+ return this.entity;
145
+ }
146
+ /**
147
+ * Apply a new state to the instance
148
+ * @param changes
149
+ */
150
+ update(changes) {
151
+ if (this.isDestroyed) {
152
+ throw new Error("HubInitiativeTemplate is already destroyed.");
153
+ }
154
+ // merge partial onto existing entity
155
+ this.entity = Object.assign(Object.assign({}, this.entity), changes);
156
+ // update internal instances
157
+ if (changes.catalog) {
158
+ this._catalog = search_1.Catalog.fromJson(this.entity.catalog, this.context);
159
+ }
160
+ }
161
+ /**
162
+ * Save the HubInitiativeTemplate to the backing store.
163
+ * @returns
164
+ */
165
+ async save() {
166
+ if (this.isDestroyed) {
167
+ throw new Error("HubInitiativeTemplate is already destroyed.");
168
+ }
169
+ // get the catalog and permission configs
170
+ this.entity.catalog = this._catalog.toJson();
171
+ if (this.entity.id) {
172
+ // update it
173
+ this.entity = await edit_1.updateInitiativeTemplate(this.entity, this.context.userRequestOptions);
174
+ }
175
+ else {
176
+ // create it
177
+ this.entity = await edit_1.createInitiativeTemplate(this.entity, this.context.userRequestOptions);
178
+ }
179
+ // call the after save hook on superclass
180
+ await super.afterSave();
181
+ }
182
+ /**
183
+ * Delete the HubInitiativeTemplate from the store
184
+ * set a flag to indicate that it is destroyed
185
+ * @returns
186
+ */
187
+ async delete() {
188
+ if (this.isDestroyed) {
189
+ throw new Error("HubInitiativeTemplate is already destroyed.");
190
+ }
191
+ this.isDestroyed = true;
192
+ await edit_1.deleteInitiativeTemplate(this.entity.id, this.context.userRequestOptions);
193
+ }
194
+ }
195
+ exports.HubInitiativeTemplate = HubInitiativeTemplate;
196
+ //# sourceMappingURL=HubInitiativeTemplate.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"HubInitiativeTemplate.js","sourceRoot":"","sources":["../../../src/initiative-templates/HubInitiativeTemplate.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,75 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.InitiativeTemplatePermissionPolicies = exports.InitiativeTemplatePermissions = exports.InitiativeTemplateDefaultFeatures = void 0;
4
+ /**
5
+ * Default features for an Initiative Template. These are the features that can be enabled / disabled by the entity owner
6
+ */
7
+ exports.InitiativeTemplateDefaultFeatures = {
8
+ // empty for now
9
+ };
10
+ /**
11
+ * Initiative Template Permission Policies
12
+ * These define the requirements any user must meet to perform related actions
13
+ * @private
14
+ */
15
+ exports.InitiativeTemplatePermissions = [
16
+ "hub:initiativeTemplate",
17
+ "hub:initiativeTemplate:create",
18
+ "hub:initiativeTemplate:delete",
19
+ "hub:initiativeTemplate:edit",
20
+ "hub:initiativeTemplate:view",
21
+ "hub:initiativeTemplate:workspace:overview",
22
+ "hub:initiativeTemplate:workspace:details",
23
+ "hub:initiativeTemplate:workspace:collaborators",
24
+ "hub:initiativeTemplate:workspace:settings",
25
+ "hub:initiativeTemplate:manage",
26
+ ];
27
+ /**
28
+ * Initiative Template policies
29
+ * @private
30
+ */
31
+ exports.InitiativeTemplatePermissionPolicies = [
32
+ {
33
+ permission: "hub:initiativeTemplate",
34
+ availability: ["alpha"],
35
+ services: ["portal"],
36
+ },
37
+ {
38
+ permission: "hub:initiativeTemplate:create",
39
+ dependencies: ["hub:initiativeTemplate"],
40
+ authenticated: true,
41
+ privileges: ["portal:user:createItem"],
42
+ },
43
+ {
44
+ permission: "hub:initiativeTemplate:view",
45
+ dependencies: ["hub:initiativeTemplate"],
46
+ },
47
+ {
48
+ permission: "hub:initiativeTemplate:edit",
49
+ dependencies: ["hub:initiativeTemplate"],
50
+ authenticated: true,
51
+ entityEdit: true,
52
+ },
53
+ {
54
+ permission: "hub:initiativeTemplate:workspace:overview",
55
+ dependencies: ["hub:initiativeTemplate:view"],
56
+ },
57
+ {
58
+ permission: "hub:initiativeTemplate:workspace:details",
59
+ dependencies: ["hub:initiativeTemplate:edit"],
60
+ },
61
+ {
62
+ permission: "hub:initiativeTemplate:workspace:collaborators",
63
+ dependencies: ["hub:initiativeTemplate:edit"],
64
+ },
65
+ {
66
+ permission: "hub:initiativeTemplate:workspace:settings",
67
+ dependencies: ["hub:initiativeTemplate:edit"],
68
+ entityOwner: true,
69
+ },
70
+ {
71
+ permission: "hub:initiativeTemplate:manage",
72
+ dependencies: ["hub:initiativeTemplate:edit"],
73
+ },
74
+ ];
75
+ //# sourceMappingURL=InitiativeTemplateBusinessRules.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"InitiativeTemplateBusinessRules.js","sourceRoot":"","sources":["../../../../src/initiative-templates/_internal/InitiativeTemplateBusinessRules.ts"],"names":[],"mappings":";;;AAEA;;GAEG;AACU,QAAA,iCAAiC,GAAkB;AAC9D,gBAAgB;CACjB,CAAC;AAEF;;;;GAIG;AACU,QAAA,6BAA6B,GAAG;IAC3C,wBAAwB;IACxB,+BAA+B;IAC/B,+BAA+B;IAC/B,6BAA6B;IAC7B,6BAA6B;IAC7B,2CAA2C;IAC3C,0CAA0C;IAC1C,gDAAgD;IAChD,2CAA2C;IAC3C,+BAA+B;CACvB,CAAC;AAEX;;;GAGG;AACU,QAAA,oCAAoC,GAAwB;IACvE;QACE,UAAU,EAAE,wBAAwB;QACpC,YAAY,EAAE,CAAC,OAAO,CAAC;QACvB,QAAQ,EAAE,CAAC,QAAQ,CAAC;KACrB;IACD;QACE,UAAU,EAAE,+BAA+B;QAC3C,YAAY,EAAE,CAAC,wBAAwB,CAAC;QACxC,aAAa,EAAE,IAAI;QACnB,UAAU,EAAE,CAAC,wBAAwB,CAAC;KACvC;IACD;QACE,UAAU,EAAE,6BAA6B;QACzC,YAAY,EAAE,CAAC,wBAAwB,CAAC;KACzC;IACD;QACE,UAAU,EAAE,6BAA6B;QACzC,YAAY,EAAE,CAAC,wBAAwB,CAAC;QACxC,aAAa,EAAE,IAAI;QACnB,UAAU,EAAE,IAAI;KACjB;IACD;QACE,UAAU,EAAE,2CAA2C;QACvD,YAAY,EAAE,CAAC,6BAA6B,CAAC;KAC9C;IACD;QACE,UAAU,EAAE,0CAA0C;QACtD,YAAY,EAAE,CAAC,6BAA6B,CAAC;KAC9C;IACD;QACE,UAAU,EAAE,gDAAgD;QAC5D,YAAY,EAAE,CAAC,6BAA6B,CAAC;KAC9C;IACD;QACE,UAAU,EAAE,2CAA2C;QACvD,YAAY,EAAE,CAAC,6BAA6B,CAAC;QAC7C,WAAW,EAAE,IAAI;KAClB;IACD;QACE,UAAU,EAAE,+BAA+B;QAC3C,YAAY,EAAE,CAAC,6BAA6B,CAAC;KAC9C;CACF,CAAC"}
@@ -0,0 +1,9 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.InitiativeTemplateSchema = exports.InitiativeTemplateEditorTypes = void 0;
4
+ const HubItemEntitySchema_1 = require("../../core/schemas/shared/HubItemEntitySchema");
5
+ exports.InitiativeTemplateEditorTypes = [
6
+ "hub:initiativeTemplate:edit",
7
+ ];
8
+ exports.InitiativeTemplateSchema = Object.assign(Object.assign({}, HubItemEntitySchema_1.HubItemEntitySchema), { properties: Object.assign({}, HubItemEntitySchema_1.HubItemEntitySchema.properties) });
9
+ //# sourceMappingURL=InitiativeTemplateSchema.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"InitiativeTemplateSchema.js","sourceRoot":"","sources":["../../../../src/initiative-templates/_internal/InitiativeTemplateSchema.ts"],"names":[],"mappings":";;;AACA,uFAAoF;AAKvE,QAAA,6BAA6B,GAAG;IAC3C,6BAA6B;CACrB,CAAC;AAEE,QAAA,wBAAwB,GAAyB,gCACzD,yCAAmB,KACtB,UAAU,oBACL,yCAAmB,CAAC,UAAU,IAEZ,CAAC"}
@@ -0,0 +1,38 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.buildUiSchema = void 0;
4
+ const types_1 = require("../../core/schemas/types");
5
+ /**
6
+ * @private
7
+ * constructs the complete edit uiSchema for Hub Initiative Templates.
8
+ * This defines how the schema properties should be rendered
9
+ * in the initiative template editing experience.
10
+ *
11
+ * @param i18nScope
12
+ * @param entity
13
+ * @param context
14
+ * @returns
15
+ */
16
+ exports.buildUiSchema = async (i18nScope, entity, context) => {
17
+ return {
18
+ type: "Layout",
19
+ elements: [
20
+ {
21
+ type: "Control",
22
+ scope: "/properties/name",
23
+ labelKey: `${i18nScope}.fields.name.label`,
24
+ options: {
25
+ messages: [
26
+ {
27
+ type: types_1.UiSchemaMessageTypes.error,
28
+ keyword: "required",
29
+ icon: true,
30
+ labelKey: `${i18nScope}.fields.name.requiredError`,
31
+ },
32
+ ],
33
+ },
34
+ },
35
+ ],
36
+ };
37
+ };
38
+ //# sourceMappingURL=InitiativeTemplateUiSchemaEdit.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"InitiativeTemplateUiSchemaEdit.js","sourceRoot":"","sources":["../../../../src/initiative-templates/_internal/InitiativeTemplateUiSchemaEdit.ts"],"names":[],"mappings":";;;AAEA,oDAA2E;AAE3E;;;;;;;;;;GAUG;AACU,QAAA,aAAa,GAAG,KAAK,EAChC,SAAiB,EACjB,MAA8B,EAC9B,OAAuB,EACH,EAAE;IACtB,OAAO;QACL,IAAI,EAAE,QAAQ;QACd,QAAQ,EAAE;YACR;gBACE,IAAI,EAAE,SAAS;gBACf,KAAK,EAAE,kBAAkB;gBACzB,QAAQ,EAAE,GAAG,SAAS,oBAAoB;gBAC1C,OAAO,EAAE;oBACP,QAAQ,EAAE;wBACR;4BACE,IAAI,EAAE,4BAAoB,CAAC,KAAK;4BAChC,OAAO,EAAE,UAAU;4BACnB,IAAI,EAAE,IAAI;4BACV,QAAQ,EAAE,GAAG,SAAS,4BAA4B;yBACnD;qBACF;iBACF;aACF;SACF;KACF,CAAC;AACJ,CAAC,CAAC"}
@@ -0,0 +1,31 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.computeLinks = void 0;
4
+ const internalContentUtils_1 = require("../../content/_internal/internalContentUtils");
5
+ const core_1 = require("../../core");
6
+ const items_1 = require("../../items");
7
+ const resources_1 = require("../../resources");
8
+ const urls_1 = require("../../urls");
9
+ /**
10
+ * Compute the links that get appended to a Hub Initiative Template
11
+ * search result and entity
12
+ *
13
+ * @param item
14
+ * @param requestOptions
15
+ * @returns
16
+ */
17
+ function computeLinks(item, requestOptions) {
18
+ let token;
19
+ if (requestOptions.authentication) {
20
+ const session = requestOptions.authentication;
21
+ token = session.token;
22
+ }
23
+ return {
24
+ self: urls_1.getItemHomeUrl(item.id, requestOptions),
25
+ siteRelative: internalContentUtils_1.getHubRelativeUrl(item.type, items_1.getItemIdentifier(item)),
26
+ workspaceRelative: core_1.getRelativeWorkspaceUrl(item.type, items_1.getItemIdentifier(item)),
27
+ thumbnail: resources_1.getItemThumbnailUrl(item, requestOptions, token),
28
+ };
29
+ }
30
+ exports.computeLinks = computeLinks;
31
+ //# sourceMappingURL=computeLinks.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"computeLinks.js","sourceRoot":"","sources":["../../../../src/initiative-templates/_internal/computeLinks.ts"],"names":[],"mappings":";;;AAGA,uFAAiF;AACjF,qCAAsE;AACtE,uCAAgD;AAChD,+CAAsD;AACtD,qCAA4C;AAE5C;;;;;;;GAOG;AACH,SAAgB,YAAY,CAC1B,IAAW,EACX,cAA+B;IAE/B,IAAI,KAAa,CAAC;IAClB,IAAI,cAAc,CAAC,cAAc,EAAE;QACjC,MAAM,OAAO,GAAgB,cAAc,CAAC,cAA6B,CAAC;QAC1E,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC;KACvB;IAED,OAAO;QACL,IAAI,EAAE,qBAAc,CAAC,IAAI,CAAC,EAAE,EAAE,cAAc,CAAC;QAC7C,YAAY,EAAE,wCAAiB,CAAC,IAAI,CAAC,IAAI,EAAE,yBAAiB,CAAC,IAAI,CAAC,CAAC;QACnE,iBAAiB,EAAE,8BAAuB,CACxC,IAAI,CAAC,IAAI,EACT,yBAAiB,CAAC,IAAI,CAAC,CACxB;QACD,SAAS,EAAE,+BAAmB,CAAC,IAAI,EAAE,cAAc,EAAE,KAAK,CAAC;KAC5D,CAAC;AACJ,CAAC;AAnBD,oCAmBC"}
@@ -0,0 +1,43 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.computeProps = void 0;
4
+ const discussions_1 = require("../../discussions");
5
+ const processEntityFeatures_1 = require("../../permissions/_internal/processEntityFeatures");
6
+ const resources_1 = require("../../resources");
7
+ const InitiativeTemplateBusinessRules_1 = require("./InitiativeTemplateBusinessRules");
8
+ const computeLinks_1 = require("./computeLinks");
9
+ /**
10
+ * Given a model and an initiative template, set various computed properties that can't be directly mapped
11
+ * @private
12
+ * @param model
13
+ * @param initiativeTemplate
14
+ * @param requestOptions
15
+ * @returns
16
+ */
17
+ function computeProps(model, initiativeTemplate, requestOptions) {
18
+ var _a;
19
+ let token;
20
+ if (requestOptions.authentication) {
21
+ const session = requestOptions.authentication;
22
+ token = session.token;
23
+ }
24
+ // thumbnail url
25
+ initiativeTemplate.thumbnailUrl = resources_1.getItemThumbnailUrl(model.item, requestOptions, token);
26
+ // Handle dates
27
+ initiativeTemplate.createdDate = new Date(model.item.created);
28
+ initiativeTemplate.createdDateSource = "item.created";
29
+ initiativeTemplate.updatedDate = new Date(model.item.modified);
30
+ initiativeTemplate.updatedDateSource = "item.modified";
31
+ initiativeTemplate.isDiscussable = discussions_1.isDiscussable(initiativeTemplate);
32
+ /**
33
+ * Features that can be disabled by the entity owner
34
+ * We don't have explicit features for initiative templates yet,
35
+ * but the groundwork is there
36
+ */
37
+ initiativeTemplate.features = processEntityFeatures_1.processEntityFeatures(((_a = model.data.settings) === null || _a === void 0 ? void 0 : _a.features) || {}, InitiativeTemplateBusinessRules_1.InitiativeTemplateDefaultFeatures);
38
+ initiativeTemplate.links = computeLinks_1.computeLinks(model.item, requestOptions);
39
+ // cast b/c this takes a partial but returns a full initiative template
40
+ return initiativeTemplate;
41
+ }
42
+ exports.computeProps = computeProps;
43
+ //# sourceMappingURL=computeProps.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"computeProps.js","sourceRoot":"","sources":["../../../../src/initiative-templates/_internal/computeProps.ts"],"names":[],"mappings":";;;AAGA,mDAAkD;AAClD,6FAA0F;AAC1F,+CAAsD;AAEtD,uFAAsF;AACtF,iDAA8C;AAE9C;;;;;;;GAOG;AACH,SAAgB,YAAY,CAC1B,KAAa,EACb,kBAAmD,EACnD,cAA+B;;IAE/B,IAAI,KAAa,CAAC;IAClB,IAAI,cAAc,CAAC,cAAc,EAAE;QACjC,MAAM,OAAO,GAAgB,cAAc,CAAC,cAA6B,CAAC;QAC1E,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC;KACvB;IAED,gBAAgB;IAChB,kBAAkB,CAAC,YAAY,GAAG,+BAAmB,CACnD,KAAK,CAAC,IAAI,EACV,cAAc,EACd,KAAK,CACN,CAAC;IAEF,eAAe;IACf,kBAAkB,CAAC,WAAW,GAAG,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IAC9D,kBAAkB,CAAC,iBAAiB,GAAG,cAAc,CAAC;IACtD,kBAAkB,CAAC,WAAW,GAAG,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IAC/D,kBAAkB,CAAC,iBAAiB,GAAG,eAAe,CAAC;IACvD,kBAAkB,CAAC,aAAa,GAAG,2BAAa,CAAC,kBAAkB,CAAC,CAAC;IAErE;;;;OAIG;IACH,kBAAkB,CAAC,QAAQ,GAAG,6CAAqB,CACjD,OAAA,KAAK,CAAC,IAAI,CAAC,QAAQ,0CAAE,QAAQ,KAAI,EAAE,EACnC,mEAAiC,CAClC,CAAC;IAEF,kBAAkB,CAAC,KAAK,GAAG,2BAAY,CAAC,KAAK,CAAC,IAAI,EAAE,cAAc,CAAC,CAAC;IAEpE,uEAAuE;IACvE,OAAO,kBAA4C,CAAC;AACtD,CAAC;AAvCD,oCAuCC"}
@@ -0,0 +1,22 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getPropertyMap = void 0;
4
+ const getBasePropertyMap_1 = require("../../core/_internal/getBasePropertyMap");
5
+ /**
6
+ * @private
7
+ * Returns an Array of IPropertyMap objects
8
+ * that define the projection of properties from an IModel to an IHubInitiativeTemplate
9
+ */
10
+ function getPropertyMap() {
11
+ const map = getBasePropertyMap_1.getBasePropertyMap();
12
+ // Type specific mappings
13
+ map.push({ entityKey: "previewUrl", storeKey: "item.properties.previewUrl" });
14
+ map.push({ entityKey: "siteSolutionId", storeKey: "data.siteSolutionId" });
15
+ map.push({
16
+ entityKey: "recommendedTemplates",
17
+ storeKey: "data.recommendedTemplates",
18
+ });
19
+ return map;
20
+ }
21
+ exports.getPropertyMap = getPropertyMap;
22
+ //# sourceMappingURL=getPropertyMap.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getPropertyMap.js","sourceRoot":"","sources":["../../../../src/initiative-templates/_internal/getPropertyMap.ts"],"names":[],"mappings":";;;AAAA,gFAA6E;AAG7E;;;;GAIG;AACH,SAAgB,cAAc;IAC5B,MAAM,GAAG,GAAG,uCAAkB,EAAE,CAAC;IAEjC,yBAAyB;IACzB,GAAG,CAAC,IAAI,CAAC,EAAE,SAAS,EAAE,YAAY,EAAE,QAAQ,EAAE,4BAA4B,EAAE,CAAC,CAAC;IAC9E,GAAG,CAAC,IAAI,CAAC,EAAE,SAAS,EAAE,gBAAgB,EAAE,QAAQ,EAAE,qBAAqB,EAAE,CAAC,CAAC;IAC3E,GAAG,CAAC,IAAI,CAAC;QACP,SAAS,EAAE,sBAAsB;QACjC,QAAQ,EAAE,2BAA2B;KACtC,CAAC,CAAC;IAEH,OAAO,GAAG,CAAC;AACb,CAAC;AAZD,wCAYC"}
@@ -0,0 +1,38 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.DEFAULT_INITIATIVE_TEMPLATE_MODEL = exports.DEFAULT_INITIATIVE_TEMPLATE = exports.HUB_INITIATIVE_TEMPLATE_ITEM_TYPE = void 0;
4
+ const InitiativeTemplateBusinessRules_1 = require("./_internal/InitiativeTemplateBusinessRules");
5
+ exports.HUB_INITIATIVE_TEMPLATE_ITEM_TYPE = "Hub Initiative Template";
6
+ /**
7
+ * Default values of a IHubInitiativeTemplate
8
+ */
9
+ exports.DEFAULT_INITIATIVE_TEMPLATE = {
10
+ catalog: { schemaVersion: 0 },
11
+ name: "No title provided",
12
+ permissions: [],
13
+ tags: [],
14
+ typeKeywords: [exports.HUB_INITIATIVE_TEMPLATE_ITEM_TYPE],
15
+ schemaVersion: 1,
16
+ features: InitiativeTemplateBusinessRules_1.InitiativeTemplateDefaultFeatures,
17
+ values: {},
18
+ };
19
+ exports.DEFAULT_INITIATIVE_TEMPLATE_MODEL = {
20
+ item: {
21
+ type: exports.HUB_INITIATIVE_TEMPLATE_ITEM_TYPE,
22
+ title: "No Title Provided",
23
+ description: "No Description Provided",
24
+ snippet: "",
25
+ tags: [],
26
+ typeKeywords: [exports.HUB_INITIATIVE_TEMPLATE_ITEM_TYPE],
27
+ properties: {
28
+ slug: "",
29
+ schemaVersion: 1,
30
+ previewUrl: "",
31
+ },
32
+ },
33
+ data: {
34
+ recommendedTemplates: [],
35
+ siteSolutionId: "",
36
+ },
37
+ };
38
+ //# sourceMappingURL=defaults.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"defaults.js","sourceRoot":"","sources":["../../../src/initiative-templates/defaults.ts"],"names":[],"mappings":";;;AAEA,iGAAgG;AAEnF,QAAA,iCAAiC,GAAG,yBAAyB,CAAC;AAE3E;;GAEG;AACU,QAAA,2BAA2B,GAAoC;IAC1E,OAAO,EAAE,EAAE,aAAa,EAAE,CAAC,EAAE;IAC7B,IAAI,EAAE,mBAAmB;IACzB,WAAW,EAAE,EAAE;IACf,IAAI,EAAE,EAAE;IACR,YAAY,EAAE,CAAC,yCAAiC,CAAC;IACjD,aAAa,EAAE,CAAC;IAChB,QAAQ,EAAE,mEAAiC;IAC3C,MAAM,EAAE,EAAE;CACX,CAAC;AAEW,QAAA,iCAAiC,GAAW;IACvD,IAAI,EAAE;QACJ,IAAI,EAAE,yCAAiC;QACvC,KAAK,EAAE,mBAAmB;QAC1B,WAAW,EAAE,yBAAyB;QACtC,OAAO,EAAE,EAAE;QACX,IAAI,EAAE,EAAE;QACR,YAAY,EAAE,CAAC,yCAAiC,CAAC;QACjD,UAAU,EAAE;YACV,IAAI,EAAE,EAAE;YACR,aAAa,EAAE,CAAC;YAChB,UAAU,EAAE,EAAE;SACf;KACF;IACD,IAAI,EAAE;QACJ,oBAAoB,EAAE,EAAE;QACxB,cAAc,EAAE,EAAE;KACnB;CACmB,CAAC"}