@esri/hub-common 14.24.0 → 14.25.1

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 (121) hide show
  1. package/dist/esm/core/EntityEditor.js +4 -0
  2. package/dist/esm/core/EntityEditor.js.map +1 -1
  3. package/dist/esm/core/fetchHubEntity.js +3 -0
  4. package/dist/esm/core/fetchHubEntity.js.map +1 -1
  5. package/dist/esm/core/getTypeFromEntity.js +6 -0
  6. package/dist/esm/core/getTypeFromEntity.js.map +1 -1
  7. package/dist/esm/core/schemas/internal/getEntityEditorSchemas.js +8 -0
  8. package/dist/esm/core/schemas/internal/getEntityEditorSchemas.js.map +1 -1
  9. package/dist/esm/core/schemas/types.js +2 -0
  10. package/dist/esm/core/schemas/types.js.map +1 -1
  11. package/dist/esm/core/types/HubEntityType.js +1 -0
  12. package/dist/esm/core/types/HubEntityType.js.map +1 -1
  13. package/dist/esm/core/types/IHubInitiativeTemplate.js +1 -0
  14. package/dist/esm/core/types/IHubInitiativeTemplate.js.map +1 -0
  15. package/dist/esm/core/types/index.js +1 -0
  16. package/dist/esm/core/types/index.js.map +1 -1
  17. package/dist/esm/core/updateHubEntity.js +4 -0
  18. package/dist/esm/core/updateHubEntity.js.map +1 -1
  19. package/dist/esm/index.js +1 -0
  20. package/dist/esm/index.js.map +1 -1
  21. package/dist/esm/initiative-templates/HubInitiativeTemplate.js +192 -0
  22. package/dist/esm/initiative-templates/HubInitiativeTemplate.js.map +1 -0
  23. package/dist/esm/initiative-templates/_internal/InitiativeTemplateBusinessRules.js +72 -0
  24. package/dist/esm/initiative-templates/_internal/InitiativeTemplateBusinessRules.js.map +1 -0
  25. package/dist/esm/initiative-templates/_internal/InitiativeTemplateSchema.js +6 -0
  26. package/dist/esm/initiative-templates/_internal/InitiativeTemplateSchema.js.map +1 -0
  27. package/dist/esm/initiative-templates/_internal/InitiativeTemplateUiSchemaEdit.js +35 -0
  28. package/dist/esm/initiative-templates/_internal/InitiativeTemplateUiSchemaEdit.js.map +1 -0
  29. package/dist/esm/initiative-templates/_internal/computeLinks.js +27 -0
  30. package/dist/esm/initiative-templates/_internal/computeLinks.js.map +1 -0
  31. package/dist/esm/initiative-templates/_internal/computeProps.js +39 -0
  32. package/dist/esm/initiative-templates/_internal/computeProps.js.map +1 -0
  33. package/dist/esm/initiative-templates/_internal/getPropertyMap.js +18 -0
  34. package/dist/esm/initiative-templates/_internal/getPropertyMap.js.map +1 -0
  35. package/dist/esm/initiative-templates/defaults.js +35 -0
  36. package/dist/esm/initiative-templates/defaults.js.map +1 -0
  37. package/dist/esm/initiative-templates/edit.js +96 -0
  38. package/dist/esm/initiative-templates/edit.js.map +1 -0
  39. package/dist/esm/initiative-templates/fetch.js +68 -0
  40. package/dist/esm/initiative-templates/fetch.js.map +1 -0
  41. package/dist/esm/initiative-templates/index.js +5 -0
  42. package/dist/esm/initiative-templates/index.js.map +1 -0
  43. package/dist/esm/initiative-templates/view.js +77 -0
  44. package/dist/esm/initiative-templates/view.js.map +1 -0
  45. package/dist/esm/permissions/HubPermissionPolicies.js +2 -0
  46. package/dist/esm/permissions/HubPermissionPolicies.js.map +1 -1
  47. package/dist/esm/permissions/types/Permission.js +2 -0
  48. package/dist/esm/permissions/types/Permission.js.map +1 -1
  49. package/dist/esm/projects/HubProject.js +1 -1
  50. package/dist/esm/search/wellKnownCatalog.js +19 -1
  51. package/dist/esm/search/wellKnownCatalog.js.map +1 -1
  52. package/dist/node/core/EntityEditor.js +4 -0
  53. package/dist/node/core/EntityEditor.js.map +1 -1
  54. package/dist/node/core/fetchHubEntity.js +3 -0
  55. package/dist/node/core/fetchHubEntity.js.map +1 -1
  56. package/dist/node/core/getTypeFromEntity.js +6 -0
  57. package/dist/node/core/getTypeFromEntity.js.map +1 -1
  58. package/dist/node/core/schemas/internal/getEntityEditorSchemas.js +8 -0
  59. package/dist/node/core/schemas/internal/getEntityEditorSchemas.js.map +1 -1
  60. package/dist/node/core/schemas/types.js +2 -0
  61. package/dist/node/core/schemas/types.js.map +1 -1
  62. package/dist/node/core/types/HubEntityType.js +1 -0
  63. package/dist/node/core/types/HubEntityType.js.map +1 -1
  64. package/dist/node/core/types/IHubInitiativeTemplate.js +3 -0
  65. package/dist/node/core/types/IHubInitiativeTemplate.js.map +1 -0
  66. package/dist/node/core/types/index.js +1 -0
  67. package/dist/node/core/types/index.js.map +1 -1
  68. package/dist/node/core/updateHubEntity.js +4 -0
  69. package/dist/node/core/updateHubEntity.js.map +1 -1
  70. package/dist/node/index.js +1 -0
  71. package/dist/node/index.js.map +1 -1
  72. package/dist/node/initiative-templates/HubInitiativeTemplate.js +196 -0
  73. package/dist/node/initiative-templates/HubInitiativeTemplate.js.map +1 -0
  74. package/dist/node/initiative-templates/_internal/InitiativeTemplateBusinessRules.js +75 -0
  75. package/dist/node/initiative-templates/_internal/InitiativeTemplateBusinessRules.js.map +1 -0
  76. package/dist/node/initiative-templates/_internal/InitiativeTemplateSchema.js +9 -0
  77. package/dist/node/initiative-templates/_internal/InitiativeTemplateSchema.js.map +1 -0
  78. package/dist/node/initiative-templates/_internal/InitiativeTemplateUiSchemaEdit.js +38 -0
  79. package/dist/node/initiative-templates/_internal/InitiativeTemplateUiSchemaEdit.js.map +1 -0
  80. package/dist/node/initiative-templates/_internal/computeLinks.js +31 -0
  81. package/dist/node/initiative-templates/_internal/computeLinks.js.map +1 -0
  82. package/dist/node/initiative-templates/_internal/computeProps.js +43 -0
  83. package/dist/node/initiative-templates/_internal/computeProps.js.map +1 -0
  84. package/dist/node/initiative-templates/_internal/getPropertyMap.js +22 -0
  85. package/dist/node/initiative-templates/_internal/getPropertyMap.js.map +1 -0
  86. package/dist/node/initiative-templates/defaults.js +38 -0
  87. package/dist/node/initiative-templates/defaults.js.map +1 -0
  88. package/dist/node/initiative-templates/edit.js +103 -0
  89. package/dist/node/initiative-templates/edit.js.map +1 -0
  90. package/dist/node/initiative-templates/fetch.js +74 -0
  91. package/dist/node/initiative-templates/fetch.js.map +1 -0
  92. package/dist/node/initiative-templates/index.js +8 -0
  93. package/dist/node/initiative-templates/index.js.map +1 -0
  94. package/dist/node/initiative-templates/view.js +80 -0
  95. package/dist/node/initiative-templates/view.js.map +1 -0
  96. package/dist/node/permissions/HubPermissionPolicies.js +2 -0
  97. package/dist/node/permissions/HubPermissionPolicies.js.map +1 -1
  98. package/dist/node/permissions/types/Permission.js +2 -0
  99. package/dist/node/permissions/types/Permission.js.map +1 -1
  100. package/dist/node/projects/HubProject.js +1 -1
  101. package/dist/node/search/wellKnownCatalog.js +19 -1
  102. package/dist/node/search/wellKnownCatalog.js.map +1 -1
  103. package/dist/types/core/schemas/types.d.ts +1 -1
  104. package/dist/types/core/types/HubEntityType.d.ts +1 -1
  105. package/dist/types/core/types/IHubInitiativeTemplate.d.ts +14 -0
  106. package/dist/types/core/types/index.d.ts +1 -0
  107. package/dist/types/index.d.ts +1 -0
  108. package/dist/types/initiative-templates/HubInitiativeTemplate.d.ts +82 -0
  109. package/dist/types/initiative-templates/_internal/InitiativeTemplateBusinessRules.d.ts +16 -0
  110. package/dist/types/initiative-templates/_internal/InitiativeTemplateSchema.d.ts +4 -0
  111. package/dist/types/initiative-templates/_internal/InitiativeTemplateUiSchemaEdit.d.ts +15 -0
  112. package/dist/types/initiative-templates/_internal/computeLinks.d.ts +12 -0
  113. package/dist/types/initiative-templates/_internal/computeProps.d.ts +12 -0
  114. package/dist/types/initiative-templates/_internal/getPropertyMap.d.ts +7 -0
  115. package/dist/types/initiative-templates/defaults.d.ts +8 -0
  116. package/dist/types/initiative-templates/edit.d.ts +32 -0
  117. package/dist/types/initiative-templates/fetch.d.ts +16 -0
  118. package/dist/types/initiative-templates/index.d.ts +4 -0
  119. package/dist/types/initiative-templates/view.d.ts +20 -0
  120. package/dist/types/permissions/types/Permission.d.ts +2 -1
  121. package/package.json +1 -1
@@ -0,0 +1,103 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.deleteInitiativeTemplate = exports.updateInitiativeTemplate = exports.editorToInitiativeTemplate = exports.createInitiativeTemplate = void 0;
4
+ // Note - we separate these imports so we can cleanly spy on things in tests
5
+ const models_1 = require("../models");
6
+ const slugs_1 = require("../items/slugs");
7
+ const arcgis_rest_portal_1 = require("@esri/arcgis-rest-portal");
8
+ const PropertyMapper_1 = require("../core/_internal/PropertyMapper");
9
+ const defaults_1 = require("./defaults");
10
+ const computeProps_1 = require("./_internal/computeProps");
11
+ const getPropertyMap_1 = require("./_internal/getPropertyMap");
12
+ const util_1 = require("../util");
13
+ const discussions_1 = require("../discussions");
14
+ /**
15
+ * @private
16
+ * Create a new Hub Initiative Template item
17
+ * @param partialInitiativeTemplate
18
+ * @param requestOptions
19
+ * @returns
20
+ */
21
+ async function createInitiativeTemplate(partialInitiativeTemplate, requestOptions) {
22
+ const initiativeTemplate = Object.assign(Object.assign({}, defaults_1.DEFAULT_INITIATIVE_TEMPLATE), partialInitiativeTemplate);
23
+ // Create slug from the title if one is not passed in
24
+ if (!initiativeTemplate.slug) {
25
+ initiativeTemplate.slug = slugs_1.constructSlug(initiativeTemplate.name, initiativeTemplate.orgUrlKey);
26
+ }
27
+ // Ensure slug is unique
28
+ initiativeTemplate.slug = await slugs_1.getUniqueSlug({ slug: initiativeTemplate.slug }, requestOptions);
29
+ // add slug to keywords
30
+ initiativeTemplate.typeKeywords = slugs_1.setSlugKeyword(initiativeTemplate.typeKeywords, initiativeTemplate.slug);
31
+ initiativeTemplate.typeKeywords = discussions_1.setDiscussableKeyword(initiativeTemplate.typeKeywords, initiativeTemplate.isDiscussable);
32
+ // Map initiative template object onto a default initiative template model
33
+ const mapper = new PropertyMapper_1.PropertyMapper(getPropertyMap_1.getPropertyMap());
34
+ // create model from object, using the default model as a starting point
35
+ let model = mapper.entityToStore(initiativeTemplate, util_1.cloneObject(defaults_1.DEFAULT_INITIATIVE_TEMPLATE_MODEL));
36
+ // create the item
37
+ model = await models_1.createModel(model, requestOptions);
38
+ // map the model back into a IHubInitiativeTemplate
39
+ let newInitiativeTemplate = mapper.storeToEntity(model, {});
40
+ newInitiativeTemplate = computeProps_1.computeProps(model, newInitiativeTemplate, requestOptions);
41
+ // and return it
42
+ return newInitiativeTemplate;
43
+ }
44
+ exports.createInitiativeTemplate = createInitiativeTemplate;
45
+ /**
46
+ * Convert an IHubInitiativeTemplateEditor back to an IHubInitiativeTemplate
47
+ * @param editor
48
+ * @param portal
49
+ * @returns
50
+ */
51
+ function editorToInitiativeTemplate(editor, portal) {
52
+ // clone into HubInitiativeTemplate
53
+ const initiativeTemplate = util_1.cloneObject(editor);
54
+ // ensure there's an org url key
55
+ initiativeTemplate.orgUrlKey = editor.orgUrlKey
56
+ ? editor.orgUrlKey
57
+ : portal.urlKey;
58
+ // return initiatve template
59
+ return initiativeTemplate;
60
+ }
61
+ exports.editorToInitiativeTemplate = editorToInitiativeTemplate;
62
+ /**
63
+ * @private
64
+ * Update a Hub Initiative Template
65
+ * @param initiativeTemplate
66
+ * @param requestOptions
67
+ */
68
+ async function updateInitiativeTemplate(initiativeTemplate, requestOptions) {
69
+ // verify that the slug is unique, excluding the current initiative template
70
+ initiativeTemplate.slug = await slugs_1.getUniqueSlug({ slug: initiativeTemplate.slug, existingId: initiativeTemplate.id }, requestOptions);
71
+ // set discussable keyword
72
+ initiativeTemplate.typeKeywords = discussions_1.setDiscussableKeyword(initiativeTemplate.typeKeywords, initiativeTemplate.isDiscussable);
73
+ // get the backing item & data
74
+ const model = await models_1.getModel(initiativeTemplate.id, requestOptions);
75
+ // create the PropertyMapper
76
+ const mapper = new PropertyMapper_1.PropertyMapper(getPropertyMap_1.getPropertyMap());
77
+ // Note: Although we are fetching the model, and applying changes onto it,
78
+ // we are not attempting to handle "concurrent edit" conflict resolution
79
+ // but this is where we would apply that sort of logic
80
+ const modelToUpdate = mapper.entityToStore(initiativeTemplate, model);
81
+ // update the backing item
82
+ const updatedModel = await models_1.updateModel(modelToUpdate, requestOptions);
83
+ // now map back into an initiative template and return that
84
+ const updatedInitiativeTemplate = mapper.storeToEntity(updatedModel, initiativeTemplate);
85
+ initiativeTemplate = computeProps_1.computeProps(model, updatedInitiativeTemplate, requestOptions);
86
+ // the casting is needed because modelToObject returns a `Partial<T>`
87
+ // whereas this function returns a `T`
88
+ return updatedInitiativeTemplate;
89
+ }
90
+ exports.updateInitiativeTemplate = updateInitiativeTemplate;
91
+ /**
92
+ * @private
93
+ * Remove a Hub Initiative Template
94
+ * @param id
95
+ * @param requestOptions
96
+ */
97
+ async function deleteInitiativeTemplate(id, requestOptions) {
98
+ const ro = Object.assign(Object.assign({}, requestOptions), { id });
99
+ await arcgis_rest_portal_1.removeItem(ro);
100
+ return;
101
+ }
102
+ exports.deleteInitiativeTemplate = deleteInitiativeTemplate;
103
+ //# sourceMappingURL=edit.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"edit.js","sourceRoot":"","sources":["../../../src/initiative-templates/edit.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,74 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.enrichInitiativeTemplateSearchResult = exports.convertItemToInitiativeTemplate = exports.fetchInitiativeTemplate = void 0;
4
+ const arcgis_rest_portal_1 = require("@esri/arcgis-rest-portal");
5
+ const get_family_1 = require("../content/get-family");
6
+ const PropertyMapper_1 = require("../core/_internal/PropertyMapper");
7
+ const slugs_1 = require("../items/slugs");
8
+ const models_1 = require("../models");
9
+ const utils_1 = require("../utils");
10
+ const computeProps_1 = require("./_internal/computeProps");
11
+ const getPropertyMap_1 = require("./_internal/getPropertyMap");
12
+ const computeLinks_1 = require("./_internal/computeLinks");
13
+ async function fetchInitiativeTemplate(identifier, requestOptions) {
14
+ let getPrms;
15
+ if (utils_1.isGuid(identifier)) {
16
+ // get item by id
17
+ getPrms = arcgis_rest_portal_1.getItem(identifier, requestOptions);
18
+ }
19
+ else {
20
+ getPrms = slugs_1.getItemBySlug(identifier, requestOptions);
21
+ }
22
+ return getPrms.then((item) => {
23
+ if (!item)
24
+ return null;
25
+ return convertItemToInitiativeTemplate(item, requestOptions);
26
+ });
27
+ }
28
+ exports.fetchInitiativeTemplate = fetchInitiativeTemplate;
29
+ /**
30
+ * @private
31
+ * Convert a Hub Initiative Template Item into a Hub Initiative Template, feching any additional
32
+ * information that may be required
33
+ * @param item
34
+ * @param requestOptions
35
+ * @returns
36
+ */
37
+ async function convertItemToInitiativeTemplate(item, requestOptions) {
38
+ const model = await models_1.fetchModelFromItem(item, requestOptions);
39
+ const mapper = new PropertyMapper_1.PropertyMapper(getPropertyMap_1.getPropertyMap());
40
+ const it = mapper.storeToEntity(model, {});
41
+ return computeProps_1.computeProps(model, it, requestOptions);
42
+ }
43
+ exports.convertItemToInitiativeTemplate = convertItemToInitiativeTemplate;
44
+ async function enrichInitiativeTemplateSearchResult(item, include, requestOptions) {
45
+ const result = {
46
+ access: item.access,
47
+ id: item.id,
48
+ type: item.type,
49
+ name: item.title,
50
+ owner: item.owner,
51
+ typeKeywords: item.typeKeywords,
52
+ tags: item.tags,
53
+ categories: item.categories,
54
+ summary: item.snippet || item.description,
55
+ createdDate: new Date(item.created),
56
+ createdDateSource: "item.created",
57
+ updatedDate: new Date(item.modified),
58
+ updatedDateSource: "item.modified",
59
+ family: get_family_1.getFamily(item.type),
60
+ links: {
61
+ self: "not-implemented",
62
+ siteRelative: "not-implemented",
63
+ thumbnail: "not-implemented",
64
+ workspaceRelative: "not-implemented",
65
+ },
66
+ };
67
+ // TODO: reimplement enrichment fetching when we know what enrichments we're looking for
68
+ // Handle links
69
+ // TODO: links should be an enrichment
70
+ result.links = computeLinks_1.computeLinks(item, requestOptions);
71
+ return result;
72
+ }
73
+ exports.enrichInitiativeTemplateSearchResult = enrichInitiativeTemplateSearchResult;
74
+ //# sourceMappingURL=fetch.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fetch.js","sourceRoot":"","sources":["../../../src/initiative-templates/fetch.ts"],"names":[],"mappings":";;;AACA,iEAA0D;AAE1D,sDAAkD;AAGlD,qEAAkE;AAClE,0CAA+C;AAE/C,sCAA+C;AAG/C,oCAAyC;AACzC,2DAAwD;AACxD,+DAA4D;AAK5D,2DAAwD;AAEjD,KAAK,UAAU,uBAAuB,CAC3C,UAAkB,EAClB,cAA+B;IAE/B,IAAI,OAAO,CAAC;IACZ,IAAI,cAAM,CAAC,UAAU,CAAC,EAAE;QACtB,iBAAiB;QACjB,OAAO,GAAG,4BAAO,CAAC,UAAU,EAAE,cAAc,CAAC,CAAC;KAC/C;SAAM;QACL,OAAO,GAAG,qBAAa,CAAC,UAAU,EAAE,cAAc,CAAC,CAAC;KACrD;IACD,OAAO,OAAO,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE;QAC3B,IAAI,CAAC,IAAI;YAAE,OAAO,IAAI,CAAC;QACvB,OAAO,+BAA+B,CAAC,IAAI,EAAE,cAAc,CAAC,CAAC;IAC/D,CAAC,CAAC,CAAC;AACL,CAAC;AAfD,0DAeC;AAED;;;;;;;GAOG;AACI,KAAK,UAAU,+BAA+B,CACnD,IAAW,EACX,cAA+B;IAE/B,MAAM,KAAK,GAAG,MAAM,2BAAkB,CAAC,IAAI,EAAE,cAAc,CAAC,CAAC;IAC7D,MAAM,MAAM,GAAG,IAAI,+BAAc,CAC/B,+BAAc,EAAE,CACjB,CAAC;IACF,MAAM,EAAE,GAAG,MAAM,CAAC,aAAa,CAAC,KAAK,EAAE,EAAE,CAA2B,CAAC;IACrE,OAAO,2BAAY,CAAC,KAAK,EAAE,EAAE,EAAE,cAAc,CAAC,CAAC;AACjD,CAAC;AAVD,0EAUC;AAEM,KAAK,UAAU,oCAAoC,CACxD,IAAW,EACX,OAAiB,EACjB,cAAkC;IAElC,MAAM,MAAM,GAAqB;QAC/B,MAAM,EAAE,IAAI,CAAC,MAAM;QACnB,EAAE,EAAE,IAAI,CAAC,EAAE;QACX,IAAI,EAAE,IAAI,CAAC,IAAI;QACf,IAAI,EAAE,IAAI,CAAC,KAAK;QAChB,KAAK,EAAE,IAAI,CAAC,KAAK;QACjB,YAAY,EAAE,IAAI,CAAC,YAAY;QAC/B,IAAI,EAAE,IAAI,CAAC,IAAI;QACf,UAAU,EAAE,IAAI,CAAC,UAAU;QAC3B,OAAO,EAAE,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,WAAW;QACzC,WAAW,EAAE,IAAI,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC;QACnC,iBAAiB,EAAE,cAAc;QACjC,WAAW,EAAE,IAAI,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC;QACpC,iBAAiB,EAAE,eAAe;QAClC,MAAM,EAAE,sBAAS,CAAC,IAAI,CAAC,IAAI,CAAC;QAC5B,KAAK,EAAE;YACL,IAAI,EAAE,iBAAiB;YACvB,YAAY,EAAE,iBAAiB;YAC/B,SAAS,EAAE,iBAAiB;YAC5B,iBAAiB,EAAE,iBAAiB;SACrC;KACF,CAAC;IAEF,wFAAwF;IAExF,eAAe;IACf,sCAAsC;IACtC,MAAM,CAAC,KAAK,GAAG,2BAAY,CAAC,IAAI,EAAE,cAAc,CAAC,CAAC;IAElD,OAAO,MAAM,CAAC;AAChB,CAAC;AAnCD,oFAmCC"}
@@ -0,0 +1,8 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const tslib_1 = require("tslib");
4
+ tslib_1.__exportStar(require("./HubInitiativeTemplate"), exports);
5
+ tslib_1.__exportStar(require("./edit"), exports);
6
+ tslib_1.__exportStar(require("./fetch"), exports);
7
+ tslib_1.__exportStar(require("./view"), exports);
8
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/initiative-templates/index.ts"],"names":[],"mappings":";;;AAAA,kEAAwC;AACxC,iDAAuB;AACvB,kDAAwB;AACxB,iDAAuB"}
@@ -0,0 +1,80 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.initiativeTemplateResultToCardModel = exports.initiativeTemplateToCardModel = void 0;
4
+ const getCardModelUrl_1 = require("../urls/getCardModelUrl");
5
+ const content_1 = require("../content");
6
+ const internalContentUtils_1 = require("../content/_internal/internalContentUtils");
7
+ /**
8
+ * Convert an initiative template entity into a card view model that can
9
+ * be consumed by the suite of hub gallery components
10
+ *
11
+ * @param initiativeTemplate initiative template entity
12
+ * @param context auth & portal information
13
+ * @param opts view model options
14
+ * @returns
15
+ */
16
+ exports.initiativeTemplateToCardModel = (initiativeTemplate, context, opts) => {
17
+ const { actionLinks = [], baseUrl = "", locale = "en-US", target = "self", } = opts || {};
18
+ const titleUrl = getCardModelUrl_1.getCardModelUrlFromEntity(initiativeTemplate, context, target, baseUrl);
19
+ return Object.assign(Object.assign(Object.assign({}, getSharedInitiativeTemplateCardModel(initiativeTemplate, locale)), { actionLinks,
20
+ titleUrl }), (initiativeTemplate.thumbnailUrl && {
21
+ thumbnailUrl: initiativeTemplate.thumbnailUrl,
22
+ }));
23
+ };
24
+ /**
25
+ * Convert an initiative template hub search result into a card view model that
26
+ * can be consumed by the suite of hub gallery components
27
+ *
28
+ * @param searchResult hub initiative template search result
29
+ * @param opts view model options
30
+ */
31
+ exports.initiativeTemplateResultToCardModel = (searchResult, opts) => {
32
+ const { actionLinks = [], baseUrl = "", locale = "en-US", target = "self", } = opts || {};
33
+ const titleUrl = getCardModelUrl_1.getCardModelUrlFromResult(searchResult, target, baseUrl);
34
+ return Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({}, getSharedInitiativeTemplateCardModel(searchResult, locale)), { actionLinks }), (!isNaN(searchResult.index) && { index: searchResult.index })), { titleUrl }), (searchResult.links.thumbnail && {
35
+ thumbnailUrl: searchResult.links.thumbnail,
36
+ }));
37
+ };
38
+ const getSharedInitiativeTemplateCardModel = (entityOrSearchResult, locale) => {
39
+ var _a, _b;
40
+ const additionalInfo = [
41
+ {
42
+ i18nKey: "type",
43
+ value: entityOrSearchResult.type,
44
+ },
45
+ {
46
+ i18nKey: "dateUpdated",
47
+ value: entityOrSearchResult.updatedDate.toLocaleDateString(locale),
48
+ },
49
+ ...(((_a = entityOrSearchResult.tags) === null || _a === void 0 ? void 0 : _a.length) ? [
50
+ {
51
+ i18nKey: "tags",
52
+ value: entityOrSearchResult.tags.join(", "),
53
+ },
54
+ ]
55
+ : []),
56
+ ...(((_b = entityOrSearchResult.categories) === null || _b === void 0 ? void 0 : _b.length) ? [
57
+ {
58
+ i18nKey: "categories",
59
+ value: internalContentUtils_1.getShortenedCategories(entityOrSearchResult.categories).join(", "),
60
+ },
61
+ ]
62
+ : []),
63
+ {
64
+ i18nKey: "dateCreated",
65
+ value: entityOrSearchResult.createdDate.toLocaleDateString(locale),
66
+ },
67
+ ];
68
+ return {
69
+ access: entityOrSearchResult.access,
70
+ badges: [],
71
+ id: entityOrSearchResult.id,
72
+ family: content_1.getFamily(entityOrSearchResult.type),
73
+ source: entityOrSearchResult.owner,
74
+ summary: entityOrSearchResult.summary,
75
+ title: entityOrSearchResult.name,
76
+ type: entityOrSearchResult.type,
77
+ additionalInfo,
78
+ };
79
+ };
80
+ //# sourceMappingURL=view.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"view.js","sourceRoot":"","sources":["../../../src/initiative-templates/view.ts"],"names":[],"mappings":"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"}
@@ -9,6 +9,7 @@ const ContentBusinessRules_1 = require("../content/_internal/ContentBusinessRule
9
9
  const GroupBusinessRules_1 = require("../groups/_internal/GroupBusinessRules");
10
10
  const PageBusinessRules_1 = require("../pages/_internal/PageBusinessRules");
11
11
  const PlatformPermissionPolicies_1 = require("./PlatformPermissionPolicies");
12
+ const InitiativeTemplateBusinessRules_1 = require("../initiative-templates/_internal/InitiativeTemplateBusinessRules");
12
13
  // Examples of possible Permission Policies
13
14
  // const DiscussionPermissionPolicies: IPermissionPolicy[] = [
14
15
  // {
@@ -82,6 +83,7 @@ exports.HubPermissionsPolicies = [
82
83
  ...PageBusinessRules_1.PagePermissionPolicies,
83
84
  ...PlatformPermissionPolicies_1.PlatformPermissionPolicies,
84
85
  ...TempPermissionPolicies,
86
+ ...InitiativeTemplateBusinessRules_1.InitiativeTemplatePermissionPolicies,
85
87
  ];
86
88
  /**
87
89
  * Get the policies defined for a specific permission
@@ -1 +1 @@
1
- {"version":3,"file":"HubPermissionPolicies.js","sourceRoot":"","sources":["../../../src/permissions/HubPermissionPolicies.ts"],"names":[],"mappings":";;;AAAA,8FAAgG;AAChG,qFAAuF;AACvF,4EAA+E;AAC/E,8FAAgG;AAChG,oFAAsF;AAGtF,+EAAiF;AACjF,4EAA8E;AAC9E,6EAA0E;AAC1E,2CAA2C;AAC3C,8DAA8D;AAC9D,MAAM;AACN,gDAAgD;AAChD,2BAA2B;AAC3B,iCAAiC;AACjC,8CAA8C;AAC9C,OAAO;AACP,MAAM;AACN,uDAAuD;AACvD,2BAA2B;AAC3B,8CAA8C;AAC9C,oBAAoB;AACpB,UAAU;AACV,iDAAiD;AACjD,gCAAgC;AAChC,kCAAkC;AAClC,WAAW;AACX,UAAU;AACV,2CAA2C;AAC3C,uCAAuC;AACvC,oCAAoC;AACpC,WAAW;AACX,SAAS;AACT,OAAO;AACP,MAAM;AACN,gDAAgD;AAChD,iCAAiC;AACjC,2BAA2B;AAC3B,8CAA8C;AAC9C,oBAAoB;AACpB,UAAU;AACV,2CAA2C;AAC3C,gCAAgC;AAChC,kCAAkC;AAClC,WAAW;AACX,SAAS;AACT,OAAO;AACP,MAAM;AACN,6CAA6C;AAC7C,iCAAiC;AACjC,2BAA2B;AAC3B,8CAA8C;AAC9C,oBAAoB;AACpB,UAAU;AACV,2CAA2C;AAC3C,gCAAgC;AAChC,kCAAkC;AAClC,WAAW;AACX,SAAS;AACT,OAAO;AACP,KAAK;AAEL,MAAM,sBAAsB,GAAwB;IAClD;QACE,yBAAyB;QACzB,UAAU,EAAE,yBAAyB;QACrC,YAAY,EAAE,CAAC,OAAO,CAAC;QACvB,YAAY,EAAE,CAAC,QAAQ,EAAE,OAAO,CAAC;KAClC;CACF,CAAC;AAEF;;GAEG;AACU,QAAA,sBAAsB,GAAwB;IACzD,GAAG,2CAAuB;IAC1B,GAAG,gDAAyB;IAC5B,GAAG,sDAA4B;IAC/B,GAAG,sDAA4B;IAC/B,GAAG,gDAAyB;IAC5B,GAAG,4CAAuB;IAC1B,GAAG,0CAAsB;IACzB,GAAG,uDAA0B;IAC7B,GAAG,sBAAsB;CAC1B,CAAC;AAEF;;;;GAIG;AACH,SAAgB,mBAAmB,CAAC,UAAsB;IACxD,OAAO,8BAAsB,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,KAAK,UAAU,CAAC,CAAC;AACzE,CAAC;AAFD,kDAEC"}
1
+ {"version":3,"file":"HubPermissionPolicies.js","sourceRoot":"","sources":["../../../src/permissions/HubPermissionPolicies.ts"],"names":[],"mappings":";;;AAAA,8FAAgG;AAChG,qFAAuF;AACvF,4EAA+E;AAC/E,8FAAgG;AAChG,oFAAsF;AAGtF,+EAAiF;AACjF,4EAA8E;AAC9E,6EAA0E;AAC1E,uHAAyH;AACzH,2CAA2C;AAC3C,8DAA8D;AAC9D,MAAM;AACN,gDAAgD;AAChD,2BAA2B;AAC3B,iCAAiC;AACjC,8CAA8C;AAC9C,OAAO;AACP,MAAM;AACN,uDAAuD;AACvD,2BAA2B;AAC3B,8CAA8C;AAC9C,oBAAoB;AACpB,UAAU;AACV,iDAAiD;AACjD,gCAAgC;AAChC,kCAAkC;AAClC,WAAW;AACX,UAAU;AACV,2CAA2C;AAC3C,uCAAuC;AACvC,oCAAoC;AACpC,WAAW;AACX,SAAS;AACT,OAAO;AACP,MAAM;AACN,gDAAgD;AAChD,iCAAiC;AACjC,2BAA2B;AAC3B,8CAA8C;AAC9C,oBAAoB;AACpB,UAAU;AACV,2CAA2C;AAC3C,gCAAgC;AAChC,kCAAkC;AAClC,WAAW;AACX,SAAS;AACT,OAAO;AACP,MAAM;AACN,6CAA6C;AAC7C,iCAAiC;AACjC,2BAA2B;AAC3B,8CAA8C;AAC9C,oBAAoB;AACpB,UAAU;AACV,2CAA2C;AAC3C,gCAAgC;AAChC,kCAAkC;AAClC,WAAW;AACX,SAAS;AACT,OAAO;AACP,KAAK;AAEL,MAAM,sBAAsB,GAAwB;IAClD;QACE,yBAAyB;QACzB,UAAU,EAAE,yBAAyB;QACrC,YAAY,EAAE,CAAC,OAAO,CAAC;QACvB,YAAY,EAAE,CAAC,QAAQ,EAAE,OAAO,CAAC;KAClC;CACF,CAAC;AAEF;;GAEG;AACU,QAAA,sBAAsB,GAAwB;IACzD,GAAG,2CAAuB;IAC1B,GAAG,gDAAyB;IAC5B,GAAG,sDAA4B;IAC/B,GAAG,sDAA4B;IAC/B,GAAG,gDAAyB;IAC5B,GAAG,4CAAuB;IAC1B,GAAG,0CAAsB;IACzB,GAAG,uDAA0B;IAC7B,GAAG,sBAAsB;IACzB,GAAG,sEAAoC;CACxC,CAAC;AAEF;;;;GAIG;AACH,SAAgB,mBAAmB,CAAC,UAAsB;IACxD,OAAO,8BAAsB,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,KAAK,UAAU,CAAC,CAAC;AACzE,CAAC;AAFD,kDAEC"}
@@ -9,6 +9,7 @@ const ContentBusinessRules_1 = require("../../content/_internal/ContentBusinessR
9
9
  const GroupBusinessRules_1 = require("../../groups/_internal/GroupBusinessRules");
10
10
  const PageBusinessRules_1 = require("../../pages/_internal/PageBusinessRules");
11
11
  const PlatformPermissionPolicies_1 = require("../PlatformPermissionPolicies");
12
+ const InitiativeTemplateBusinessRules_1 = require("../../initiative-templates/_internal/InitiativeTemplateBusinessRules");
12
13
  /**
13
14
  * Defines the values for Permissions
14
15
  * It's critical that the arrays defined in the modules use `as const`
@@ -27,6 +28,7 @@ const validPermissions = [
27
28
  ...PlatformPermissionPolicies_1.PlatformPermissions,
28
29
  ...TempPermissions,
29
30
  ...DiscussionBusinessRules_1.DiscussionPermissions,
31
+ ...InitiativeTemplateBusinessRules_1.InitiativeTemplatePermissions,
30
32
  ];
31
33
  /**
32
34
  * Validate a Permission
@@ -1 +1 @@
1
- {"version":3,"file":"Permission.js","sourceRoot":"","sources":["../../../../src/permissions/types/Permission.ts"],"names":[],"mappings":";;;AAAA,wFAAmF;AACnF,+EAA0E;AAC1E,iGAA4F;AAC5F,iGAA4F;AAC5F,uFAAkF;AAClF,kFAA6E;AAC7E,+EAA0E;AAC1E,8EAAoE;AACpE;;;;GAIG;AACH,6EAA6E;AAC7E,kIAAkI;AAClI,MAAM,eAAe,GAAG,CAAC,yBAAyB,CAAC,CAAC;AAEpD,MAAM,gBAAgB,GAAG;IACvB,GAAG,mCAAe;IAClB,GAAG,yCAAkB;IACrB,GAAG,+CAAqB;IACxB,GAAG,yCAAkB;IACrB,GAAG,qCAAgB;IACnB,GAAG,mCAAe;IAClB,GAAG,gDAAmB;IACtB,GAAG,eAAe;IAClB,GAAG,+CAAqB;CAChB,CAAC;AAgBX;;;;GAIG;AACH,SAAgB,YAAY,CAAC,eAAuB;IAClD,OAAO,gBAAgB,CAAC,QAAQ,CAAC,eAA6B,CAAC,CAAC;AAClE,CAAC;AAFD,oCAEC"}
1
+ {"version":3,"file":"Permission.js","sourceRoot":"","sources":["../../../../src/permissions/types/Permission.ts"],"names":[],"mappings":";;;AAAA,wFAAmF;AACnF,+EAA0E;AAC1E,iGAA4F;AAC5F,iGAA4F;AAC5F,uFAAkF;AAClF,kFAA6E;AAC7E,+EAA0E;AAC1E,8EAAoE;AACpE,0HAAqH;AACrH;;;;GAIG;AACH,6EAA6E;AAC7E,kIAAkI;AAClI,MAAM,eAAe,GAAG,CAAC,yBAAyB,CAAC,CAAC;AAEpD,MAAM,gBAAgB,GAAG;IACvB,GAAG,mCAAe;IAClB,GAAG,yCAAkB;IACrB,GAAG,+CAAqB;IACxB,GAAG,yCAAkB;IACrB,GAAG,qCAAgB;IACnB,GAAG,mCAAe;IAClB,GAAG,gDAAmB;IACtB,GAAG,eAAe;IAClB,GAAG,+CAAqB;IACxB,GAAG,+DAA6B;CACxB,CAAC;AAiBX;;;;GAIG;AACH,SAAgB,YAAY,CAAC,eAAuB;IAClD,OAAO,gBAAgB,CAAC,QAAQ,CAAC,eAA6B,CAAC,CAAC;AAClE,CAAC;AAFD,oCAEC"}
@@ -111,7 +111,7 @@ class HubProject extends HubItemEntity_1.HubItemEntity {
111
111
  /*
112
112
  * Get a specific editor config for the HubProject entity.
113
113
  * @param i18nScope translation scope to be interpolated into the uiSchema
114
- * @param type editor type - corresonds to the returned uiSchema
114
+ * @param type editor type - corresponds to the returned uiSchema
115
115
  * @param options optional hash of dynamic uiSchema element options
116
116
  */
117
117
  async getEditorConfig(i18nScope, type) {
@@ -243,6 +243,24 @@ function getAllCollectionsMap(i18nScope, entityType) {
243
243
  ],
244
244
  },
245
245
  },
246
+ project: {
247
+ key: "project",
248
+ label: `{{${i18nScope}collection.projects:translate}}`,
249
+ targetEntity: entityType,
250
+ include: [],
251
+ scope: {
252
+ targetEntity: entityType,
253
+ filters: [
254
+ {
255
+ predicates: [
256
+ {
257
+ type: get_family_1.getFamilyTypes("project"),
258
+ },
259
+ ],
260
+ },
261
+ ],
262
+ },
263
+ },
246
264
  };
247
265
  }
248
266
  /**
@@ -250,7 +268,7 @@ function getAllCollectionsMap(i18nScope, entityType) {
250
268
  * @returns a list of WellKnownCollection definition strings
251
269
  */
252
270
  function getDefaultCollectionNames() {
253
- return ["appAndMap", "dataset", "document", "feedback", "site"];
271
+ return ["appAndMap", "dataset", "document", "feedback", "site", "project"];
254
272
  }
255
273
  /**
256
274
  * Get a list of collections based on the entity type and an optional
@@ -1 +1 @@
1
- {"version":3,"file":"wellKnownCatalog.js","sourceRoot":"","sources":["../../../src/search/wellKnownCatalog.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"wellKnownCatalog.js","sourceRoot":"","sources":["../../../src/search/wellKnownCatalog.ts"],"names":[],"mappings":"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"}
@@ -5,7 +5,7 @@ import Ajv from "ajv";
5
5
  * to the supported/defined uiSchema configurations
6
6
  */
7
7
  export declare type EditorType = (typeof validEditorTypes)[number];
8
- export declare const validEditorTypes: readonly ["hub:project:create", "hub:project:edit", "hub:content:edit", "hub:content:settings", "hub:content:discussions", "hub:initiative:edit", "hub:initiative:create", "hub:site:edit", "hub:site:create", "hub:site:followers", "hub:site:discussions", "hub:discussion:edit", "hub:discussion:create", "hub:discussion:settings", "hub:page:edit", "hub:group:edit", "hub:group:settings", "hub:group:discussions"];
8
+ export declare const validEditorTypes: readonly ["hub:project:create", "hub:project:edit", "hub:content:edit", "hub:content:settings", "hub:content:discussions", "hub:initiative:edit", "hub:initiative:create", "hub:site:edit", "hub:site:create", "hub:site:followers", "hub:site:discussions", "hub:discussion:edit", "hub:discussion:create", "hub:discussion:settings", "hub:page:edit", "hub:group:edit", "hub:group:settings", "hub:group:discussions", "hub:initiativeTemplate:edit"];
9
9
  export declare enum UiSchemaRuleEffects {
10
10
  SHOW = "SHOW",
11
11
  HIDE = "HIDE",
@@ -1,2 +1,2 @@
1
- export declare const HUB_ENTITY_TYPES: readonly ["site", "project", "initiative", "page", "discussion", "content", "org", "group"];
1
+ export declare const HUB_ENTITY_TYPES: readonly ["site", "project", "initiative", "initiativeTemplate", "page", "discussion", "content", "org", "group"];
2
2
  export declare type HubEntityType = (typeof HUB_ENTITY_TYPES)[number];
@@ -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> & {};
@@ -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";
@@ -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[];