@esri/hub-common 13.18.0 → 13.19.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/capabilities/_internal/checkCapabilityAccess.js.map +1 -1
- package/dist/esm/capabilities/checkCapability.js.map +1 -1
- package/dist/esm/core/fetchHubEntity.js +3 -1
- package/dist/esm/core/fetchHubEntity.js.map +1 -1
- package/dist/esm/core/getTypeFromEntity.js.map +1 -1
- package/dist/esm/core/schemas/getEntityEditorSchemas.js +9 -0
- package/dist/esm/core/schemas/getEntityEditorSchemas.js.map +1 -1
- package/dist/esm/core/updateHubEntity.js +5 -0
- package/dist/esm/core/updateHubEntity.js.map +1 -1
- package/dist/esm/pages/HubPage.js +137 -0
- package/dist/esm/pages/HubPage.js.map +1 -0
- package/dist/esm/pages/HubPages.js +116 -2
- package/dist/esm/pages/HubPages.js.map +1 -1
- package/dist/esm/pages/_internal/PageBusinessRules.js +80 -0
- package/dist/esm/pages/_internal/PageBusinessRules.js.map +1 -1
- package/dist/esm/pages/_internal/PageSchema.js +31 -0
- package/dist/esm/pages/_internal/PageSchema.js.map +1 -0
- package/dist/esm/pages/_internal/PageUiSchemaEdit.js +100 -0
- package/dist/esm/pages/_internal/PageUiSchemaEdit.js.map +1 -0
- package/dist/esm/pages/_internal/computeProps.js +31 -0
- package/dist/esm/pages/_internal/computeProps.js.map +1 -0
- package/dist/esm/pages/_internal/getPropertyMap.js +20 -0
- package/dist/esm/pages/_internal/getPropertyMap.js.map +1 -0
- package/dist/esm/pages/defaults.js +41 -0
- package/dist/esm/pages/defaults.js.map +1 -0
- package/dist/esm/pages/index.js +1 -0
- package/dist/esm/pages/index.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/node/capabilities/_internal/checkCapabilityAccess.js.map +1 -1
- package/dist/node/capabilities/checkCapability.js.map +1 -1
- package/dist/node/core/fetchHubEntity.js +3 -1
- package/dist/node/core/fetchHubEntity.js.map +1 -1
- package/dist/node/core/getTypeFromEntity.js.map +1 -1
- package/dist/node/core/schemas/getEntityEditorSchemas.js +9 -0
- package/dist/node/core/schemas/getEntityEditorSchemas.js.map +1 -1
- package/dist/node/core/updateHubEntity.js +5 -0
- package/dist/node/core/updateHubEntity.js.map +1 -1
- package/dist/node/pages/HubPage.js +141 -0
- package/dist/node/pages/HubPage.js.map +1 -0
- package/dist/node/pages/HubPages.js +120 -1
- package/dist/node/pages/HubPages.js.map +1 -1
- package/dist/node/pages/_internal/PageBusinessRules.js +81 -1
- package/dist/node/pages/_internal/PageBusinessRules.js.map +1 -1
- package/dist/node/pages/_internal/PageSchema.js +34 -0
- package/dist/node/pages/_internal/PageSchema.js.map +1 -0
- package/dist/node/pages/_internal/PageUiSchemaEdit.js +103 -0
- package/dist/node/pages/_internal/PageUiSchemaEdit.js.map +1 -0
- package/dist/node/pages/_internal/computeProps.js +35 -0
- package/dist/node/pages/_internal/computeProps.js.map +1 -0
- package/dist/node/pages/_internal/getPropertyMap.js +24 -0
- package/dist/node/pages/_internal/getPropertyMap.js.map +1 -0
- package/dist/node/pages/defaults.js +44 -0
- package/dist/node/pages/defaults.js.map +1 -0
- package/dist/node/pages/index.js +1 -0
- package/dist/node/pages/index.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/types/capabilities/_internal/checkCapabilityAccess.d.ts +2 -2
- package/dist/types/capabilities/checkCapability.d.ts +2 -2
- package/dist/types/core/getTypeFromEntity.d.ts +2 -2
- package/dist/types/core/schemas/getEntityEditorSchemas.d.ts +1 -1
- package/dist/types/core/types/IHubPage.d.ts +2 -2
- package/dist/types/pages/HubPage.d.ts +59 -0
- package/dist/types/pages/HubPages.d.ts +44 -1
- package/dist/types/pages/_internal/PageBusinessRules.d.ts +27 -0
- package/dist/types/pages/_internal/PageSchema.d.ts +7 -0
- package/dist/types/pages/_internal/PageUiSchemaEdit.d.ts +7 -0
- package/dist/types/pages/_internal/computeProps.d.ts +12 -0
- package/dist/types/pages/_internal/getPropertyMap.d.ts +8 -0
- package/dist/types/pages/defaults.d.ts +13 -0
- package/dist/types/pages/index.d.ts +1 -0
- package/dist/types/permissions/types/Permission.d.ts +1 -1
- package/package.json +1 -1
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import { getItemThumbnailUrl } from "../../resources";
|
|
2
|
+
import { PageDefaultCapabilities } from "./PageBusinessRules";
|
|
3
|
+
import { processEntityCapabilities } from "../../capabilities";
|
|
4
|
+
/**
|
|
5
|
+
* Given a model and a page, set various computed properties that can't be directly mapped
|
|
6
|
+
* @private
|
|
7
|
+
* @param model
|
|
8
|
+
* @param page
|
|
9
|
+
* @param requestOptions
|
|
10
|
+
* @returns
|
|
11
|
+
*/
|
|
12
|
+
export function computeProps(model, page, requestOptions) {
|
|
13
|
+
var _a;
|
|
14
|
+
let token;
|
|
15
|
+
if (requestOptions.authentication) {
|
|
16
|
+
const session = requestOptions.authentication;
|
|
17
|
+
token = session.token;
|
|
18
|
+
}
|
|
19
|
+
// thumbnail url
|
|
20
|
+
page.thumbnailUrl = getItemThumbnailUrl(model.item, requestOptions, token);
|
|
21
|
+
// Handle Dates
|
|
22
|
+
page.createdDate = new Date(model.item.created);
|
|
23
|
+
page.createdDateSource = "item.created";
|
|
24
|
+
page.updatedDate = new Date(model.item.modified);
|
|
25
|
+
page.updatedDateSource = "item.modified";
|
|
26
|
+
// // Handle capabilities
|
|
27
|
+
page.capabilities = processEntityCapabilities(((_a = model.data.settings) === null || _a === void 0 ? void 0 : _a.capabilities) || {}, PageDefaultCapabilities);
|
|
28
|
+
// cast b/c this takes a partial but returns a full page
|
|
29
|
+
return page;
|
|
30
|
+
}
|
|
31
|
+
//# sourceMappingURL=computeProps.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"computeProps.js","sourceRoot":"","sources":["../../../../src/pages/_internal/computeProps.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AAGtD,OAAO,EAAE,uBAAuB,EAAE,MAAM,qBAAqB,CAAC;AAC9D,OAAO,EAAE,yBAAyB,EAAE,MAAM,oBAAoB,CAAC;AAE/D;;;;;;;GAOG;AACH,MAAM,UAAU,YAAY,CAC1B,KAAa,EACb,IAAuB,EACvB,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;IACD,gBAAgB;IAChB,IAAI,CAAC,YAAY,GAAG,mBAAmB,CAAC,KAAK,CAAC,IAAI,EAAE,cAAc,EAAE,KAAK,CAAC,CAAC;IAE3E,eAAe;IACf,IAAI,CAAC,WAAW,GAAG,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IAChD,IAAI,CAAC,iBAAiB,GAAG,cAAc,CAAC;IACxC,IAAI,CAAC,WAAW,GAAG,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IACjD,IAAI,CAAC,iBAAiB,GAAG,eAAe,CAAC;IAEzC,yBAAyB;IACzB,IAAI,CAAC,YAAY,GAAG,yBAAyB,CAC3C,OAAA,KAAK,CAAC,IAAI,CAAC,QAAQ,0CAAE,YAAY,KAAI,EAAE,EACvC,uBAAuB,CACxB,CAAC;IAEF,wDAAwD;IACxD,OAAO,IAAgB,CAAC;AAC1B,CAAC"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { getBasePropertyMap } from "../../core/_internal/getBasePropertyMap";
|
|
2
|
+
/**
|
|
3
|
+
* Returns an Array of IPropertyMap objects
|
|
4
|
+
* that define the projection of properties from a IModel to an IHubPage
|
|
5
|
+
* @returns
|
|
6
|
+
* @private
|
|
7
|
+
*/
|
|
8
|
+
export function getPropertyMap() {
|
|
9
|
+
const map = getBasePropertyMap();
|
|
10
|
+
/**
|
|
11
|
+
* page-specific mappings.
|
|
12
|
+
*/
|
|
13
|
+
// map.push({ entityKey: "permissions", storeKey: "data.permissions" });
|
|
14
|
+
const valueProps = ["headContent", "layout"];
|
|
15
|
+
valueProps.forEach((entityKey) => {
|
|
16
|
+
map.push({ entityKey, storeKey: `data.values.${entityKey}` });
|
|
17
|
+
});
|
|
18
|
+
return map;
|
|
19
|
+
}
|
|
20
|
+
//# sourceMappingURL=getPropertyMap.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"getPropertyMap.js","sourceRoot":"","sources":["../../../../src/pages/_internal/getPropertyMap.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,kBAAkB,EAAE,MAAM,yCAAyC,CAAC;AAE7E;;;;;GAKG;AAEH,MAAM,UAAU,cAAc;IAC5B,MAAM,GAAG,GAAG,kBAAkB,EAAE,CAAC;IAEjC;;OAEG;IACH,wEAAwE;IACxE,MAAM,UAAU,GAAG,CAAC,aAAa,EAAE,QAAQ,CAAC,CAAC;IAC7C,UAAU,CAAC,OAAO,CAAC,CAAC,SAAS,EAAE,EAAE;QAC/B,GAAG,CAAC,IAAI,CAAC,EAAE,SAAS,EAAE,QAAQ,EAAE,eAAe,SAAS,EAAE,EAAE,CAAC,CAAC;IAChE,CAAC,CAAC,CAAC;IAEH,OAAO,GAAG,CAAC;AACb,CAAC"}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
export const HUB_PAGE_ITEM_TYPE = "Hub Page";
|
|
2
|
+
export const ENTERPRISE_PAGE_ITEM_TYPE = "Site Page";
|
|
3
|
+
export const PAGE_TYPE_KEYWORD = "hubPage";
|
|
4
|
+
/**
|
|
5
|
+
* Default values of a IHubPage
|
|
6
|
+
*/
|
|
7
|
+
export const DEFAULT_PAGE = {
|
|
8
|
+
name: "No title provided",
|
|
9
|
+
permissions: [],
|
|
10
|
+
schemaVersion: 1,
|
|
11
|
+
tags: [],
|
|
12
|
+
typeKeywords: [PAGE_TYPE_KEYWORD],
|
|
13
|
+
view: {
|
|
14
|
+
contacts: [],
|
|
15
|
+
featuredContentIds: [],
|
|
16
|
+
showMap: true,
|
|
17
|
+
},
|
|
18
|
+
};
|
|
19
|
+
/**
|
|
20
|
+
* Default values for a new HubPage Model
|
|
21
|
+
*/
|
|
22
|
+
export const DEFAULT_PAGE_MODEL = {
|
|
23
|
+
item: {
|
|
24
|
+
type: HUB_PAGE_ITEM_TYPE,
|
|
25
|
+
title: "No Title Provided",
|
|
26
|
+
description: "",
|
|
27
|
+
snippet: "",
|
|
28
|
+
tags: [],
|
|
29
|
+
typeKeywords: [PAGE_TYPE_KEYWORD],
|
|
30
|
+
properties: {
|
|
31
|
+
slug: "",
|
|
32
|
+
schemaVersion: 1,
|
|
33
|
+
},
|
|
34
|
+
},
|
|
35
|
+
data: {
|
|
36
|
+
values: {
|
|
37
|
+
layout: {},
|
|
38
|
+
},
|
|
39
|
+
},
|
|
40
|
+
};
|
|
41
|
+
//# sourceMappingURL=defaults.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"defaults.js","sourceRoot":"","sources":["../../../src/pages/defaults.ts"],"names":[],"mappings":"AAGA,MAAM,CAAC,MAAM,kBAAkB,GAAG,UAAU,CAAC;AAC7C,MAAM,CAAC,MAAM,yBAAyB,GAAG,WAAW,CAAC;AACrD,MAAM,CAAC,MAAM,iBAAiB,GAAG,SAAS,CAAC;AAC3C;;GAEG;AACH,MAAM,CAAC,MAAM,YAAY,GAAsB;IAC7C,IAAI,EAAE,mBAAmB;IACzB,WAAW,EAAE,EAAE;IACf,aAAa,EAAE,CAAC;IAChB,IAAI,EAAE,EAAE;IACR,YAAY,EAAE,CAAC,iBAAiB,CAAC;IACjC,IAAI,EAAE;QACJ,QAAQ,EAAE,EAAE;QACZ,kBAAkB,EAAE,EAAE;QACtB,OAAO,EAAE,IAAI;KACd;CACF,CAAC;AAEF;;GAEG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAAW;IACxC,IAAI,EAAE;QACJ,IAAI,EAAE,kBAAkB;QACxB,KAAK,EAAE,mBAAmB;QAC1B,WAAW,EAAE,EAAE;QACf,OAAO,EAAE,EAAE;QACX,IAAI,EAAE,EAAE;QACR,YAAY,EAAE,CAAC,iBAAiB,CAAC;QACjC,UAAU,EAAE;YACV,IAAI,EAAE,EAAE;YACR,aAAa,EAAE,CAAC;SACjB;KACF;IACD,IAAI,EAAE;QACJ,MAAM,EAAE;YACN,MAAM,EAAE,EAAE;SACX;KACF;CACmB,CAAC"}
|
package/dist/esm/pages/index.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/pages/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/pages/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAC;AAC3B,cAAc,WAAW,CAAC"}
|
|
@@ -3,6 +3,7 @@ import { SitePermissions } from "../../sites/_internal/SiteBusinessRules";
|
|
|
3
3
|
import { InitiativePermissions } from "../../initiatives/_internal/InitiativeBusinessRules";
|
|
4
4
|
import { DiscussionPermissions } from "../../discussions/_internal/DiscussionBusinessRules";
|
|
5
5
|
import { ContentPermissions } from "../../content/_internal/ContentBusinessRules";
|
|
6
|
+
import { PagePermissions } from "../../pages/_internal/PageBusinessRules";
|
|
6
7
|
/**
|
|
7
8
|
* Defines the values for Permissions
|
|
8
9
|
* It's critical that the arrays defined in the modules use `as const`
|
|
@@ -14,6 +15,7 @@ const validPermissions = [
|
|
|
14
15
|
...InitiativePermissions,
|
|
15
16
|
...DiscussionPermissions,
|
|
16
17
|
...ContentPermissions,
|
|
18
|
+
...PagePermissions,
|
|
17
19
|
];
|
|
18
20
|
/**
|
|
19
21
|
* Validate a Permission
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Permission.js","sourceRoot":"","sources":["../../../../src/permissions/types/Permission.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,+CAA+C,CAAC;AACnF,OAAO,EAAE,eAAe,EAAE,MAAM,yCAAyC,CAAC;AAC1E,OAAO,EAAE,qBAAqB,EAAE,MAAM,qDAAqD,CAAC;AAC5F,OAAO,EAAE,qBAAqB,EAAE,MAAM,qDAAqD,CAAC;AAC5F,OAAO,EAAE,kBAAkB,EAAE,MAAM,8CAA8C,CAAC;
|
|
1
|
+
{"version":3,"file":"Permission.js","sourceRoot":"","sources":["../../../../src/permissions/types/Permission.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,+CAA+C,CAAC;AACnF,OAAO,EAAE,eAAe,EAAE,MAAM,yCAAyC,CAAC;AAC1E,OAAO,EAAE,qBAAqB,EAAE,MAAM,qDAAqD,CAAC;AAC5F,OAAO,EAAE,qBAAqB,EAAE,MAAM,qDAAqD,CAAC;AAC5F,OAAO,EAAE,kBAAkB,EAAE,MAAM,8CAA8C,CAAC;AAClF,OAAO,EAAE,eAAe,EAAE,MAAM,yCAAyC,CAAC;AAE1E;;;;GAIG;AACH,MAAM,gBAAgB,GAAG;IACvB,GAAG,eAAe;IAClB,GAAG,kBAAkB;IACrB,GAAG,qBAAqB;IACxB,GAAG,qBAAqB;IACxB,GAAG,kBAAkB;IACrB,GAAG,eAAe;CACV,CAAC;AAOX;;;;GAIG;AACH,MAAM,UAAU,YAAY,CAAC,eAAuB;IAClD,OAAO,gBAAgB,CAAC,QAAQ,CAAC,eAA6B,CAAC,CAAC;AAClE,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"checkCapabilityAccess.js","sourceRoot":"","sources":["../../../../src/capabilities/_internal/checkCapabilityAccess.ts"],"names":[],"mappings":";;;AAEA,mDAA+E;AAG/E;;;;;;GAMG;AACH,SAAgB,qBAAqB,CACnC,IAA2B,EAC3B,OAAuB,EACvB,
|
|
1
|
+
{"version":3,"file":"checkCapabilityAccess.js","sourceRoot":"","sources":["../../../../src/capabilities/_internal/checkCapabilityAccess.ts"],"names":[],"mappings":";;;AAEA,mDAA+E;AAG/E;;;;;;GAMG;AACH,SAAgB,qBAAqB,CACnC,IAA2B,EAC3B,OAAuB,EACvB,MAAkC;IAElC,0EAA0E;IAC1E,MAAM,KAAK,GAAG,MAAM,CAAC,YAAY,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,KAAK,CAAC;IAC5D,qCAAqC;IACrC,IAAI,CAAC,KAAK,EAAE;QACV,OAAO;YACL,UAAU,EAAE,IAAI,CAAC,UAAU;YAC3B,MAAM,EAAE,KAAK;YACb,IAAI,EAAE,UAAU;YAChB,QAAQ,EAAE,eAAe;YACzB,OAAO,EAAE,SAAS,MAAM,CAAC,KAAK,iBAAiB,IAAI,CAAC,UAAU,cAAc;YAC5E,SAAS,EAAE,EAAE;SACd,CAAC;KACH;SAAM;QACL,oCAAoC;QACpC,MAAM,IAAI,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,UAAU,EAAE,EAAE;YAC/C,OAAO,6BAAe,CAAC,UAAU,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC;QACtD,CAAC,CAAC,CAAC;QACH,wBAAwB;QACxB,IAAI,WAAW,GAA8B,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QACnE,iDAAiD;QACjD,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QAE/C,IAAI,CAAC,MAAM,EAAE;YACX,iEAAiE;YACjE,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;SAC/C;QACD,yBAAyB;QACzB,OAAO;YACL,UAAU,EAAE,IAAI,CAAC,UAAU;YAC3B,MAAM,EAAE,WAAW,CAAC,MAAM;YAC1B,IAAI,EAAE,WAAW,CAAC,IAAI;YACtB,QAAQ,EAAE,WAAW,CAAC,QAAQ;YAC9B,OAAO,EAAE,WAAW,CAAC,OAAO;YAC5B,SAAS,EAAE,IAAI;SAChB,CAAC;KACH;AACH,CAAC;AAzCD,sDAyCC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"checkCapability.js","sourceRoot":"","sources":["../../../src/capabilities/checkCapability.ts"],"names":[],"mappings":";;;AAAA,mCAA8E;AAC9E,yEAAmE;AACnE,2CAAoD;
|
|
1
|
+
{"version":3,"file":"checkCapability.js","sourceRoot":"","sources":["../../../src/capabilities/checkCapability.ts"],"names":[],"mappings":";;;AAAA,mCAA8E;AAC9E,yEAAmE;AACnE,2CAAoD;AAOpD,iEAAiE;AACjE,gDAAgD;AAChD,+CAA+C;AAC/C,qDAAqD;AACrD,0CAA0C;AAC1C,iEAA8D;AAE9D;;;;;;GAMG;AACH,SAAgB,eAAe,CAC7B,UAAsB,EACtB,OAAuB,EACvB,MAAkC;IAElC,MAAM,UAAU,GAAkB,qCAAiB,CAAC,MAAM,CAAC,CAAC;IAC5D,yDAAyD;IACzD,MAAM,OAAO,GAAG,oBAAY,CAAC,UAAU,CAAC,CAAC;IACzC,IAAI,OAAO,EAAE;QACX,MAAM,IAAI,GAAG,gDAAqB,CAAC,IAAI,CACrC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,UAAU,IAAI,CAAC,CAAC,UAAU,KAAK,UAAU,CAC9D,CAAC;QACF,IAAI,IAAI,EAAE;YACR,oCAAoC;YACpC,OAAO,iCAAqB,CAAC,IAAI,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC;SACrD;aAAM;YACL,gBAAgB;YAChB,OAAO;gBACL,UAAU;gBACV,MAAM,EAAE,KAAK;gBACb,IAAI,EAAE,UAAU;gBAChB,QAAQ,EAAE,eAAe;gBACzB,OAAO,EAAE,eAAe,UAAU,wBAAwB,UAAU,GAAG;gBACvE,SAAS,EAAE,EAAE;aACe,CAAC;SAChC;KACF;SAAM;QACL,qBAAqB;QACrB,OAAO;YACL,UAAU;YACV,MAAM,EAAE,KAAK;YACb,IAAI,EAAE,UAAU;YAChB,QAAQ,EAAE,oBAAoB;YAC9B,OAAO,EAAE,UAAU,UAAU,kCAAkC;YAC/D,SAAS,EAAE,EAAE;SACe,CAAC;KAChC;AACH,CAAC;AArCD,0CAqCC"}
|
|
@@ -4,6 +4,7 @@ exports.fetchHubEntity = void 0;
|
|
|
4
4
|
const fetch_1 = require("../discussions/fetch");
|
|
5
5
|
const fetch_2 = require("../content/fetch");
|
|
6
6
|
const HubInitiatives_1 = require("../initiatives/HubInitiatives");
|
|
7
|
+
const HubPages_1 = require("../pages/HubPages");
|
|
7
8
|
const fetch_3 = require("../projects/fetch");
|
|
8
9
|
const HubSites_1 = require("../sites/HubSites");
|
|
9
10
|
/**
|
|
@@ -29,7 +30,8 @@ async function fetchHubEntity(type, identifier, context) {
|
|
|
29
30
|
result = await fetch_1.fetchDiscussion(identifier, context.hubRequestOptions);
|
|
30
31
|
break;
|
|
31
32
|
case "page":
|
|
32
|
-
|
|
33
|
+
result = await HubPages_1.fetchPage(identifier, context.hubRequestOptions);
|
|
34
|
+
break;
|
|
33
35
|
case "content":
|
|
34
36
|
result = await fetch_2.fetchHubContent(identifier, context.requestOptions);
|
|
35
37
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fetchHubEntity.js","sourceRoot":"","sources":["../../../src/core/fetchHubEntity.ts"],"names":[],"mappings":";;;AAAA,gDAAuD;AACvD,4CAAmD;AACnD,kEAAgE;AAChE,6CAAiD;AACjD,gDAA8C;AAK9C;;;;;;GAMG;AACI,KAAK,UAAU,cAAc,CAClC,IAAmB,EACnB,UAAkB,EAClB,OAAuB;IAEvB,IAAI,MAAiB,CAAC;IACtB,QAAQ,IAAI,EAAE;QACZ,KAAK,SAAS;YACZ,MAAM,GAAG,MAAM,oBAAY,CAAC,UAAU,EAAE,OAAO,CAAC,cAAc,CAAC,CAAC;YAChE,MAAM;QACR,KAAK,MAAM;YACT,MAAM,GAAG,MAAM,oBAAS,CAAC,UAAU,EAAE,OAAO,CAAC,iBAAiB,CAAC,CAAC;YAChE,MAAM;QACR,KAAK,YAAY;YACf,MAAM,GAAG,MAAM,gCAAe,CAAC,UAAU,EAAE,OAAO,CAAC,cAAc,CAAC,CAAC;YACnE,MAAM;QACR,KAAK,YAAY;YACf,MAAM,GAAG,MAAM,uBAAe,CAAC,UAAU,EAAE,OAAO,CAAC,iBAAiB,CAAC,CAAC;YACtE,MAAM;QACR,KAAK,MAAM;YACT,MAAM,
|
|
1
|
+
{"version":3,"file":"fetchHubEntity.js","sourceRoot":"","sources":["../../../src/core/fetchHubEntity.ts"],"names":[],"mappings":";;;AAAA,gDAAuD;AACvD,4CAAmD;AACnD,kEAAgE;AAChE,gDAA8C;AAC9C,6CAAiD;AACjD,gDAA8C;AAK9C;;;;;;GAMG;AACI,KAAK,UAAU,cAAc,CAClC,IAAmB,EACnB,UAAkB,EAClB,OAAuB;IAEvB,IAAI,MAAiB,CAAC;IACtB,QAAQ,IAAI,EAAE;QACZ,KAAK,SAAS;YACZ,MAAM,GAAG,MAAM,oBAAY,CAAC,UAAU,EAAE,OAAO,CAAC,cAAc,CAAC,CAAC;YAChE,MAAM;QACR,KAAK,MAAM;YACT,MAAM,GAAG,MAAM,oBAAS,CAAC,UAAU,EAAE,OAAO,CAAC,iBAAiB,CAAC,CAAC;YAChE,MAAM;QACR,KAAK,YAAY;YACf,MAAM,GAAG,MAAM,gCAAe,CAAC,UAAU,EAAE,OAAO,CAAC,cAAc,CAAC,CAAC;YACnE,MAAM;QACR,KAAK,YAAY;YACf,MAAM,GAAG,MAAM,uBAAe,CAAC,UAAU,EAAE,OAAO,CAAC,iBAAiB,CAAC,CAAC;YACtE,MAAM;QACR,KAAK,MAAM;YACT,MAAM,GAAG,MAAM,oBAAS,CAAC,UAAU,EAAE,OAAO,CAAC,iBAAiB,CAAC,CAAC;YAChE,MAAM;QACR,KAAK,SAAS;YACZ,MAAM,GAAG,MAAM,uBAAe,CAAC,UAAU,EAAE,OAAO,CAAC,cAAc,CAAC,CAAC;KACtE;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AA1BD,wCA0BC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getTypeFromEntity.js","sourceRoot":"","sources":["../../../src/core/getTypeFromEntity.ts"],"names":[],"mappings":";AAAA,iDAAiD;AACjD,yDAAyD;;;AAEzD,sDAAkD;AAGlD;;;;GAIG;AACH,SAAgB,iBAAiB,
|
|
1
|
+
{"version":3,"file":"getTypeFromEntity.js","sourceRoot":"","sources":["../../../src/core/getTypeFromEntity.ts"],"names":[],"mappings":";AAAA,iDAAiD;AACjD,yDAAyD;;;AAEzD,sDAAkD;AAGlD;;;;GAIG;AACH,SAAgB,iBAAiB,CAC/B,MAAkC;IAElC,IAAI,IAAmB,CAAC;IACxB,QAAQ,MAAM,CAAC,IAAI,EAAE;QACnB,KAAK,sBAAsB,CAAC;QAC5B,KAAK,kBAAkB;YACrB,IAAI,GAAG,MAAM,CAAC;YACd,MAAM;QACR,KAAK,UAAU,CAAC;QAChB,KAAK,WAAW;YACd,IAAI,GAAG,MAAM,CAAC;YACd,MAAM;QACR,KAAK,aAAa;YAChB,IAAI,GAAG,SAAS,CAAC;YACjB,MAAM;QACR,KAAK,gBAAgB;YACnB,IAAI,GAAG,YAAY,CAAC;YACpB,MAAM;QACR,KAAK,YAAY;YACf,IAAI,GAAG,YAAY,CAAC;YACpB,MAAM;QACR;YACE,8DAA8D;YAC9D,MAAM,eAAe,GAAG,CAAC,KAAK,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,KAAK,CAAC,CAAC;YACzE,IAAI,eAAe,CAAC,QAAQ,CAAC,sBAAS,CAAC,MAAM,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,EAAE;gBAC1D,IAAI,GAAG,SAAS,CAAC;aAClB;KACJ;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AA9BD,8CA8BC"}
|
|
@@ -9,11 +9,13 @@ const ProjectSchema_1 = require("../../projects/_internal/ProjectSchema");
|
|
|
9
9
|
const InitiativeSchema_1 = require("../../initiatives/_internal/InitiativeSchema");
|
|
10
10
|
const SiteSchema_1 = require("../../sites/_internal/SiteSchema");
|
|
11
11
|
const DiscussionSchema_1 = require("../../discussions/_internal/DiscussionSchema");
|
|
12
|
+
const PageSchema_1 = require("../../pages/_internal/PageSchema");
|
|
12
13
|
exports.validEditorTypes = [
|
|
13
14
|
...ProjectSchema_1.ProjectEditorTypes,
|
|
14
15
|
...InitiativeSchema_1.InitiativeEditorTypes,
|
|
15
16
|
...SiteSchema_1.SiteEditorTypes,
|
|
16
17
|
...DiscussionSchema_1.DiscussionEditorTypes,
|
|
18
|
+
...PageSchema_1.PageEditorTypes,
|
|
17
19
|
];
|
|
18
20
|
/**
|
|
19
21
|
* get the editor schema and uiSchema defined for an entity.
|
|
@@ -62,6 +64,13 @@ exports.getEntityEditorSchemas = async (i18nScope, type, options = []) => {
|
|
|
62
64
|
"hub:discussion:create": () => Promise.resolve().then(() => require("../../discussions/_internal/DiscussionUiSchemaCreate")),
|
|
63
65
|
}[type]());
|
|
64
66
|
break;
|
|
67
|
+
case "page":
|
|
68
|
+
const { PageSchema } = await Promise.resolve().then(() => require("../../pages/_internal/PageSchema"));
|
|
69
|
+
schema = util_1.cloneObject(PageSchema);
|
|
70
|
+
({ uiSchema } = await {
|
|
71
|
+
"hub:page:edit": () => Promise.resolve().then(() => require("../../pages/_internal/PageUiSchemaEdit")),
|
|
72
|
+
}[type]());
|
|
73
|
+
break;
|
|
65
74
|
}
|
|
66
75
|
// filter out properties not used in the UI schema
|
|
67
76
|
schema = filterSchemaToUiSchema_1.filterSchemaToUiSchema(schema, uiSchema);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getEntityEditorSchemas.js","sourceRoot":"","sources":["../../../../src/core/schemas/getEntityEditorSchemas.ts"],"names":[],"mappings":";;;AAAA,uCAA0C;AAC1C,qCAAyC;AAGzC,wFAAqF;AACrF,8EAA2E;AAC3E,0EAGgD;AAChD,mFAGsD;AACtD,iEAG0C;AAC1C,mFAGsD;
|
|
1
|
+
{"version":3,"file":"getEntityEditorSchemas.js","sourceRoot":"","sources":["../../../../src/core/schemas/getEntityEditorSchemas.ts"],"names":[],"mappings":";;;AAAA,uCAA0C;AAC1C,qCAAyC;AAGzC,wFAAqF;AACrF,8EAA2E;AAC3E,0EAGgD;AAChD,mFAGsD;AACtD,iEAG0C;AAC1C,mFAGsD;AACtD,iEAG0C;AAO7B,QAAA,gBAAgB,GAAG;IAC9B,GAAG,kCAAkB;IACrB,GAAG,wCAAqB;IACxB,GAAG,4BAAe;IAClB,GAAG,wCAAqB;IACxB,GAAG,4BAAe;CACV,CAAC;AAEX;;;;;;;;;GASG;AACU,QAAA,sBAAsB,GAAG,KAAK,EACzC,SAAiB,EACjB,IAAgB,EAChB,UAAoC,EAAE,EACd,EAAE;IAC1B,MAAM,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IAEtC,wDAAwD;IACxD,+CAA+C;IAC/C,IAAI,MAAM,CAAC;IACX,IAAI,QAAQ,CAAC;IACb,QAAQ,UAAU,EAAE;QAClB,KAAK,SAAS;YACZ,MAAM,EAAE,aAAa,EAAE,GAAG,2CACxB,wCAAwC,EACzC,CAAC;YACF,MAAM,GAAG,kBAAW,CAAC,aAAa,CAAC,CAAC;YAEpC,CAAC,EAAE,QAAQ,EAAE,GAAG,MAAM;gBACpB,kBAAkB,EAAE,GAAG,EAAE,sCAChB,8CAA8C,EAAC;gBACxD,oBAAoB,EAAE,GAAG,EAAE,sCAClB,gDAAgD,EAAC;aAC3D,CAAC,IAAyB,CAAC,EAAE,CAAC,CAAC;YAChC,MAAM;QACR,KAAK,YAAY;YACf,MAAM,EAAE,gBAAgB,EAAE,GAAG,2CAC3B,8CAA8C,EAC/C,CAAC;YACF,MAAM,GAAG,kBAAW,CAAC,gBAAgB,CAAC,CAAC;YAEvC,CAAC,EAAE,QAAQ,EAAE,GAAG,MAAM;gBACpB,qBAAqB,EAAE,GAAG,EAAE,sCACnB,oDAAoD,EAAC;aAC/D,CAAC,IAA4B,CAAC,EAAE,CAAC,CAAC;YACnC,MAAM;QACR,KAAK,MAAM;YACT,MAAM,EAAE,UAAU,EAAE,GAAG,2CAAa,kCAAkC,EAAC,CAAC;YACxE,MAAM,GAAG,kBAAW,CAAC,UAAU,CAAC,CAAC;YAEjC,CAAC,EAAE,QAAQ,EAAE,GAAG,MAAM;gBACpB,eAAe,EAAE,GAAG,EAAE,sCAAQ,wCAAwC,EAAC;aACxE,CAAC,IAAsB,CAAC,EAAE,CAAC,CAAC;YAC7B,MAAM;QACR,KAAK,YAAY;YACf,MAAM,EAAE,gBAAgB,EAAE,GAAG,2CAC3B,8CAA8C,EAC/C,CAAC;YACF,MAAM,GAAG,kBAAW,CAAC,gBAAgB,CAAC,CAAC;YAEvC,CAAC,EAAE,QAAQ,EAAE,GAAG,MAAM;gBACpB,qBAAqB,EAAE,GAAG,EAAE,sCACnB,oDAAoD,EAAC;gBAC9D,uBAAuB,EAAE,GAAG,EAAE,sCACrB,sDAAsD,EAAC;aACjE,CAAC,IAA4B,CAAC,EAAE,CAAC,CAAC;YACnC,MAAM;QACR,KAAK,MAAM;YACT,MAAM,EAAE,UAAU,EAAE,GAAG,2CAAa,kCAAkC,EAAC,CAAC;YACxE,MAAM,GAAG,kBAAW,CAAC,UAAU,CAAC,CAAC;YAEjC,CAAC,EAAE,QAAQ,EAAE,GAAG,MAAM;gBACpB,eAAe,EAAE,GAAG,EAAE,sCAAQ,wCAAwC,EAAC;aACxE,CAAC,IAAsB,CAAC,EAAE,CAAC,CAAC;YAC7B,MAAM;KACT;IAED,kDAAkD;IAClD,MAAM,GAAG,+CAAsB,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;IAClD,oBAAoB;IACpB,QAAQ,GAAG,yDAA2B,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;IAC1D,+CAA+C;IAC/C,QAAQ,GAAG,mBAAW,CAAC,QAAQ,EAAE,EAAE,SAAS,EAAE,CAAC,CAAC;IAEhD,OAAO,OAAO,CAAC,OAAO,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,CAAC;AAC/C,CAAC,CAAC"}
|
|
@@ -6,6 +6,7 @@ const edit_2 = require("../discussions/edit");
|
|
|
6
6
|
const HubInitiatives_1 = require("../initiatives/HubInitiatives");
|
|
7
7
|
const edit_3 = require("../projects/edit");
|
|
8
8
|
const HubSites_1 = require("../sites/HubSites");
|
|
9
|
+
const HubPages_1 = require("../pages/HubPages");
|
|
9
10
|
/**
|
|
10
11
|
* centralized function to update a Hub entity - delegates
|
|
11
12
|
* to the appropriate update function by entity type
|
|
@@ -31,6 +32,10 @@ exports.updateHubEntity = async (type, entity, context) => {
|
|
|
31
32
|
break;
|
|
32
33
|
case "content":
|
|
33
34
|
result = await edit_1.updateContent(entity, context.userRequestOptions);
|
|
35
|
+
break;
|
|
36
|
+
case "page":
|
|
37
|
+
result = await HubPages_1.updatePage(entity, context.userRequestOptions);
|
|
38
|
+
break;
|
|
34
39
|
}
|
|
35
40
|
return result;
|
|
36
41
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"updateHubEntity.js","sourceRoot":"","sources":["../../../src/core/updateHubEntity.ts"],"names":[],"mappings":";;;AACA,0CAAgD;AAChD,8CAAuD;AACvD,kEAAiE;AACjE,2CAAiD;AACjD,gDAA+C;
|
|
1
|
+
{"version":3,"file":"updateHubEntity.js","sourceRoot":"","sources":["../../../src/core/updateHubEntity.ts"],"names":[],"mappings":";;;AACA,0CAAgD;AAChD,8CAAuD;AACvD,kEAAiE;AACjE,2CAAiD;AACjD,gDAA+C;AAC/C,gDAA+C;AAY/C;;;;;;;GAOG;AACU,QAAA,eAAe,GAAG,KAAK,EAClC,IAAmB,EACnB,MAAiB,EACjB,OAAuB,EACH,EAAE;IACtB,IAAI,MAAiB,CAAC;IACtB,QAAQ,IAAI,EAAE;QACZ,KAAK,SAAS;YACZ,MAAM,GAAG,MAAM,oBAAa,CAC1B,MAAqB,EACrB,OAAO,CAAC,kBAAkB,CAC3B,CAAC;YACF,MAAM;QACR,KAAK,MAAM;YACT,MAAM,GAAG,MAAM,qBAAU,CAAC,MAAkB,EAAE,OAAO,CAAC,iBAAiB,CAAC,CAAC;YACzE,MAAM;QACR,KAAK,YAAY;YACf,MAAM,GAAG,MAAM,iCAAgB,CAC7B,MAAwB,EACxB,OAAO,CAAC,kBAAkB,CAC3B,CAAC;YACF,MAAM;QACR,KAAK,YAAY;YACf,MAAM,GAAG,MAAM,uBAAgB,CAC7B,MAAwB,EACxB,OAAO,CAAC,kBAAkB,CAC3B,CAAC;YACF,MAAM;QACR,KAAK,SAAS;YACZ,MAAM,GAAG,MAAM,oBAAa,CAC1B,MAA6B,EAC7B,OAAO,CAAC,kBAAkB,CAC3B,CAAC;YACF,MAAM;QACR,KAAK,MAAM;YACT,MAAM,GAAG,MAAM,qBAAU,CAAC,MAAkB,EAAE,OAAO,CAAC,kBAAkB,CAAC,CAAC;YAC1E,MAAM;KACT;IACD,OAAO,MAAM,CAAC;AAChB,CAAC,CAAC"}
|
|
@@ -0,0 +1,141 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.HubPage = void 0;
|
|
4
|
+
const defaults_1 = require("./defaults");
|
|
5
|
+
const getEntityEditorSchemas_1 = require("../core/schemas/getEntityEditorSchemas");
|
|
6
|
+
const HubItemEntity_1 = require("../core/HubItemEntity");
|
|
7
|
+
const HubPages_1 = require("./HubPages");
|
|
8
|
+
/*
|
|
9
|
+
TODO:
|
|
10
|
+
- when creating a site, we currently do some stuff we probably don't want to do anymore:
|
|
11
|
+
- protect the item
|
|
12
|
+
- allow for uploading assets - i think this is not used
|
|
13
|
+
- sharing to the collaboration group if it exists
|
|
14
|
+
*/
|
|
15
|
+
/**
|
|
16
|
+
* Hub Page Class
|
|
17
|
+
* NOTE: This is a minimal implementation.
|
|
18
|
+
*/
|
|
19
|
+
class HubPage extends HubItemEntity_1.HubItemEntity {
|
|
20
|
+
/**
|
|
21
|
+
* Private constructor so we don't have `new` all over the place. Allows for
|
|
22
|
+
* more flexibility in how we create the HubPageManager over time.
|
|
23
|
+
* @param context
|
|
24
|
+
*/
|
|
25
|
+
constructor(page, context) {
|
|
26
|
+
super(page, context);
|
|
27
|
+
}
|
|
28
|
+
/**
|
|
29
|
+
* Create an instance from an IHubPage object
|
|
30
|
+
* @param json - JSON object to create a HubPage from
|
|
31
|
+
* @param context - ArcGIS context
|
|
32
|
+
* @returns
|
|
33
|
+
*/
|
|
34
|
+
static fromJson(json, context) {
|
|
35
|
+
// merge what we have with the default values
|
|
36
|
+
const pojo = this.applyDefaults(json, context);
|
|
37
|
+
return new HubPage(pojo, context);
|
|
38
|
+
}
|
|
39
|
+
/**
|
|
40
|
+
*
|
|
41
|
+
* Create a new HubPage, returning a HubPage instance.
|
|
42
|
+
* By default, this does not save the page to the backing store.
|
|
43
|
+
* @param partialPage
|
|
44
|
+
* @param context
|
|
45
|
+
* @returns
|
|
46
|
+
*/
|
|
47
|
+
static async create(partialPage, context, save = false) {
|
|
48
|
+
const pojo = this.applyDefaults(partialPage, context);
|
|
49
|
+
// return an instance of HubPage
|
|
50
|
+
const instance = HubPage.fromJson(pojo, context);
|
|
51
|
+
if (save) {
|
|
52
|
+
await instance.save();
|
|
53
|
+
}
|
|
54
|
+
return instance;
|
|
55
|
+
}
|
|
56
|
+
/**
|
|
57
|
+
* Fetch a Page from the backing store and return a HubPage instance.
|
|
58
|
+
* @param identifier - Identifier of the page to load
|
|
59
|
+
* @param context
|
|
60
|
+
* @returns
|
|
61
|
+
*/
|
|
62
|
+
static async fetch(identifier, context) {
|
|
63
|
+
// fetch the page by id or slug
|
|
64
|
+
try {
|
|
65
|
+
const page = await HubPages_1.fetchPage(identifier, context.hubRequestOptions);
|
|
66
|
+
// create an instance of HubPage from the page
|
|
67
|
+
return HubPage.fromJson(page, context);
|
|
68
|
+
}
|
|
69
|
+
catch (ex) {
|
|
70
|
+
if (ex.message ===
|
|
71
|
+
"CONT_0001: Item does not exist or is inaccessible.") {
|
|
72
|
+
throw new Error(`Page not found.`);
|
|
73
|
+
}
|
|
74
|
+
else {
|
|
75
|
+
throw ex;
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
static async getEditorConfig(i18nScope, type, options = []) {
|
|
80
|
+
return getEntityEditorSchemas_1.getEntityEditorSchemas(i18nScope, type, options);
|
|
81
|
+
}
|
|
82
|
+
static applyDefaults(partialPage, context) {
|
|
83
|
+
// ensure we have the orgUrlKey
|
|
84
|
+
if (!partialPage.orgUrlKey) {
|
|
85
|
+
partialPage.orgUrlKey = context.portal.urlKey;
|
|
86
|
+
}
|
|
87
|
+
// extend the partial over the defaults
|
|
88
|
+
const pojo = Object.assign(Object.assign({}, defaults_1.DEFAULT_PAGE), partialPage);
|
|
89
|
+
pojo.type = context.isPortal
|
|
90
|
+
? defaults_1.ENTERPRISE_PAGE_ITEM_TYPE
|
|
91
|
+
: defaults_1.HUB_PAGE_ITEM_TYPE;
|
|
92
|
+
return pojo;
|
|
93
|
+
}
|
|
94
|
+
/**
|
|
95
|
+
* Apply a new state to the instance
|
|
96
|
+
* @param changes
|
|
97
|
+
*/
|
|
98
|
+
update(changes) {
|
|
99
|
+
if (this.isDestroyed) {
|
|
100
|
+
throw new Error("HubPage is already destroyed.");
|
|
101
|
+
}
|
|
102
|
+
// merge partial onto existing entity
|
|
103
|
+
this.entity = Object.assign(Object.assign({}, this.entity), changes);
|
|
104
|
+
}
|
|
105
|
+
/**
|
|
106
|
+
* Save the HubPage to the backing store.
|
|
107
|
+
* Currently Pages are stored as Items in Portal
|
|
108
|
+
* @returns
|
|
109
|
+
*/
|
|
110
|
+
async save() {
|
|
111
|
+
if (this.isDestroyed) {
|
|
112
|
+
throw new Error("HubPage is already destroyed.");
|
|
113
|
+
}
|
|
114
|
+
if (this.entity.id) {
|
|
115
|
+
// update it
|
|
116
|
+
this.entity = await HubPages_1.updatePage(this.entity, this.context.userRequestOptions);
|
|
117
|
+
}
|
|
118
|
+
else {
|
|
119
|
+
// create it
|
|
120
|
+
this.entity = await HubPages_1.createPage(this.entity, this.context.userRequestOptions);
|
|
121
|
+
}
|
|
122
|
+
// call the after save hook on superclass
|
|
123
|
+
await super.afterSave();
|
|
124
|
+
return;
|
|
125
|
+
}
|
|
126
|
+
/**
|
|
127
|
+
* Delete the HubPage from the store
|
|
128
|
+
* set a flag to indicate that it is destroyed
|
|
129
|
+
* @returns
|
|
130
|
+
*/
|
|
131
|
+
async delete() {
|
|
132
|
+
if (this.isDestroyed) {
|
|
133
|
+
throw new Error("HubPage is already destroyed.");
|
|
134
|
+
}
|
|
135
|
+
this.isDestroyed = true;
|
|
136
|
+
// Delegate to module fn
|
|
137
|
+
await HubPages_1.deletePage(this.entity.id, this.context.userRequestOptions);
|
|
138
|
+
}
|
|
139
|
+
}
|
|
140
|
+
exports.HubPage = HubPage;
|
|
141
|
+
//# sourceMappingURL=HubPage.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"HubPage.js","sourceRoot":"","sources":["../../../src/pages/HubPage.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.enrichPageSearchResult = void 0;
|
|
3
|
+
exports.enrichPageSearchResult = exports.deletePage = exports.convertItemToPage = exports.fetchPage = exports.updatePage = exports.createPage = void 0;
|
|
4
4
|
const get_family_1 = require("../content/get-family");
|
|
5
5
|
const internalContentUtils_1 = require("../content/_internal/internalContentUtils");
|
|
6
6
|
const _enrichments_1 = require("../items/_enrichments");
|
|
@@ -8,8 +8,127 @@ const objects_1 = require("../objects");
|
|
|
8
8
|
const resources_1 = require("../resources");
|
|
9
9
|
const parseInclude_1 = require("../search/_internal/parseInclude");
|
|
10
10
|
const urls_1 = require("../urls");
|
|
11
|
+
const arcgis_rest_portal_1 = require("@esri/arcgis-rest-portal");
|
|
11
12
|
const util_1 = require("../util");
|
|
12
13
|
const utils_1 = require("../utils");
|
|
14
|
+
const slugs_1 = require("../items/slugs");
|
|
15
|
+
const models_1 = require("../models");
|
|
16
|
+
const PropertyMapper_1 = require("../core/_internal/PropertyMapper");
|
|
17
|
+
const getPropertyMap_1 = require("./_internal/getPropertyMap");
|
|
18
|
+
const computeProps_1 = require("./_internal/computeProps");
|
|
19
|
+
const arcgis_rest_portal_2 = require("@esri/arcgis-rest-portal");
|
|
20
|
+
const defaults_1 = require("./defaults");
|
|
21
|
+
/**
|
|
22
|
+
* @private
|
|
23
|
+
* Create a new Hub Page item
|
|
24
|
+
*
|
|
25
|
+
* Minimal properties are name and org
|
|
26
|
+
*
|
|
27
|
+
* @param partialPage
|
|
28
|
+
* @param requestOptions
|
|
29
|
+
*/
|
|
30
|
+
async function createPage(partialPage, requestOptions) {
|
|
31
|
+
// merge incoming with the default
|
|
32
|
+
// this expansion solves the typing somehow
|
|
33
|
+
const page = Object.assign(Object.assign({}, defaults_1.DEFAULT_PAGE), partialPage);
|
|
34
|
+
// Create a slug from the title if one is not passed in
|
|
35
|
+
if (!page.slug) {
|
|
36
|
+
page.slug = slugs_1.constructSlug(page.name, page.orgUrlKey);
|
|
37
|
+
}
|
|
38
|
+
// Ensure slug is unique
|
|
39
|
+
page.slug = await slugs_1.getUniqueSlug({ slug: page.slug }, requestOptions);
|
|
40
|
+
// add slug and status to keywords
|
|
41
|
+
page.typeKeywords = slugs_1.setSlugKeyword(page.typeKeywords, page.slug);
|
|
42
|
+
// Map page object onto a default page Model
|
|
43
|
+
const mapper = new PropertyMapper_1.PropertyMapper(getPropertyMap_1.getPropertyMap());
|
|
44
|
+
// create model from object, using the default model as a starting point
|
|
45
|
+
let model = mapper.entityToStore(page, util_1.cloneObject(defaults_1.DEFAULT_PAGE_MODEL));
|
|
46
|
+
// create the item
|
|
47
|
+
model = await models_1.createModel(model, requestOptions);
|
|
48
|
+
// map the model back into a IHubPage
|
|
49
|
+
let newPage = mapper.storeToEntity(model, {});
|
|
50
|
+
newPage = computeProps_1.computeProps(model, newPage, requestOptions);
|
|
51
|
+
// and return it
|
|
52
|
+
return newPage;
|
|
53
|
+
}
|
|
54
|
+
exports.createPage = createPage;
|
|
55
|
+
/**
|
|
56
|
+
* @private
|
|
57
|
+
* Update a Hub Page
|
|
58
|
+
* @param page
|
|
59
|
+
* @param requestOptions
|
|
60
|
+
*/
|
|
61
|
+
async function updatePage(page, requestOptions) {
|
|
62
|
+
// verify that the slug is unique, excluding the current page
|
|
63
|
+
page.slug = await slugs_1.getUniqueSlug({ slug: page.slug, existingId: page.id }, requestOptions);
|
|
64
|
+
// get the backing item & data
|
|
65
|
+
const model = await models_1.getModel(page.id, requestOptions);
|
|
66
|
+
// create the PropertyMapper
|
|
67
|
+
const mapper = new PropertyMapper_1.PropertyMapper(getPropertyMap_1.getPropertyMap());
|
|
68
|
+
// Note: Although we are fetching the model, and applying changes onto it,
|
|
69
|
+
// we are not attempting to handle "concurrent edit" conflict resolution
|
|
70
|
+
// but this is where we would apply that sort of logic
|
|
71
|
+
const modelToUpdate = mapper.entityToStore(page, model);
|
|
72
|
+
// update the backing item
|
|
73
|
+
const updatedModel = await models_1.updateModel(modelToUpdate, requestOptions);
|
|
74
|
+
// now map back into a page and return that
|
|
75
|
+
let updatedPage = mapper.storeToEntity(updatedModel, page);
|
|
76
|
+
updatedPage = computeProps_1.computeProps(model, updatedPage, requestOptions);
|
|
77
|
+
// the casting is needed because modelToObject returns a `Partial<T>`
|
|
78
|
+
// where as this function returns a `T`
|
|
79
|
+
return updatedPage;
|
|
80
|
+
}
|
|
81
|
+
exports.updatePage = updatePage;
|
|
82
|
+
/**
|
|
83
|
+
* @private
|
|
84
|
+
* Get a Hub Page by id or slug
|
|
85
|
+
* @param identifier item id or slug
|
|
86
|
+
* @param requestOptions
|
|
87
|
+
*/
|
|
88
|
+
async function fetchPage(identifier, requestOptions) {
|
|
89
|
+
let getPrms;
|
|
90
|
+
if (utils_1.isGuid(identifier)) {
|
|
91
|
+
// get item by id
|
|
92
|
+
getPrms = arcgis_rest_portal_1.getItem(identifier, requestOptions);
|
|
93
|
+
}
|
|
94
|
+
else {
|
|
95
|
+
getPrms = slugs_1.getItemBySlug(identifier, requestOptions);
|
|
96
|
+
}
|
|
97
|
+
return getPrms.then((item) => {
|
|
98
|
+
if (!item)
|
|
99
|
+
return null;
|
|
100
|
+
return convertItemToPage(item, requestOptions);
|
|
101
|
+
});
|
|
102
|
+
}
|
|
103
|
+
exports.fetchPage = fetchPage;
|
|
104
|
+
/**
|
|
105
|
+
* @private
|
|
106
|
+
* Convert an Hub Page Item into a Hub Page, fetching any additional
|
|
107
|
+
* information that may be required
|
|
108
|
+
* @param item
|
|
109
|
+
* @param auth
|
|
110
|
+
* @returns
|
|
111
|
+
*/
|
|
112
|
+
async function convertItemToPage(item, requestOptions) {
|
|
113
|
+
const model = await models_1.fetchModelFromItem(item, requestOptions);
|
|
114
|
+
// TODO: In the future we will handle the boundary fetching from resource
|
|
115
|
+
const mapper = new PropertyMapper_1.PropertyMapper(getPropertyMap_1.getPropertyMap());
|
|
116
|
+
const prj = mapper.storeToEntity(model, {});
|
|
117
|
+
return computeProps_1.computeProps(model, prj, requestOptions);
|
|
118
|
+
}
|
|
119
|
+
exports.convertItemToPage = convertItemToPage;
|
|
120
|
+
/**
|
|
121
|
+
* @private
|
|
122
|
+
* Remove a Hub Page
|
|
123
|
+
* @param id
|
|
124
|
+
* @param requestOptions
|
|
125
|
+
*/
|
|
126
|
+
async function deletePage(id, requestOptions) {
|
|
127
|
+
const ro = Object.assign(Object.assign({}, requestOptions), { id });
|
|
128
|
+
await arcgis_rest_portal_2.removeItem(ro);
|
|
129
|
+
return;
|
|
130
|
+
}
|
|
131
|
+
exports.deletePage = deletePage;
|
|
13
132
|
/**
|
|
14
133
|
* Fetch Page specific Enrichments
|
|
15
134
|
* @param item
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"HubPages.js","sourceRoot":"","sources":["../../../src/pages/HubPages.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"HubPages.js","sourceRoot":"","sources":["../../../src/pages/HubPages.ts"],"names":[],"mappings":";;;AAAA,sDAAkD;AAClD,oFAA8E;AAC9E,wDAA6D;AAC7D,wCAAqC;AACrC,4CAAmD;AAEnD,mEAAgE;AAEhE,kCAAyC;AAEzC,iEAA0D;AAC1D,kCAA8C;AAC9C,oCAAyC;AACzC,0CAKwB;AAExB,sCAKmB;AACnB,qEAAkE;AAClE,+DAA4D;AAC5D,2DAAwD;AAExD,iEAAwE;AACxE,yCAKoB;AAEpB;;;;;;;;GAQG;AACI,KAAK,UAAU,UAAU,CAC9B,WAA8B,EAC9B,cAAmC;IAEnC,kCAAkC;IAClC,2CAA2C;IAC3C,MAAM,IAAI,mCAAQ,uBAAY,GAAK,WAAW,CAAE,CAAC;IAEjD,uDAAuD;IACvD,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE;QACd,IAAI,CAAC,IAAI,GAAG,qBAAa,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;KACtD;IACD,yBAAyB;IACzB,IAAI,CAAC,IAAI,GAAG,MAAM,qBAAa,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,EAAE,cAAc,CAAC,CAAC;IACrE,kCAAkC;IAClC,IAAI,CAAC,YAAY,GAAG,sBAAc,CAAC,IAAI,CAAC,YAAY,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;IAEjE,4CAA4C;IAC5C,MAAM,MAAM,GAAG,IAAI,+BAAc,CAC/B,+BAAc,EAAE,CACjB,CAAC;IACF,wEAAwE;IACxE,IAAI,KAAK,GAAG,MAAM,CAAC,aAAa,CAAC,IAAI,EAAE,kBAAW,CAAC,6BAAkB,CAAC,CAAC,CAAC;IACxE,kBAAkB;IAClB,KAAK,GAAG,MAAM,oBAAW,CAAC,KAAK,EAAE,cAAc,CAAC,CAAC;IACjD,qCAAqC;IACrC,IAAI,OAAO,GAAG,MAAM,CAAC,aAAa,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;IAC9C,OAAO,GAAG,2BAAY,CAAC,KAAK,EAAE,OAAO,EAAE,cAAc,CAAC,CAAC;IACvD,gBAAgB;IAChB,OAAO,OAAmB,CAAC;AAC7B,CAAC;AA9BD,gCA8BC;AAED;;;;;GAKG;AACI,KAAK,UAAU,UAAU,CAC9B,IAAc,EACd,cAAmC;IAEnC,6DAA6D;IAC7D,IAAI,CAAC,IAAI,GAAG,MAAM,qBAAa,CAC7B,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,UAAU,EAAE,IAAI,CAAC,EAAE,EAAE,EACxC,cAAc,CACf,CAAC;IAEF,8BAA8B;IAC9B,MAAM,KAAK,GAAG,MAAM,iBAAQ,CAAC,IAAI,CAAC,EAAE,EAAE,cAAc,CAAC,CAAC;IACtD,4BAA4B;IAC5B,MAAM,MAAM,GAAG,IAAI,+BAAc,CAC/B,+BAAc,EAAE,CACjB,CAAC;IACF,0EAA0E;IAC1E,wEAAwE;IACxE,sDAAsD;IACtD,MAAM,aAAa,GAAG,MAAM,CAAC,aAAa,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IACxD,0BAA0B;IAC1B,MAAM,YAAY,GAAG,MAAM,oBAAW,CAAC,aAAa,EAAE,cAAc,CAAC,CAAC;IACtE,2CAA2C;IAC3C,IAAI,WAAW,GAAG,MAAM,CAAC,aAAa,CAAC,YAAY,EAAE,IAAI,CAAC,CAAC;IAC3D,WAAW,GAAG,2BAAY,CAAC,KAAK,EAAE,WAAW,EAAE,cAAc,CAAC,CAAC;IAC/D,qEAAqE;IACrE,uCAAuC;IACvC,OAAO,WAAuB,CAAC;AACjC,CAAC;AA5BD,gCA4BC;AAED;;;;;GAKG;AACI,KAAK,UAAU,SAAS,CAC7B,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,iBAAiB,CAAC,IAAI,EAAE,cAAc,CAAC,CAAC;IACjD,CAAC,CAAC,CAAC;AACL,CAAC;AAfD,8BAeC;AAED;;;;;;;GAOG;AACI,KAAK,UAAU,iBAAiB,CACrC,IAAW,EACX,cAA+B;IAE/B,MAAM,KAAK,GAAG,MAAM,2BAAkB,CAAC,IAAI,EAAE,cAAc,CAAC,CAAC;IAC7D,yEAAyE;IACzE,MAAM,MAAM,GAAG,IAAI,+BAAc,CAC/B,+BAAc,EAAE,CACjB,CAAC;IACF,MAAM,GAAG,GAAG,MAAM,CAAC,aAAa,CAAC,KAAK,EAAE,EAAE,CAAa,CAAC;IACxD,OAAO,2BAAY,CAAC,KAAK,EAAE,GAAG,EAAE,cAAc,CAAC,CAAC;AAClD,CAAC;AAXD,8CAWC;AAED;;;;;GAKG;AACI,KAAK,UAAU,UAAU,CAC9B,EAAU,EACV,cAAmC;IAEnC,MAAM,EAAE,GAAG,gCAAK,cAAc,GAAK,EAAE,EAAE,EAAE,CAAsB,CAAC;IAChE,MAAM,+BAAU,CAAC,EAAE,CAAC,CAAC;IACrB,OAAO;AACT,CAAC;AAPD,gCAOC;AAED;;;;;;GAMG;AACI,KAAK,UAAU,sBAAsB,CAC1C,IAAW,EACX,OAAiB,EACjB,cAAkC;IAElC,6BAA6B;IAC7B,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;SAC7B;KACF,CAAC;IAEF,mBAAmB;IACnB,MAAM,QAAQ,GAAa,EAAE,CAAC;IAC9B,iBAAiB;IACjB,OAAO,GAAG,CAAC,GAAG,QAAQ,EAAE,GAAG,OAAO,CAAC,CAAC,MAAM,CAAC,aAAM,CAAC,CAAC;IACnD,qDAAqD;IACrD,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,2BAAY,CAAC,CAAC;IACxC,+CAA+C;IAC/C,MAAM,WAAW,GAAG,aAAK,CAAC,YAAY,EAAE,KAAK,CAAC,CAAC,MAAM,CAAC,aAAM,CAAC,CAAC;IAC9D,wBAAwB;IACxB,IAAI,QAAQ,GAAG,EAAE,CAAC;IAClB,IAAI,WAAW,CAAC,MAAM,EAAE;QACtB,mEAAmE;QACnE,QAAQ,GAAG,MAAM,mCAAoB,CAAC,IAAI,EAAE,WAAW,EAAE,cAAc,CAAC,CAAC;KAC1E;IAED,yCAAyC;IACzC,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;QACrB,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,iBAAO,CAAC,QAAQ,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;IACnD,CAAC,CAAC,CAAC;IAEH,eAAe;IACf,MAAM,CAAC,KAAK,CAAC,SAAS,GAAG,+BAAmB,CAAC,IAAI,EAAE,cAAc,CAAC,CAAC;IACnE,MAAM,CAAC,KAAK,CAAC,IAAI,GAAG,qBAAc,CAAC,MAAM,CAAC,EAAE,EAAE,cAAc,CAAC,CAAC;IAC9D,MAAM,CAAC,KAAK,CAAC,YAAY,GAAG,wCAAiB,CAC3C,MAAM,CAAC,IAAI,EACX,MAAM,CAAC,EAAE,EACT,IAAI,CAAC,YAAY,CAClB,CAAC;IAEF,OAAO,MAAM,CAAC;AAChB,CAAC;AA1DD,wDA0DC"}
|