@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
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"checkCapabilityAccess.js","sourceRoot":"","sources":["../../../../src/capabilities/_internal/checkCapabilityAccess.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,eAAe,EAA6B,MAAM,mBAAmB,CAAC;AAG/E;;;;;;GAMG;AACH,MAAM,UAAU,qBAAqB,CACnC,IAA2B,EAC3B,OAAuB,EACvB,
|
|
1
|
+
{"version":3,"file":"checkCapabilityAccess.js","sourceRoot":"","sources":["../../../../src/capabilities/_internal/checkCapabilityAccess.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,eAAe,EAA6B,MAAM,mBAAmB,CAAC;AAG/E;;;;;;GAMG;AACH,MAAM,UAAU,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,eAAe,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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"checkCapability.js","sourceRoot":"","sources":["../../../src/capabilities/checkCapability.ts"],"names":[],"mappings":"AAAA,OAAO,EAAyC,YAAY,EAAE,MAAM,SAAS,CAAC;AAC9E,OAAO,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AACnE,OAAO,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"checkCapability.js","sourceRoot":"","sources":["../../../src/capabilities/checkCapability.ts"],"names":[],"mappings":"AAAA,OAAO,EAAyC,YAAY,EAAE,MAAM,SAAS,CAAC;AAC9E,OAAO,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AACnE,OAAO,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAC;AAOpD,iEAAiE;AACjE,gDAAgD;AAChD,+CAA+C;AAC/C,qDAAqD;AACrD,0CAA0C;AAC1C,OAAO,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AAE9D;;;;;;GAMG;AACH,MAAM,UAAU,eAAe,CAC7B,UAAsB,EACtB,OAAuB,EACvB,MAAkC;IAElC,MAAM,UAAU,GAAkB,iBAAiB,CAAC,MAAM,CAAC,CAAC;IAC5D,yDAAyD;IACzD,MAAM,OAAO,GAAG,YAAY,CAAC,UAAU,CAAC,CAAC;IACzC,IAAI,OAAO,EAAE;QACX,MAAM,IAAI,GAAG,qBAAqB,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,qBAAqB,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"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { fetchDiscussion } from "../discussions/fetch";
|
|
2
2
|
import { fetchHubContent } from "../content/fetch";
|
|
3
3
|
import { fetchInitiative } from "../initiatives/HubInitiatives";
|
|
4
|
+
import { fetchPage } from "../pages/HubPages";
|
|
4
5
|
import { fetchProject } from "../projects/fetch";
|
|
5
6
|
import { fetchSite } from "../sites/HubSites";
|
|
6
7
|
/**
|
|
@@ -26,7 +27,8 @@ export async function fetchHubEntity(type, identifier, context) {
|
|
|
26
27
|
result = await fetchDiscussion(identifier, context.hubRequestOptions);
|
|
27
28
|
break;
|
|
28
29
|
case "page":
|
|
29
|
-
|
|
30
|
+
result = await fetchPage(identifier, context.hubRequestOptions);
|
|
31
|
+
break;
|
|
30
32
|
case "content":
|
|
31
33
|
result = await fetchHubContent(identifier, context.requestOptions);
|
|
32
34
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fetchHubEntity.js","sourceRoot":"","sources":["../../../src/core/fetchHubEntity.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AACnD,OAAO,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAC;AAChE,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAK9C;;;;;;GAMG;AACH,MAAM,CAAC,KAAK,UAAU,cAAc,CAClC,IAAmB,EACnB,UAAkB,EAClB,OAAuB;IAEvB,IAAI,MAAiB,CAAC;IACtB,QAAQ,IAAI,EAAE;QACZ,KAAK,SAAS;YACZ,MAAM,GAAG,MAAM,YAAY,CAAC,UAAU,EAAE,OAAO,CAAC,cAAc,CAAC,CAAC;YAChE,MAAM;QACR,KAAK,MAAM;YACT,MAAM,GAAG,MAAM,SAAS,CAAC,UAAU,EAAE,OAAO,CAAC,iBAAiB,CAAC,CAAC;YAChE,MAAM;QACR,KAAK,YAAY;YACf,MAAM,GAAG,MAAM,eAAe,CAAC,UAAU,EAAE,OAAO,CAAC,cAAc,CAAC,CAAC;YACnE,MAAM;QACR,KAAK,YAAY;YACf,MAAM,GAAG,MAAM,eAAe,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,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AACnD,OAAO,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAC;AAChE,OAAO,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAC9C,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAK9C;;;;;;GAMG;AACH,MAAM,CAAC,KAAK,UAAU,cAAc,CAClC,IAAmB,EACnB,UAAkB,EAClB,OAAuB;IAEvB,IAAI,MAAiB,CAAC;IACtB,QAAQ,IAAI,EAAE;QACZ,KAAK,SAAS;YACZ,MAAM,GAAG,MAAM,YAAY,CAAC,UAAU,EAAE,OAAO,CAAC,cAAc,CAAC,CAAC;YAChE,MAAM;QACR,KAAK,MAAM;YACT,MAAM,GAAG,MAAM,SAAS,CAAC,UAAU,EAAE,OAAO,CAAC,iBAAiB,CAAC,CAAC;YAChE,MAAM;QACR,KAAK,YAAY;YACf,MAAM,GAAG,MAAM,eAAe,CAAC,UAAU,EAAE,OAAO,CAAC,cAAc,CAAC,CAAC;YACnE,MAAM;QACR,KAAK,YAAY;YACf,MAAM,GAAG,MAAM,eAAe,CAAC,UAAU,EAAE,OAAO,CAAC,iBAAiB,CAAC,CAAC;YACtE,MAAM;QACR,KAAK,MAAM;YACT,MAAM,GAAG,MAAM,SAAS,CAAC,UAAU,EAAE,OAAO,CAAC,iBAAiB,CAAC,CAAC;YAChE,MAAM;QACR,KAAK,SAAS;YACZ,MAAM,GAAG,MAAM,eAAe,CAAC,UAAU,EAAE,OAAO,CAAC,cAAc,CAAC,CAAC;KACtE;IACD,OAAO,MAAM,CAAC;AAChB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getTypeFromEntity.js","sourceRoot":"","sources":["../../../src/core/getTypeFromEntity.ts"],"names":[],"mappings":"AAAA,iDAAiD;AACjD,yDAAyD;AAEzD,OAAO,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAGlD;;;;GAIG;AACH,MAAM,UAAU,iBAAiB,
|
|
1
|
+
{"version":3,"file":"getTypeFromEntity.js","sourceRoot":"","sources":["../../../src/core/getTypeFromEntity.ts"],"names":[],"mappings":"AAAA,iDAAiD;AACjD,yDAAyD;AAEzD,OAAO,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAGlD;;;;GAIG;AACH,MAAM,UAAU,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,SAAS,CAAC,MAAM,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,EAAE;gBAC1D,IAAI,GAAG,SAAS,CAAC;aAClB;KACJ;IACD,OAAO,IAAI,CAAC;AACd,CAAC"}
|
|
@@ -6,11 +6,13 @@ import { ProjectEditorTypes, } from "../../projects/_internal/ProjectSchema";
|
|
|
6
6
|
import { InitiativeEditorTypes, } from "../../initiatives/_internal/InitiativeSchema";
|
|
7
7
|
import { SiteEditorTypes, } from "../../sites/_internal/SiteSchema";
|
|
8
8
|
import { DiscussionEditorTypes, } from "../../discussions/_internal/DiscussionSchema";
|
|
9
|
+
import { PageEditorTypes, } from "../../pages/_internal/PageSchema";
|
|
9
10
|
export const validEditorTypes = [
|
|
10
11
|
...ProjectEditorTypes,
|
|
11
12
|
...InitiativeEditorTypes,
|
|
12
13
|
...SiteEditorTypes,
|
|
13
14
|
...DiscussionEditorTypes,
|
|
15
|
+
...PageEditorTypes,
|
|
14
16
|
];
|
|
15
17
|
/**
|
|
16
18
|
* get the editor schema and uiSchema defined for an entity.
|
|
@@ -59,6 +61,13 @@ export const getEntityEditorSchemas = async (i18nScope, type, options = []) => {
|
|
|
59
61
|
"hub:discussion:create": () => import("../../discussions/_internal/DiscussionUiSchemaCreate"),
|
|
60
62
|
}[type]());
|
|
61
63
|
break;
|
|
64
|
+
case "page":
|
|
65
|
+
const { PageSchema } = await import("../../pages/_internal/PageSchema");
|
|
66
|
+
schema = cloneObject(PageSchema);
|
|
67
|
+
({ uiSchema } = await {
|
|
68
|
+
"hub:page:edit": () => import("../../pages/_internal/PageUiSchemaEdit"),
|
|
69
|
+
}[type]());
|
|
70
|
+
break;
|
|
62
71
|
}
|
|
63
72
|
// filter out properties not used in the UI schema
|
|
64
73
|
schema = filterSchemaToUiSchema(schema, uiSchema);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getEntityEditorSchemas.js","sourceRoot":"","sources":["../../../../src/core/schemas/getEntityEditorSchemas.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC1C,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAGzC,OAAO,EAAE,2BAA2B,EAAE,MAAM,wCAAwC,CAAC;AACrF,OAAO,EAAE,sBAAsB,EAAE,MAAM,mCAAmC,CAAC;AAC3E,OAAO,EAEL,kBAAkB,GACnB,MAAM,wCAAwC,CAAC;AAChD,OAAO,EACL,qBAAqB,GAEtB,MAAM,8CAA8C,CAAC;AACtD,OAAO,EAEL,eAAe,GAChB,MAAM,kCAAkC,CAAC;AAC1C,OAAO,EAEL,qBAAqB,GACtB,MAAM,8CAA8C,CAAC;
|
|
1
|
+
{"version":3,"file":"getEntityEditorSchemas.js","sourceRoot":"","sources":["../../../../src/core/schemas/getEntityEditorSchemas.ts"],"names":[],"mappings":"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"}
|
|
@@ -3,6 +3,7 @@ import { updateDiscussion } from "../discussions/edit";
|
|
|
3
3
|
import { updateInitiative } from "../initiatives/HubInitiatives";
|
|
4
4
|
import { updateProject } from "../projects/edit";
|
|
5
5
|
import { updateSite } from "../sites/HubSites";
|
|
6
|
+
import { updatePage } from "../pages/HubPages";
|
|
6
7
|
/**
|
|
7
8
|
* centralized function to update a Hub entity - delegates
|
|
8
9
|
* to the appropriate update function by entity type
|
|
@@ -28,6 +29,10 @@ export const updateHubEntity = async (type, entity, context) => {
|
|
|
28
29
|
break;
|
|
29
30
|
case "content":
|
|
30
31
|
result = await updateContent(entity, context.userRequestOptions);
|
|
32
|
+
break;
|
|
33
|
+
case "page":
|
|
34
|
+
result = await updatePage(entity, context.userRequestOptions);
|
|
35
|
+
break;
|
|
31
36
|
}
|
|
32
37
|
return result;
|
|
33
38
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"updateHubEntity.js","sourceRoot":"","sources":["../../../src/core/updateHubEntity.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AACvD,OAAO,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AACjE,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"updateHubEntity.js","sourceRoot":"","sources":["../../../src/core/updateHubEntity.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AACvD,OAAO,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AACjE,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAC/C,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAY/C;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,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,aAAa,CAC1B,MAAqB,EACrB,OAAO,CAAC,kBAAkB,CAC3B,CAAC;YACF,MAAM;QACR,KAAK,MAAM;YACT,MAAM,GAAG,MAAM,UAAU,CAAC,MAAkB,EAAE,OAAO,CAAC,iBAAiB,CAAC,CAAC;YACzE,MAAM;QACR,KAAK,YAAY;YACf,MAAM,GAAG,MAAM,gBAAgB,CAC7B,MAAwB,EACxB,OAAO,CAAC,kBAAkB,CAC3B,CAAC;YACF,MAAM;QACR,KAAK,YAAY;YACf,MAAM,GAAG,MAAM,gBAAgB,CAC7B,MAAwB,EACxB,OAAO,CAAC,kBAAkB,CAC3B,CAAC;YACF,MAAM;QACR,KAAK,SAAS;YACZ,MAAM,GAAG,MAAM,aAAa,CAC1B,MAA6B,EAC7B,OAAO,CAAC,kBAAkB,CAC3B,CAAC;YACF,MAAM;QACR,KAAK,MAAM;YACT,MAAM,GAAG,MAAM,UAAU,CAAC,MAAkB,EAAE,OAAO,CAAC,kBAAkB,CAAC,CAAC;YAC1E,MAAM;KACT;IACD,OAAO,MAAM,CAAC;AAChB,CAAC,CAAC"}
|
|
@@ -0,0 +1,137 @@
|
|
|
1
|
+
import { DEFAULT_PAGE, ENTERPRISE_PAGE_ITEM_TYPE, HUB_PAGE_ITEM_TYPE, } from "./defaults";
|
|
2
|
+
import { getEntityEditorSchemas } from "../core/schemas/getEntityEditorSchemas";
|
|
3
|
+
import { HubItemEntity } from "../core/HubItemEntity";
|
|
4
|
+
import { createPage, deletePage, fetchPage, updatePage } from "./HubPages";
|
|
5
|
+
/*
|
|
6
|
+
TODO:
|
|
7
|
+
- when creating a site, we currently do some stuff we probably don't want to do anymore:
|
|
8
|
+
- protect the item
|
|
9
|
+
- allow for uploading assets - i think this is not used
|
|
10
|
+
- sharing to the collaboration group if it exists
|
|
11
|
+
*/
|
|
12
|
+
/**
|
|
13
|
+
* Hub Page Class
|
|
14
|
+
* NOTE: This is a minimal implementation.
|
|
15
|
+
*/
|
|
16
|
+
export class HubPage extends HubItemEntity {
|
|
17
|
+
/**
|
|
18
|
+
* Private constructor so we don't have `new` all over the place. Allows for
|
|
19
|
+
* more flexibility in how we create the HubPageManager over time.
|
|
20
|
+
* @param context
|
|
21
|
+
*/
|
|
22
|
+
constructor(page, context) {
|
|
23
|
+
super(page, context);
|
|
24
|
+
}
|
|
25
|
+
/**
|
|
26
|
+
* Create an instance from an IHubPage object
|
|
27
|
+
* @param json - JSON object to create a HubPage from
|
|
28
|
+
* @param context - ArcGIS context
|
|
29
|
+
* @returns
|
|
30
|
+
*/
|
|
31
|
+
static fromJson(json, context) {
|
|
32
|
+
// merge what we have with the default values
|
|
33
|
+
const pojo = this.applyDefaults(json, context);
|
|
34
|
+
return new HubPage(pojo, context);
|
|
35
|
+
}
|
|
36
|
+
/**
|
|
37
|
+
*
|
|
38
|
+
* Create a new HubPage, returning a HubPage instance.
|
|
39
|
+
* By default, this does not save the page to the backing store.
|
|
40
|
+
* @param partialPage
|
|
41
|
+
* @param context
|
|
42
|
+
* @returns
|
|
43
|
+
*/
|
|
44
|
+
static async create(partialPage, context, save = false) {
|
|
45
|
+
const pojo = this.applyDefaults(partialPage, context);
|
|
46
|
+
// return an instance of HubPage
|
|
47
|
+
const instance = HubPage.fromJson(pojo, context);
|
|
48
|
+
if (save) {
|
|
49
|
+
await instance.save();
|
|
50
|
+
}
|
|
51
|
+
return instance;
|
|
52
|
+
}
|
|
53
|
+
/**
|
|
54
|
+
* Fetch a Page from the backing store and return a HubPage instance.
|
|
55
|
+
* @param identifier - Identifier of the page to load
|
|
56
|
+
* @param context
|
|
57
|
+
* @returns
|
|
58
|
+
*/
|
|
59
|
+
static async fetch(identifier, context) {
|
|
60
|
+
// fetch the page by id or slug
|
|
61
|
+
try {
|
|
62
|
+
const page = await fetchPage(identifier, context.hubRequestOptions);
|
|
63
|
+
// create an instance of HubPage from the page
|
|
64
|
+
return HubPage.fromJson(page, context);
|
|
65
|
+
}
|
|
66
|
+
catch (ex) {
|
|
67
|
+
if (ex.message ===
|
|
68
|
+
"CONT_0001: Item does not exist or is inaccessible.") {
|
|
69
|
+
throw new Error(`Page not found.`);
|
|
70
|
+
}
|
|
71
|
+
else {
|
|
72
|
+
throw ex;
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
static async getEditorConfig(i18nScope, type, options = []) {
|
|
77
|
+
return getEntityEditorSchemas(i18nScope, type, options);
|
|
78
|
+
}
|
|
79
|
+
static applyDefaults(partialPage, context) {
|
|
80
|
+
// ensure we have the orgUrlKey
|
|
81
|
+
if (!partialPage.orgUrlKey) {
|
|
82
|
+
partialPage.orgUrlKey = context.portal.urlKey;
|
|
83
|
+
}
|
|
84
|
+
// extend the partial over the defaults
|
|
85
|
+
const pojo = Object.assign(Object.assign({}, DEFAULT_PAGE), partialPage);
|
|
86
|
+
pojo.type = context.isPortal
|
|
87
|
+
? ENTERPRISE_PAGE_ITEM_TYPE
|
|
88
|
+
: HUB_PAGE_ITEM_TYPE;
|
|
89
|
+
return pojo;
|
|
90
|
+
}
|
|
91
|
+
/**
|
|
92
|
+
* Apply a new state to the instance
|
|
93
|
+
* @param changes
|
|
94
|
+
*/
|
|
95
|
+
update(changes) {
|
|
96
|
+
if (this.isDestroyed) {
|
|
97
|
+
throw new Error("HubPage is already destroyed.");
|
|
98
|
+
}
|
|
99
|
+
// merge partial onto existing entity
|
|
100
|
+
this.entity = Object.assign(Object.assign({}, this.entity), changes);
|
|
101
|
+
}
|
|
102
|
+
/**
|
|
103
|
+
* Save the HubPage to the backing store.
|
|
104
|
+
* Currently Pages are stored as Items in Portal
|
|
105
|
+
* @returns
|
|
106
|
+
*/
|
|
107
|
+
async save() {
|
|
108
|
+
if (this.isDestroyed) {
|
|
109
|
+
throw new Error("HubPage is already destroyed.");
|
|
110
|
+
}
|
|
111
|
+
if (this.entity.id) {
|
|
112
|
+
// update it
|
|
113
|
+
this.entity = await updatePage(this.entity, this.context.userRequestOptions);
|
|
114
|
+
}
|
|
115
|
+
else {
|
|
116
|
+
// create it
|
|
117
|
+
this.entity = await createPage(this.entity, this.context.userRequestOptions);
|
|
118
|
+
}
|
|
119
|
+
// call the after save hook on superclass
|
|
120
|
+
await super.afterSave();
|
|
121
|
+
return;
|
|
122
|
+
}
|
|
123
|
+
/**
|
|
124
|
+
* Delete the HubPage from the store
|
|
125
|
+
* set a flag to indicate that it is destroyed
|
|
126
|
+
* @returns
|
|
127
|
+
*/
|
|
128
|
+
async delete() {
|
|
129
|
+
if (this.isDestroyed) {
|
|
130
|
+
throw new Error("HubPage is already destroyed.");
|
|
131
|
+
}
|
|
132
|
+
this.isDestroyed = true;
|
|
133
|
+
// Delegate to module fn
|
|
134
|
+
await deletePage(this.entity.id, this.context.userRequestOptions);
|
|
135
|
+
}
|
|
136
|
+
}
|
|
137
|
+
//# 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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"}
|
|
@@ -5,8 +5,122 @@ import { getProp } from "../objects";
|
|
|
5
5
|
import { getItemThumbnailUrl } from "../resources";
|
|
6
6
|
import { parseInclude } from "../search/_internal/parseInclude";
|
|
7
7
|
import { getItemHomeUrl } from "../urls";
|
|
8
|
-
import {
|
|
9
|
-
import {
|
|
8
|
+
import { getItem } from "@esri/arcgis-rest-portal";
|
|
9
|
+
import { cloneObject, unique } from "../util";
|
|
10
|
+
import { mapBy, isGuid } from "../utils";
|
|
11
|
+
import { constructSlug, getItemBySlug, getUniqueSlug, setSlugKeyword, } from "../items/slugs";
|
|
12
|
+
import { createModel, fetchModelFromItem, getModel, updateModel, } from "../models";
|
|
13
|
+
import { PropertyMapper } from "../core/_internal/PropertyMapper";
|
|
14
|
+
import { getPropertyMap } from "./_internal/getPropertyMap";
|
|
15
|
+
import { computeProps } from "./_internal/computeProps";
|
|
16
|
+
import { removeItem } from "@esri/arcgis-rest-portal";
|
|
17
|
+
import { DEFAULT_PAGE, DEFAULT_PAGE_MODEL, } from "./defaults";
|
|
18
|
+
/**
|
|
19
|
+
* @private
|
|
20
|
+
* Create a new Hub Page item
|
|
21
|
+
*
|
|
22
|
+
* Minimal properties are name and org
|
|
23
|
+
*
|
|
24
|
+
* @param partialPage
|
|
25
|
+
* @param requestOptions
|
|
26
|
+
*/
|
|
27
|
+
export async function createPage(partialPage, requestOptions) {
|
|
28
|
+
// merge incoming with the default
|
|
29
|
+
// this expansion solves the typing somehow
|
|
30
|
+
const page = Object.assign(Object.assign({}, DEFAULT_PAGE), partialPage);
|
|
31
|
+
// Create a slug from the title if one is not passed in
|
|
32
|
+
if (!page.slug) {
|
|
33
|
+
page.slug = constructSlug(page.name, page.orgUrlKey);
|
|
34
|
+
}
|
|
35
|
+
// Ensure slug is unique
|
|
36
|
+
page.slug = await getUniqueSlug({ slug: page.slug }, requestOptions);
|
|
37
|
+
// add slug and status to keywords
|
|
38
|
+
page.typeKeywords = setSlugKeyword(page.typeKeywords, page.slug);
|
|
39
|
+
// Map page object onto a default page Model
|
|
40
|
+
const mapper = new PropertyMapper(getPropertyMap());
|
|
41
|
+
// create model from object, using the default model as a starting point
|
|
42
|
+
let model = mapper.entityToStore(page, cloneObject(DEFAULT_PAGE_MODEL));
|
|
43
|
+
// create the item
|
|
44
|
+
model = await createModel(model, requestOptions);
|
|
45
|
+
// map the model back into a IHubPage
|
|
46
|
+
let newPage = mapper.storeToEntity(model, {});
|
|
47
|
+
newPage = computeProps(model, newPage, requestOptions);
|
|
48
|
+
// and return it
|
|
49
|
+
return newPage;
|
|
50
|
+
}
|
|
51
|
+
/**
|
|
52
|
+
* @private
|
|
53
|
+
* Update a Hub Page
|
|
54
|
+
* @param page
|
|
55
|
+
* @param requestOptions
|
|
56
|
+
*/
|
|
57
|
+
export async function updatePage(page, requestOptions) {
|
|
58
|
+
// verify that the slug is unique, excluding the current page
|
|
59
|
+
page.slug = await getUniqueSlug({ slug: page.slug, existingId: page.id }, requestOptions);
|
|
60
|
+
// get the backing item & data
|
|
61
|
+
const model = await getModel(page.id, requestOptions);
|
|
62
|
+
// create the PropertyMapper
|
|
63
|
+
const mapper = new PropertyMapper(getPropertyMap());
|
|
64
|
+
// Note: Although we are fetching the model, and applying changes onto it,
|
|
65
|
+
// we are not attempting to handle "concurrent edit" conflict resolution
|
|
66
|
+
// but this is where we would apply that sort of logic
|
|
67
|
+
const modelToUpdate = mapper.entityToStore(page, model);
|
|
68
|
+
// update the backing item
|
|
69
|
+
const updatedModel = await updateModel(modelToUpdate, requestOptions);
|
|
70
|
+
// now map back into a page and return that
|
|
71
|
+
let updatedPage = mapper.storeToEntity(updatedModel, page);
|
|
72
|
+
updatedPage = computeProps(model, updatedPage, requestOptions);
|
|
73
|
+
// the casting is needed because modelToObject returns a `Partial<T>`
|
|
74
|
+
// where as this function returns a `T`
|
|
75
|
+
return updatedPage;
|
|
76
|
+
}
|
|
77
|
+
/**
|
|
78
|
+
* @private
|
|
79
|
+
* Get a Hub Page by id or slug
|
|
80
|
+
* @param identifier item id or slug
|
|
81
|
+
* @param requestOptions
|
|
82
|
+
*/
|
|
83
|
+
export async function fetchPage(identifier, requestOptions) {
|
|
84
|
+
let getPrms;
|
|
85
|
+
if (isGuid(identifier)) {
|
|
86
|
+
// get item by id
|
|
87
|
+
getPrms = getItem(identifier, requestOptions);
|
|
88
|
+
}
|
|
89
|
+
else {
|
|
90
|
+
getPrms = getItemBySlug(identifier, requestOptions);
|
|
91
|
+
}
|
|
92
|
+
return getPrms.then((item) => {
|
|
93
|
+
if (!item)
|
|
94
|
+
return null;
|
|
95
|
+
return convertItemToPage(item, requestOptions);
|
|
96
|
+
});
|
|
97
|
+
}
|
|
98
|
+
/**
|
|
99
|
+
* @private
|
|
100
|
+
* Convert an Hub Page Item into a Hub Page, fetching any additional
|
|
101
|
+
* information that may be required
|
|
102
|
+
* @param item
|
|
103
|
+
* @param auth
|
|
104
|
+
* @returns
|
|
105
|
+
*/
|
|
106
|
+
export async function convertItemToPage(item, requestOptions) {
|
|
107
|
+
const model = await fetchModelFromItem(item, requestOptions);
|
|
108
|
+
// TODO: In the future we will handle the boundary fetching from resource
|
|
109
|
+
const mapper = new PropertyMapper(getPropertyMap());
|
|
110
|
+
const prj = mapper.storeToEntity(model, {});
|
|
111
|
+
return computeProps(model, prj, requestOptions);
|
|
112
|
+
}
|
|
113
|
+
/**
|
|
114
|
+
* @private
|
|
115
|
+
* Remove a Hub Page
|
|
116
|
+
* @param id
|
|
117
|
+
* @param requestOptions
|
|
118
|
+
*/
|
|
119
|
+
export async function deletePage(id, requestOptions) {
|
|
120
|
+
const ro = Object.assign(Object.assign({}, requestOptions), { id });
|
|
121
|
+
await removeItem(ro);
|
|
122
|
+
return;
|
|
123
|
+
}
|
|
10
124
|
/**
|
|
11
125
|
* Fetch Page specific Enrichments
|
|
12
126
|
* @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":"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"}
|
|
@@ -1,3 +1,83 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Default capabilities for a Page. If not listed here, the capability will not be available
|
|
3
|
+
* This hash is combined with the capabilities hash stored in the item data. Regardless of what
|
|
4
|
+
* properties are defined in the item data, only the capabilities defined here will be available
|
|
5
|
+
* @private
|
|
6
|
+
*/
|
|
7
|
+
export const PageDefaultCapabilities = {
|
|
8
|
+
overview: true,
|
|
9
|
+
details: true,
|
|
10
|
+
settings: true,
|
|
11
|
+
};
|
|
12
|
+
/**
|
|
13
|
+
* List of all the Page Capability Permissions
|
|
14
|
+
* These are considered Hub Business Rules and are not intended
|
|
15
|
+
* to be modified by consumers
|
|
16
|
+
* @private
|
|
17
|
+
*/
|
|
18
|
+
export const PageCapabilityPermissions = [
|
|
19
|
+
{
|
|
20
|
+
entity: "page",
|
|
21
|
+
capability: "overview",
|
|
22
|
+
permissions: ["hub:page:view"],
|
|
23
|
+
},
|
|
24
|
+
{
|
|
25
|
+
entity: "page",
|
|
26
|
+
capability: "details",
|
|
27
|
+
permissions: ["hub:page:edit"],
|
|
28
|
+
},
|
|
29
|
+
{
|
|
30
|
+
entity: "page",
|
|
31
|
+
capability: "settings",
|
|
32
|
+
permissions: ["hub:page:edit"],
|
|
33
|
+
},
|
|
34
|
+
];
|
|
35
|
+
/**
|
|
36
|
+
* Page Permission Policies
|
|
37
|
+
* These define the requirements any user must meet to perform related actions
|
|
38
|
+
* @private
|
|
39
|
+
*/
|
|
40
|
+
export const PagePermissions = [
|
|
41
|
+
"hub:page:create",
|
|
42
|
+
"hub:page:delete",
|
|
43
|
+
"hub:page:edit",
|
|
44
|
+
"hub:page:view",
|
|
45
|
+
];
|
|
46
|
+
/**
|
|
47
|
+
* Page permission policies
|
|
48
|
+
* @private
|
|
49
|
+
*/
|
|
50
|
+
export const PagePermissionPolicies = [
|
|
51
|
+
{
|
|
52
|
+
permission: "hub:page:create",
|
|
53
|
+
subsystems: ["pages", "sites"],
|
|
54
|
+
authenticated: true,
|
|
55
|
+
privileges: ["portal:user:createItem"],
|
|
56
|
+
licenses: ["hub-basic", "hub-premium", "enterprise-sites"],
|
|
57
|
+
},
|
|
58
|
+
{
|
|
59
|
+
permission: "hub:page:view",
|
|
60
|
+
subsystems: ["pages", "sites"],
|
|
61
|
+
authenticated: false,
|
|
62
|
+
licenses: ["hub-basic", "hub-premium", "enterprise-sites"],
|
|
63
|
+
},
|
|
64
|
+
{
|
|
65
|
+
permission: "hub:page:edit",
|
|
66
|
+
authenticated: true,
|
|
67
|
+
subsystems: ["pages", "sites"],
|
|
68
|
+
entityEdit: true,
|
|
69
|
+
// privileges: ["portal:admin:updateItems"], // maybe this too?
|
|
70
|
+
licenses: ["hub-basic", "hub-premium", "enterprise-sites"],
|
|
71
|
+
},
|
|
72
|
+
{
|
|
73
|
+
permission: "hub:page:delete",
|
|
74
|
+
authenticated: true,
|
|
75
|
+
subsystems: ["pages", "sites"],
|
|
76
|
+
entityOwner: true,
|
|
77
|
+
// privileges: ["portal:admin:deleteItems"], // maybe this too?
|
|
78
|
+
licenses: ["hub-basic", "hub-premium", "enterprise-sites"],
|
|
79
|
+
},
|
|
80
|
+
];
|
|
1
81
|
/**
|
|
2
82
|
* Page versioning include list
|
|
3
83
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PageBusinessRules.js","sourceRoot":"","sources":["../../../../src/pages/_internal/PageBusinessRules.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"PageBusinessRules.js","sourceRoot":"","sources":["../../../../src/pages/_internal/PageBusinessRules.ts"],"names":[],"mappings":"AAGA;;;;;GAKG;AACH,MAAM,CAAC,MAAM,uBAAuB,GAAuB;IACzD,QAAQ,EAAE,IAAI;IACd,OAAO,EAAE,IAAI;IACb,QAAQ,EAAE,IAAI;CACf,CAAC;AAEF;;;;;GAKG;AACH,MAAM,CAAC,MAAM,yBAAyB,GAA4B;IAChE;QACE,MAAM,EAAE,MAAM;QACd,UAAU,EAAE,UAAU;QACtB,WAAW,EAAE,CAAC,eAAe,CAAC;KAC/B;IACD;QACE,MAAM,EAAE,MAAM;QACd,UAAU,EAAE,SAAS;QACrB,WAAW,EAAE,CAAC,eAAe,CAAC;KAC/B;IACD;QACE,MAAM,EAAE,MAAM;QACd,UAAU,EAAE,UAAU;QACtB,WAAW,EAAE,CAAC,eAAe,CAAC;KAC/B;CACF,CAAC;AAEF;;;;GAIG;AACH,MAAM,CAAC,MAAM,eAAe,GAAG;IAC7B,iBAAiB;IACjB,iBAAiB;IACjB,eAAe;IACf,eAAe;CACP,CAAC;AAEX;;;GAGG;AACH,MAAM,CAAC,MAAM,sBAAsB,GAAwB;IACzD;QACE,UAAU,EAAE,iBAAiB;QAC7B,UAAU,EAAE,CAAC,OAAO,EAAE,OAAO,CAAC;QAC9B,aAAa,EAAE,IAAI;QACnB,UAAU,EAAE,CAAC,wBAAwB,CAAC;QACtC,QAAQ,EAAE,CAAC,WAAW,EAAE,aAAa,EAAE,kBAAkB,CAAC;KAC3D;IACD;QACE,UAAU,EAAE,eAAe;QAC3B,UAAU,EAAE,CAAC,OAAO,EAAE,OAAO,CAAC;QAC9B,aAAa,EAAE,KAAK;QACpB,QAAQ,EAAE,CAAC,WAAW,EAAE,aAAa,EAAE,kBAAkB,CAAC;KAC3D;IACD;QACE,UAAU,EAAE,eAAe;QAC3B,aAAa,EAAE,IAAI;QACnB,UAAU,EAAE,CAAC,OAAO,EAAE,OAAO,CAAC;QAC9B,UAAU,EAAE,IAAI;QAChB,+DAA+D;QAC/D,QAAQ,EAAE,CAAC,WAAW,EAAE,aAAa,EAAE,kBAAkB,CAAC;KAC3D;IACD;QACE,UAAU,EAAE,iBAAiB;QAC7B,aAAa,EAAE,IAAI;QACnB,UAAU,EAAE,CAAC,OAAO,EAAE,OAAO,CAAC;QAC9B,WAAW,EAAE,IAAI;QACjB,+DAA+D;QAC/D,QAAQ,EAAE,CAAC,WAAW,EAAE,aAAa,EAAE,kBAAkB,CAAC;KAC3D;CACF,CAAC;AAEF;;GAEG;AACH,MAAM,CAAC,MAAM,sBAAsB,GAAG;IACpC,oBAAoB;IACpB,yBAAyB;CAC1B,CAAC"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import { ENTITY_ACCESS_SCHEMA, ENTITY_CATEGORIES_SCHEMA, ENTITY_NAME_SCHEMA, ENTITY_TAGS_SCHEMA, } from "../../core/schemas/shared";
|
|
2
|
+
export const PageEditorTypes = ["hub:page:edit"];
|
|
3
|
+
/**
|
|
4
|
+
* defines the JSON schema for a Hub Site's editable fields
|
|
5
|
+
*/
|
|
6
|
+
export const PageSchema = {
|
|
7
|
+
required: ["name"],
|
|
8
|
+
type: "object",
|
|
9
|
+
properties: {
|
|
10
|
+
name: ENTITY_NAME_SCHEMA,
|
|
11
|
+
summary: {
|
|
12
|
+
type: "string",
|
|
13
|
+
},
|
|
14
|
+
description: {
|
|
15
|
+
type: "string",
|
|
16
|
+
},
|
|
17
|
+
access: ENTITY_ACCESS_SCHEMA,
|
|
18
|
+
groups: {
|
|
19
|
+
type: "array",
|
|
20
|
+
items: {
|
|
21
|
+
type: "string",
|
|
22
|
+
},
|
|
23
|
+
},
|
|
24
|
+
location: {
|
|
25
|
+
type: "object",
|
|
26
|
+
},
|
|
27
|
+
tags: ENTITY_TAGS_SCHEMA,
|
|
28
|
+
categories: ENTITY_CATEGORIES_SCHEMA,
|
|
29
|
+
},
|
|
30
|
+
};
|
|
31
|
+
//# sourceMappingURL=PageSchema.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PageSchema.js","sourceRoot":"","sources":["../../../../src/pages/_internal/PageSchema.ts"],"names":[],"mappings":"AACA,OAAO,EACL,oBAAoB,EACpB,wBAAwB,EACxB,kBAAkB,EAClB,kBAAkB,GACnB,MAAM,2BAA2B,CAAC;AAEnC,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,eAAe,CAAU,CAAC;AAG1D;;GAEG;AACH,MAAM,CAAC,MAAM,UAAU,GAAyB;IAC9C,QAAQ,EAAE,CAAC,MAAM,CAAC;IAClB,IAAI,EAAE,QAAQ;IACd,UAAU,EAAE;QACV,IAAI,EAAE,kBAAkB;QACxB,OAAO,EAAE;YACP,IAAI,EAAE,QAAQ;SACf;QACD,WAAW,EAAE;YACX,IAAI,EAAE,QAAQ;SACf;QACD,MAAM,EAAE,oBAAoB;QAC5B,MAAM,EAAE;YACN,IAAI,EAAE,OAAO;YACb,KAAK,EAAE;gBACL,IAAI,EAAE,QAAQ;aACf;SACF;QACD,QAAQ,EAAE;YACR,IAAI,EAAE,QAAQ;SACf;QACD,IAAI,EAAE,kBAAkB;QACxB,UAAU,EAAE,wBAAwB;KACrC;CACiC,CAAC"}
|
|
@@ -0,0 +1,100 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* complete edit uiSchema for Hub Projects - this defines
|
|
3
|
+
* how the schema properties should be rendered in the
|
|
4
|
+
* project editing experience
|
|
5
|
+
*/
|
|
6
|
+
export const uiSchema = {
|
|
7
|
+
type: "Layout",
|
|
8
|
+
elements: [
|
|
9
|
+
{
|
|
10
|
+
type: "Section",
|
|
11
|
+
labelKey: "{{i18nScope}}.sections.basicInfo.label",
|
|
12
|
+
elements: [
|
|
13
|
+
{
|
|
14
|
+
labelKey: "{{i18nScope}}.fields.name.label",
|
|
15
|
+
scope: "/properties/name",
|
|
16
|
+
type: "Control",
|
|
17
|
+
options: {
|
|
18
|
+
messages: [
|
|
19
|
+
{
|
|
20
|
+
type: "ERROR",
|
|
21
|
+
keyword: "required",
|
|
22
|
+
icon: true,
|
|
23
|
+
labelKey: "{{i18nScope}}.fields.name.requiredError",
|
|
24
|
+
},
|
|
25
|
+
],
|
|
26
|
+
},
|
|
27
|
+
},
|
|
28
|
+
{
|
|
29
|
+
labelKey: "{{i18nScope}}.fields.summary.label",
|
|
30
|
+
scope: "/properties/summary",
|
|
31
|
+
type: "Control",
|
|
32
|
+
options: {
|
|
33
|
+
control: "hub-field-input-input",
|
|
34
|
+
type: "textarea",
|
|
35
|
+
helperText: {
|
|
36
|
+
labelKey: "{{i18nScope}}.fields.summary.helperText",
|
|
37
|
+
},
|
|
38
|
+
},
|
|
39
|
+
},
|
|
40
|
+
{
|
|
41
|
+
labelKey: "{{i18nScope}}.fields.description.label",
|
|
42
|
+
scope: "/properties/description",
|
|
43
|
+
type: "Control",
|
|
44
|
+
options: {
|
|
45
|
+
control: "hub-field-input-input",
|
|
46
|
+
type: "textarea",
|
|
47
|
+
helperText: {
|
|
48
|
+
labelKey: "{{i18nScope}}.fields.description.helperText",
|
|
49
|
+
},
|
|
50
|
+
},
|
|
51
|
+
},
|
|
52
|
+
{
|
|
53
|
+
labelKey: "{{i18nScope}}.fields.tags.label",
|
|
54
|
+
scope: "/properties/tags",
|
|
55
|
+
type: "Control",
|
|
56
|
+
options: {
|
|
57
|
+
control: "hub-field-input-combobox",
|
|
58
|
+
allowCustomValues: true,
|
|
59
|
+
selectionMode: "multiple",
|
|
60
|
+
placeholderIcon: "label",
|
|
61
|
+
helperText: { labelKey: "{{i18nScope}}.fields.tags.helperText" },
|
|
62
|
+
},
|
|
63
|
+
},
|
|
64
|
+
{
|
|
65
|
+
labelKey: "{{i18nScope}}.fields.categories.label",
|
|
66
|
+
scope: "/properties/categories",
|
|
67
|
+
type: "Control",
|
|
68
|
+
options: {
|
|
69
|
+
control: "hub-field-input-combobox",
|
|
70
|
+
allowCustomValues: false,
|
|
71
|
+
selectionMode: "multiple",
|
|
72
|
+
placeholderIcon: "select-category",
|
|
73
|
+
helperText: {
|
|
74
|
+
labelKey: "{{i18nScope}}.fields.categories.helperText",
|
|
75
|
+
},
|
|
76
|
+
},
|
|
77
|
+
},
|
|
78
|
+
],
|
|
79
|
+
},
|
|
80
|
+
{
|
|
81
|
+
type: "Section",
|
|
82
|
+
labelKey: "{{i18nScope}}.sections.location.label",
|
|
83
|
+
options: {
|
|
84
|
+
helperText: {
|
|
85
|
+
labelKey: "{{i18nScope}}.sections.location.helperText",
|
|
86
|
+
},
|
|
87
|
+
},
|
|
88
|
+
elements: [
|
|
89
|
+
{
|
|
90
|
+
scope: "/properties/location",
|
|
91
|
+
type: "Control",
|
|
92
|
+
options: {
|
|
93
|
+
control: "hub-field-input-location-picker",
|
|
94
|
+
},
|
|
95
|
+
},
|
|
96
|
+
],
|
|
97
|
+
},
|
|
98
|
+
],
|
|
99
|
+
};
|
|
100
|
+
//# sourceMappingURL=PageUiSchemaEdit.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PageUiSchemaEdit.js","sourceRoot":"","sources":["../../../../src/pages/_internal/PageUiSchemaEdit.ts"],"names":[],"mappings":"AAEA;;;;GAIG;AACH,MAAM,CAAC,MAAM,QAAQ,GAAc;IACjC,IAAI,EAAE,QAAQ;IACd,QAAQ,EAAE;QACR;YACE,IAAI,EAAE,SAAS;YACf,QAAQ,EAAE,wCAAwC;YAClD,QAAQ,EAAE;gBACR;oBACE,QAAQ,EAAE,iCAAiC;oBAC3C,KAAK,EAAE,kBAAkB;oBACzB,IAAI,EAAE,SAAS;oBACf,OAAO,EAAE;wBACP,QAAQ,EAAE;4BACR;gCACE,IAAI,EAAE,OAAO;gCACb,OAAO,EAAE,UAAU;gCACnB,IAAI,EAAE,IAAI;gCACV,QAAQ,EAAE,yCAAyC;6BACpD;yBACF;qBACF;iBACF;gBACD;oBACE,QAAQ,EAAE,oCAAoC;oBAC9C,KAAK,EAAE,qBAAqB;oBAC5B,IAAI,EAAE,SAAS;oBACf,OAAO,EAAE;wBACP,OAAO,EAAE,uBAAuB;wBAChC,IAAI,EAAE,UAAU;wBAChB,UAAU,EAAE;4BACV,QAAQ,EAAE,yCAAyC;yBACpD;qBACF;iBACF;gBACD;oBACE,QAAQ,EAAE,wCAAwC;oBAClD,KAAK,EAAE,yBAAyB;oBAChC,IAAI,EAAE,SAAS;oBACf,OAAO,EAAE;wBACP,OAAO,EAAE,uBAAuB;wBAChC,IAAI,EAAE,UAAU;wBAChB,UAAU,EAAE;4BACV,QAAQ,EAAE,6CAA6C;yBACxD;qBACF;iBACF;gBAED;oBACE,QAAQ,EAAE,iCAAiC;oBAC3C,KAAK,EAAE,kBAAkB;oBACzB,IAAI,EAAE,SAAS;oBACf,OAAO,EAAE;wBACP,OAAO,EAAE,0BAA0B;wBACnC,iBAAiB,EAAE,IAAI;wBACvB,aAAa,EAAE,UAAU;wBACzB,eAAe,EAAE,OAAO;wBACxB,UAAU,EAAE,EAAE,QAAQ,EAAE,sCAAsC,EAAE;qBACjE;iBACF;gBACD;oBACE,QAAQ,EAAE,uCAAuC;oBACjD,KAAK,EAAE,wBAAwB;oBAC/B,IAAI,EAAE,SAAS;oBACf,OAAO,EAAE;wBACP,OAAO,EAAE,0BAA0B;wBACnC,iBAAiB,EAAE,KAAK;wBACxB,aAAa,EAAE,UAAU;wBACzB,eAAe,EAAE,iBAAiB;wBAClC,UAAU,EAAE;4BACV,QAAQ,EAAE,4CAA4C;yBACvD;qBACF;iBACF;aACF;SACF;QACD;YACE,IAAI,EAAE,SAAS;YACf,QAAQ,EAAE,uCAAuC;YACjD,OAAO,EAAE;gBACP,UAAU,EAAE;oBACV,QAAQ,EAAE,4CAA4C;iBACvD;aACF;YACD,QAAQ,EAAE;gBACR;oBACE,KAAK,EAAE,sBAAsB;oBAC7B,IAAI,EAAE,SAAS;oBACf,OAAO,EAAE;wBACP,OAAO,EAAE,iCAAiC;qBAC3C;iBACF;aACF;SACF;KACF;CACF,CAAC"}
|