@esri/hub-common 13.22.1 → 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 +14 -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 +14 -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,39 @@
|
|
|
1
|
+
import { HubProject } from "../projects/HubProject";
|
|
2
|
+
import { getTypeFromEntity } from "./getTypeFromEntity";
|
|
3
|
+
export class EntityEditor {
|
|
4
|
+
constructor(instance) {
|
|
5
|
+
this.instance = instance;
|
|
6
|
+
}
|
|
7
|
+
static fromEntity(entity, context) {
|
|
8
|
+
const entityType = getTypeFromEntity(entity);
|
|
9
|
+
// Create the instance and cast to EntityEditor
|
|
10
|
+
let editor;
|
|
11
|
+
if (entityType === "project") {
|
|
12
|
+
editor = HubProject.fromJson(entity, context);
|
|
13
|
+
}
|
|
14
|
+
// TODO: Uncomment as we support more entity types
|
|
15
|
+
// if (entityType === "initiative") {
|
|
16
|
+
// editor = HubInitiative.fromJson(entity, context) as EntityEditor;
|
|
17
|
+
// }
|
|
18
|
+
// if (entity.type === "site") {
|
|
19
|
+
// editor = HubSite.fromJson(entity, context) as EntityEditor;
|
|
20
|
+
// }
|
|
21
|
+
if (editor) {
|
|
22
|
+
return new EntityEditor(editor);
|
|
23
|
+
}
|
|
24
|
+
else {
|
|
25
|
+
throw new Error(`Unsupported entity type: ${entity.type}`);
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
async getConfig(i18nScope, type) {
|
|
29
|
+
return this.instance.getEditorConfig(i18nScope, type);
|
|
30
|
+
}
|
|
31
|
+
toEditor(editorContext = {}) {
|
|
32
|
+
// This is ugly but it's the only way to get the type to be correct
|
|
33
|
+
return this.instance.toEditor(editorContext);
|
|
34
|
+
}
|
|
35
|
+
async save(editor) {
|
|
36
|
+
return this.instance.fromEditor(editor);
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
//# sourceMappingURL=EntityEditor.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"EntityEditor.js","sourceRoot":"","sources":["../../../src/core/EntityEditor.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AAGpD,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAKxD,MAAM,OAAO,YAAY;IAGvB,YAAoB,QAA6B;QAC/C,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;IAC3B,CAAC;IAED,MAAM,CAAC,UAAU,CAAC,MAAiB,EAAE,OAAuB;QAC1D,MAAM,UAAU,GAAG,iBAAiB,CAAC,MAAM,CAAC,CAAC;QAC7C,+CAA+C;QAC/C,IAAI,MAA2B,CAAC;QAChC,IAAI,UAAU,KAAK,SAAS,EAAE;YAC5B,MAAM,GAAG,UAAU,CAAC,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAwB,CAAC;SACtE;QACD,kDAAkD;QAClD,qCAAqC;QACrC,sEAAsE;QACtE,IAAI;QACJ,gCAAgC;QAChC,gEAAgE;QAChE,IAAI;QACJ,IAAI,MAAM,EAAE;YACV,OAAO,IAAI,YAAY,CAAC,MAAM,CAAC,CAAC;SACjC;aAAM;YACL,MAAM,IAAI,KAAK,CAAC,4BAA4B,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC;SAC5D;IACH,CAAC;IAED,KAAK,CAAC,SAAS,CAAC,SAAiB,EAAE,IAAgB;QACjD,OAAO,IAAI,CAAC,QAAQ,CAAC,eAAe,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;IACxD,CAAC;IAED,QAAQ,CAAC,gBAAsC,EAAE;QAC/C,mEAAmE;QACnE,OAAO,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,aAAa,CAA+B,CAAC;IAC7E,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,MAAuB;QAChC,OAAO,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;IAC1C,CAAC;CACF"}
|
|
@@ -115,9 +115,23 @@ export class HubItemEntity {
|
|
|
115
115
|
* @param groupId
|
|
116
116
|
*/
|
|
117
117
|
async shareWithGroup(groupId) {
|
|
118
|
+
var _a;
|
|
119
|
+
if (!this.context.currentUser) {
|
|
120
|
+
throw new HubError("Share Item With Group", "Cannot share item with group when no user is logged in.");
|
|
121
|
+
}
|
|
122
|
+
// Group should be in current user's group collection,
|
|
123
|
+
// but we do not enforce that because they could have
|
|
124
|
+
// joined a group since the context was creatd.
|
|
125
|
+
// Get the group from user to check if it's an update group
|
|
126
|
+
// NOTE: If this becomes a problem, we can simply fetch the group
|
|
127
|
+
// and check user membership as well as capabilities.
|
|
128
|
+
const group = (_a = this.context.currentUser.groups) === null || _a === void 0 ? void 0 : _a.find((g) => g.id === groupId);
|
|
129
|
+
// and see if it's an edit group b/c we need to send an additional param
|
|
130
|
+
const isEditGroup = ((group === null || group === void 0 ? void 0 : group.capabilities) || []).includes("updateitemcontrol");
|
|
118
131
|
await shareItemWithGroup({
|
|
119
132
|
id: this.entity.id,
|
|
120
133
|
groupId,
|
|
134
|
+
confirmItemControl: isEditGroup,
|
|
121
135
|
owner: this.entity.owner,
|
|
122
136
|
authentication: this.context.session,
|
|
123
137
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"HubItemEntity.js","sourceRoot":"","sources":["../../../src/core/HubItemEntity.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"HubItemEntity.js","sourceRoot":"","sources":["../../../src/core/HubItemEntity.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/core/index.ts"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAC;AACzB,cAAc,SAAS,CAAC;AACxB,cAAc,aAAa,CAAC;AAC5B,cAAc,WAAW,CAAC;AAC1B,cAAc,kBAAkB,CAAC;AACjC,cAAc,qBAAqB,CAAC;AACpC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,qBAAqB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/core/index.ts"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAC;AACzB,cAAc,SAAS,CAAC;AACxB,cAAc,aAAa,CAAC;AAC5B,cAAc,WAAW,CAAC;AAC1B,cAAc,kBAAkB,CAAC;AACjC,cAAc,qBAAqB,CAAC;AACpC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,qBAAqB,CAAC;AAEpC,uDAAuD;AACvD,oDAAoD;AACpD,qCAAqC"}
|
|
@@ -74,7 +74,13 @@ export const getEntityEditorSchemas = async (i18nScope, type, options = []) => {
|
|
|
74
74
|
// apply the options
|
|
75
75
|
uiSchema = applyUiSchemaElementOptions(uiSchema, options);
|
|
76
76
|
// interpolate the i18n scope into the uiSchema
|
|
77
|
-
uiSchema = interpolate(uiSchema, { i18nScope }
|
|
77
|
+
uiSchema = interpolate(uiSchema, { i18nScope },
|
|
78
|
+
// We don't have a real i18n object here, so just return the key
|
|
79
|
+
{
|
|
80
|
+
translate(i18nKey) {
|
|
81
|
+
return `{{${i18nKey}:translate}}`;
|
|
82
|
+
},
|
|
83
|
+
});
|
|
78
84
|
return Promise.resolve({ schema, uiSchema });
|
|
79
85
|
};
|
|
80
86
|
//# sourceMappingURL=getEntityEditorSchemas.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getEntityEditorSchemas.js","sourceRoot":"","sources":["../../../../src/core/schemas/getEntityEditorSchemas.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"getEntityEditorSchemas.js","sourceRoot":"","sources":["../../../../src/core/schemas/getEntityEditorSchemas.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import { request } from "@esri/arcgis-rest-request";
|
|
2
|
+
/**
|
|
3
|
+
* Fetch the categorySchema for all the categories, including
|
|
4
|
+
* the ones with 0 count, then recursively collet all the child
|
|
5
|
+
* categories on the deepest level. Parse into a format that
|
|
6
|
+
* can be consumed by the combobox field
|
|
7
|
+
*
|
|
8
|
+
* TODO: render nested categories in combobox
|
|
9
|
+
*/
|
|
10
|
+
export async function getCategoryItems(orgId, hubRequestOptions) {
|
|
11
|
+
const url = `${hubRequestOptions.portal}/portals/${orgId}/categorySchema`;
|
|
12
|
+
try {
|
|
13
|
+
const { categorySchema } = await request(url, hubRequestOptions);
|
|
14
|
+
return parseCategories(categorySchema[0].categories, []);
|
|
15
|
+
}
|
|
16
|
+
catch (e) {
|
|
17
|
+
return [];
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
function parseCategories(categories, allCategories) {
|
|
21
|
+
categories.forEach((c) => {
|
|
22
|
+
var _a;
|
|
23
|
+
if (!((_a = c.categories) === null || _a === void 0 ? void 0 : _a.length)) {
|
|
24
|
+
allCategories.push({
|
|
25
|
+
value: c.title,
|
|
26
|
+
});
|
|
27
|
+
}
|
|
28
|
+
else {
|
|
29
|
+
parseCategories(c.categories, allCategories);
|
|
30
|
+
}
|
|
31
|
+
});
|
|
32
|
+
return allCategories;
|
|
33
|
+
}
|
|
34
|
+
//# sourceMappingURL=getCategoryItems.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"getCategoryItems.js","sourceRoot":"","sources":["../../../../../src/core/schemas/internal/getCategoryItems.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,2BAA2B,CAAC;AAKpD;;;;;;;GAOG;AACH,MAAM,CAAC,KAAK,UAAU,gBAAgB,CACpC,KAAa,EACb,iBAAqC;IAErC,MAAM,GAAG,GAAG,GAAG,iBAAiB,CAAC,MAAM,YAAY,KAAK,iBAAiB,CAAC;IAC1E,IAAI;QACF,MAAM,EAAE,cAAc,EAAE,GAAG,MAAM,OAAO,CAAC,GAAG,EAAE,iBAAiB,CAAC,CAAC;QACjE,OAAO,eAAe,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC;KAC1D;IAAC,OAAO,CAAC,EAAE;QACV,OAAO,EAAE,CAAC;KACX;AACH,CAAC;AAED,SAAS,eAAe,CACtB,UAAiB,EACjB,aAAoB;IAEpB,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE;;QACvB,IAAI,QAAC,CAAC,CAAC,UAAU,0CAAE,MAAM,CAAA,EAAE;YACzB,aAAa,CAAC,IAAI,CAAC;gBACjB,KAAK,EAAE,CAAC,CAAC,KAAK;aACf,CAAC,CAAC;SACJ;aAAM;YACL,eAAe,CAAC,CAAC,CAAC,UAAU,EAAE,aAAa,CAAC,CAAC;SAC9C;IACH,CAAC,CAAC,CAAC;IACH,OAAO,aAAa,CAAC;AACvB,CAAC"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { getWellKnownCatalog, } from "../../../search/wellKnownCatalog";
|
|
2
|
+
/**
|
|
3
|
+
* Return a catalog structured for picking featured content.
|
|
4
|
+
* @param user
|
|
5
|
+
* @returns
|
|
6
|
+
*/
|
|
7
|
+
export function getFeaturedContentCatalogs(user) {
|
|
8
|
+
const catalogNames = [
|
|
9
|
+
"myContent",
|
|
10
|
+
"favorites",
|
|
11
|
+
"organization",
|
|
12
|
+
"world",
|
|
13
|
+
];
|
|
14
|
+
const catalogs = catalogNames.map((name) => {
|
|
15
|
+
const opts = { user };
|
|
16
|
+
const catalog = getWellKnownCatalog("shared.fields.featuredContent", name, "item", opts);
|
|
17
|
+
return catalog;
|
|
18
|
+
});
|
|
19
|
+
return { catalogs };
|
|
20
|
+
}
|
|
21
|
+
//# sourceMappingURL=getFeaturedContentCatalogs.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"getFeaturedContentCatalogs.js","sourceRoot":"","sources":["../../../../../src/core/schemas/internal/getFeaturedContentCatalogs.ts"],"names":[],"mappings":"AACA,OAAO,EAEL,mBAAmB,GACpB,MAAM,kCAAkC,CAAC;AAE1C;;;;GAIG;AACH,MAAM,UAAU,0BAA0B,CAAC,IAAW;IACpD,MAAM,YAAY,GAAuB;QACvC,WAAW;QACX,WAAW;QACX,cAAc;QACd,OAAO;KACR,CAAC;IACF,MAAM,QAAQ,GAAG,YAAY,CAAC,GAAG,CAAC,CAAC,IAAsB,EAAE,EAAE;QAC3D,MAAM,IAAI,GAAG,EAAE,IAAI,EAAE,CAAC;QACtB,MAAM,OAAO,GAAG,mBAAmB,CACjC,+BAA+B,EAC/B,IAAI,EACJ,MAAM,EACN,IAAI,CACL,CAAC;QACF,OAAO,OAAO,CAAC;IACjB,CAAC,CAAC,CAAC;IAEH,OAAO,EAAE,QAAQ,EAAE,CAAC;AACtB,CAAC"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { cacheBustUrl } from "../../../urls/cacheBustUrl";
|
|
2
|
+
export function getFeaturedImageUrl(entity, context) {
|
|
3
|
+
const queryParams = context.isAuthenticated
|
|
4
|
+
? `?token=${context.session.token}`
|
|
5
|
+
: "";
|
|
6
|
+
// TODO: Decide if the url should be passed in or plucked out of this deep path here
|
|
7
|
+
return cacheBustUrl(`${entity.view.featuredImageUrl}${queryParams}`);
|
|
8
|
+
}
|
|
9
|
+
//# sourceMappingURL=getFeaturedImageUrl.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"getFeaturedImageUrl.js","sourceRoot":"","sources":["../../../../../src/core/schemas/internal/getFeaturedImageUrl.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAG1D,MAAM,UAAU,mBAAmB,CACjC,MAAiB,EACjB,OAAuB;IAEvB,MAAM,WAAW,GAAG,OAAO,CAAC,eAAe;QACzC,CAAC,CAAC,UAAU,OAAO,CAAC,OAAO,CAAC,KAAK,EAAE;QACnC,CAAC,CAAC,EAAE,CAAC;IACP,oFAAoF;IACpF,OAAO,YAAY,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,gBAAgB,GAAG,WAAW,EAAE,CAAC,CAAC;AACvE,CAAC"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { bBoxToExtent, getGeographicOrgExtent } from "../../../extent";
|
|
2
|
+
/**
|
|
3
|
+
* Get the extent from the entity's location, if it has one.
|
|
4
|
+
* Otherwise, fall back to using the org extent.
|
|
5
|
+
*/
|
|
6
|
+
export async function getLocationExtent(entity, hubRequestOptions) {
|
|
7
|
+
var _a, _b;
|
|
8
|
+
return ((_b = (_a = entity.location) === null || _a === void 0 ? void 0 : _a.extent) === null || _b === void 0 ? void 0 : _b.length) ? bBoxToExtent(entity.location.extent)
|
|
9
|
+
: await getGeographicOrgExtent(hubRequestOptions);
|
|
10
|
+
}
|
|
11
|
+
//# sourceMappingURL=getLocationExtent.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"getLocationExtent.js","sourceRoot":"","sources":["../../../../../src/core/schemas/internal/getLocationExtent.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,sBAAsB,EAAE,MAAM,iBAAiB,CAAC;AAIvE;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,iBAAiB,CACrC,MAAiB,EACjB,iBAAqC;;IAErC,OAAO,aAAA,MAAM,CAAC,QAAQ,0CAAE,MAAM,0CAAE,MAAM,EACpC,CAAC,CAAC,YAAY,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC;QACtC,CAAC,CAAC,MAAM,sBAAsB,CAAC,iBAAiB,CAAC,CAAC;AACtD,CAAC"}
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
import { extentToBBox, getGeographicOrgExtent } from "../../../extent";
|
|
2
|
+
import { getTypeFromEntity } from "../../getTypeFromEntity";
|
|
3
|
+
/**
|
|
4
|
+
* Construct the dynamic location picker options with the entity's
|
|
5
|
+
* configured location using the following logic:
|
|
6
|
+
*
|
|
7
|
+
* 1. If there is no entity (e.g. we're creating an entity),
|
|
8
|
+
* select the "custom" option by default
|
|
9
|
+
* 2. Else if there is no location set on the entity, select the
|
|
10
|
+
* "none" option
|
|
11
|
+
* 3. Else if the entity has a location and it's the same as the
|
|
12
|
+
* current option, select it and update the option with the entity's
|
|
13
|
+
* location
|
|
14
|
+
*/
|
|
15
|
+
export async function getLocationOptions(entity, portalName, hubRequestOptions) {
|
|
16
|
+
const defaultExtent = await getGeographicOrgExtent(hubRequestOptions);
|
|
17
|
+
const location = entity.location;
|
|
18
|
+
return [
|
|
19
|
+
{
|
|
20
|
+
label: "{{shared.fields.location.none:translate}}",
|
|
21
|
+
location: { type: "none" },
|
|
22
|
+
},
|
|
23
|
+
{
|
|
24
|
+
label: "{{shared.fields.location.org:translate}}",
|
|
25
|
+
description: portalName,
|
|
26
|
+
location: {
|
|
27
|
+
type: "org",
|
|
28
|
+
extent: extentToBBox(defaultExtent),
|
|
29
|
+
spatialReference: defaultExtent.spatialReference,
|
|
30
|
+
},
|
|
31
|
+
},
|
|
32
|
+
{
|
|
33
|
+
label: "{{shared.fields.location.custom:translate}}",
|
|
34
|
+
description: "{{shared.fields.location.customDescription:translate}}",
|
|
35
|
+
entityType: getTypeFromEntity(entity),
|
|
36
|
+
location: {
|
|
37
|
+
type: "custom",
|
|
38
|
+
spatialReference: defaultExtent.spatialReference,
|
|
39
|
+
},
|
|
40
|
+
},
|
|
41
|
+
].map((option) => {
|
|
42
|
+
// If this is a new entity, select the custom option by default
|
|
43
|
+
if (!entity.id && option.location.type === "custom") {
|
|
44
|
+
option.selected = true;
|
|
45
|
+
}
|
|
46
|
+
else if (entity.id && !location && option.location.type === "none") {
|
|
47
|
+
option.selected = true;
|
|
48
|
+
}
|
|
49
|
+
else if ((location === null || location === void 0 ? void 0 : location.type) === option.location.type) {
|
|
50
|
+
option.location = location;
|
|
51
|
+
option.selected = true;
|
|
52
|
+
}
|
|
53
|
+
return option;
|
|
54
|
+
});
|
|
55
|
+
}
|
|
56
|
+
//# sourceMappingURL=getLocationOptions.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"getLocationOptions.js","sourceRoot":"","sources":["../../../../../src/core/schemas/internal/getLocationOptions.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,sBAAsB,EAAE,MAAM,iBAAiB,CAAC;AAEvE,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAK5D;;;;;;;;;;;GAWG;AACH,MAAM,CAAC,KAAK,UAAU,kBAAkB,CACtC,MAAiB,EACjB,UAAkB,EAClB,iBAAqC;IAErC,MAAM,aAAa,GAAG,MAAM,sBAAsB,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,YAAY,CAAC,aAAa,CAAC;gBACnC,gBAAgB,EAAE,aAAa,CAAC,gBAAgB;aACjD;SACF;QACD;YACE,KAAK,EAAE,6CAA6C;YACpD,WAAW,EAAE,wDAAwD;YACrE,UAAU,EAAE,iBAAiB,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"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Filter an array of groups into the set the user has the rights to share content
|
|
3
|
+
* into, and then convert them to UiSchemaComboboxItem array for use in the Entity Editor component
|
|
4
|
+
*/
|
|
5
|
+
export function getSharableGroupsComboBoxItems(groups) {
|
|
6
|
+
return groups.reduce((groupItems, group) => {
|
|
7
|
+
var _a;
|
|
8
|
+
const isEditGroup = group.capabilities.includes("updateitemcontrol");
|
|
9
|
+
const memberType = (_a = group.userMembership) === null || _a === void 0 ? void 0 : _a.memberType;
|
|
10
|
+
/**
|
|
11
|
+
* a user can only share to a group if:
|
|
12
|
+
* 1. the group is NOT view only
|
|
13
|
+
* 2. their membership type in a view only group is "owner" or "admin"
|
|
14
|
+
*/
|
|
15
|
+
const canShareToGroup = !group.isViewOnly ||
|
|
16
|
+
(group.isViewOnly && ["owner", "admin"].includes(memberType));
|
|
17
|
+
if (canShareToGroup) {
|
|
18
|
+
groupItems.push({
|
|
19
|
+
value: group.id,
|
|
20
|
+
label: group.title,
|
|
21
|
+
icon: isEditGroup ? "unlock" : "view-mixed",
|
|
22
|
+
});
|
|
23
|
+
}
|
|
24
|
+
return groupItems;
|
|
25
|
+
}, []);
|
|
26
|
+
}
|
|
27
|
+
//# 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,MAAM,UAAU,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"}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import { hubSearch } from "../../../search/hubSearch";
|
|
2
|
+
/**
|
|
3
|
+
* Fetch the entity's org tags (limited to the top 200),
|
|
4
|
+
* merge with any configured on the entity itself, and convert
|
|
5
|
+
* into a format that can be consumed by the combobox field
|
|
6
|
+
*
|
|
7
|
+
* TODO: the search portion of this util should probably
|
|
8
|
+
* be hoisted to hub.js
|
|
9
|
+
*/
|
|
10
|
+
export async function getTagItems(entity, orgId, hubRequestOptions) {
|
|
11
|
+
const query = {
|
|
12
|
+
targetEntity: "item",
|
|
13
|
+
filters: [{ predicates: [{ orgid: orgId }] }],
|
|
14
|
+
};
|
|
15
|
+
const opts = {
|
|
16
|
+
aggFields: ["tags"],
|
|
17
|
+
num: 0,
|
|
18
|
+
aggLimit: 200,
|
|
19
|
+
requestOptions: hubRequestOptions,
|
|
20
|
+
};
|
|
21
|
+
try {
|
|
22
|
+
const { aggregations: [tagsAgg], } = await hubSearch(query, opts);
|
|
23
|
+
/**
|
|
24
|
+
* Because we allow custom tags, we need to merge the existing entity tags
|
|
25
|
+
* and the tags fetched from the orgs, then remove duplicates, filter out
|
|
26
|
+
* any empty values and convert them to the IUiSchemaComboboxItem format
|
|
27
|
+
*/
|
|
28
|
+
const entityTags = entity.tags || [];
|
|
29
|
+
return [...new Set([...tagsAgg.values.map((t) => t.value), ...entityTags])]
|
|
30
|
+
.filter((t) => t)
|
|
31
|
+
.map((t) => ({ value: t }));
|
|
32
|
+
}
|
|
33
|
+
catch (e) {
|
|
34
|
+
return [];
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
//# sourceMappingURL=getTagItems.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"getTagItems.js","sourceRoot":"","sources":["../../../../../src/core/schemas/internal/getTagItems.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAC;AAMtD;;;;;;;GAOG;AACH,MAAM,CAAC,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,SAAS,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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
//# 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":"
|
|
1
|
+
{"version":3,"file":"IHubProject.js","sourceRoot":"","sources":["../../../../src/core/types/IHubProject.ts"],"names":[],"mappings":"AAuBA,MAAM,CAAN,IAAY,gBAKX;AALD,WAAY,gBAAgB;IAC1B,6CAAyB,CAAA;IACzB,6CAAyB,CAAA;IACzB,qCAAiB,CAAA;IACjB,yCAAqB,CAAA;AACvB,CAAC,EALW,gBAAgB,KAAhB,gBAAgB,QAK3B"}
|
|
@@ -1,4 +1,6 @@
|
|
|
1
|
+
export * from "./DynamicValues";
|
|
1
2
|
export * from "./HubEntity";
|
|
3
|
+
export * from "./HubEntityEditor";
|
|
2
4
|
export * from "./HubEntityType";
|
|
3
5
|
export * from "./IHubContent";
|
|
4
6
|
export * from "./IHubContentEnrichments";
|
|
@@ -17,12 +19,11 @@ export * from "./IHubSite";
|
|
|
17
19
|
export * from "./IHubSiteTheme";
|
|
18
20
|
export * from "./IHubTimeline";
|
|
19
21
|
export * from "./IItemEnrichments";
|
|
22
|
+
export * from "./IReference";
|
|
20
23
|
export * from "./IServerEnrichments";
|
|
21
24
|
export * from "./ISystemStatus";
|
|
22
|
-
export * from "./types";
|
|
23
|
-
export * from "./DynamicValues";
|
|
24
|
-
export * from "./IReference";
|
|
25
|
-
export * from "./Metrics";
|
|
26
25
|
export * from "./MaybeTranslate";
|
|
27
26
|
export * from "./IHubCardViewModel";
|
|
27
|
+
export * from "./Metrics";
|
|
28
|
+
export * from "./types";
|
|
28
29
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/core/types/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAC;AAC5B,cAAc,iBAAiB,CAAC;AAChC,cAAc,eAAe,CAAC;AAC9B,cAAc,0BAA0B,CAAC;AACzC,cAAc,kBAAkB,CAAC;AACjC,cAAc,uBAAuB,CAAC;AACtC,cAAc,kBAAkB,CAAC;AACjC,cAAc,aAAa,CAAC;AAC5B,cAAc,aAAa,CAAC;AAC5B,cAAc,kBAAkB,CAAC;AACjC,cAAc,kBAAkB,CAAC;AACjC,cAAc,cAAc,CAAC;AAC7B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,YAAY,CAAC;AAC3B,cAAc,eAAe,CAAC;AAC9B,cAAc,YAAY,CAAC;AAC3B,cAAc,iBAAiB,CAAC;AAChC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,oBAAoB,CAAC;AACnC,cAAc,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/core/types/index.ts"],"names":[],"mappings":"AAAA,cAAc,iBAAiB,CAAC;AAChC,cAAc,aAAa,CAAC;AAC5B,cAAc,mBAAmB,CAAC;AAClC,cAAc,iBAAiB,CAAC;AAChC,cAAc,eAAe,CAAC;AAC9B,cAAc,0BAA0B,CAAC;AACzC,cAAc,kBAAkB,CAAC;AACjC,cAAc,uBAAuB,CAAC;AACtC,cAAc,kBAAkB,CAAC;AACjC,cAAc,aAAa,CAAC;AAC5B,cAAc,aAAa,CAAC;AAC5B,cAAc,kBAAkB,CAAC;AACjC,cAAc,kBAAkB,CAAC;AACjC,cAAc,cAAc,CAAC;AAC7B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,YAAY,CAAC;AAC3B,cAAc,eAAe,CAAC;AAC9B,cAAc,YAAY,CAAC;AAC3B,cAAc,iBAAiB,CAAC;AAChC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,oBAAoB,CAAC;AACnC,cAAc,cAAc,CAAC;AAC7B,cAAc,sBAAsB,CAAC;AACrC,cAAc,iBAAiB,CAAC;AAChC,cAAc,kBAAkB,CAAC;AACjC,cAAc,qBAAqB,CAAC;AACpC,cAAc,WAAW,CAAC;AAC1B,cAAc,SAAS,CAAC"}
|
package/dist/esm/index.js
CHANGED
|
@@ -41,6 +41,7 @@ export * from "./core/updateHubEntity";
|
|
|
41
41
|
// Unclear _why_ this needs to be here vs. in urls/index.ts
|
|
42
42
|
// but if it's exported there, random tests start failing
|
|
43
43
|
export * from "./urls/getCardModelUrl";
|
|
44
|
+
export * from "./core/EntityEditor";
|
|
44
45
|
import OperationStack from "./OperationStack";
|
|
45
46
|
import OperationError from "./OperationError";
|
|
46
47
|
import HubError from "./HubError";
|
package/dist/esm/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA;gBACgB;AAChB,0BAA0B;AAE1B,cAAc,UAAU,CAAC;AACzB,cAAc,OAAO,CAAC;AACtB,cAAc,iBAAiB,CAAC;AAChC,cAAc,wBAAwB,CAAC;AACvC,cAAc,QAAQ,CAAC;AACvB,cAAc,cAAc,CAAC;AAC7B,cAAc,WAAW,CAAC;AAC1B,cAAc,QAAQ,CAAC;AACvB,cAAc,gBAAgB,CAAC;AAC/B,cAAc,aAAa,CAAC;AAC5B,cAAc,UAAU,CAAC;AACzB,cAAc,UAAU,CAAC;AACzB,cAAc,QAAQ,CAAC;AACvB,cAAc,eAAe,CAAC;AAC9B,cAAc,eAAe,CAAC;AAC9B,cAAc,SAAS,CAAC;AACxB,cAAc,UAAU,CAAC;AACzB,cAAc,WAAW,CAAC;AAC1B,cAAc,OAAO,CAAC;AACtB,cAAc,SAAS,CAAC;AACxB,cAAc,eAAe,CAAC;AAC9B,cAAc,YAAY,CAAC;AAC3B,cAAc,WAAW,CAAC;AAC1B,cAAc,aAAa,CAAC;AAC5B,cAAc,UAAU,CAAC;AACzB,cAAc,SAAS,CAAC;AACxB,cAAc,WAAW,CAAC;AAC1B,cAAc,SAAS,CAAC;AACxB,cAAc,QAAQ,CAAC;AACvB,cAAc,SAAS,CAAC;AACxB,cAAc,QAAQ,CAAC;AACvB,cAAc,SAAS,CAAC;AACxB,cAAc,cAAc,CAAC;AAC7B,cAAc,WAAW,CAAC;AAC1B,0DAA0D;AAC1D,qDAAqD;AACrD,cAAc,wBAAwB,CAAC;AACvC,2DAA2D;AAC3D,yDAAyD;AACzD,cAAc,wBAAwB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA;gBACgB;AAChB,0BAA0B;AAE1B,cAAc,UAAU,CAAC;AACzB,cAAc,OAAO,CAAC;AACtB,cAAc,iBAAiB,CAAC;AAChC,cAAc,wBAAwB,CAAC;AACvC,cAAc,QAAQ,CAAC;AACvB,cAAc,cAAc,CAAC;AAC7B,cAAc,WAAW,CAAC;AAC1B,cAAc,QAAQ,CAAC;AACvB,cAAc,gBAAgB,CAAC;AAC/B,cAAc,aAAa,CAAC;AAC5B,cAAc,UAAU,CAAC;AACzB,cAAc,UAAU,CAAC;AACzB,cAAc,QAAQ,CAAC;AACvB,cAAc,eAAe,CAAC;AAC9B,cAAc,eAAe,CAAC;AAC9B,cAAc,SAAS,CAAC;AACxB,cAAc,UAAU,CAAC;AACzB,cAAc,WAAW,CAAC;AAC1B,cAAc,OAAO,CAAC;AACtB,cAAc,SAAS,CAAC;AACxB,cAAc,eAAe,CAAC;AAC9B,cAAc,YAAY,CAAC;AAC3B,cAAc,WAAW,CAAC;AAC1B,cAAc,aAAa,CAAC;AAC5B,cAAc,UAAU,CAAC;AACzB,cAAc,SAAS,CAAC;AACxB,cAAc,WAAW,CAAC;AAC1B,cAAc,SAAS,CAAC;AACxB,cAAc,QAAQ,CAAC;AACvB,cAAc,SAAS,CAAC;AACxB,cAAc,QAAQ,CAAC;AACvB,cAAc,SAAS,CAAC;AACxB,cAAc,cAAc,CAAC;AAC7B,cAAc,WAAW,CAAC;AAC1B,0DAA0D;AAC1D,qDAAqD;AACrD,cAAc,wBAAwB,CAAC;AACvC,2DAA2D;AAC3D,yDAAyD;AACzD,cAAc,wBAAwB,CAAC;AACvC,cAAc,qBAAqB,CAAC;AAEpC,OAAO,cAAc,MAAM,kBAAkB,CAAC;AAC9C,OAAO,cAAc,MAAM,kBAAkB,CAAC;AAC9C,OAAO,QAAQ,MAAM,YAAY,CAAC;AAElC,aAAa;AACb,OAAO,EAAE,cAAc,EAAE,cAAc,EAAE,QAAQ,EAAE,CAAC;AACpD,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { DEFAULT_PROJECT } from "./defaults";
|
|
2
|
-
import { getEntityEditorSchemas } from "../core/schemas/getEntityEditorSchemas";
|
|
2
|
+
import { getEntityEditorSchemas, } from "../core/schemas/getEntityEditorSchemas";
|
|
3
3
|
import { Catalog } from "../search";
|
|
4
4
|
import { HubItemEntity } from "../core/HubItemEntity";
|
|
5
5
|
// NOTE: this could be lazy-loaded just like the CUD functions
|
|
@@ -7,6 +7,9 @@ import { fetchProject } from "./fetch";
|
|
|
7
7
|
import { getEntityMetrics } from "../metrics/getEntityMetrics";
|
|
8
8
|
import { resolveMetric } from "../metrics/resolveMetric";
|
|
9
9
|
import { projectToCardModel } from "./view";
|
|
10
|
+
import { cloneObject, maybePush } from "../util";
|
|
11
|
+
import { createProject, editorToProject, updateProject } from "./edit";
|
|
12
|
+
import { getProjectEditorConfigOptions } from "./_internal/getProjectEditorConfigOptions";
|
|
10
13
|
/**
|
|
11
14
|
* Hub Project Class
|
|
12
15
|
*/
|
|
@@ -78,18 +81,11 @@ export class HubProject extends HubItemEntity {
|
|
|
78
81
|
}
|
|
79
82
|
}
|
|
80
83
|
/**
|
|
81
|
-
*
|
|
82
|
-
* @param
|
|
83
|
-
* @param
|
|
84
|
-
* @
|
|
85
|
-
*
|
|
86
|
-
* Note: typescript does not have a means to specify static methods in interfaces
|
|
87
|
-
* so while this is the implementation of IWithEditorBehavior, it is not enforced
|
|
88
|
-
* by the compiler.
|
|
84
|
+
* Given a partial project, apply defaults to it to ensure that a baseline of properties are set
|
|
85
|
+
* @param partialProject
|
|
86
|
+
* @param context
|
|
87
|
+
* @returns
|
|
89
88
|
*/
|
|
90
|
-
static async getEditorConfig(i18nScope, type, options = []) {
|
|
91
|
-
return getEntityEditorSchemas(i18nScope, type, options);
|
|
92
|
-
}
|
|
93
89
|
static applyDefaults(partialProject, context) {
|
|
94
90
|
// ensure we have the orgUrlKey
|
|
95
91
|
if (!partialProject.orgUrlKey) {
|
|
@@ -108,6 +104,90 @@ export class HubProject extends HubItemEntity {
|
|
|
108
104
|
convertToCardModel(opts) {
|
|
109
105
|
return projectToCardModel(this.entity, this.context, opts);
|
|
110
106
|
}
|
|
107
|
+
/*
|
|
108
|
+
* Gt the editor config for the HubProject entity.
|
|
109
|
+
* @param i18nScope translation scope to be interpolated into the uiSchema
|
|
110
|
+
* @param type editor type - corresonds to the returned uiSchema
|
|
111
|
+
* @param options optional hash of dynamic uiSchema element options
|
|
112
|
+
*/
|
|
113
|
+
async getEditorConfig(i18nScope, type) {
|
|
114
|
+
// get the options first...
|
|
115
|
+
const projectOptions = await getProjectEditorConfigOptions(this.entity, this.context);
|
|
116
|
+
// TODO: Decide if we should split up the logic in this next function
|
|
117
|
+
return getEntityEditorSchemas(i18nScope, type, projectOptions);
|
|
118
|
+
}
|
|
119
|
+
/**
|
|
120
|
+
* Return the project as an editor object
|
|
121
|
+
* @param editorContext
|
|
122
|
+
* @returns
|
|
123
|
+
*/
|
|
124
|
+
toEditor(editorContext = {}) {
|
|
125
|
+
// cast the entity to it's editor
|
|
126
|
+
const editor = cloneObject(this.entity);
|
|
127
|
+
// add the groups array that we'll use to auto-share on save
|
|
128
|
+
editor._groups = [];
|
|
129
|
+
/**
|
|
130
|
+
* on project creation, we want to pre-populate the sharing
|
|
131
|
+
* field with the core and collaboration groups if the user
|
|
132
|
+
* has the appropriate shareToGroup portal privilege
|
|
133
|
+
*/
|
|
134
|
+
const { access: canShare } = this.checkPermission("hub:project:share");
|
|
135
|
+
if (!editor.id && canShare) {
|
|
136
|
+
// TODO: at what point can we remove this "auto-share" behavior?
|
|
137
|
+
editor._groups = maybePush(editorContext.contentGroupId, editor._groups);
|
|
138
|
+
editor._groups = maybePush(editorContext.collaborationGroupId, editor._groups);
|
|
139
|
+
}
|
|
140
|
+
return editor;
|
|
141
|
+
}
|
|
142
|
+
/**
|
|
143
|
+
* Load the project from the editor object
|
|
144
|
+
* @param editor
|
|
145
|
+
* @returns
|
|
146
|
+
*/
|
|
147
|
+
async fromEditor(editor) {
|
|
148
|
+
const autoShareGroups = editor._groups || [];
|
|
149
|
+
const isProjectCreate = !editor.id;
|
|
150
|
+
// extract out things we don't want to persist directly
|
|
151
|
+
// b/c the first thing we do is create/update the project
|
|
152
|
+
const featuredImage = editor.view.featuredImage;
|
|
153
|
+
delete editor.view.featuredImage;
|
|
154
|
+
// convert back to an entity
|
|
155
|
+
const entity = editorToProject(editor, this.context.portal);
|
|
156
|
+
// create it if it does not yet exist...
|
|
157
|
+
if (isProjectCreate) {
|
|
158
|
+
// this allows the featured image functions to work
|
|
159
|
+
this.entity = await createProject(entity, this.context.userRequestOptions);
|
|
160
|
+
}
|
|
161
|
+
else {
|
|
162
|
+
// ...otherwise, update the in-memory entity and save it
|
|
163
|
+
this.entity = entity;
|
|
164
|
+
this.save();
|
|
165
|
+
}
|
|
166
|
+
// handle featured image
|
|
167
|
+
if (featuredImage) {
|
|
168
|
+
if (featuredImage.blob) {
|
|
169
|
+
await this.setFeaturedImage(featuredImage.blob);
|
|
170
|
+
}
|
|
171
|
+
else {
|
|
172
|
+
await this.clearFeaturedImage();
|
|
173
|
+
}
|
|
174
|
+
}
|
|
175
|
+
/**
|
|
176
|
+
* operations that are only relevant to the project create workflow.
|
|
177
|
+
* if these ever become part of the edit experience, we can remove
|
|
178
|
+
* the conditional
|
|
179
|
+
*/
|
|
180
|
+
if (isProjectCreate) {
|
|
181
|
+
await this.setAccess(editor.access);
|
|
182
|
+
// share the entity with the configured groups
|
|
183
|
+
if (autoShareGroups.length) {
|
|
184
|
+
await Promise.all(autoShareGroups.map((id) => {
|
|
185
|
+
return this.shareWithGroup(id);
|
|
186
|
+
}));
|
|
187
|
+
}
|
|
188
|
+
}
|
|
189
|
+
return this.entity;
|
|
190
|
+
}
|
|
111
191
|
/**
|
|
112
192
|
* Apply a new state to the instance
|
|
113
193
|
* @param changes
|
|
@@ -133,7 +213,6 @@ export class HubProject extends HubItemEntity {
|
|
|
133
213
|
}
|
|
134
214
|
// get the catalog, and permission configs
|
|
135
215
|
this.entity.catalog = this._catalog.toJson();
|
|
136
|
-
const { createProject, updateProject } = await import("./edit");
|
|
137
216
|
if (this.entity.id) {
|
|
138
217
|
// update it
|
|
139
218
|
this.entity = await updateProject(this.entity, this.context.userRequestOptions);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"HubProject.js","sourceRoot":"","sources":["../../../src/projects/HubProject.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"HubProject.js","sourceRoot":"","sources":["../../../src/projects/HubProject.ts"],"names":[],"mappings":"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"}
|
|
@@ -55,6 +55,7 @@ export const ProjectPermissions = [
|
|
|
55
55
|
"hub:project:edit",
|
|
56
56
|
"hub:project:view",
|
|
57
57
|
"hub:project:owner",
|
|
58
|
+
"hub:project:share",
|
|
58
59
|
];
|
|
59
60
|
/**
|
|
60
61
|
* Project permission policies
|
|
@@ -93,5 +94,11 @@ export const ProjectPermissionPolicies = [
|
|
|
93
94
|
entityOwner: true,
|
|
94
95
|
licenses: ["hub-premium"],
|
|
95
96
|
},
|
|
97
|
+
{
|
|
98
|
+
permission: "hub:project:share",
|
|
99
|
+
authenticated: true,
|
|
100
|
+
subsystems: ["projects"],
|
|
101
|
+
privileges: ["portal:user:shareToGroup"],
|
|
102
|
+
},
|
|
96
103
|
];
|
|
97
104
|
//# sourceMappingURL=ProjectBusinessRules.js.map
|