@esri/hub-common 13.22.0 → 13.23.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 (117) hide show
  1. package/dist/esm/core/EntityEditor.js +39 -0
  2. package/dist/esm/core/EntityEditor.js.map +1 -0
  3. package/dist/esm/core/HubItemEntity.js +15 -0
  4. package/dist/esm/core/HubItemEntity.js.map +1 -1
  5. package/dist/esm/core/index.js.map +1 -1
  6. package/dist/esm/core/schemas/getEntityEditorSchemas.js +7 -1
  7. package/dist/esm/core/schemas/getEntityEditorSchemas.js.map +1 -1
  8. package/dist/esm/core/schemas/internal/getCategoryItems.js +34 -0
  9. package/dist/esm/core/schemas/internal/getCategoryItems.js.map +1 -0
  10. package/dist/esm/core/schemas/internal/getFeaturedContentCatalogs.js +21 -0
  11. package/dist/esm/core/schemas/internal/getFeaturedContentCatalogs.js.map +1 -0
  12. package/dist/esm/core/schemas/internal/getFeaturedImageUrl.js +9 -0
  13. package/dist/esm/core/schemas/internal/getFeaturedImageUrl.js.map +1 -0
  14. package/dist/esm/core/schemas/internal/getLocationExtent.js +11 -0
  15. package/dist/esm/core/schemas/internal/getLocationExtent.js.map +1 -0
  16. package/dist/esm/core/schemas/internal/getLocationOptions.js +56 -0
  17. package/dist/esm/core/schemas/internal/getLocationOptions.js.map +1 -0
  18. package/dist/esm/core/schemas/internal/getSharableGroupsComboBoxItems.js +27 -0
  19. package/dist/esm/core/schemas/internal/getSharableGroupsComboBoxItems.js.map +1 -0
  20. package/dist/esm/core/schemas/internal/getTagItems.js +37 -0
  21. package/dist/esm/core/schemas/internal/getTagItems.js.map +1 -0
  22. package/dist/esm/core/types/HubEntityEditor.js +1 -0
  23. package/dist/esm/core/types/HubEntityEditor.js.map +1 -0
  24. package/dist/esm/core/types/IHubProject.js.map +1 -1
  25. package/dist/esm/core/types/index.js +5 -4
  26. package/dist/esm/core/types/index.js.map +1 -1
  27. package/dist/esm/index.js +1 -0
  28. package/dist/esm/index.js.map +1 -1
  29. package/dist/esm/projects/HubProject.js +92 -13
  30. package/dist/esm/projects/HubProject.js.map +1 -1
  31. package/dist/esm/projects/_internal/ProjectBusinessRules.js +7 -0
  32. package/dist/esm/projects/_internal/ProjectBusinessRules.js.map +1 -1
  33. package/dist/esm/projects/_internal/ProjectSchema.js +3 -3
  34. package/dist/esm/projects/_internal/ProjectSchema.js.map +1 -1
  35. package/dist/esm/projects/_internal/ProjectUiSchemaCreate.js +1 -1
  36. package/dist/esm/projects/_internal/ProjectUiSchemaCreate.js.map +1 -1
  37. package/dist/esm/projects/_internal/getProjectEditorConfigOptions.js +63 -0
  38. package/dist/esm/projects/_internal/getProjectEditorConfigOptions.js.map +1 -0
  39. package/dist/esm/projects/edit.js +23 -7
  40. package/dist/esm/projects/edit.js.map +1 -1
  41. package/dist/esm/sites/HubSites.js +12 -26
  42. package/dist/esm/sites/HubSites.js.map +1 -1
  43. package/dist/esm/urls/cacheBustUrl.js +13 -0
  44. package/dist/esm/urls/cacheBustUrl.js.map +1 -0
  45. package/dist/esm/urls/index.js +1 -0
  46. package/dist/esm/urls/index.js.map +1 -1
  47. package/dist/node/core/EntityEditor.js +43 -0
  48. package/dist/node/core/EntityEditor.js.map +1 -0
  49. package/dist/node/core/HubItemEntity.js +15 -0
  50. package/dist/node/core/HubItemEntity.js.map +1 -1
  51. package/dist/node/core/index.js.map +1 -1
  52. package/dist/node/core/schemas/getEntityEditorSchemas.js +7 -1
  53. package/dist/node/core/schemas/getEntityEditorSchemas.js.map +1 -1
  54. package/dist/node/core/schemas/internal/getCategoryItems.js +38 -0
  55. package/dist/node/core/schemas/internal/getCategoryItems.js.map +1 -0
  56. package/dist/node/core/schemas/internal/getFeaturedContentCatalogs.js +25 -0
  57. package/dist/node/core/schemas/internal/getFeaturedContentCatalogs.js.map +1 -0
  58. package/dist/node/core/schemas/internal/getFeaturedImageUrl.js +13 -0
  59. package/dist/node/core/schemas/internal/getFeaturedImageUrl.js.map +1 -0
  60. package/dist/node/core/schemas/internal/getLocationExtent.js +15 -0
  61. package/dist/node/core/schemas/internal/getLocationExtent.js.map +1 -0
  62. package/dist/node/core/schemas/internal/getLocationOptions.js +60 -0
  63. package/dist/node/core/schemas/internal/getLocationOptions.js.map +1 -0
  64. package/dist/node/core/schemas/internal/getSharableGroupsComboBoxItems.js +31 -0
  65. package/dist/node/core/schemas/internal/getSharableGroupsComboBoxItems.js.map +1 -0
  66. package/dist/node/core/schemas/internal/getTagItems.js +41 -0
  67. package/dist/node/core/schemas/internal/getTagItems.js.map +1 -0
  68. package/dist/node/core/types/HubEntityEditor.js +3 -0
  69. package/dist/node/core/types/HubEntityEditor.js.map +1 -0
  70. package/dist/node/core/types/IHubProject.js.map +1 -1
  71. package/dist/node/core/types/index.js +5 -4
  72. package/dist/node/core/types/index.js.map +1 -1
  73. package/dist/node/index.js +1 -0
  74. package/dist/node/index.js.map +1 -1
  75. package/dist/node/projects/HubProject.js +93 -14
  76. package/dist/node/projects/HubProject.js.map +1 -1
  77. package/dist/node/projects/_internal/ProjectBusinessRules.js +7 -0
  78. package/dist/node/projects/_internal/ProjectBusinessRules.js.map +1 -1
  79. package/dist/node/projects/_internal/ProjectSchema.js +5 -5
  80. package/dist/node/projects/_internal/ProjectSchema.js.map +1 -1
  81. package/dist/node/projects/_internal/ProjectUiSchemaCreate.js +1 -1
  82. package/dist/node/projects/_internal/ProjectUiSchemaCreate.js.map +1 -1
  83. package/dist/node/projects/_internal/getProjectEditorConfigOptions.js +67 -0
  84. package/dist/node/projects/_internal/getProjectEditorConfigOptions.js.map +1 -0
  85. package/dist/node/projects/edit.js +24 -7
  86. package/dist/node/projects/edit.js.map +1 -1
  87. package/dist/node/sites/HubSites.js +12 -27
  88. package/dist/node/sites/HubSites.js.map +1 -1
  89. package/dist/node/urls/cacheBustUrl.js +16 -0
  90. package/dist/node/urls/cacheBustUrl.js.map +1 -0
  91. package/dist/node/urls/index.js +1 -0
  92. package/dist/node/urls/index.js.map +1 -1
  93. package/dist/types/core/EntityEditor.d.ts +13 -0
  94. package/dist/types/core/behaviors/IWithEditorBehavior.d.ts +23 -9
  95. package/dist/types/core/schemas/internal/getCategoryItems.d.ts +11 -0
  96. package/dist/types/core/schemas/internal/getFeaturedContentCatalogs.d.ts +9 -0
  97. package/dist/types/core/schemas/internal/getFeaturedImageUrl.d.ts +3 -0
  98. package/dist/types/core/schemas/internal/getLocationExtent.d.ts +7 -0
  99. package/dist/types/core/schemas/internal/getLocationOptions.d.ts +16 -0
  100. package/dist/types/core/schemas/internal/getSharableGroupsComboBoxItems.d.ts +7 -0
  101. package/dist/types/core/schemas/internal/getTagItems.d.ts +12 -0
  102. package/dist/types/core/schemas/types.d.ts +6 -0
  103. package/dist/types/core/types/HubEntityEditor.d.ts +11 -0
  104. package/dist/types/core/types/IHubLocation.d.ts +12 -0
  105. package/dist/types/core/types/IHubProject.d.ts +10 -0
  106. package/dist/types/core/types/index.d.ts +5 -4
  107. package/dist/types/index.d.ts +1 -0
  108. package/dist/types/permissions/types/Permission.d.ts +1 -1
  109. package/dist/types/projects/HubProject.d.ts +21 -13
  110. package/dist/types/projects/_internal/ProjectBusinessRules.d.ts +1 -1
  111. package/dist/types/projects/_internal/ProjectSchema.d.ts +2 -2
  112. package/dist/types/projects/_internal/getProjectEditorConfigOptions.d.ts +10 -0
  113. package/dist/types/projects/edit.d.ts +12 -7
  114. package/dist/types/sites/HubSites.d.ts +0 -8
  115. package/dist/types/urls/cacheBustUrl.d.ts +5 -0
  116. package/dist/types/urls/index.d.ts +1 -0
  117. package/package.json +1 -1
@@ -0,0 +1,60 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getLocationOptions = void 0;
4
+ const extent_1 = require("../../../extent");
5
+ const getTypeFromEntity_1 = require("../../getTypeFromEntity");
6
+ /**
7
+ * Construct the dynamic location picker options with the entity's
8
+ * configured location using the following logic:
9
+ *
10
+ * 1. If there is no entity (e.g. we're creating an entity),
11
+ * select the "custom" option by default
12
+ * 2. Else if there is no location set on the entity, select the
13
+ * "none" option
14
+ * 3. Else if the entity has a location and it's the same as the
15
+ * current option, select it and update the option with the entity's
16
+ * location
17
+ */
18
+ async function getLocationOptions(entity, portalName, hubRequestOptions) {
19
+ const defaultExtent = await extent_1.getGeographicOrgExtent(hubRequestOptions);
20
+ const location = entity.location;
21
+ return [
22
+ {
23
+ label: "{{shared.fields.location.none:translate}}",
24
+ location: { type: "none" },
25
+ },
26
+ {
27
+ label: "{{shared.fields.location.org:translate}}",
28
+ description: portalName,
29
+ location: {
30
+ type: "org",
31
+ extent: extent_1.extentToBBox(defaultExtent),
32
+ spatialReference: defaultExtent.spatialReference,
33
+ },
34
+ },
35
+ {
36
+ label: "{{shared.fields.location.custom:translate}}",
37
+ description: "{{shared.fields.location.customDescription:translate}}",
38
+ entityType: getTypeFromEntity_1.getTypeFromEntity(entity),
39
+ location: {
40
+ type: "custom",
41
+ spatialReference: defaultExtent.spatialReference,
42
+ },
43
+ },
44
+ ].map((option) => {
45
+ // If this is a new entity, select the custom option by default
46
+ if (!entity.id && option.location.type === "custom") {
47
+ option.selected = true;
48
+ }
49
+ else if (entity.id && !location && option.location.type === "none") {
50
+ option.selected = true;
51
+ }
52
+ else if ((location === null || location === void 0 ? void 0 : location.type) === option.location.type) {
53
+ option.location = location;
54
+ option.selected = true;
55
+ }
56
+ return option;
57
+ });
58
+ }
59
+ exports.getLocationOptions = getLocationOptions;
60
+ //# sourceMappingURL=getLocationOptions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getLocationOptions.js","sourceRoot":"","sources":["../../../../../src/core/schemas/internal/getLocationOptions.ts"],"names":[],"mappings":";;;AAAA,4CAAuE;AAEvE,+DAA4D;AAK5D;;;;;;;;;;;GAWG;AACI,KAAK,UAAU,kBAAkB,CACtC,MAAiB,EACjB,UAAkB,EAClB,iBAAqC;IAErC,MAAM,aAAa,GAAG,MAAM,+BAAsB,CAAC,iBAAiB,CAAC,CAAC;IACtE,MAAM,QAAQ,GAAiB,MAAM,CAAC,QAAQ,CAAC;IAE/C,OACE;QACE;YACE,KAAK,EAAE,2CAA2C;YAClD,QAAQ,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE;SAC3B;QACD;YACE,KAAK,EAAE,0CAA0C;YACjD,WAAW,EAAE,UAAU;YACvB,QAAQ,EAAE;gBACR,IAAI,EAAE,KAAK;gBACX,MAAM,EAAE,qBAAY,CAAC,aAAa,CAAC;gBACnC,gBAAgB,EAAE,aAAa,CAAC,gBAAgB;aACjD;SACF;QACD;YACE,KAAK,EAAE,6CAA6C;YACpD,WAAW,EAAE,wDAAwD;YACrE,UAAU,EAAE,qCAAiB,CAAC,MAAM,CAAC;YACrC,QAAQ,EAAE;gBACR,IAAI,EAAE,QAAQ;gBACd,gBAAgB,EAAE,aAAa,CAAC,gBAAgB;aACjD;SACF;KAEJ,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE;QACf,+DAA+D;QAC/D,IAAI,CAAC,MAAM,CAAC,EAAE,IAAI,MAAM,CAAC,QAAQ,CAAC,IAAI,KAAK,QAAQ,EAAE;YACnD,MAAM,CAAC,QAAQ,GAAG,IAAI,CAAC;SACxB;aAAM,IAAI,MAAM,CAAC,EAAE,IAAI,CAAC,QAAQ,IAAI,MAAM,CAAC,QAAQ,CAAC,IAAI,KAAK,MAAM,EAAE;YACpE,MAAM,CAAC,QAAQ,GAAG,IAAI,CAAC;SACxB;aAAM,IAAI,CAAA,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,IAAI,MAAK,MAAM,CAAC,QAAQ,CAAC,IAAI,EAAE;YAClD,MAAM,CAAC,QAAQ,GAAG,QAAQ,CAAC;YAC3B,MAAM,CAAC,QAAQ,GAAG,IAAI,CAAC;SACxB;QAED,OAAO,MAAM,CAAC;IAChB,CAAC,CAAC,CAAC;AACL,CAAC;AA9CD,gDA8CC"}
@@ -0,0 +1,31 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getSharableGroupsComboBoxItems = void 0;
4
+ /**
5
+ * Filter an array of groups into the set the user has the rights to share content
6
+ * into, and then convert them to UiSchemaComboboxItem array for use in the Entity Editor component
7
+ */
8
+ function getSharableGroupsComboBoxItems(groups) {
9
+ return groups.reduce((groupItems, group) => {
10
+ var _a;
11
+ const isEditGroup = group.capabilities.includes("updateitemcontrol");
12
+ const memberType = (_a = group.userMembership) === null || _a === void 0 ? void 0 : _a.memberType;
13
+ /**
14
+ * a user can only share to a group if:
15
+ * 1. the group is NOT view only
16
+ * 2. their membership type in a view only group is "owner" or "admin"
17
+ */
18
+ const canShareToGroup = !group.isViewOnly ||
19
+ (group.isViewOnly && ["owner", "admin"].includes(memberType));
20
+ if (canShareToGroup) {
21
+ groupItems.push({
22
+ value: group.id,
23
+ label: group.title,
24
+ icon: isEditGroup ? "unlock" : "view-mixed",
25
+ });
26
+ }
27
+ return groupItems;
28
+ }, []);
29
+ }
30
+ exports.getSharableGroupsComboBoxItems = getSharableGroupsComboBoxItems;
31
+ //# sourceMappingURL=getSharableGroupsComboBoxItems.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getSharableGroupsComboBoxItems.js","sourceRoot":"","sources":["../../../../../src/core/schemas/internal/getSharableGroupsComboBoxItems.ts"],"names":[],"mappings":";;;AAGA;;;GAGG;AACH,SAAgB,8BAA8B,CAC5C,MAAgB;IAEhB,OAAO,MAAM,CAAC,MAAM,CAAC,CAAC,UAAmC,EAAE,KAAa,EAAE,EAAE;;QAC1E,MAAM,WAAW,GAAG,KAAK,CAAC,YAAY,CAAC,QAAQ,CAAC,mBAAmB,CAAC,CAAC;QACrE,MAAM,UAAU,SAAG,KAAK,CAAC,cAAc,0CAAE,UAAU,CAAC;QAEpD;;;;WAIG;QACH,MAAM,eAAe,GACnB,CAAC,KAAK,CAAC,UAAU;YACjB,CAAC,KAAK,CAAC,UAAU,IAAI,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,CAAC;QAChE,IAAI,eAAe,EAAE;YACnB,UAAU,CAAC,IAAI,CAAC;gBACd,KAAK,EAAE,KAAK,CAAC,EAAE;gBACf,KAAK,EAAE,KAAK,CAAC,KAAK;gBAClB,IAAI,EAAE,WAAW,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,YAAY;aAC5C,CAAC,CAAC;SACJ;QAED,OAAO,UAAU,CAAC;IACpB,CAAC,EAAE,EAAE,CAAC,CAAC;AACT,CAAC;AAzBD,wEAyBC"}
@@ -0,0 +1,41 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getTagItems = void 0;
4
+ const hubSearch_1 = require("../../../search/hubSearch");
5
+ /**
6
+ * Fetch the entity's org tags (limited to the top 200),
7
+ * merge with any configured on the entity itself, and convert
8
+ * into a format that can be consumed by the combobox field
9
+ *
10
+ * TODO: the search portion of this util should probably
11
+ * be hoisted to hub.js
12
+ */
13
+ async function getTagItems(entity, orgId, hubRequestOptions) {
14
+ const query = {
15
+ targetEntity: "item",
16
+ filters: [{ predicates: [{ orgid: orgId }] }],
17
+ };
18
+ const opts = {
19
+ aggFields: ["tags"],
20
+ num: 0,
21
+ aggLimit: 200,
22
+ requestOptions: hubRequestOptions,
23
+ };
24
+ try {
25
+ const { aggregations: [tagsAgg], } = await hubSearch_1.hubSearch(query, opts);
26
+ /**
27
+ * Because we allow custom tags, we need to merge the existing entity tags
28
+ * and the tags fetched from the orgs, then remove duplicates, filter out
29
+ * any empty values and convert them to the IUiSchemaComboboxItem format
30
+ */
31
+ const entityTags = entity.tags || [];
32
+ return [...new Set([...tagsAgg.values.map((t) => t.value), ...entityTags])]
33
+ .filter((t) => t)
34
+ .map((t) => ({ value: t }));
35
+ }
36
+ catch (e) {
37
+ return [];
38
+ }
39
+ }
40
+ exports.getTagItems = getTagItems;
41
+ //# sourceMappingURL=getTagItems.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getTagItems.js","sourceRoot":"","sources":["../../../../../src/core/schemas/internal/getTagItems.ts"],"names":[],"mappings":";;;AACA,yDAAsD;AAMtD;;;;;;;GAOG;AACI,KAAK,UAAU,WAAW,CAC/B,MAAiB,EACjB,KAAa,EACb,iBAAqC;IAErC,MAAM,KAAK,GAAW;QACpB,YAAY,EAAE,MAAM;QACpB,OAAO,EAAE,CAAC,EAAE,UAAU,EAAE,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC;KAC9C,CAAC;IACF,MAAM,IAAI,GAAsB;QAC9B,SAAS,EAAE,CAAC,MAAM,CAAC;QACnB,GAAG,EAAE,CAAC;QACN,QAAQ,EAAE,GAAG;QACb,cAAc,EAAE,iBAAiB;KAClC,CAAC;IAEF,IAAI;QACF,MAAM,EACJ,YAAY,EAAE,CAAC,OAAO,CAAC,GACxB,GAAG,MAAM,qBAAS,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;QACjC;;;;WAIG;QACH,MAAM,UAAU,GAAG,MAAM,CAAC,IAAI,IAAI,EAAE,CAAC;QACrC,OAAO,CAAC,GAAG,IAAI,GAAG,CAAC,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE,GAAG,UAAU,CAAC,CAAC,CAAC;aACxE,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;aAChB,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;KAC/B;IAAC,OAAO,CAAC,EAAE;QACV,OAAO,EAAE,CAAC;KACX;AACH,CAAC;AAhCD,kCAgCC"}
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=HubEntityEditor.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"HubEntityEditor.js","sourceRoot":"","sources":["../../../../src/core/types/HubEntityEditor.ts"],"names":[],"mappings":""}
@@ -1 +1 @@
1
- {"version":3,"file":"IHubProject.js","sourceRoot":"","sources":["../../../../src/core/types/IHubProject.ts"],"names":[],"mappings":";;;AAsBA,IAAY,gBAKX;AALD,WAAY,gBAAgB;IAC1B,6CAAyB,CAAA;IACzB,6CAAyB,CAAA;IACzB,qCAAiB,CAAA;IACjB,yCAAqB,CAAA;AACvB,CAAC,EALW,gBAAgB,GAAhB,wBAAgB,KAAhB,wBAAgB,QAK3B"}
1
+ {"version":3,"file":"IHubProject.js","sourceRoot":"","sources":["../../../../src/core/types/IHubProject.ts"],"names":[],"mappings":";;;AAuBA,IAAY,gBAKX;AALD,WAAY,gBAAgB;IAC1B,6CAAyB,CAAA;IACzB,6CAAyB,CAAA;IACzB,qCAAiB,CAAA;IACjB,yCAAqB,CAAA;AACvB,CAAC,EALW,gBAAgB,GAAhB,wBAAgB,KAAhB,wBAAgB,QAK3B"}
@@ -1,7 +1,9 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  const tslib_1 = require("tslib");
4
+ tslib_1.__exportStar(require("./DynamicValues"), exports);
4
5
  tslib_1.__exportStar(require("./HubEntity"), exports);
6
+ tslib_1.__exportStar(require("./HubEntityEditor"), exports);
5
7
  tslib_1.__exportStar(require("./HubEntityType"), exports);
6
8
  tslib_1.__exportStar(require("./IHubContent"), exports);
7
9
  tslib_1.__exportStar(require("./IHubContentEnrichments"), exports);
@@ -20,12 +22,11 @@ tslib_1.__exportStar(require("./IHubSite"), exports);
20
22
  tslib_1.__exportStar(require("./IHubSiteTheme"), exports);
21
23
  tslib_1.__exportStar(require("./IHubTimeline"), exports);
22
24
  tslib_1.__exportStar(require("./IItemEnrichments"), exports);
25
+ tslib_1.__exportStar(require("./IReference"), exports);
23
26
  tslib_1.__exportStar(require("./IServerEnrichments"), exports);
24
27
  tslib_1.__exportStar(require("./ISystemStatus"), exports);
25
- tslib_1.__exportStar(require("./types"), exports);
26
- tslib_1.__exportStar(require("./DynamicValues"), exports);
27
- tslib_1.__exportStar(require("./IReference"), exports);
28
- tslib_1.__exportStar(require("./Metrics"), exports);
29
28
  tslib_1.__exportStar(require("./MaybeTranslate"), exports);
30
29
  tslib_1.__exportStar(require("./IHubCardViewModel"), exports);
30
+ tslib_1.__exportStar(require("./Metrics"), exports);
31
+ tslib_1.__exportStar(require("./types"), exports);
31
32
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/core/types/index.ts"],"names":[],"mappings":";;;AAAA,sDAA4B;AAC5B,0DAAgC;AAChC,wDAA8B;AAC9B,mEAAyC;AACzC,2DAAiC;AACjC,gEAAsC;AACtC,2DAAiC;AACjC,sDAA4B;AAC5B,sDAA4B;AAC5B,2DAAiC;AACjC,2DAAiC;AACjC,uDAA6B;AAC7B,yDAA+B;AAC/B,qDAA2B;AAC3B,wDAA8B;AAC9B,qDAA2B;AAC3B,0DAAgC;AAChC,yDAA+B;AAC/B,6DAAmC;AACnC,+DAAqC;AACrC,0DAAgC;AAChC,kDAAwB;AACxB,0DAAgC;AAChC,uDAA6B;AAC7B,oDAA0B;AAC1B,2DAAiC;AACjC,8DAAoC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/core/types/index.ts"],"names":[],"mappings":";;;AAAA,0DAAgC;AAChC,sDAA4B;AAC5B,4DAAkC;AAClC,0DAAgC;AAChC,wDAA8B;AAC9B,mEAAyC;AACzC,2DAAiC;AACjC,gEAAsC;AACtC,2DAAiC;AACjC,sDAA4B;AAC5B,sDAA4B;AAC5B,2DAAiC;AACjC,2DAAiC;AACjC,uDAA6B;AAC7B,yDAA+B;AAC/B,qDAA2B;AAC3B,wDAA8B;AAC9B,qDAA2B;AAC3B,0DAAgC;AAChC,yDAA+B;AAC/B,6DAAmC;AACnC,uDAA6B;AAC7B,+DAAqC;AACrC,0DAAgC;AAChC,2DAAiC;AACjC,8DAAoC;AACpC,oDAA0B;AAC1B,kDAAwB"}
@@ -45,6 +45,7 @@ tslib_1.__exportStar(require("./core/updateHubEntity"), exports);
45
45
  // Unclear _why_ this needs to be here vs. in urls/index.ts
46
46
  // but if it's exported there, random tests start failing
47
47
  tslib_1.__exportStar(require("./urls/getCardModelUrl"), exports);
48
+ tslib_1.__exportStar(require("./core/EntityEditor"), exports);
48
49
  const OperationStack_1 = require("./OperationStack");
49
50
  exports.OperationStack = OperationStack_1.default;
50
51
  const OperationError_1 = require("./OperationError");
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";AAAA;gBACgB;AAChB,0BAA0B;;;;AAE1B,mDAAyB;AACzB,gDAAsB;AACtB,0DAAgC;AAChC,iEAAuC;AACvC,iDAAuB;AACvB,uDAA6B;AAC7B,oDAA0B;AAC1B,iDAAuB;AACvB,yDAA+B;AAC/B,sDAA4B;AAC5B,mDAAyB;AACzB,mDAAyB;AACzB,iDAAuB;AACvB,wDAA8B;AAC9B,wDAA8B;AAC9B,kDAAwB;AACxB,mDAAyB;AACzB,oDAA0B;AAC1B,gDAAsB;AACtB,kDAAwB;AACxB,wDAA8B;AAC9B,qDAA2B;AAC3B,oDAA0B;AAC1B,sDAA4B;AAC5B,mDAAyB;AACzB,kDAAwB;AACxB,oDAA0B;AAC1B,kDAAwB;AACxB,iDAAuB;AACvB,kDAAwB;AACxB,iDAAuB;AACvB,kDAAwB;AACxB,uDAA6B;AAC7B,oDAA0B;AAC1B,0DAA0D;AAC1D,qDAAqD;AACrD,iEAAuC;AACvC,2DAA2D;AAC3D,yDAAyD;AACzD,iEAAuC;AAEvC,qDAA8C;AAKrC,yBALF,wBAAc,CAKE;AAJvB,qDAA8C;AAIrB,yBAJlB,wBAAc,CAIkB;AAHvC,yCAAkC;AAGO,mBAHlC,kBAAQ,CAGkC;AACjD,6BAAkC;AAAzB,4FAAA,IAAI,OAAA;AAAE,4FAAA,IAAI,OAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";AAAA;gBACgB;AAChB,0BAA0B;;;;AAE1B,mDAAyB;AACzB,gDAAsB;AACtB,0DAAgC;AAChC,iEAAuC;AACvC,iDAAuB;AACvB,uDAA6B;AAC7B,oDAA0B;AAC1B,iDAAuB;AACvB,yDAA+B;AAC/B,sDAA4B;AAC5B,mDAAyB;AACzB,mDAAyB;AACzB,iDAAuB;AACvB,wDAA8B;AAC9B,wDAA8B;AAC9B,kDAAwB;AACxB,mDAAyB;AACzB,oDAA0B;AAC1B,gDAAsB;AACtB,kDAAwB;AACxB,wDAA8B;AAC9B,qDAA2B;AAC3B,oDAA0B;AAC1B,sDAA4B;AAC5B,mDAAyB;AACzB,kDAAwB;AACxB,oDAA0B;AAC1B,kDAAwB;AACxB,iDAAuB;AACvB,kDAAwB;AACxB,iDAAuB;AACvB,kDAAwB;AACxB,uDAA6B;AAC7B,oDAA0B;AAC1B,0DAA0D;AAC1D,qDAAqD;AACrD,iEAAuC;AACvC,2DAA2D;AAC3D,yDAAyD;AACzD,iEAAuC;AACvC,8DAAoC;AAEpC,qDAA8C;AAKrC,yBALF,wBAAc,CAKE;AAJvB,qDAA8C;AAIrB,yBAJlB,wBAAc,CAIkB;AAHvC,yCAAkC;AAGO,mBAHlC,kBAAQ,CAGkC;AACjD,6BAAkC;AAAzB,4FAAA,IAAI,OAAA;AAAE,4FAAA,IAAI,OAAA"}
@@ -10,6 +10,9 @@ const fetch_1 = require("./fetch");
10
10
  const getEntityMetrics_1 = require("../metrics/getEntityMetrics");
11
11
  const resolveMetric_1 = require("../metrics/resolveMetric");
12
12
  const view_1 = require("./view");
13
+ const util_1 = require("../util");
14
+ const edit_1 = require("./edit");
15
+ const getProjectEditorConfigOptions_1 = require("./_internal/getProjectEditorConfigOptions");
13
16
  /**
14
17
  * Hub Project Class
15
18
  */
@@ -81,18 +84,11 @@ class HubProject extends HubItemEntity_1.HubItemEntity {
81
84
  }
82
85
  }
83
86
  /**
84
- * Static method to get the editor config for the HubProject entity.
85
- * @param i18nScope translation scope to be interpolated into the uiSchema
86
- * @param type editor type - corresonds to the returned uiSchema
87
- * @param options optional hash of dynamic uiSchema element options
88
- *
89
- * Note: typescript does not have a means to specify static methods in interfaces
90
- * so while this is the implementation of IWithEditorBehavior, it is not enforced
91
- * by the compiler.
87
+ * Given a partial project, apply defaults to it to ensure that a baseline of properties are set
88
+ * @param partialProject
89
+ * @param context
90
+ * @returns
92
91
  */
93
- static async getEditorConfig(i18nScope, type, options = []) {
94
- return getEntityEditorSchemas_1.getEntityEditorSchemas(i18nScope, type, options);
95
- }
96
92
  static applyDefaults(partialProject, context) {
97
93
  // ensure we have the orgUrlKey
98
94
  if (!partialProject.orgUrlKey) {
@@ -111,6 +107,90 @@ class HubProject extends HubItemEntity_1.HubItemEntity {
111
107
  convertToCardModel(opts) {
112
108
  return view_1.projectToCardModel(this.entity, this.context, opts);
113
109
  }
110
+ /*
111
+ * Gt the editor config for the HubProject entity.
112
+ * @param i18nScope translation scope to be interpolated into the uiSchema
113
+ * @param type editor type - corresonds to the returned uiSchema
114
+ * @param options optional hash of dynamic uiSchema element options
115
+ */
116
+ async getEditorConfig(i18nScope, type) {
117
+ // get the options first...
118
+ const projectOptions = await getProjectEditorConfigOptions_1.getProjectEditorConfigOptions(this.entity, this.context);
119
+ // TODO: Decide if we should split up the logic in this next function
120
+ return getEntityEditorSchemas_1.getEntityEditorSchemas(i18nScope, type, projectOptions);
121
+ }
122
+ /**
123
+ * Return the project as an editor object
124
+ * @param editorContext
125
+ * @returns
126
+ */
127
+ toEditor(editorContext = {}) {
128
+ // cast the entity to it's editor
129
+ const editor = util_1.cloneObject(this.entity);
130
+ // add the groups array that we'll use to auto-share on save
131
+ editor._groups = [];
132
+ /**
133
+ * on project creation, we want to pre-populate the sharing
134
+ * field with the core and collaboration groups if the user
135
+ * has the appropriate shareToGroup portal privilege
136
+ */
137
+ const { access: canShare } = this.checkPermission("hub:project:share");
138
+ if (!editor.id && canShare) {
139
+ // TODO: at what point can we remove this "auto-share" behavior?
140
+ editor._groups = util_1.maybePush(editorContext.contentGroupId, editor._groups);
141
+ editor._groups = util_1.maybePush(editorContext.collaborationGroupId, editor._groups);
142
+ }
143
+ return editor;
144
+ }
145
+ /**
146
+ * Load the project from the editor object
147
+ * @param editor
148
+ * @returns
149
+ */
150
+ async fromEditor(editor) {
151
+ const autoShareGroups = editor._groups || [];
152
+ const isProjectCreate = !editor.id;
153
+ // extract out things we don't want to persist directly
154
+ // b/c the first thing we do is create/update the project
155
+ const featuredImage = editor.view.featuredImage;
156
+ delete editor.view.featuredImage;
157
+ // convert back to an entity
158
+ const entity = edit_1.editorToProject(editor, this.context.portal);
159
+ // create it if it does not yet exist...
160
+ if (isProjectCreate) {
161
+ // this allows the featured image functions to work
162
+ this.entity = await edit_1.createProject(entity, this.context.userRequestOptions);
163
+ }
164
+ else {
165
+ // ...otherwise, update the in-memory entity and save it
166
+ this.entity = entity;
167
+ this.save();
168
+ }
169
+ // handle featured image
170
+ if (featuredImage) {
171
+ if (featuredImage.blob) {
172
+ await this.setFeaturedImage(featuredImage.blob);
173
+ }
174
+ else {
175
+ await this.clearFeaturedImage();
176
+ }
177
+ }
178
+ /**
179
+ * operations that are only relevant to the project create workflow.
180
+ * if these ever become part of the edit experience, we can remove
181
+ * the conditional
182
+ */
183
+ if (isProjectCreate) {
184
+ await this.setAccess(editor.access);
185
+ // share the entity with the configured groups
186
+ if (autoShareGroups.length) {
187
+ await Promise.all(autoShareGroups.map((id) => {
188
+ return this.shareWithGroup(id);
189
+ }));
190
+ }
191
+ }
192
+ return this.entity;
193
+ }
114
194
  /**
115
195
  * Apply a new state to the instance
116
196
  * @param changes
@@ -136,14 +216,13 @@ class HubProject extends HubItemEntity_1.HubItemEntity {
136
216
  }
137
217
  // get the catalog, and permission configs
138
218
  this.entity.catalog = this._catalog.toJson();
139
- const { createProject, updateProject } = await Promise.resolve().then(() => require("./edit"));
140
219
  if (this.entity.id) {
141
220
  // update it
142
- this.entity = await updateProject(this.entity, this.context.userRequestOptions);
221
+ this.entity = await edit_1.updateProject(this.entity, this.context.userRequestOptions);
143
222
  }
144
223
  else {
145
224
  // create it
146
- this.entity = await createProject(this.entity, this.context.userRequestOptions);
225
+ this.entity = await edit_1.createProject(this.entity, this.context.userRequestOptions);
147
226
  }
148
227
  // call the after save hook on superclass
149
228
  await super.afterSave();
@@ -1 +1 @@
1
- {"version":3,"file":"HubProject.js","sourceRoot":"","sources":["../../../src/projects/HubProject.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"HubProject.js","sourceRoot":"","sources":["../../../src/projects/HubProject.ts"],"names":[],"mappings":"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"}
@@ -58,6 +58,7 @@ exports.ProjectPermissions = [
58
58
  "hub:project:edit",
59
59
  "hub:project:view",
60
60
  "hub:project:owner",
61
+ "hub:project:share",
61
62
  ];
62
63
  /**
63
64
  * Project permission policies
@@ -96,5 +97,11 @@ exports.ProjectPermissionPolicies = [
96
97
  entityOwner: true,
97
98
  licenses: ["hub-premium"],
98
99
  },
100
+ {
101
+ permission: "hub:project:share",
102
+ authenticated: true,
103
+ subsystems: ["projects"],
104
+ privileges: ["portal:user:shareToGroup"],
105
+ },
99
106
  ];
100
107
  //# sourceMappingURL=ProjectBusinessRules.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ProjectBusinessRules.js","sourceRoot":"","sources":["../../../../src/projects/_internal/ProjectBusinessRules.ts"],"names":[],"mappings":";;;AAGA;;;;;GAKG;AACU,QAAA,0BAA0B,GAAuB;IAC5D,QAAQ,EAAE,IAAI;IACd,OAAO,EAAE,IAAI;IACb,QAAQ,EAAE,IAAI;IACd,OAAO,EAAE,IAAI;IACb,OAAO,EAAE,IAAI;CACd,CAAC;AAEF;;;;;GAKG;AACU,QAAA,4BAA4B,GAA4B;IACnE;QACE,MAAM,EAAE,SAAS;QACjB,UAAU,EAAE,UAAU;QACtB,WAAW,EAAE,CAAC,kBAAkB,CAAC;KAClC;IACD;QACE,MAAM,EAAE,SAAS;QACjB,UAAU,EAAE,SAAS;QACrB,WAAW,EAAE,CAAC,kBAAkB,CAAC;KAClC;IACD;QACE,MAAM,EAAE,SAAS;QACjB,UAAU,EAAE,UAAU;QACtB,WAAW,EAAE,CAAC,mBAAmB,CAAC;KACnC;IACD;QACE,MAAM,EAAE,SAAS;QACjB,UAAU,EAAE,SAAS;QACrB,WAAW,EAAE,CAAC,kBAAkB,CAAC;KAClC;IACD;QACE,MAAM,EAAE,SAAS;QACjB,UAAU,EAAE,SAAS;QACrB,WAAW,EAAE,CAAC,kBAAkB,CAAC;KAClC;CACF,CAAC;AAEF;;;;GAIG;AACU,QAAA,kBAAkB,GAAG;IAChC,oBAAoB;IACpB,oBAAoB;IACpB,kBAAkB;IAClB,kBAAkB;IAClB,mBAAmB;CACX,CAAC;AAEX;;;GAGG;AACU,QAAA,yBAAyB,GAAwB;IAC5D;QACE,UAAU,EAAE,oBAAoB;QAChC,UAAU,EAAE,CAAC,UAAU,CAAC;QACxB,aAAa,EAAE,IAAI;QACnB,UAAU,EAAE,CAAC,wBAAwB,CAAC;QACtC,QAAQ,EAAE,CAAC,aAAa,CAAC;KAC1B;IACD;QACE,UAAU,EAAE,kBAAkB;QAC9B,UAAU,EAAE,CAAC,UAAU,CAAC;QACxB,aAAa,EAAE,KAAK;KACrB;IACD;QACE,UAAU,EAAE,kBAAkB;QAC9B,aAAa,EAAE,IAAI;QACnB,UAAU,EAAE,CAAC,UAAU,CAAC;QACxB,UAAU,EAAE,IAAI;KACjB;IACD;QACE,UAAU,EAAE,oBAAoB;QAChC,aAAa,EAAE,IAAI;QACnB,UAAU,EAAE,CAAC,UAAU,CAAC;QACxB,WAAW,EAAE,IAAI;QACjB,QAAQ,EAAE,CAAC,aAAa,CAAC;KAC1B;IACD;QACE,UAAU,EAAE,mBAAmB;QAC/B,aAAa,EAAE,IAAI;QACnB,UAAU,EAAE,CAAC,UAAU,CAAC;QACxB,WAAW,EAAE,IAAI;QACjB,QAAQ,EAAE,CAAC,aAAa,CAAC;KAC1B;CACF,CAAC"}
1
+ {"version":3,"file":"ProjectBusinessRules.js","sourceRoot":"","sources":["../../../../src/projects/_internal/ProjectBusinessRules.ts"],"names":[],"mappings":";;;AAGA;;;;;GAKG;AACU,QAAA,0BAA0B,GAAuB;IAC5D,QAAQ,EAAE,IAAI;IACd,OAAO,EAAE,IAAI;IACb,QAAQ,EAAE,IAAI;IACd,OAAO,EAAE,IAAI;IACb,OAAO,EAAE,IAAI;CACd,CAAC;AAEF;;;;;GAKG;AACU,QAAA,4BAA4B,GAA4B;IACnE;QACE,MAAM,EAAE,SAAS;QACjB,UAAU,EAAE,UAAU;QACtB,WAAW,EAAE,CAAC,kBAAkB,CAAC;KAClC;IACD;QACE,MAAM,EAAE,SAAS;QACjB,UAAU,EAAE,SAAS;QACrB,WAAW,EAAE,CAAC,kBAAkB,CAAC;KAClC;IACD;QACE,MAAM,EAAE,SAAS;QACjB,UAAU,EAAE,UAAU;QACtB,WAAW,EAAE,CAAC,mBAAmB,CAAC;KACnC;IACD;QACE,MAAM,EAAE,SAAS;QACjB,UAAU,EAAE,SAAS;QACrB,WAAW,EAAE,CAAC,kBAAkB,CAAC;KAClC;IACD;QACE,MAAM,EAAE,SAAS;QACjB,UAAU,EAAE,SAAS;QACrB,WAAW,EAAE,CAAC,kBAAkB,CAAC;KAClC;CACF,CAAC;AAEF;;;;GAIG;AACU,QAAA,kBAAkB,GAAG;IAChC,oBAAoB;IACpB,oBAAoB;IACpB,kBAAkB;IAClB,kBAAkB;IAClB,mBAAmB;IACnB,mBAAmB;CACX,CAAC;AAEX;;;GAGG;AACU,QAAA,yBAAyB,GAAwB;IAC5D;QACE,UAAU,EAAE,oBAAoB;QAChC,UAAU,EAAE,CAAC,UAAU,CAAC;QACxB,aAAa,EAAE,IAAI;QACnB,UAAU,EAAE,CAAC,wBAAwB,CAAC;QACtC,QAAQ,EAAE,CAAC,aAAa,CAAC;KAC1B;IACD;QACE,UAAU,EAAE,kBAAkB;QAC9B,UAAU,EAAE,CAAC,UAAU,CAAC;QACxB,aAAa,EAAE,KAAK;KACrB;IACD;QACE,UAAU,EAAE,kBAAkB;QAC9B,aAAa,EAAE,IAAI;QACnB,UAAU,EAAE,CAAC,UAAU,CAAC;QACxB,UAAU,EAAE,IAAI;KACjB;IACD;QACE,UAAU,EAAE,oBAAoB;QAChC,aAAa,EAAE,IAAI;QACnB,UAAU,EAAE,CAAC,UAAU,CAAC;QACxB,WAAW,EAAE,IAAI;QACjB,QAAQ,EAAE,CAAC,aAAa,CAAC;KAC1B;IACD;QACE,UAAU,EAAE,mBAAmB;QAC/B,aAAa,EAAE,IAAI;QACnB,UAAU,EAAE,CAAC,UAAU,CAAC;QACxB,WAAW,EAAE,IAAI;QACjB,QAAQ,EAAE,CAAC,aAAa,CAAC;KAC1B;IACD;QACE,UAAU,EAAE,mBAAmB;QAC/B,aAAa,EAAE,IAAI;QACnB,UAAU,EAAE,CAAC,UAAU,CAAC;QACxB,UAAU,EAAE,CAAC,0BAA0B,CAAC;KACzC;CACF,CAAC"}
@@ -1,21 +1,21 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.ProjectSchema = exports.ProjectEditorTypes = void 0;
4
- const core_1 = require("../../core");
5
4
  const HubItemEntitySchema_1 = require("../../core/schemas/shared/HubItemEntitySchema");
5
+ const IHubProject_1 = require("../../core/types/IHubProject");
6
6
  exports.ProjectEditorTypes = [
7
7
  "hub:project:create",
8
8
  "hub:project:edit",
9
9
  ];
10
10
  /**
11
- * defines the JSON schema for a Hub Project's editable fields
11
+ * Defines the JSON schema for a Hub Project's editable fields
12
12
  */
13
- exports.ProjectSchema = Object.assign(Object.assign({}, HubItemEntitySchema_1.HubItemEntitySchema), { properties: Object.assign(Object.assign({}, HubItemEntitySchema_1.HubItemEntitySchema.properties), { groups: {
13
+ exports.ProjectSchema = Object.assign(Object.assign({}, HubItemEntitySchema_1.HubItemEntitySchema), { properties: Object.assign(Object.assign({}, HubItemEntitySchema_1.HubItemEntitySchema.properties), { _groups: {
14
14
  type: "array",
15
15
  items: { type: "string" },
16
16
  }, status: {
17
17
  type: "string",
18
- default: core_1.PROJECT_STATUSES.notStarted,
19
- enum: Object.keys(core_1.PROJECT_STATUSES),
18
+ default: IHubProject_1.PROJECT_STATUSES.notStarted,
19
+ enum: Object.keys(IHubProject_1.PROJECT_STATUSES),
20
20
  } }) });
21
21
  //# sourceMappingURL=ProjectSchema.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ProjectSchema.js","sourceRoot":"","sources":["../../../../src/projects/_internal/ProjectSchema.ts"],"names":[],"mappings":";;;AAAA,qCAAoE;AACpE,uFAAoF;AAGvE,QAAA,kBAAkB,GAAG;IAChC,oBAAoB;IACpB,kBAAkB;CACV,CAAC;AAEX;;GAEG;AACU,QAAA,aAAa,GAAyB,gCAC9C,yCAAmB,KACtB,UAAU,kCACL,yCAAmB,CAAC,UAAU,KACjC,MAAM,EAAE;YACN,IAAI,EAAE,OAAO;YACb,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;SAC1B,EACD,MAAM,EAAE;YACN,IAAI,EAAE,QAAQ;YACd,OAAO,EAAE,uBAAgB,CAAC,UAAU;YACpC,IAAI,EAAE,MAAM,CAAC,IAAI,CAAC,uBAAgB,CAAC;SACpC,MAEoB,CAAC"}
1
+ {"version":3,"file":"ProjectSchema.js","sourceRoot":"","sources":["../../../../src/projects/_internal/ProjectSchema.ts"],"names":[],"mappings":";;;AAAA,uFAAoF;AAEpF,8DAAgE;AAGnD,QAAA,kBAAkB,GAAG;IAChC,oBAAoB;IACpB,kBAAkB;CACV,CAAC;AAEX;;GAEG;AACU,QAAA,aAAa,GAAyB,gCAC9C,yCAAmB,KACtB,UAAU,kCACL,yCAAmB,CAAC,UAAU,KACjC,OAAO,EAAE;YACP,IAAI,EAAE,OAAO;YACb,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;SAC1B,EACD,MAAM,EAAE;YACN,IAAI,EAAE,QAAQ;YACd,OAAO,EAAE,8BAAgB,CAAC,UAAU;YACpC,IAAI,EAAE,MAAM,CAAC,IAAI,CAAC,8BAAgB,CAAC;SACpC,MAEoB,CAAC"}
@@ -116,7 +116,7 @@ exports.uiSchema = {
116
116
  },
117
117
  {
118
118
  labelKey: "{{i18nScope}}.fields.groups.label",
119
- scope: "/properties/groups",
119
+ scope: "/properties/_groups",
120
120
  type: "Control",
121
121
  options: {
122
122
  control: "hub-field-input-combobox",
@@ -1 +1 @@
1
- {"version":3,"file":"ProjectUiSchemaCreate.js","sourceRoot":"","sources":["../../../../src/projects/_internal/ProjectUiSchemaCreate.ts"],"names":[],"mappings":";;;AAAA,qCAA4D;AAE5D;;;;GAIG;AACU,QAAA,QAAQ,GAAc;IACjC,IAAI,EAAE,QAAQ;IACd,QAAQ,EAAE;QACR;YACE,IAAI,EAAE,SAAS;YACf,OAAO,EAAE,EAAE,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,GAAG,EAAE;YAC3C,QAAQ,EAAE;gBACR;oBACE,IAAI,EAAE,MAAM;oBACZ,QAAQ,EAAE,sCAAsC;oBAChD,QAAQ,EAAE;wBACR;4BACE,IAAI,EAAE,SAAS;4BACf,QAAQ,EAAE,wCAAwC;4BAClD,QAAQ,EAAE;gCACR;oCACE,QAAQ,EAAE,iCAAiC;oCAC3C,KAAK,EAAE,kBAAkB;oCACzB,IAAI,EAAE,SAAS;oCACf,OAAO,EAAE;wCACP,QAAQ,EAAE;4CACR;gDACE,IAAI,EAAE,OAAO;gDACb,OAAO,EAAE,UAAU;gDACnB,IAAI,EAAE,IAAI;gDACV,QAAQ,EAAE,yCAAyC;6CACpD;yCACF;qCACF;iCACF;gCACD;oCACE,QAAQ,EAAE,oCAAoC;oCAC9C,KAAK,EAAE,qBAAqB;oCAC5B,IAAI,EAAE,SAAS;oCACf,OAAO,EAAE;wCACP,OAAO,EAAE,uBAAuB;wCAChC,IAAI,EAAE,UAAU;wCAChB,UAAU,EAAE;4CACV,QAAQ,EAAE,yCAAyC;yCACpD;qCACF;iCACF;gCACD;oCACE,QAAQ,EAAE,mCAAmC;oCAC7C,KAAK,EAAE,oBAAoB;oCAC3B,IAAI,EAAE,SAAS;oCACf,OAAO,EAAE;wCACP,OAAO,EAAE,wBAAwB;wCACjC,IAAI,EAAE;4CACJ,SAAS,EAAE,kCAAkC;yCAC9C;qCACF;iCACF;6BACF;yBACF;qBACF;iBACF;gBACD;oBACE,IAAI,EAAE,MAAM;oBACZ,QAAQ,EAAE,uCAAuC;oBACjD,IAAI,EAAE;wBACJ,MAAM,EAAE,0BAAmB,CAAC,OAAO;wBACnC,SAAS,EAAE;4BACT,KAAK,EAAE,kBAAkB;4BACzB,MAAM,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE;yBACtB;qBACF;oBACD,QAAQ,EAAE;wBACR;4BACE,IAAI,EAAE,SAAS;4BACf,QAAQ,EAAE,uCAAuC;4BACjD,OAAO,EAAE;gCACP,UAAU,EAAE;oCACV,QAAQ,EAAE,4CAA4C;iCACvD;6BACF;4BACD,QAAQ,EAAE;gCACR;oCACE,KAAK,EAAE,sBAAsB;oCAC7B,IAAI,EAAE,SAAS;oCACf,OAAO,EAAE;wCACP,OAAO,EAAE,iCAAiC;qCAC3C;iCACF;6BACF;yBACF;qBACF;iBACF;gBACD;oBACE,IAAI,EAAE,MAAM;oBACZ,QAAQ,EAAE,sCAAsC;oBAChD,IAAI,EAAE;wBACJ,MAAM,EAAE,0BAAmB,CAAC,OAAO;wBACnC,SAAS,EAAE;4BACT,KAAK,EAAE,kBAAkB;4BACzB,MAAM,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE;yBACtB;qBACF;oBACD,QAAQ,EAAE;wBACR;4BACE,KAAK,EAAE,oBAAoB;4BAC3B,IAAI,EAAE,SAAS;4BACf,OAAO,EAAE;gCACP,OAAO,EAAE,kCAAkC;gCAC3C,QAAQ,EAAE,oDAAoD;6BAC/D;yBACF;wBACD;4BACE,QAAQ,EAAE,mCAAmC;4BAC7C,KAAK,EAAE,oBAAoB;4BAC3B,IAAI,EAAE,SAAS;4BACf,OAAO,EAAE;gCACP,OAAO,EAAE,0BAA0B;gCACnC,iBAAiB,EAAE,KAAK;gCACxB,aAAa,EAAE,UAAU;6BAC1B;yBACF;qBACF;iBACF;aACF;SACF;KACF;CACF,CAAC"}
1
+ {"version":3,"file":"ProjectUiSchemaCreate.js","sourceRoot":"","sources":["../../../../src/projects/_internal/ProjectUiSchemaCreate.ts"],"names":[],"mappings":";;;AAAA,qCAA4D;AAE5D;;;;GAIG;AACU,QAAA,QAAQ,GAAc;IACjC,IAAI,EAAE,QAAQ;IACd,QAAQ,EAAE;QACR;YACE,IAAI,EAAE,SAAS;YACf,OAAO,EAAE,EAAE,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,GAAG,EAAE;YAC3C,QAAQ,EAAE;gBACR;oBACE,IAAI,EAAE,MAAM;oBACZ,QAAQ,EAAE,sCAAsC;oBAChD,QAAQ,EAAE;wBACR;4BACE,IAAI,EAAE,SAAS;4BACf,QAAQ,EAAE,wCAAwC;4BAClD,QAAQ,EAAE;gCACR;oCACE,QAAQ,EAAE,iCAAiC;oCAC3C,KAAK,EAAE,kBAAkB;oCACzB,IAAI,EAAE,SAAS;oCACf,OAAO,EAAE;wCACP,QAAQ,EAAE;4CACR;gDACE,IAAI,EAAE,OAAO;gDACb,OAAO,EAAE,UAAU;gDACnB,IAAI,EAAE,IAAI;gDACV,QAAQ,EAAE,yCAAyC;6CACpD;yCACF;qCACF;iCACF;gCACD;oCACE,QAAQ,EAAE,oCAAoC;oCAC9C,KAAK,EAAE,qBAAqB;oCAC5B,IAAI,EAAE,SAAS;oCACf,OAAO,EAAE;wCACP,OAAO,EAAE,uBAAuB;wCAChC,IAAI,EAAE,UAAU;wCAChB,UAAU,EAAE;4CACV,QAAQ,EAAE,yCAAyC;yCACpD;qCACF;iCACF;gCACD;oCACE,QAAQ,EAAE,mCAAmC;oCAC7C,KAAK,EAAE,oBAAoB;oCAC3B,IAAI,EAAE,SAAS;oCACf,OAAO,EAAE;wCACP,OAAO,EAAE,wBAAwB;wCACjC,IAAI,EAAE;4CACJ,SAAS,EAAE,kCAAkC;yCAC9C;qCACF;iCACF;6BACF;yBACF;qBACF;iBACF;gBACD;oBACE,IAAI,EAAE,MAAM;oBACZ,QAAQ,EAAE,uCAAuC;oBACjD,IAAI,EAAE;wBACJ,MAAM,EAAE,0BAAmB,CAAC,OAAO;wBACnC,SAAS,EAAE;4BACT,KAAK,EAAE,kBAAkB;4BACzB,MAAM,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE;yBACtB;qBACF;oBACD,QAAQ,EAAE;wBACR;4BACE,IAAI,EAAE,SAAS;4BACf,QAAQ,EAAE,uCAAuC;4BACjD,OAAO,EAAE;gCACP,UAAU,EAAE;oCACV,QAAQ,EAAE,4CAA4C;iCACvD;6BACF;4BACD,QAAQ,EAAE;gCACR;oCACE,KAAK,EAAE,sBAAsB;oCAC7B,IAAI,EAAE,SAAS;oCACf,OAAO,EAAE;wCACP,OAAO,EAAE,iCAAiC;qCAC3C;iCACF;6BACF;yBACF;qBACF;iBACF;gBACD;oBACE,IAAI,EAAE,MAAM;oBACZ,QAAQ,EAAE,sCAAsC;oBAChD,IAAI,EAAE;wBACJ,MAAM,EAAE,0BAAmB,CAAC,OAAO;wBACnC,SAAS,EAAE;4BACT,KAAK,EAAE,kBAAkB;4BACzB,MAAM,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE;yBACtB;qBACF;oBACD,QAAQ,EAAE;wBACR;4BACE,KAAK,EAAE,oBAAoB;4BAC3B,IAAI,EAAE,SAAS;4BACf,OAAO,EAAE;gCACP,OAAO,EAAE,kCAAkC;gCAC3C,QAAQ,EAAE,oDAAoD;6BAC/D;yBACF;wBACD;4BACE,QAAQ,EAAE,mCAAmC;4BAC7C,KAAK,EAAE,qBAAqB;4BAC5B,IAAI,EAAE,SAAS;4BACf,OAAO,EAAE;gCACP,OAAO,EAAE,0BAA0B;gCACnC,iBAAiB,EAAE,KAAK;gCACxB,aAAa,EAAE,UAAU;6BAC1B;yBACF;qBACF;iBACF;aACF;SACF;KACF;CACF,CAAC"}
@@ -0,0 +1,67 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getProjectEditorConfigOptions = void 0;
4
+ const getCategoryItems_1 = require("../../core/schemas/internal/getCategoryItems");
5
+ const getFeaturedContentCatalogs_1 = require("../../core/schemas/internal/getFeaturedContentCatalogs");
6
+ const getFeaturedImageUrl_1 = require("../../core/schemas/internal/getFeaturedImageUrl");
7
+ const getLocationExtent_1 = require("../../core/schemas/internal/getLocationExtent");
8
+ const getLocationOptions_1 = require("../../core/schemas/internal/getLocationOptions");
9
+ const getTagItems_1 = require("../../core/schemas/internal/getTagItems");
10
+ const getSharableGroupsComboBoxItems_1 = require("../../core/schemas/internal/getSharableGroupsComboBoxItems");
11
+ const checkPermission_1 = require("../../permissions/checkPermission");
12
+ /**
13
+ * Construct the Project Editor configuration options
14
+ * @param entity
15
+ * @param context
16
+ * @returns
17
+ */
18
+ async function getProjectEditorConfigOptions(entity, context) {
19
+ var _a;
20
+ const canShare = checkPermission_1.checkPermission("hub:project:share", context);
21
+ return [
22
+ {
23
+ scope: "/properties/access",
24
+ options: {
25
+ orgName: context.portal.name,
26
+ },
27
+ },
28
+ {
29
+ scope: "/properties/location",
30
+ options: {
31
+ extent: await getLocationExtent_1.getLocationExtent(entity, context.hubRequestOptions),
32
+ options: await getLocationOptions_1.getLocationOptions(entity, context.portal.name, context.hubRequestOptions),
33
+ },
34
+ },
35
+ {
36
+ scope: "/properties/tags",
37
+ options: {
38
+ items: await getTagItems_1.getTagItems(entity, context.portal.id, context.hubRequestOptions),
39
+ },
40
+ },
41
+ {
42
+ scope: "/properties/categories",
43
+ options: {
44
+ items: await getCategoryItems_1.getCategoryItems(context.portal.id, context.hubRequestOptions),
45
+ },
46
+ },
47
+ {
48
+ scope: "/properties/view/properties/featuredImage",
49
+ options: {
50
+ imgSrc: ((_a = entity.view) === null || _a === void 0 ? void 0 : _a.featuredImageUrl) && getFeaturedImageUrl_1.getFeaturedImageUrl(entity, context),
51
+ },
52
+ },
53
+ {
54
+ scope: "/properties/view/properties/featuredContentIds",
55
+ options: getFeaturedContentCatalogs_1.getFeaturedContentCatalogs(context.currentUser),
56
+ },
57
+ {
58
+ scope: "/properties/_groups",
59
+ options: {
60
+ items: getSharableGroupsComboBoxItems_1.getSharableGroupsComboBoxItems(context.currentUser.groups),
61
+ disabled: !canShare,
62
+ },
63
+ },
64
+ ];
65
+ }
66
+ exports.getProjectEditorConfigOptions = getProjectEditorConfigOptions;
67
+ //# sourceMappingURL=getProjectEditorConfigOptions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getProjectEditorConfigOptions.js","sourceRoot":"","sources":["../../../../src/projects/_internal/getProjectEditorConfigOptions.ts"],"names":[],"mappings":";;;AAEA,mFAAgF;AAChF,uGAAoG;AACpG,yFAAsF;AACtF,qFAAkF;AAClF,uFAAoF;AACpF,yEAAsE;AACtE,+GAA4G;AAG5G,uEAAoE;AAEpE;;;;;GAKG;AACI,KAAK,UAAU,6BAA6B,CACjD,MAAmB,EACnB,OAAuB;;IAEvB,MAAM,QAAQ,GAAG,iCAAe,CAAC,mBAAmB,EAAE,OAAO,CAAC,CAAC;IAE/D,OAAO;QACL;YACE,KAAK,EAAE,oBAAoB;YAC3B,OAAO,EAAE;gBACP,OAAO,EAAE,OAAO,CAAC,MAAM,CAAC,IAAI;aAC7B;SACF;QACD;YACE,KAAK,EAAE,sBAAsB;YAC7B,OAAO,EAAE;gBACP,MAAM,EAAE,MAAM,qCAAiB,CAAC,MAAM,EAAE,OAAO,CAAC,iBAAiB,CAAC;gBAClE,OAAO,EAAE,MAAM,uCAAkB,CAC/B,MAAM,EACN,OAAO,CAAC,MAAM,CAAC,IAAI,EACnB,OAAO,CAAC,iBAAiB,CAC1B;aACF;SACF;QACD;YACE,KAAK,EAAE,kBAAkB;YACzB,OAAO,EAAE;gBACP,KAAK,EAAE,MAAM,yBAAW,CACtB,MAAM,EACN,OAAO,CAAC,MAAM,CAAC,EAAE,EACjB,OAAO,CAAC,iBAAiB,CAC1B;aACF;SACF;QACD;YACE,KAAK,EAAE,wBAAwB;YAC/B,OAAO,EAAE;gBACP,KAAK,EAAE,MAAM,mCAAgB,CAC3B,OAAO,CAAC,MAAM,CAAC,EAAE,EACjB,OAAO,CAAC,iBAAiB,CAC1B;aACF;SACF;QACD;YACE,KAAK,EAAE,2CAA2C;YAClD,OAAO,EAAE;gBACP,MAAM,EACJ,OAAA,MAAM,CAAC,IAAI,0CAAE,gBAAgB,KAAI,yCAAmB,CAAC,MAAM,EAAE,OAAO,CAAC;aACxE;SACF;QACD;YACE,KAAK,EAAE,gDAAgD;YACvD,OAAO,EAAE,uDAA0B,CAAC,OAAO,CAAC,WAAW,CAAC;SACzD;QACD;YACE,KAAK,EAAE,qBAAqB;YAC5B,OAAO,EAAE;gBACP,KAAK,EAAE,+DAA8B,CAAC,OAAO,CAAC,WAAW,CAAC,MAAM,CAAC;gBACjE,QAAQ,EAAE,CAAC,QAAQ;aACpB;SACF;KACF,CAAC;AACJ,CAAC;AA9DD,sEA8DC"}
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.getHubProjectEditorConfig = exports.deleteProject = exports.updateProject = exports.createProject = void 0;
3
+ exports.getHubProjectEditorConfig = exports.deleteProject = exports.updateProject = exports.editorToProject = exports.createProject = void 0;
4
4
  // Note - we separate these imports so we can cleanly spy on things in tests
5
5
  const models_1 = require("../models");
6
6
  const slugs_1 = require("../items/slugs");
@@ -49,6 +49,26 @@ async function createProject(partialProject, requestOptions) {
49
49
  return newProject;
50
50
  }
51
51
  exports.createProject = createProject;
52
+ /**
53
+ * Convert a IHubProjectEditor back to an IHubProject
54
+ * @param editor
55
+ * @param portal
56
+ * @returns
57
+ */
58
+ function editorToProject(editor, portal) {
59
+ var _a;
60
+ // remove the ephemeral props we graft on for the editor
61
+ delete editor._groups;
62
+ // clone into a HubProject
63
+ const project = util_1.cloneObject(editor);
64
+ // ensure there's an org url key
65
+ project.orgUrlKey = editor.orgUrlKey ? editor.orgUrlKey : portal.urlKey;
66
+ // copy the location extent up one level
67
+ project.extent = (_a = editor.location) === null || _a === void 0 ? void 0 : _a.extent;
68
+ // return with a cast
69
+ return project;
70
+ }
71
+ exports.editorToProject = editorToProject;
52
72
  /**
53
73
  * @private
54
74
  * Update a Hub Project
@@ -92,10 +112,6 @@ async function deleteProject(id, requestOptions) {
92
112
  }
93
113
  exports.deleteProject = deleteProject;
94
114
  /**
95
- * DEPRECATED: the following will be removed at next breaking version
96
- * use the getEntityEditorSchemas function instead (which this function
97
- * has already been refactored to consume)
98
- *
99
115
  * Get the editor config for for the HubProject entity.
100
116
  * @param i18nScope translation scope to be interpolated into the uiSchema
101
117
  * @param type editor type - corresonds to the returned uiSchema
@@ -103,8 +119,9 @@ exports.deleteProject = deleteProject;
103
119
  */
104
120
  /* istanbul ignore next deprecated */
105
121
  async function getHubProjectEditorConfig(i18nScope, type, options = []) {
106
- const editorType = `hub:project:${type}`;
107
- return schemas_1.getEntityEditorSchemas(i18nScope, editorType, options);
122
+ // Still mulling if we should call out to this, or
123
+ // just pull that code in here...
124
+ return schemas_1.getEntityEditorSchemas(i18nScope, type, options);
108
125
  }
109
126
  exports.getHubProjectEditorConfig = getHubProjectEditorConfig;
110
127
  //# sourceMappingURL=edit.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"edit.js","sourceRoot":"","sources":["../../../src/projects/edit.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"edit.js","sourceRoot":"","sources":["../../../src/projects/edit.ts"],"names":[],"mappings":"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"}