@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.
- package/dist/esm/core/EntityEditor.js +39 -0
- package/dist/esm/core/EntityEditor.js.map +1 -0
- package/dist/esm/core/HubItemEntity.js +15 -0
- package/dist/esm/core/HubItemEntity.js.map +1 -1
- package/dist/esm/core/index.js.map +1 -1
- package/dist/esm/core/schemas/getEntityEditorSchemas.js +7 -1
- package/dist/esm/core/schemas/getEntityEditorSchemas.js.map +1 -1
- package/dist/esm/core/schemas/internal/getCategoryItems.js +34 -0
- package/dist/esm/core/schemas/internal/getCategoryItems.js.map +1 -0
- package/dist/esm/core/schemas/internal/getFeaturedContentCatalogs.js +21 -0
- package/dist/esm/core/schemas/internal/getFeaturedContentCatalogs.js.map +1 -0
- package/dist/esm/core/schemas/internal/getFeaturedImageUrl.js +9 -0
- package/dist/esm/core/schemas/internal/getFeaturedImageUrl.js.map +1 -0
- package/dist/esm/core/schemas/internal/getLocationExtent.js +11 -0
- package/dist/esm/core/schemas/internal/getLocationExtent.js.map +1 -0
- package/dist/esm/core/schemas/internal/getLocationOptions.js +56 -0
- package/dist/esm/core/schemas/internal/getLocationOptions.js.map +1 -0
- package/dist/esm/core/schemas/internal/getSharableGroupsComboBoxItems.js +27 -0
- package/dist/esm/core/schemas/internal/getSharableGroupsComboBoxItems.js.map +1 -0
- package/dist/esm/core/schemas/internal/getTagItems.js +37 -0
- package/dist/esm/core/schemas/internal/getTagItems.js.map +1 -0
- package/dist/esm/core/types/HubEntityEditor.js +1 -0
- package/dist/esm/core/types/HubEntityEditor.js.map +1 -0
- package/dist/esm/core/types/IHubProject.js.map +1 -1
- package/dist/esm/core/types/index.js +5 -4
- package/dist/esm/core/types/index.js.map +1 -1
- package/dist/esm/index.js +1 -0
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/projects/HubProject.js +92 -13
- package/dist/esm/projects/HubProject.js.map +1 -1
- package/dist/esm/projects/_internal/ProjectBusinessRules.js +7 -0
- package/dist/esm/projects/_internal/ProjectBusinessRules.js.map +1 -1
- package/dist/esm/projects/_internal/ProjectSchema.js +3 -3
- package/dist/esm/projects/_internal/ProjectSchema.js.map +1 -1
- package/dist/esm/projects/_internal/ProjectUiSchemaCreate.js +1 -1
- package/dist/esm/projects/_internal/ProjectUiSchemaCreate.js.map +1 -1
- package/dist/esm/projects/_internal/getProjectEditorConfigOptions.js +63 -0
- package/dist/esm/projects/_internal/getProjectEditorConfigOptions.js.map +1 -0
- package/dist/esm/projects/edit.js +23 -7
- package/dist/esm/projects/edit.js.map +1 -1
- package/dist/esm/sites/HubSites.js +12 -26
- package/dist/esm/sites/HubSites.js.map +1 -1
- package/dist/esm/urls/cacheBustUrl.js +13 -0
- package/dist/esm/urls/cacheBustUrl.js.map +1 -0
- package/dist/esm/urls/index.js +1 -0
- package/dist/esm/urls/index.js.map +1 -1
- package/dist/node/core/EntityEditor.js +43 -0
- package/dist/node/core/EntityEditor.js.map +1 -0
- package/dist/node/core/HubItemEntity.js +15 -0
- package/dist/node/core/HubItemEntity.js.map +1 -1
- package/dist/node/core/index.js.map +1 -1
- package/dist/node/core/schemas/getEntityEditorSchemas.js +7 -1
- package/dist/node/core/schemas/getEntityEditorSchemas.js.map +1 -1
- package/dist/node/core/schemas/internal/getCategoryItems.js +38 -0
- package/dist/node/core/schemas/internal/getCategoryItems.js.map +1 -0
- package/dist/node/core/schemas/internal/getFeaturedContentCatalogs.js +25 -0
- package/dist/node/core/schemas/internal/getFeaturedContentCatalogs.js.map +1 -0
- package/dist/node/core/schemas/internal/getFeaturedImageUrl.js +13 -0
- package/dist/node/core/schemas/internal/getFeaturedImageUrl.js.map +1 -0
- package/dist/node/core/schemas/internal/getLocationExtent.js +15 -0
- package/dist/node/core/schemas/internal/getLocationExtent.js.map +1 -0
- package/dist/node/core/schemas/internal/getLocationOptions.js +60 -0
- package/dist/node/core/schemas/internal/getLocationOptions.js.map +1 -0
- package/dist/node/core/schemas/internal/getSharableGroupsComboBoxItems.js +31 -0
- package/dist/node/core/schemas/internal/getSharableGroupsComboBoxItems.js.map +1 -0
- package/dist/node/core/schemas/internal/getTagItems.js +41 -0
- package/dist/node/core/schemas/internal/getTagItems.js.map +1 -0
- package/dist/node/core/types/HubEntityEditor.js +3 -0
- package/dist/node/core/types/HubEntityEditor.js.map +1 -0
- package/dist/node/core/types/IHubProject.js.map +1 -1
- package/dist/node/core/types/index.js +5 -4
- package/dist/node/core/types/index.js.map +1 -1
- package/dist/node/index.js +1 -0
- package/dist/node/index.js.map +1 -1
- package/dist/node/projects/HubProject.js +93 -14
- package/dist/node/projects/HubProject.js.map +1 -1
- package/dist/node/projects/_internal/ProjectBusinessRules.js +7 -0
- package/dist/node/projects/_internal/ProjectBusinessRules.js.map +1 -1
- package/dist/node/projects/_internal/ProjectSchema.js +5 -5
- package/dist/node/projects/_internal/ProjectSchema.js.map +1 -1
- package/dist/node/projects/_internal/ProjectUiSchemaCreate.js +1 -1
- package/dist/node/projects/_internal/ProjectUiSchemaCreate.js.map +1 -1
- package/dist/node/projects/_internal/getProjectEditorConfigOptions.js +67 -0
- package/dist/node/projects/_internal/getProjectEditorConfigOptions.js.map +1 -0
- package/dist/node/projects/edit.js +24 -7
- package/dist/node/projects/edit.js.map +1 -1
- package/dist/node/sites/HubSites.js +12 -27
- package/dist/node/sites/HubSites.js.map +1 -1
- package/dist/node/urls/cacheBustUrl.js +16 -0
- package/dist/node/urls/cacheBustUrl.js.map +1 -0
- package/dist/node/urls/index.js +1 -0
- package/dist/node/urls/index.js.map +1 -1
- package/dist/types/core/EntityEditor.d.ts +13 -0
- package/dist/types/core/behaviors/IWithEditorBehavior.d.ts +23 -9
- package/dist/types/core/schemas/internal/getCategoryItems.d.ts +11 -0
- package/dist/types/core/schemas/internal/getFeaturedContentCatalogs.d.ts +9 -0
- package/dist/types/core/schemas/internal/getFeaturedImageUrl.d.ts +3 -0
- package/dist/types/core/schemas/internal/getLocationExtent.d.ts +7 -0
- package/dist/types/core/schemas/internal/getLocationOptions.d.ts +16 -0
- package/dist/types/core/schemas/internal/getSharableGroupsComboBoxItems.d.ts +7 -0
- package/dist/types/core/schemas/internal/getTagItems.d.ts +12 -0
- package/dist/types/core/schemas/types.d.ts +6 -0
- package/dist/types/core/types/HubEntityEditor.d.ts +11 -0
- package/dist/types/core/types/IHubLocation.d.ts +12 -0
- package/dist/types/core/types/IHubProject.d.ts +10 -0
- package/dist/types/core/types/index.d.ts +5 -4
- package/dist/types/index.d.ts +1 -0
- package/dist/types/permissions/types/Permission.d.ts +1 -1
- package/dist/types/projects/HubProject.d.ts +21 -13
- package/dist/types/projects/_internal/ProjectBusinessRules.d.ts +1 -1
- package/dist/types/projects/_internal/ProjectSchema.d.ts +2 -2
- package/dist/types/projects/_internal/getProjectEditorConfigOptions.d.ts +10 -0
- package/dist/types/projects/edit.d.ts +12 -7
- package/dist/types/sites/HubSites.d.ts +0 -8
- package/dist/types/urls/cacheBustUrl.d.ts +5 -0
- package/dist/types/urls/index.d.ts +1 -0
- 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 @@
|
|
|
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":";;;
|
|
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,
|
|
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"}
|
package/dist/node/index.js
CHANGED
|
@@ -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");
|
package/dist/node/index.js.map
CHANGED
|
@@ -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;
|
|
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
|
-
*
|
|
85
|
-
* @param
|
|
86
|
-
* @param
|
|
87
|
-
* @
|
|
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":";;;AAAA,yCAA6C;
|
|
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
|
-
*
|
|
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), {
|
|
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:
|
|
19
|
-
enum: Object.keys(
|
|
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,
|
|
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"}
|
|
@@ -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,
|
|
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
|
-
|
|
107
|
-
|
|
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":";;;AAEA,4EAA4E;AAC5E,sCAA+D;AAC/D,0CAA8E;AAC9E,
|
|
1
|
+
{"version":3,"file":"edit.js","sourceRoot":"","sources":["../../../src/projects/edit.ts"],"names":[],"mappings":"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"}
|