@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.
Files changed (74) hide show
  1. package/dist/esm/capabilities/_internal/checkCapabilityAccess.js.map +1 -1
  2. package/dist/esm/capabilities/checkCapability.js.map +1 -1
  3. package/dist/esm/core/fetchHubEntity.js +3 -1
  4. package/dist/esm/core/fetchHubEntity.js.map +1 -1
  5. package/dist/esm/core/getTypeFromEntity.js.map +1 -1
  6. package/dist/esm/core/schemas/getEntityEditorSchemas.js +9 -0
  7. package/dist/esm/core/schemas/getEntityEditorSchemas.js.map +1 -1
  8. package/dist/esm/core/updateHubEntity.js +5 -0
  9. package/dist/esm/core/updateHubEntity.js.map +1 -1
  10. package/dist/esm/pages/HubPage.js +137 -0
  11. package/dist/esm/pages/HubPage.js.map +1 -0
  12. package/dist/esm/pages/HubPages.js +116 -2
  13. package/dist/esm/pages/HubPages.js.map +1 -1
  14. package/dist/esm/pages/_internal/PageBusinessRules.js +80 -0
  15. package/dist/esm/pages/_internal/PageBusinessRules.js.map +1 -1
  16. package/dist/esm/pages/_internal/PageSchema.js +31 -0
  17. package/dist/esm/pages/_internal/PageSchema.js.map +1 -0
  18. package/dist/esm/pages/_internal/PageUiSchemaEdit.js +100 -0
  19. package/dist/esm/pages/_internal/PageUiSchemaEdit.js.map +1 -0
  20. package/dist/esm/pages/_internal/computeProps.js +31 -0
  21. package/dist/esm/pages/_internal/computeProps.js.map +1 -0
  22. package/dist/esm/pages/_internal/getPropertyMap.js +20 -0
  23. package/dist/esm/pages/_internal/getPropertyMap.js.map +1 -0
  24. package/dist/esm/pages/defaults.js +41 -0
  25. package/dist/esm/pages/defaults.js.map +1 -0
  26. package/dist/esm/pages/index.js +1 -0
  27. package/dist/esm/pages/index.js.map +1 -1
  28. package/dist/esm/permissions/types/Permission.js +2 -0
  29. package/dist/esm/permissions/types/Permission.js.map +1 -1
  30. package/dist/node/capabilities/_internal/checkCapabilityAccess.js.map +1 -1
  31. package/dist/node/capabilities/checkCapability.js.map +1 -1
  32. package/dist/node/core/fetchHubEntity.js +3 -1
  33. package/dist/node/core/fetchHubEntity.js.map +1 -1
  34. package/dist/node/core/getTypeFromEntity.js.map +1 -1
  35. package/dist/node/core/schemas/getEntityEditorSchemas.js +9 -0
  36. package/dist/node/core/schemas/getEntityEditorSchemas.js.map +1 -1
  37. package/dist/node/core/updateHubEntity.js +5 -0
  38. package/dist/node/core/updateHubEntity.js.map +1 -1
  39. package/dist/node/pages/HubPage.js +141 -0
  40. package/dist/node/pages/HubPage.js.map +1 -0
  41. package/dist/node/pages/HubPages.js +120 -1
  42. package/dist/node/pages/HubPages.js.map +1 -1
  43. package/dist/node/pages/_internal/PageBusinessRules.js +81 -1
  44. package/dist/node/pages/_internal/PageBusinessRules.js.map +1 -1
  45. package/dist/node/pages/_internal/PageSchema.js +34 -0
  46. package/dist/node/pages/_internal/PageSchema.js.map +1 -0
  47. package/dist/node/pages/_internal/PageUiSchemaEdit.js +103 -0
  48. package/dist/node/pages/_internal/PageUiSchemaEdit.js.map +1 -0
  49. package/dist/node/pages/_internal/computeProps.js +35 -0
  50. package/dist/node/pages/_internal/computeProps.js.map +1 -0
  51. package/dist/node/pages/_internal/getPropertyMap.js +24 -0
  52. package/dist/node/pages/_internal/getPropertyMap.js.map +1 -0
  53. package/dist/node/pages/defaults.js +44 -0
  54. package/dist/node/pages/defaults.js.map +1 -0
  55. package/dist/node/pages/index.js +1 -0
  56. package/dist/node/pages/index.js.map +1 -1
  57. package/dist/node/permissions/types/Permission.js +2 -0
  58. package/dist/node/permissions/types/Permission.js.map +1 -1
  59. package/dist/types/capabilities/_internal/checkCapabilityAccess.d.ts +2 -2
  60. package/dist/types/capabilities/checkCapability.d.ts +2 -2
  61. package/dist/types/core/getTypeFromEntity.d.ts +2 -2
  62. package/dist/types/core/schemas/getEntityEditorSchemas.d.ts +1 -1
  63. package/dist/types/core/types/IHubPage.d.ts +2 -2
  64. package/dist/types/pages/HubPage.d.ts +59 -0
  65. package/dist/types/pages/HubPages.d.ts +44 -1
  66. package/dist/types/pages/_internal/PageBusinessRules.d.ts +27 -0
  67. package/dist/types/pages/_internal/PageSchema.d.ts +7 -0
  68. package/dist/types/pages/_internal/PageUiSchemaEdit.d.ts +7 -0
  69. package/dist/types/pages/_internal/computeProps.d.ts +12 -0
  70. package/dist/types/pages/_internal/getPropertyMap.d.ts +8 -0
  71. package/dist/types/pages/defaults.d.ts +13 -0
  72. package/dist/types/pages/index.d.ts +1 -0
  73. package/dist/types/permissions/types/Permission.d.ts +1 -1
  74. 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,MAAiB;IAEjB,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
+ {"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;AAEpD,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,MAAiB;IAEjB,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
+ {"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
- throw new Error(`FetchPage not implemented`);
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,IAAI,KAAK,CAAC,2BAA2B,CAAC,CAAC;QAC/C,KAAK,SAAS;YACZ,MAAM,GAAG,MAAM,eAAe,CAAC,UAAU,EAAE,OAAO,CAAC,cAAc,CAAC,CAAC;KACtE;IACD,OAAO,MAAM,CAAC;AAChB,CAAC"}
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,CAAC,MAAiB;IACjD,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"}
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":"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"}
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;AACtD,OAAO,EAEL,eAAe,GAChB,MAAM,kCAAkC,CAAC;AAO1C,MAAM,CAAC,MAAM,gBAAgB,GAAG;IAC9B,GAAG,kBAAkB;IACrB,GAAG,qBAAqB;IACxB,GAAG,eAAe;IAClB,GAAG,qBAAqB;IACxB,GAAG,eAAe;CACV,CAAC;AAEX;;;;;;;;;GASG;AACH,MAAM,CAAC,MAAM,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,MAAM,MAAM,CACpC,wCAAwC,CACzC,CAAC;YACF,MAAM,GAAG,WAAW,CAAC,aAAa,CAAC,CAAC;YAEpC,CAAC,EAAE,QAAQ,EAAE,GAAG,MAAM;gBACpB,kBAAkB,EAAE,GAAG,EAAE,CACvB,MAAM,CAAC,8CAA8C,CAAC;gBACxD,oBAAoB,EAAE,GAAG,EAAE,CACzB,MAAM,CAAC,gDAAgD,CAAC;aAC3D,CAAC,IAAyB,CAAC,EAAE,CAAC,CAAC;YAChC,MAAM;QACR,KAAK,YAAY;YACf,MAAM,EAAE,gBAAgB,EAAE,GAAG,MAAM,MAAM,CACvC,8CAA8C,CAC/C,CAAC;YACF,MAAM,GAAG,WAAW,CAAC,gBAAgB,CAAC,CAAC;YAEvC,CAAC,EAAE,QAAQ,EAAE,GAAG,MAAM;gBACpB,qBAAqB,EAAE,GAAG,EAAE,CAC1B,MAAM,CAAC,oDAAoD,CAAC;aAC/D,CAAC,IAA4B,CAAC,EAAE,CAAC,CAAC;YACnC,MAAM;QACR,KAAK,MAAM;YACT,MAAM,EAAE,UAAU,EAAE,GAAG,MAAM,MAAM,CAAC,kCAAkC,CAAC,CAAC;YACxE,MAAM,GAAG,WAAW,CAAC,UAAU,CAAC,CAAC;YAEjC,CAAC,EAAE,QAAQ,EAAE,GAAG,MAAM;gBACpB,eAAe,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,wCAAwC,CAAC;aACxE,CAAC,IAAsB,CAAC,EAAE,CAAC,CAAC;YAC7B,MAAM;QACR,KAAK,YAAY;YACf,MAAM,EAAE,gBAAgB,EAAE,GAAG,MAAM,MAAM,CACvC,8CAA8C,CAC/C,CAAC;YACF,MAAM,GAAG,WAAW,CAAC,gBAAgB,CAAC,CAAC;YAEvC,CAAC,EAAE,QAAQ,EAAE,GAAG,MAAM;gBACpB,qBAAqB,EAAE,GAAG,EAAE,CAC1B,MAAM,CAAC,oDAAoD,CAAC;gBAC9D,uBAAuB,EAAE,GAAG,EAAE,CAC5B,MAAM,CAAC,sDAAsD,CAAC;aACjE,CAAC,IAA4B,CAAC,EAAE,CAAC,CAAC;YACnC,MAAM;QACR,KAAK,MAAM;YACT,MAAM,EAAE,UAAU,EAAE,GAAG,MAAM,MAAM,CAAC,kCAAkC,CAAC,CAAC;YACxE,MAAM,GAAG,WAAW,CAAC,UAAU,CAAC,CAAC;YAEjC,CAAC,EAAE,QAAQ,EAAE,GAAG,MAAM;gBACpB,eAAe,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,wCAAwC,CAAC;aACxE,CAAC,IAAsB,CAAC,EAAE,CAAC,CAAC;YAC7B,MAAM;KACT;IAED,kDAAkD;IAClD,MAAM,GAAG,sBAAsB,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;IAClD,oBAAoB;IACpB,QAAQ,GAAG,2BAA2B,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;IAC1D,+CAA+C;IAC/C,QAAQ,GAAG,WAAW,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"}
@@ -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;AAW/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;KACL;IACD,OAAO,MAAM,CAAC;AAChB,CAAC,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 { unique } from "../util";
9
- import { mapBy } from "../utils";
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":"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"}
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":"AAAA;;GAEG;AACH,MAAM,CAAC,MAAM,sBAAsB,GAAG;IACpC,oBAAoB;IACpB,yBAAyB;CAC1B,CAAC"}
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"}