@esri/hub-common 14.24.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.
- package/dist/esm/core/EntityEditor.js +4 -0
- package/dist/esm/core/EntityEditor.js.map +1 -1
- package/dist/esm/core/fetchHubEntity.js +3 -0
- package/dist/esm/core/fetchHubEntity.js.map +1 -1
- package/dist/esm/core/getTypeFromEntity.js +6 -0
- package/dist/esm/core/getTypeFromEntity.js.map +1 -1
- package/dist/esm/core/schemas/internal/getEntityEditorSchemas.js +8 -0
- package/dist/esm/core/schemas/internal/getEntityEditorSchemas.js.map +1 -1
- package/dist/esm/core/schemas/types.js +2 -0
- package/dist/esm/core/schemas/types.js.map +1 -1
- package/dist/esm/core/types/HubEntityType.js +1 -0
- package/dist/esm/core/types/HubEntityType.js.map +1 -1
- package/dist/esm/core/types/IHubInitiativeTemplate.js +1 -0
- package/dist/esm/core/types/IHubInitiativeTemplate.js.map +1 -0
- package/dist/esm/core/types/index.js +1 -0
- package/dist/esm/core/types/index.js.map +1 -1
- package/dist/esm/core/updateHubEntity.js +4 -0
- package/dist/esm/core/updateHubEntity.js.map +1 -1
- package/dist/esm/index.js +1 -0
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/initiative-templates/HubInitiativeTemplate.js +192 -0
- package/dist/esm/initiative-templates/HubInitiativeTemplate.js.map +1 -0
- package/dist/esm/initiative-templates/_internal/InitiativeTemplateBusinessRules.js +72 -0
- package/dist/esm/initiative-templates/_internal/InitiativeTemplateBusinessRules.js.map +1 -0
- package/dist/esm/initiative-templates/_internal/InitiativeTemplateSchema.js +6 -0
- package/dist/esm/initiative-templates/_internal/InitiativeTemplateSchema.js.map +1 -0
- package/dist/esm/initiative-templates/_internal/InitiativeTemplateUiSchemaEdit.js +35 -0
- package/dist/esm/initiative-templates/_internal/InitiativeTemplateUiSchemaEdit.js.map +1 -0
- package/dist/esm/initiative-templates/_internal/computeLinks.js +27 -0
- package/dist/esm/initiative-templates/_internal/computeLinks.js.map +1 -0
- package/dist/esm/initiative-templates/_internal/computeProps.js +39 -0
- package/dist/esm/initiative-templates/_internal/computeProps.js.map +1 -0
- package/dist/esm/initiative-templates/_internal/getPropertyMap.js +18 -0
- package/dist/esm/initiative-templates/_internal/getPropertyMap.js.map +1 -0
- package/dist/esm/initiative-templates/defaults.js +35 -0
- package/dist/esm/initiative-templates/defaults.js.map +1 -0
- package/dist/esm/initiative-templates/edit.js +96 -0
- package/dist/esm/initiative-templates/edit.js.map +1 -0
- package/dist/esm/initiative-templates/fetch.js +68 -0
- package/dist/esm/initiative-templates/fetch.js.map +1 -0
- package/dist/esm/initiative-templates/index.js +5 -0
- package/dist/esm/initiative-templates/index.js.map +1 -0
- package/dist/esm/initiative-templates/view.js +77 -0
- package/dist/esm/initiative-templates/view.js.map +1 -0
- package/dist/esm/permissions/HubPermissionPolicies.js +2 -0
- package/dist/esm/permissions/HubPermissionPolicies.js.map +1 -1
- package/dist/esm/permissions/types/Permission.js +2 -0
- package/dist/esm/permissions/types/Permission.js.map +1 -1
- package/dist/esm/projects/HubProject.js +1 -1
- package/dist/node/core/EntityEditor.js +4 -0
- package/dist/node/core/EntityEditor.js.map +1 -1
- package/dist/node/core/fetchHubEntity.js +3 -0
- package/dist/node/core/fetchHubEntity.js.map +1 -1
- package/dist/node/core/getTypeFromEntity.js +6 -0
- package/dist/node/core/getTypeFromEntity.js.map +1 -1
- package/dist/node/core/schemas/internal/getEntityEditorSchemas.js +8 -0
- package/dist/node/core/schemas/internal/getEntityEditorSchemas.js.map +1 -1
- package/dist/node/core/schemas/types.js +2 -0
- package/dist/node/core/schemas/types.js.map +1 -1
- package/dist/node/core/types/HubEntityType.js +1 -0
- package/dist/node/core/types/HubEntityType.js.map +1 -1
- package/dist/node/core/types/IHubInitiativeTemplate.js +3 -0
- package/dist/node/core/types/IHubInitiativeTemplate.js.map +1 -0
- package/dist/node/core/types/index.js +1 -0
- package/dist/node/core/types/index.js.map +1 -1
- package/dist/node/core/updateHubEntity.js +4 -0
- package/dist/node/core/updateHubEntity.js.map +1 -1
- package/dist/node/index.js +1 -0
- package/dist/node/index.js.map +1 -1
- package/dist/node/initiative-templates/HubInitiativeTemplate.js +196 -0
- package/dist/node/initiative-templates/HubInitiativeTemplate.js.map +1 -0
- package/dist/node/initiative-templates/_internal/InitiativeTemplateBusinessRules.js +75 -0
- package/dist/node/initiative-templates/_internal/InitiativeTemplateBusinessRules.js.map +1 -0
- package/dist/node/initiative-templates/_internal/InitiativeTemplateSchema.js +9 -0
- package/dist/node/initiative-templates/_internal/InitiativeTemplateSchema.js.map +1 -0
- package/dist/node/initiative-templates/_internal/InitiativeTemplateUiSchemaEdit.js +38 -0
- package/dist/node/initiative-templates/_internal/InitiativeTemplateUiSchemaEdit.js.map +1 -0
- package/dist/node/initiative-templates/_internal/computeLinks.js +31 -0
- package/dist/node/initiative-templates/_internal/computeLinks.js.map +1 -0
- package/dist/node/initiative-templates/_internal/computeProps.js +43 -0
- package/dist/node/initiative-templates/_internal/computeProps.js.map +1 -0
- package/dist/node/initiative-templates/_internal/getPropertyMap.js +22 -0
- package/dist/node/initiative-templates/_internal/getPropertyMap.js.map +1 -0
- package/dist/node/initiative-templates/defaults.js +38 -0
- package/dist/node/initiative-templates/defaults.js.map +1 -0
- package/dist/node/initiative-templates/edit.js +103 -0
- package/dist/node/initiative-templates/edit.js.map +1 -0
- package/dist/node/initiative-templates/fetch.js +74 -0
- package/dist/node/initiative-templates/fetch.js.map +1 -0
- package/dist/node/initiative-templates/index.js +8 -0
- package/dist/node/initiative-templates/index.js.map +1 -0
- package/dist/node/initiative-templates/view.js +80 -0
- package/dist/node/initiative-templates/view.js.map +1 -0
- package/dist/node/permissions/HubPermissionPolicies.js +2 -0
- package/dist/node/permissions/HubPermissionPolicies.js.map +1 -1
- package/dist/node/permissions/types/Permission.js +2 -0
- package/dist/node/permissions/types/Permission.js.map +1 -1
- package/dist/node/projects/HubProject.js +1 -1
- package/dist/types/core/schemas/types.d.ts +1 -1
- package/dist/types/core/types/HubEntityType.d.ts +1 -1
- package/dist/types/core/types/IHubInitiativeTemplate.d.ts +14 -0
- package/dist/types/core/types/index.d.ts +1 -0
- package/dist/types/index.d.ts +1 -0
- package/dist/types/initiative-templates/HubInitiativeTemplate.d.ts +82 -0
- package/dist/types/initiative-templates/_internal/InitiativeTemplateBusinessRules.d.ts +16 -0
- package/dist/types/initiative-templates/_internal/InitiativeTemplateSchema.d.ts +4 -0
- package/dist/types/initiative-templates/_internal/InitiativeTemplateUiSchemaEdit.d.ts +15 -0
- package/dist/types/initiative-templates/_internal/computeLinks.d.ts +12 -0
- package/dist/types/initiative-templates/_internal/computeProps.d.ts +12 -0
- package/dist/types/initiative-templates/_internal/getPropertyMap.d.ts +7 -0
- package/dist/types/initiative-templates/defaults.d.ts +8 -0
- package/dist/types/initiative-templates/edit.d.ts +32 -0
- package/dist/types/initiative-templates/fetch.d.ts +16 -0
- package/dist/types/initiative-templates/index.d.ts +4 -0
- package/dist/types/initiative-templates/view.d.ts +20 -0
- package/dist/types/permissions/types/Permission.d.ts +2 -1
- package/package.json +1 -1
|
@@ -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":";;;AAEA,6DAGiC;AAOjC,wCAAuC;AACvC,oFAAmF;AAEnF;;;;;;;;GAQG;AACU,QAAA,6BAA6B,GAEtC,CACF,kBAA0C,EAC1C,OAAuB,EACvB,IAA8B,EACX,EAAE;IACrB,MAAM,EACJ,WAAW,GAAG,EAAE,EAChB,OAAO,GAAG,EAAE,EACZ,MAAM,GAAG,OAAO,EAChB,MAAM,GAAG,MAAM,GAChB,GAAG,IAAI,IAAI,EAAE,CAAC;IAEf,MAAM,QAAQ,GAAG,2CAAyB,CACxC,kBAAkB,EAClB,OAAO,EACP,MAAM,EACN,OAAO,CACR,CAAC;IAEF,qDACK,oCAAoC,CAAC,kBAAkB,EAAE,MAAM,CAAC,KACnE,WAAW;QACX,QAAQ,KACL,CAAC,kBAAkB,CAAC,YAAY,IAAI;QACrC,YAAY,EAAE,kBAAkB,CAAC,YAAY;KAC9C,CAAC,EACF;AACJ,CAAC,CAAC;AAEF;;;;;;GAMG;AACU,QAAA,mCAAmC,GAAwB,CACtE,YAA8B,EAC9B,IAA8B,EACX,EAAE;IACrB,MAAM,EACJ,WAAW,GAAG,EAAE,EAChB,OAAO,GAAG,EAAE,EACZ,MAAM,GAAG,OAAO,EAChB,MAAM,GAAG,MAAM,GAChB,GAAG,IAAI,IAAI,EAAE,CAAC;IAEf,MAAM,QAAQ,GAAG,2CAAyB,CAAC,YAAY,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;IAE1E,iFACK,oCAAoC,CAAC,YAAY,EAAE,MAAM,CAAC,KAC7D,WAAW,KACR,CAAC,CAAC,KAAK,CAAC,YAAY,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,EAAE,YAAY,CAAC,KAAK,EAAE,CAAC,KAChE,QAAQ,KACL,CAAC,YAAY,CAAC,KAAK,CAAC,SAAS,IAAI;QAClC,YAAY,EAAE,YAAY,CAAC,KAAK,CAAC,SAAS;KAC3C,CAAC,EACF;AACJ,CAAC,CAAC;AAEF,MAAM,oCAAoC,GAAG,CAC3C,oBAA+D,EAC/D,MAAc,EACK,EAAE;;IACrB,MAAM,cAAc,GAAG;QACrB;YACE,OAAO,EAAE,MAAM;YACf,KAAK,EAAE,oBAAoB,CAAC,IAAI;SACjC;QACD;YACE,OAAO,EAAE,aAAa;YACtB,KAAK,EAAE,oBAAoB,CAAC,WAAW,CAAC,kBAAkB,CAAC,MAAM,CAAC;SACnE;QACD,GAAG,CAAC,OAAA,oBAAoB,CAAC,IAAI,0CAAE,MAAM,EACnC,CAAC,CAAC;YACE;gBACE,OAAO,EAAE,MAAM;gBACf,KAAK,EAAE,oBAAoB,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC;aAC5C;SACF;YACH,CAAC,CAAC,EAAE,CAAC;QACP,GAAG,CAAC,OAAA,oBAAoB,CAAC,UAAU,0CAAE,MAAM,EACzC,CAAC,CAAC;YACE;gBACE,OAAO,EAAE,YAAY;gBACrB,KAAK,EAAE,6CAAsB,CAAC,oBAAoB,CAAC,UAAU,CAAC,CAAC,IAAI,CACjE,IAAI,CACL;aACF;SACF;YACH,CAAC,CAAC,EAAE,CAAC;QACP;YACE,OAAO,EAAE,aAAa;YACtB,KAAK,EAAE,oBAAoB,CAAC,WAAW,CAAC,kBAAkB,CAAC,MAAM,CAAC;SACnE;KACF,CAAC;IAEF,OAAO;QACL,MAAM,EAAE,oBAAoB,CAAC,MAAM;QACnC,MAAM,EAAE,EAAE;QACV,EAAE,EAAE,oBAAoB,CAAC,EAAE;QAC3B,MAAM,EAAE,mBAAS,CAAC,oBAAoB,CAAC,IAAI,CAAC;QAC5C,MAAM,EAAE,oBAAoB,CAAC,KAAK;QAClC,OAAO,EAAE,oBAAoB,CAAC,OAAO;QACrC,KAAK,EAAE,oBAAoB,CAAC,IAAI;QAChC,IAAI,EAAE,oBAAoB,CAAC,IAAI;QAC/B,cAAc;KACf,CAAC;AACJ,CAAC,CAAC"}
|
|
@@ -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;
|
|
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;
|
|
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 -
|
|
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) {
|
|
@@ -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";
|
package/dist/types/index.d.ts
CHANGED
|
@@ -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,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
|