@esri/hub-common 14.102.0 → 14.103.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/schemas/internal/getEditorSchemas.js +1 -0
- package/dist/esm/core/schemas/internal/getEditorSchemas.js.map +1 -1
- package/dist/esm/core/schemas/internal/metrics/InitiativeUiSchemaMetrics.js +238 -0
- package/dist/esm/core/schemas/internal/metrics/InitiativeUiSchemaMetrics.js.map +1 -0
- package/dist/esm/core/schemas/internal/metrics/MetricSchema.js +5 -0
- package/dist/esm/core/schemas/internal/metrics/MetricSchema.js.map +1 -1
- package/dist/esm/core/schemas/internal/metrics/ProjectUiSchemaMetrics.js +31 -31
- package/dist/esm/core/schemas/internal/metrics/ProjectUiSchemaMetrics.js.map +1 -1
- package/dist/esm/core/schemas/internal/metrics/definitions.js +80 -0
- package/dist/esm/core/schemas/internal/metrics/definitions.js.map +1 -0
- package/dist/esm/core/schemas/internal/metrics/interfaces.js.map +1 -1
- package/dist/esm/core/schemas/internal/metrics/rules.js +6 -0
- package/dist/esm/core/schemas/internal/metrics/rules.js.map +1 -1
- package/dist/esm/initiatives/HubInitiative.js +29 -43
- package/dist/esm/initiatives/HubInitiative.js.map +1 -1
- package/dist/esm/initiatives/HubInitiatives.js +25 -9
- package/dist/esm/initiatives/HubInitiatives.js.map +1 -1
- package/dist/esm/initiatives/_internal/InitiativeBusinessRules.js +5 -0
- package/dist/esm/initiatives/_internal/InitiativeBusinessRules.js.map +1 -1
- package/dist/esm/initiatives/_internal/InitiativeSchema.js +12 -1
- package/dist/esm/initiatives/_internal/InitiativeSchema.js.map +1 -1
- package/dist/esm/initiatives/defaults.js +2 -0
- package/dist/esm/initiatives/defaults.js.map +1 -1
- package/dist/esm/projects/HubProject.js +23 -63
- package/dist/esm/projects/HubProject.js.map +1 -1
- package/dist/esm/projects/_internal/ProjectSchema.js +5 -24
- package/dist/esm/projects/_internal/ProjectSchema.js.map +1 -1
- package/dist/esm/projects/edit.js +24 -9
- package/dist/esm/projects/edit.js.map +1 -1
- package/dist/node/core/schemas/internal/getEditorSchemas.js +1 -0
- package/dist/node/core/schemas/internal/getEditorSchemas.js.map +1 -1
- package/dist/node/core/schemas/internal/metrics/InitiativeUiSchemaMetrics.js +241 -0
- package/dist/node/core/schemas/internal/metrics/InitiativeUiSchemaMetrics.js.map +1 -0
- package/dist/node/core/schemas/internal/metrics/MetricSchema.js +5 -0
- package/dist/node/core/schemas/internal/metrics/MetricSchema.js.map +1 -1
- package/dist/node/core/schemas/internal/metrics/ProjectUiSchemaMetrics.js +31 -31
- package/dist/node/core/schemas/internal/metrics/ProjectUiSchemaMetrics.js.map +1 -1
- package/dist/node/core/schemas/internal/metrics/definitions.js +83 -0
- package/dist/node/core/schemas/internal/metrics/definitions.js.map +1 -0
- package/dist/node/core/schemas/internal/metrics/interfaces.js.map +1 -1
- package/dist/node/core/schemas/internal/metrics/rules.js +6 -0
- package/dist/node/core/schemas/internal/metrics/rules.js.map +1 -1
- package/dist/node/initiatives/HubInitiative.js +28 -42
- package/dist/node/initiatives/HubInitiative.js.map +1 -1
- package/dist/node/initiatives/HubInitiatives.js +24 -8
- package/dist/node/initiatives/HubInitiatives.js.map +1 -1
- package/dist/node/initiatives/_internal/InitiativeBusinessRules.js +5 -0
- package/dist/node/initiatives/_internal/InitiativeBusinessRules.js.map +1 -1
- package/dist/node/initiatives/_internal/InitiativeSchema.js +12 -1
- package/dist/node/initiatives/_internal/InitiativeSchema.js.map +1 -1
- package/dist/node/initiatives/defaults.js +2 -0
- package/dist/node/initiatives/defaults.js.map +1 -1
- package/dist/node/projects/HubProject.js +22 -62
- package/dist/node/projects/HubProject.js.map +1 -1
- package/dist/node/projects/_internal/ProjectSchema.js +5 -24
- package/dist/node/projects/_internal/ProjectSchema.js.map +1 -1
- package/dist/node/projects/edit.js +23 -8
- package/dist/node/projects/edit.js.map +1 -1
- package/dist/types/core/schemas/internal/metrics/InitiativeUiSchemaMetrics.d.ts +16 -0
- package/dist/types/core/schemas/internal/metrics/definitions.d.ts +92 -0
- package/dist/types/core/schemas/internal/metrics/rules.d.ts +7 -85
- package/dist/types/core/schemas/types.d.ts +2 -2
- package/dist/types/initiatives/_internal/InitiativeBusinessRules.d.ts +1 -1
- package/dist/types/initiatives/_internal/InitiativeSchema.d.ts +1 -1
- package/package.json +1 -1
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
// module for shared metric schema definitions
|
|
2
|
+
// if metric type = static, require value
|
|
3
|
+
export const IF_STATIC_THEN_REQUIRE_VALUE = {
|
|
4
|
+
if: {
|
|
5
|
+
type: "object",
|
|
6
|
+
properties: {
|
|
7
|
+
_metric: {
|
|
8
|
+
type: "object",
|
|
9
|
+
properties: {
|
|
10
|
+
type: { const: "static" },
|
|
11
|
+
},
|
|
12
|
+
},
|
|
13
|
+
},
|
|
14
|
+
},
|
|
15
|
+
then: {
|
|
16
|
+
type: "object",
|
|
17
|
+
properties: {
|
|
18
|
+
_metric: {
|
|
19
|
+
type: "object",
|
|
20
|
+
required: ["value"],
|
|
21
|
+
},
|
|
22
|
+
},
|
|
23
|
+
},
|
|
24
|
+
};
|
|
25
|
+
// if sourceTitle is not empty, require sourceLink
|
|
26
|
+
export const IF_SOURCE_TITLE_THEN_SOURCE_LINK = {
|
|
27
|
+
if: {
|
|
28
|
+
type: "object",
|
|
29
|
+
properties: {
|
|
30
|
+
_metric: {
|
|
31
|
+
type: "object",
|
|
32
|
+
properties: { sourceTitle: { not: { const: "" } } },
|
|
33
|
+
required: ["sourceTitle"],
|
|
34
|
+
},
|
|
35
|
+
},
|
|
36
|
+
},
|
|
37
|
+
then: {
|
|
38
|
+
type: "object",
|
|
39
|
+
properties: {
|
|
40
|
+
_metric: {
|
|
41
|
+
type: "object",
|
|
42
|
+
required: ["sourceLink"],
|
|
43
|
+
},
|
|
44
|
+
},
|
|
45
|
+
},
|
|
46
|
+
};
|
|
47
|
+
// if valueType = "string" | "date", set value type to
|
|
48
|
+
// "string", otherwise set value type to "number"
|
|
49
|
+
export const VALUE_TYPE_MAPPING = {
|
|
50
|
+
if: {
|
|
51
|
+
type: "object",
|
|
52
|
+
properties: {
|
|
53
|
+
_metric: {
|
|
54
|
+
type: "object",
|
|
55
|
+
properties: {
|
|
56
|
+
valueType: { enum: ["string", "date"] },
|
|
57
|
+
},
|
|
58
|
+
},
|
|
59
|
+
},
|
|
60
|
+
},
|
|
61
|
+
then: {
|
|
62
|
+
type: "object",
|
|
63
|
+
properties: {
|
|
64
|
+
_metric: {
|
|
65
|
+
type: "object",
|
|
66
|
+
properties: { value: { type: "string" } },
|
|
67
|
+
},
|
|
68
|
+
},
|
|
69
|
+
},
|
|
70
|
+
else: {
|
|
71
|
+
type: "object",
|
|
72
|
+
properties: {
|
|
73
|
+
_metric: {
|
|
74
|
+
type: "object",
|
|
75
|
+
properties: { value: { type: "number" } },
|
|
76
|
+
},
|
|
77
|
+
},
|
|
78
|
+
},
|
|
79
|
+
};
|
|
80
|
+
//# sourceMappingURL=definitions.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"definitions.js","sourceRoot":"","sources":["../../../../../../src/core/schemas/internal/metrics/definitions.ts"],"names":[],"mappings":"AAAA,8CAA8C;AAE9C,yCAAyC;AACzC,MAAM,CAAC,MAAM,4BAA4B,GAAG;IAC1C,EAAE,EAAE;QACF,IAAI,EAAE,QAAQ;QACd,UAAU,EAAE;YACV,OAAO,EAAE;gBACP,IAAI,EAAE,QAAQ;gBACd,UAAU,EAAE;oBACV,IAAI,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE;iBAC1B;aACF;SACF;KACF;IACD,IAAI,EAAE;QACJ,IAAI,EAAE,QAAQ;QACd,UAAU,EAAE;YACV,OAAO,EAAE;gBACP,IAAI,EAAE,QAAQ;gBACd,QAAQ,EAAE,CAAC,OAAO,CAAC;aACpB;SACF;KACF;CACF,CAAC;AAEF,kDAAkD;AAClD,MAAM,CAAC,MAAM,gCAAgC,GAAG;IAC9C,EAAE,EAAE;QACF,IAAI,EAAE,QAAQ;QACd,UAAU,EAAE;YACV,OAAO,EAAE;gBACP,IAAI,EAAE,QAAQ;gBACd,UAAU,EAAE,EAAE,WAAW,EAAE,EAAE,GAAG,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,EAAE,EAAE;gBACnD,QAAQ,EAAE,CAAC,aAAa,CAAC;aAC1B;SACF;KACF;IACD,IAAI,EAAE;QACJ,IAAI,EAAE,QAAQ;QACd,UAAU,EAAE;YACV,OAAO,EAAE;gBACP,IAAI,EAAE,QAAQ;gBACd,QAAQ,EAAE,CAAC,YAAY,CAAC;aACzB;SACF;KACF;CACF,CAAC;AAEF,sDAAsD;AACtD,kDAAkD;AAClD,MAAM,CAAC,MAAM,kBAAkB,GAAG;IAChC,EAAE,EAAE;QACF,IAAI,EAAE,QAAQ;QACd,UAAU,EAAE;YACV,OAAO,EAAE;gBACP,IAAI,EAAE,QAAQ;gBACd,UAAU,EAAE;oBACV,SAAS,EAAE,EAAE,IAAI,EAAE,CAAC,QAAQ,EAAE,MAAM,CAAC,EAAE;iBACxC;aACF;SACF;KACF;IACD,IAAI,EAAE;QACJ,IAAI,EAAE,QAAQ;QACd,UAAU,EAAE;YACV,OAAO,EAAE;gBACP,IAAI,EAAE,QAAQ;gBACd,UAAU,EAAE,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE;aAC1C;SACF;KACF;IACD,IAAI,EAAE;QACJ,IAAI,EAAE,QAAQ;QACd,UAAU,EAAE;YACV,OAAO,EAAE;gBACP,IAAI,EAAE,QAAQ;gBACd,UAAU,EAAE,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE;aAC1C;SACF;KACF;CACF,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"interfaces.js","sourceRoot":"","sources":["../../../../../../src/core/schemas/internal/metrics/interfaces.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"interfaces.js","sourceRoot":"","sources":["../../../../../../src/core/schemas/internal/metrics/interfaces.ts"],"names":[],"mappings":"AAAA,MAAM,CAAN,IAAY,OAIX;AAJD,WAAY,OAAO;IACjB,4BAAiB,CAAA;IACjB,8BAAmB,CAAA;IACnB,gCAAqB,CAAA;AACvB,CAAC,EAJW,OAAO,KAAP,OAAO,QAIlB;AACD,MAAM,CAAN,IAAY,KAIX;AAJD,WAAY,KAAK;IACf,oBAAW,CAAA;IACX,qBAAY,CAAA;IACZ,oBAAW,CAAA;AACb,CAAC,EAJW,KAAK,KAAL,KAAK,QAIhB;AACD,MAAM,CAAN,IAAY,cAIX;AAJD,WAAY,cAAc;IACxB,mCAAiB,CAAA;IACjB,iCAAe,CAAA;IACf,iCAAe,CAAA;AACjB,CAAC,EAJW,cAAc,KAAd,cAAc,QAIzB;AACD,MAAM,CAAN,IAAY,eAKX;AALD,WAAY,eAAe;IACzB,gCAAa,CAAA;IACb,0CAAuB,CAAA;IACvB,gCAAa,CAAA;IACb,gCAAa,CAAA;AACf,CAAC,EALW,eAAe,KAAf,eAAe,QAK1B;AACD,MAAM,CAAN,IAAY,MAGX;AAHD,WAAY,MAAM;IAChB,6BAAmB,CAAA;IACnB,2BAAiB,CAAA;AACnB,CAAC,EAHW,MAAM,KAAN,MAAM,QAGjB"}
|
|
@@ -13,8 +13,10 @@ export const SHOW_FOR_STATIC_RULE_ENTITY = {
|
|
|
13
13
|
export const SHOW_FOR_STATIC_AND_STRING_RULE_ENTITY = {
|
|
14
14
|
condition: {
|
|
15
15
|
schema: {
|
|
16
|
+
type: "object",
|
|
16
17
|
properties: {
|
|
17
18
|
_metric: {
|
|
19
|
+
type: "object",
|
|
18
20
|
properties: {
|
|
19
21
|
type: { const: "static" },
|
|
20
22
|
valueType: { const: "string" },
|
|
@@ -28,8 +30,10 @@ export const SHOW_FOR_STATIC_AND_STRING_RULE_ENTITY = {
|
|
|
28
30
|
export const SHOW_FOR_STATIC_AND_NUMBER_RULE_ENTITY = {
|
|
29
31
|
condition: {
|
|
30
32
|
schema: {
|
|
33
|
+
type: "object",
|
|
31
34
|
properties: {
|
|
32
35
|
_metric: {
|
|
36
|
+
type: "object",
|
|
33
37
|
properties: {
|
|
34
38
|
type: { const: "static" },
|
|
35
39
|
valueType: { const: "number" },
|
|
@@ -43,8 +47,10 @@ export const SHOW_FOR_STATIC_AND_NUMBER_RULE_ENTITY = {
|
|
|
43
47
|
export const SHOW_FOR_STATIC_AND_DATE_RULE_ENTITY = {
|
|
44
48
|
condition: {
|
|
45
49
|
schema: {
|
|
50
|
+
type: "object",
|
|
46
51
|
properties: {
|
|
47
52
|
_metric: {
|
|
53
|
+
type: "object",
|
|
48
54
|
properties: {
|
|
49
55
|
type: { const: "static" },
|
|
50
56
|
valueType: { const: "date" },
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"rules.js","sourceRoot":"","sources":["../../../../../../src/core/schemas/internal/metrics/rules.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"rules.js","sourceRoot":"","sources":["../../../../../../src/core/schemas/internal/metrics/rules.ts"],"names":[],"mappings":"AAAA,OAAO,EAAiB,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAEjE;;GAEG;AAEH,wCAAwC;AACxC,MAAM,CAAC,MAAM,2BAA2B,GAAkB;IACxD,SAAS,EAAE;QACT,KAAK,EAAE,qCAAqC;QAC5C,MAAM,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE;KAC5B;IACD,MAAM,EAAE,mBAAmB,CAAC,IAAI;CACjC,CAAC;AAEF,MAAM,CAAC,MAAM,sCAAsC,GAAkB;IACnE,SAAS,EAAE;QACT,MAAM,EAAE;YACN,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACV,OAAO,EAAE;oBACP,IAAI,EAAE,QAAQ;oBACd,UAAU,EAAE;wBACV,IAAI,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE;wBACzB,SAAS,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE;qBAC/B;iBACF;aACF;SACF;KACF;IACD,MAAM,EAAE,mBAAmB,CAAC,IAAI;CACjC,CAAC;AAEF,MAAM,CAAC,MAAM,sCAAsC,GAAkB;IACnE,SAAS,EAAE;QACT,MAAM,EAAE;YACN,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACV,OAAO,EAAE;oBACP,IAAI,EAAE,QAAQ;oBACd,UAAU,EAAE;wBACV,IAAI,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE;wBACzB,SAAS,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE;qBAC/B;iBACF;aACF;SACF;KACF;IACD,MAAM,EAAE,mBAAmB,CAAC,IAAI;CACjC,CAAC;AAEF,MAAM,CAAC,MAAM,oCAAoC,GAAkB;IACjE,SAAS,EAAE;QACT,MAAM,EAAE;YACN,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACV,OAAO,EAAE;oBACP,IAAI,EAAE,QAAQ;oBACd,UAAU,EAAE;wBACV,IAAI,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE;wBACzB,SAAS,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE;qBAC7B;iBACF;aACF;SACF;KACF;IACD,MAAM,EAAE,mBAAmB,CAAC,IAAI;CACjC,CAAC;AAEF,yCAAyC;AACzC,MAAM,CAAC,MAAM,4BAA4B,GAAkB;IACzD,SAAS,EAAE;QACT,KAAK,EAAE,qCAAqC;QAC5C,MAAM,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE;KAC7B;IACD,MAAM,EAAE,mBAAmB,CAAC,IAAI;CACjC,CAAC;AAEF,iCAAiC;AACjC,MAAM,CAAC,MAAM,4BAA4B,GAAkB;IACzD,SAAS,EAAE;QACT,KAAK,EAAE,0CAA0C;QACjD,MAAM,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE;KACxB;IACD,MAAM,EAAE,mBAAmB,CAAC,IAAI;CACjC,CAAC"}
|
|
@@ -8,10 +8,11 @@ import { getEntityMetrics } from "../metrics/getEntityMetrics";
|
|
|
8
8
|
import { resolveMetric } from "../metrics/resolveMetric";
|
|
9
9
|
import { initiativeToCardModel } from "./view";
|
|
10
10
|
import { enrichEntity } from "../core/enrichEntity";
|
|
11
|
-
import { getProp } from "../objects";
|
|
11
|
+
import { getProp, getWithDefault } from "../objects";
|
|
12
12
|
import { upsertResource } from "../resources/upsertResource";
|
|
13
13
|
import { doesResourceExist } from "../resources/doesResourceExist";
|
|
14
14
|
import { removeResource } from "../resources/removeResource";
|
|
15
|
+
import { metricToEditor } from "../core/schemas/internal/metrics/metricToEditor";
|
|
15
16
|
/**
|
|
16
17
|
* Hub Initiative Class
|
|
17
18
|
*/
|
|
@@ -187,17 +188,10 @@ export class HubInitiative extends HubItemEntity {
|
|
|
187
188
|
const editor = include.length
|
|
188
189
|
? (await enrichEntity(cloneObject(this.entity), include, this.context.hubRequestOptions))
|
|
189
190
|
: cloneObject(this.entity);
|
|
190
|
-
//
|
|
191
|
+
// 2. on initiative creation, pre-populate the sharing field
|
|
192
|
+
// with the core + collaobration groups if the user has the
|
|
193
|
+
// appropriate shareToGroup portal privilege
|
|
191
194
|
editor._groups = [];
|
|
192
|
-
// 2. Apply transforms to relevant entity values so they
|
|
193
|
-
// can be consumed by the editor
|
|
194
|
-
/**
|
|
195
|
-
* on initiative creation, we want to pre-populate the sharing
|
|
196
|
-
* field with the core and collaboration groups if the user
|
|
197
|
-
* has the appropriate shareToGroup portal privilege
|
|
198
|
-
*
|
|
199
|
-
* TODO: we should re-evaluate this "auto-populate" pattern
|
|
200
|
-
*/
|
|
201
195
|
const { access: canShare } = this.checkPermission("platform:portal:user:shareToGroup");
|
|
202
196
|
if (!editor.id && canShare) {
|
|
203
197
|
const currentUserGroups = getProp(this.context, "currentUser.groups") || [];
|
|
@@ -215,6 +209,12 @@ export class HubInitiative extends HubItemEntity {
|
|
|
215
209
|
}, []);
|
|
216
210
|
editor._groups = [...editor._groups, ...defaultShareWithGroups];
|
|
217
211
|
}
|
|
212
|
+
// 3. handle metrics
|
|
213
|
+
const metrics = getEntityMetrics(this.entity);
|
|
214
|
+
const metric = metrics.find((m) => m.id === editorContext.metricId);
|
|
215
|
+
const displays = getWithDefault(this.entity, "view.metricDisplays", []);
|
|
216
|
+
const displayConfig = displays.find((display) => display.metricId === editorContext.metricId) || {};
|
|
217
|
+
editor._metric = metricToEditor(metric, displayConfig);
|
|
218
218
|
return editor;
|
|
219
219
|
}
|
|
220
220
|
/**
|
|
@@ -223,15 +223,20 @@ export class HubInitiative extends HubItemEntity {
|
|
|
223
223
|
* @returns
|
|
224
224
|
*/
|
|
225
225
|
async fromEditor(editor) {
|
|
226
|
+
// 1. extract the ephemeral props we graft onto the editor
|
|
227
|
+
// note: they will be deleted in the editorToInitiative function
|
|
228
|
+
const thumbnail = editor._thumbnail;
|
|
229
|
+
const featuredImage = editor.view.featuredImage;
|
|
226
230
|
const autoShareGroups = editor._groups || [];
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
//
|
|
230
|
-
|
|
231
|
-
|
|
231
|
+
// 2. convert the editor values back to a initiative entity
|
|
232
|
+
const entity = editorToInitiative(editor, this.context.portal);
|
|
233
|
+
// 3. set the thumbnailCache to ensure that
|
|
234
|
+
// the thumbnail is updated on the next save
|
|
235
|
+
if (thumbnail) {
|
|
236
|
+
if (thumbnail.blob) {
|
|
232
237
|
this.thumbnailCache = {
|
|
233
|
-
file:
|
|
234
|
-
filename:
|
|
238
|
+
file: thumbnail.blob,
|
|
239
|
+
filename: thumbnail.fileName,
|
|
235
240
|
clear: false,
|
|
236
241
|
};
|
|
237
242
|
}
|
|
@@ -241,18 +246,9 @@ export class HubInitiative extends HubItemEntity {
|
|
|
241
246
|
};
|
|
242
247
|
}
|
|
243
248
|
}
|
|
244
|
-
|
|
245
|
-
// extract out things we don't want to persist directly
|
|
246
|
-
// b/c the first thing we do is create/update the initiative
|
|
247
|
-
const featuredImage = editor.view.featuredImage;
|
|
248
|
-
delete editor.view.featuredImage;
|
|
249
|
-
// convert back to an entity
|
|
250
|
-
const entity = editorToInitiative(editor, this.context.portal);
|
|
251
|
-
// handle featured image
|
|
252
|
-
// If there is a featured image from the editor, we need to...
|
|
249
|
+
// 4. upsert or remove the configured featured image
|
|
253
250
|
if (featuredImage) {
|
|
254
251
|
let featuredImageUrl = null;
|
|
255
|
-
// ...upsert it if it's a blob
|
|
256
252
|
if (featuredImage.blob) {
|
|
257
253
|
featuredImageUrl = await upsertResource(entity.id, entity.owner, featuredImage.blob, "featuredImage.png", this.context.userRequestOptions);
|
|
258
254
|
}
|
|
@@ -261,23 +257,13 @@ export class HubInitiative extends HubItemEntity {
|
|
|
261
257
|
}
|
|
262
258
|
entity.view = Object.assign(Object.assign({}, entity.view), { featuredImageUrl });
|
|
263
259
|
}
|
|
264
|
-
//
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
|
|
269
|
-
else {
|
|
270
|
-
// ...otherwise, update the in-memory entity and save it
|
|
271
|
-
this.entity = entity;
|
|
272
|
-
await this.save();
|
|
273
|
-
}
|
|
274
|
-
/**
|
|
275
|
-
* operations that are only relevant to the create workflow.
|
|
276
|
-
* if these ever become part of the edit experience, we can remove the conditional
|
|
277
|
-
*/
|
|
260
|
+
// 5. save or create the entity
|
|
261
|
+
this.entity = entity;
|
|
262
|
+
await this.save();
|
|
263
|
+
// 6. share the entity with the configured groups
|
|
264
|
+
const isCreate = !editor.id;
|
|
278
265
|
if (isCreate) {
|
|
279
266
|
await this.setAccess(editor.access);
|
|
280
|
-
// share the entity with the configured groups
|
|
281
267
|
if (autoShareGroups.length) {
|
|
282
268
|
await Promise.all(autoShareGroups.map((id) => {
|
|
283
269
|
return this.shareWithGroup(id);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"HubInitiative.js","sourceRoot":"","sources":["../../../src/initiatives/HubInitiative.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAChD,OAAO,EAAE,eAAe,EAAE,MAAM,iCAAiC,CAAC;AAElE,OAAO,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AACtC,OAAO,EACL,gBAAgB,EAChB,gBAAgB,EAChB,kBAAkB,EAClB,eAAe,EACf,gBAAgB,GACjB,MAAM,kBAAkB,CAAC;AAE1B,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAE5C,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAGtD,OAAO,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAC;AAC/D,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAKzD,OAAO,EAAE,qBAAqB,EAAE,MAAM,QAAQ,CAAC;
|
|
1
|
+
{"version":3,"file":"HubInitiative.js","sourceRoot":"","sources":["../../../src/initiatives/HubInitiative.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
// Note - we separate these imports so we can cleanly spy on things in tests
|
|
2
2
|
import { createModel, fetchModelFromItem, getModel, updateModel, } from "../models";
|
|
3
3
|
import { constructSlug, getItemBySlug, getUniqueSlug, setSlugKeyword, } from "../items/slugs";
|
|
4
|
-
import { isGuid, cloneObject, unique, mapBy, getProp, getFamily, setDiscussableKeyword, } from "../index";
|
|
4
|
+
import { isGuid, cloneObject, unique, mapBy, getProp, getFamily, setDiscussableKeyword, camelize, } from "../index";
|
|
5
5
|
import { removeItem, getItem, } from "@esri/arcgis-rest-portal";
|
|
6
6
|
import { PropertyMapper } from "../core/_internal/PropertyMapper";
|
|
7
7
|
import { parseInclude } from "../search/_internal/parseInclude";
|
|
@@ -17,6 +17,9 @@ import { negateGroupPredicates } from "../search/_internal/negateGroupPredicates
|
|
|
17
17
|
import { computeLinks } from "./_internal/computeLinks";
|
|
18
18
|
import { deriveLocationFromItem, getHubRelativeUrl, } from "../content/_internal/internalContentUtils";
|
|
19
19
|
import { setEntityStatusKeyword } from "../utils/internal/setEntityStatusKeyword";
|
|
20
|
+
import { editorToMetric } from "../core/schemas/internal/metrics/editorToMetric";
|
|
21
|
+
import { setMetricAndDisplay } from "../core/schemas/internal/metrics/setMetricAndDisplay";
|
|
22
|
+
import { createId } from "../util";
|
|
20
23
|
/**
|
|
21
24
|
* @private
|
|
22
25
|
* Create a new Hub Initiative item
|
|
@@ -60,16 +63,29 @@ export async function createInitiative(partialInitiative, requestOptions) {
|
|
|
60
63
|
* @returns
|
|
61
64
|
*/
|
|
62
65
|
export function editorToInitiative(editor, portal) {
|
|
63
|
-
var _a;
|
|
64
|
-
|
|
66
|
+
var _a, _b;
|
|
67
|
+
const _metric = editor._metric;
|
|
68
|
+
// 1. remove the ephemeral props we graft onto the editor
|
|
65
69
|
delete editor._groups;
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
70
|
+
delete editor._thumbnail;
|
|
71
|
+
(_a = editor.view) === null || _a === void 0 ? true : delete _a.featuredImage;
|
|
72
|
+
delete editor._metric;
|
|
73
|
+
delete editor._groups;
|
|
74
|
+
// 2. clone into a HubInitiative and ensure there's an orgUrlKey
|
|
75
|
+
let initiative = cloneObject(editor);
|
|
69
76
|
initiative.orgUrlKey = editor.orgUrlKey ? editor.orgUrlKey : portal.urlKey;
|
|
70
|
-
// copy the location extent up one level
|
|
71
|
-
initiative.extent = (
|
|
72
|
-
//
|
|
77
|
+
// 3. copy the location extent up one level
|
|
78
|
+
initiative.extent = (_b = editor.location) === null || _b === void 0 ? void 0 : _b.extent;
|
|
79
|
+
// 4. handle configured metric:
|
|
80
|
+
// a. transform editor values into metric + displayConfig
|
|
81
|
+
// b. set metric and displayConfig on initiative
|
|
82
|
+
if (_metric && Object.keys(_metric).length) {
|
|
83
|
+
const metricId = _metric.metricId || createId(camelize(`${_metric.cardTitle}_`));
|
|
84
|
+
const { metric, displayConfig } = editorToMetric(_metric, metricId, {
|
|
85
|
+
metricName: _metric.cardTitle,
|
|
86
|
+
});
|
|
87
|
+
initiative = setMetricAndDisplay(initiative, metric, displayConfig);
|
|
88
|
+
}
|
|
73
89
|
return initiative;
|
|
74
90
|
}
|
|
75
91
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"HubInitiatives.js","sourceRoot":"","sources":["../../../src/initiatives/HubInitiatives.ts"],"names":[],"mappings":"AAEA,4EAA4E;AAC5E,OAAO,EACL,WAAW,EACX,kBAAkB,EAClB,QAAQ,EACR,WAAW,GACZ,MAAM,WAAW,CAAC;AACnB,OAAO,EACL,aAAa,EACb,aAAa,EACb,aAAa,EACb,cAAc,GACf,MAAM,gBAAgB,CAAC;AAExB,OAAO,EACL,MAAM,EACN,WAAW,EACX,MAAM,EACN,KAAK,EACL,OAAO,EACP,SAAS,EAET,qBAAqB,
|
|
1
|
+
{"version":3,"file":"HubInitiatives.js","sourceRoot":"","sources":["../../../src/initiatives/HubInitiatives.ts"],"names":[],"mappings":"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"}
|
|
@@ -24,6 +24,7 @@ export const InitiativePermissions = [
|
|
|
24
24
|
"hub:initiative:workspace:overview",
|
|
25
25
|
"hub:initiative:workspace:dashboard",
|
|
26
26
|
"hub:initiative:workspace:details",
|
|
27
|
+
"hub:initiative:workspace:metrics",
|
|
27
28
|
"hub:initiative:workspace:projects",
|
|
28
29
|
"hub:initiative:workspace:projects:member",
|
|
29
30
|
"hub:initiative:workspace:projects:manager",
|
|
@@ -97,6 +98,10 @@ export const InitiativePermissionPolicies = [
|
|
|
97
98
|
permission: "hub:initiative:workspace:details",
|
|
98
99
|
dependencies: ["hub:initiative:workspace", "hub:initiative:edit"],
|
|
99
100
|
},
|
|
101
|
+
{
|
|
102
|
+
permission: "hub:initiative:workspace:metrics",
|
|
103
|
+
dependencies: ["hub:initiative:workspace", "hub:initiative:edit"],
|
|
104
|
+
},
|
|
100
105
|
{
|
|
101
106
|
permission: "hub:initiative:workspace:projects",
|
|
102
107
|
dependencies: ["hub:initiative:workspace", "hub:initiative:edit"],
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"InitiativeBusinessRules.js","sourceRoot":"","sources":["../../../../src/initiatives/_internal/InitiativeBusinessRules.ts"],"names":[],"mappings":"AAEA;;GAEG;AACH,MAAM,CAAC,MAAM,yBAAyB,GAAkB;IACtD,uBAAuB,EAAE,KAAK;IAC9B,wBAAwB,EAAE,IAAI;IAC9B,4BAA4B,EAAE,KAAK;CACpC,CAAC;AAEF;;;;GAIG;AACH,MAAM,CAAC,MAAM,qBAAqB,GAAG;IACnC,gBAAgB;IAChB,uBAAuB;IACvB,uBAAuB;IACvB,qBAAqB;IACrB,qBAAqB;IACrB,uBAAuB;IACvB,wBAAwB;IACxB,4BAA4B;IAC5B,0BAA0B;IAC1B,mCAAmC;IACnC,oCAAoC;IACpC,kCAAkC;IAClC,mCAAmC;IACnC,0CAA0C;IAC1C,2CAA2C;IAC3C,mCAAmC;IACnC,wCAAwC;IACxC,kCAAkC;IAClC,kCAAkC;IAClC,kDAAkD;IAClD,uBAAuB;CACf,CAAC;AAEX;;;GAGG;AACH,MAAM,CAAC,MAAM,4BAA4B,GAAwB;IAC/D;QACE,UAAU,EAAE,gBAAgB;QAC5B,QAAQ,EAAE,CAAC,QAAQ,CAAC;QACpB,QAAQ,EAAE,CAAC,aAAa,CAAC;KAC1B;IACD;QACE,UAAU,EAAE,uBAAuB;QACnC,YAAY,EAAE,CAAC,gBAAgB,CAAC;QAChC,aAAa,EAAE,IAAI;QACnB,UAAU,EAAE,CAAC,wBAAwB,CAAC;KACvC;IACD;QACE,UAAU,EAAE,qBAAqB;QACjC,QAAQ,EAAE,CAAC,QAAQ,CAAC;QACpB,aAAa,EAAE,KAAK;QACpB,QAAQ,EAAE,CAAC,aAAa,EAAE,WAAW,CAAC;KACvC;IACD;QACE,UAAU,EAAE,qBAAqB;QACjC,YAAY,EAAE,CAAC,gBAAgB,CAAC;QAChC,aAAa,EAAE,IAAI;QACnB,UAAU,EAAE,IAAI;KACjB;IACD;QACE,UAAU,EAAE,uBAAuB;QACnC,YAAY,EAAE,CAAC,gBAAgB,CAAC;QAChC,aAAa,EAAE,IAAI;QAEnB,WAAW,EAAE,IAAI;KAClB;IACD;QACE,UAAU,EAAE,uBAAuB;QACnC,YAAY,EAAE,CAAC,qBAAqB,CAAC;KACtC;IACD;QACE,UAAU,EAAE,wBAAwB;QACpC,YAAY,EAAE,CAAC,qBAAqB,CAAC;KACtC;IACD;QACE,UAAU,EAAE,4BAA4B;QACxC,YAAY,EAAE,CAAC,qBAAqB,CAAC;KACtC;IACD;QACE,UAAU,EAAE,0BAA0B;QACtC,YAAY,EAAE,CAAC,uBAAuB,CAAC;QACvC,YAAY,EAAE,CAAC,QAAQ,EAAE,OAAO,CAAC;KAClC;IACD;QACE,UAAU,EAAE,mCAAmC;QAC/C,YAAY,EAAE,CAAC,0BAA0B,EAAE,qBAAqB,CAAC;KAClE;IACD;QACE,UAAU,EAAE,oCAAoC;QAChD,YAAY,EAAE,CAAC,0BAA0B,EAAE,qBAAqB,CAAC;KAClE;IACD;QACE,UAAU,EAAE,kCAAkC;QAC9C,YAAY,EAAE,CAAC,0BAA0B,EAAE,qBAAqB,CAAC;KAClE;IACD;QACE,UAAU,EAAE,mCAAmC;QAC/C,YAAY,EAAE,CAAC,0BAA0B,EAAE,qBAAqB,CAAC;KAClE;IACD;QACE,UAAU,EAAE,0CAA0C;QACtD,YAAY,EAAE,CAAC,mCAAmC,CAAC;QACnD,UAAU,EAAE;YACV;gBACE,QAAQ,EAAE,qBAAqB;gBAC/B,IAAI,EAAE,iBAAiB;gBACvB,KAAK,EAAE,6BAA6B;aACrC;SACF;KACF;IACD;QACE,UAAU,EAAE,2CAA2C;QACvD,YAAY,EAAE,CAAC,mCAAmC,CAAC;QACnD,UAAU,EAAE;YACV;gBACE,QAAQ,EAAE,qBAAqB;gBAC/B,IAAI,EAAE,gBAAgB;gBACtB,KAAK,EAAE,6BAA6B;aACrC;SACF;KACF;IACD;QACE,UAAU,EAAE,mCAAmC;QAC/C,YAAY,EAAE,CAAC,0BAA0B,EAAE,qBAAqB,CAAC;QACjE,WAAW,EAAE,IAAI;KAClB;IACD;QACE,UAAU,EAAE,wCAAwC;QACpD,YAAY,EAAE,CAAC,0BAA0B,EAAE,qBAAqB,CAAC;KAClE;IACD;QACE,UAAU,EAAE,kCAAkC;QAC9C,YAAY,EAAE,CAAC,0BAA0B,EAAE,qBAAqB,CAAC;KAClE;IACD;QACE,UAAU,EAAE,kCAAkC;QAC9C,YAAY,EAAE,CAAC,0BAA0B,EAAE,qBAAqB,CAAC;KAClE;IACD;QACE,UAAU,EAAE,uBAAuB;QACnC,YAAY,EAAE,CAAC,qBAAqB,CAAC;KACtC;IACD,4CAA4C;IAC5C;QACE,UAAU,EAAE,kDAAkD;QAC9D,YAAY,EAAE,CAAC,mCAAmC,EAAE,kBAAkB,CAAC;KACxE;CACF,CAAC"}
|
|
1
|
+
{"version":3,"file":"InitiativeBusinessRules.js","sourceRoot":"","sources":["../../../../src/initiatives/_internal/InitiativeBusinessRules.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,8 +1,11 @@
|
|
|
1
|
+
import { MetricSchema } from "../../core/schemas/internal/metrics/MetricSchema";
|
|
1
2
|
import { HubItemEntitySchema } from "../../core/schemas/shared/HubItemEntitySchema";
|
|
2
3
|
import { HubEntityStatus } from "../../types";
|
|
4
|
+
import { IF_SOURCE_TITLE_THEN_SOURCE_LINK, IF_STATIC_THEN_REQUIRE_VALUE, VALUE_TYPE_MAPPING, } from "../../core/schemas/internal/metrics/definitions";
|
|
3
5
|
export const InitiativeEditorTypes = [
|
|
4
6
|
"hub:initiative:edit",
|
|
5
7
|
"hub:initiative:create",
|
|
8
|
+
"hub:initiative:metrics",
|
|
6
9
|
];
|
|
7
10
|
/**
|
|
8
11
|
* defines the JSON schema for a Hub Initiative's editable fields
|
|
@@ -14,5 +17,13 @@ export const InitiativeSchema = Object.assign(Object.assign({}, HubItemEntitySch
|
|
|
14
17
|
type: "string",
|
|
15
18
|
default: HubEntityStatus.notStarted,
|
|
16
19
|
enum: Object.keys(HubEntityStatus),
|
|
17
|
-
}
|
|
20
|
+
}, _metric: {
|
|
21
|
+
type: "object",
|
|
22
|
+
required: ["cardTitle"],
|
|
23
|
+
properties: MetricSchema.properties,
|
|
24
|
+
} }), allOf: [
|
|
25
|
+
IF_SOURCE_TITLE_THEN_SOURCE_LINK,
|
|
26
|
+
IF_STATIC_THEN_REQUIRE_VALUE,
|
|
27
|
+
VALUE_TYPE_MAPPING,
|
|
28
|
+
] });
|
|
18
29
|
//# sourceMappingURL=InitiativeSchema.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"InitiativeSchema.js","sourceRoot":"","sources":["../../../../src/initiatives/_internal/InitiativeSchema.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"InitiativeSchema.js","sourceRoot":"","sources":["../../../../src/initiatives/_internal/InitiativeSchema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,kDAAkD,CAAC;AAEhF,OAAO,EAAE,mBAAmB,EAAE,MAAM,+CAA+C,CAAC;AACpF,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAC9C,OAAO,EACL,gCAAgC,EAChC,4BAA4B,EAC5B,kBAAkB,GACnB,MAAM,iDAAiD,CAAC;AAGzD,MAAM,CAAC,MAAM,qBAAqB,GAAG;IACnC,qBAAqB;IACrB,uBAAuB;IACvB,wBAAwB;CAChB,CAAC;AAEX;;GAEG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAyB,gCACjD,mBAAmB,KACtB,UAAU,kCACL,mBAAmB,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,eAAe,CAAC,UAAU;YACnC,IAAI,EAAE,MAAM,CAAC,IAAI,CAAC,eAAe,CAAC;SACnC,EACD,OAAO,EAAE;YACP,IAAI,EAAE,QAAQ;YACd,QAAQ,EAAE,CAAC,WAAW,CAAC;YACvB,UAAU,EAAE,YAAY,CAAC,UAAU;SACpC,KAEH,KAAK,EAAE;QACL,gCAAgC;QAChC,4BAA4B;QAC5B,kBAAkB;KACnB,GACsB,CAAC"}
|
|
@@ -16,6 +16,7 @@ export const DEFAULT_INITIATIVE = {
|
|
|
16
16
|
view: {
|
|
17
17
|
featuredContentIds: [],
|
|
18
18
|
hero: HubEntityHero.map,
|
|
19
|
+
metricDisplays: [],
|
|
19
20
|
},
|
|
20
21
|
};
|
|
21
22
|
/**
|
|
@@ -39,6 +40,7 @@ export const DEFAULT_INITIATIVE_MODEL = {
|
|
|
39
40
|
view: {
|
|
40
41
|
featuredContentIds: [],
|
|
41
42
|
hero: HubEntityHero.map,
|
|
43
|
+
metricDisplays: [],
|
|
42
44
|
},
|
|
43
45
|
},
|
|
44
46
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"defaults.js","sourceRoot":"","sources":["../../../src/initiatives/defaults.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,eAAe,EAAU,MAAM,UAAU,CAAC;AAClE,OAAO,EAAE,yBAAyB,EAAE,MAAM,qCAAqC,CAAC;AAEhF,MAAM,CAAC,MAAM,wBAAwB,GAAG,gBAAgB,CAAC;AAEzD;;GAEG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAA4B;IACzD,IAAI,EAAE,EAAE;IACR,IAAI,EAAE,EAAE;IACR,YAAY,EAAE,CAAC,iBAAiB,CAAC;IACjC,OAAO,EAAE,EAAE,aAAa,EAAE,CAAC,EAAE;IAC7B,WAAW,EAAE,EAAE;IACf,aAAa,EAAE,CAAC;IAChB,MAAM,EAAE,eAAe,CAAC,UAAU;IAClC,QAAQ,EAAE,yBAAyB;IACnC,IAAI,EAAE;QACJ,kBAAkB,EAAE,EAAE;QACtB,IAAI,EAAE,aAAa,CAAC,GAAG;
|
|
1
|
+
{"version":3,"file":"defaults.js","sourceRoot":"","sources":["../../../src/initiatives/defaults.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,eAAe,EAAU,MAAM,UAAU,CAAC;AAClE,OAAO,EAAE,yBAAyB,EAAE,MAAM,qCAAqC,CAAC;AAEhF,MAAM,CAAC,MAAM,wBAAwB,GAAG,gBAAgB,CAAC;AAEzD;;GAEG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAA4B;IACzD,IAAI,EAAE,EAAE;IACR,IAAI,EAAE,EAAE;IACR,YAAY,EAAE,CAAC,iBAAiB,CAAC;IACjC,OAAO,EAAE,EAAE,aAAa,EAAE,CAAC,EAAE;IAC7B,WAAW,EAAE,EAAE;IACf,aAAa,EAAE,CAAC;IAChB,MAAM,EAAE,eAAe,CAAC,UAAU;IAClC,QAAQ,EAAE,yBAAyB;IACnC,IAAI,EAAE;QACJ,kBAAkB,EAAE,EAAE;QACtB,IAAI,EAAE,aAAa,CAAC,GAAG;QACvB,cAAc,EAAE,EAAE;KACnB;CACF,CAAC;AAEF;;GAEG;AACH,MAAM,CAAC,MAAM,wBAAwB,GAAW;IAC9C,IAAI,EAAE;QACJ,IAAI,EAAE,wBAAwB;QAC9B,KAAK,EAAE,EAAE;QACT,WAAW,EAAE,EAAE;QACf,OAAO,EAAE,EAAE;QACX,IAAI,EAAE,EAAE;QACR,YAAY,EAAE,CAAC,iBAAiB,CAAC;QACjC,UAAU,EAAE;YACV,IAAI,EAAE,EAAE;YACR,aAAa,EAAE,CAAC;SACjB;KACF;IACD,IAAI,EAAE;QACJ,MAAM,EAAE,eAAe,CAAC,UAAU;QAClC,IAAI,EAAE;YACJ,kBAAkB,EAAE,EAAE;YACtB,IAAI,EAAE,aAAa,CAAC,GAAG;YACvB,cAAc,EAAE,EAAE;SACnB;KACF;CACmB,CAAC"}
|
|
@@ -7,13 +7,11 @@ 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 {
|
|
10
|
+
import { cloneObject } from "../util";
|
|
11
11
|
import { createProject, editorToProject, updateProject } from "./edit";
|
|
12
12
|
import { enrichEntity } from "../core/enrichEntity";
|
|
13
13
|
import { getProp, getWithDefault } from "../objects";
|
|
14
14
|
import { metricToEditor } from "../core/schemas/internal/metrics/metricToEditor";
|
|
15
|
-
import { editorToMetric } from "../core/schemas/internal/metrics/editorToMetric";
|
|
16
|
-
import { setMetricAndDisplay } from "../core/schemas/internal/metrics/setMetricAndDisplay";
|
|
17
15
|
import { upsertResource } from "../resources/upsertResource";
|
|
18
16
|
import { doesResourceExist } from "../resources/doesResourceExist";
|
|
19
17
|
import { removeResource } from "../resources/removeResource";
|
|
@@ -131,17 +129,10 @@ export class HubProject extends HubItemEntity {
|
|
|
131
129
|
const editor = include.length
|
|
132
130
|
? (await enrichEntity(cloneObject(this.entity), include, this.context.hubRequestOptions))
|
|
133
131
|
: cloneObject(this.entity);
|
|
134
|
-
//
|
|
132
|
+
// 2. on project creation, pre-populate the sharing field
|
|
133
|
+
// with the core + collaobration groups if the user has the
|
|
134
|
+
// appropriate shareToGroup portal privilege
|
|
135
135
|
editor._groups = [];
|
|
136
|
-
// 2. Apply transforms to relevant entity values so they
|
|
137
|
-
// can be consumed by the editor
|
|
138
|
-
/**
|
|
139
|
-
* on project creation, we want to pre-populate the sharing
|
|
140
|
-
* field with the core and collaboration groups if the user
|
|
141
|
-
* has the appropriate shareToGroup portal privilege
|
|
142
|
-
*
|
|
143
|
-
* TODO: we should re-evaluate this "auto-populate" pattern
|
|
144
|
-
*/
|
|
145
136
|
const { access: canShare } = this.checkPermission("platform:portal:user:shareToGroup");
|
|
146
137
|
if (!editor.id && canShare) {
|
|
147
138
|
const currentUserGroups = getProp(this.context, "currentUser.groups") || [];
|
|
@@ -159,7 +150,7 @@ export class HubProject extends HubItemEntity {
|
|
|
159
150
|
}, []);
|
|
160
151
|
editor._groups = [...editor._groups, ...defaultShareWithGroups];
|
|
161
152
|
}
|
|
162
|
-
// handle metrics
|
|
153
|
+
// 3. handle metrics
|
|
163
154
|
const metrics = getEntityMetrics(this.entity);
|
|
164
155
|
const metric = metrics.find((m) => m.id === editorContext.metricId);
|
|
165
156
|
const displays = getWithDefault(this.entity, "view.metricDisplays", []);
|
|
@@ -173,15 +164,20 @@ export class HubProject extends HubItemEntity {
|
|
|
173
164
|
* @returns
|
|
174
165
|
*/
|
|
175
166
|
async fromEditor(editor, editorContext) {
|
|
167
|
+
// 1. extract the ephemeral props we graft onto the editor
|
|
168
|
+
// note: they will be deleted in the editorToProject function
|
|
169
|
+
const thumbnail = editor._thumbnail;
|
|
170
|
+
const featuredImage = editor.view.featuredImage;
|
|
176
171
|
const autoShareGroups = editor._groups || [];
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
//
|
|
180
|
-
|
|
181
|
-
|
|
172
|
+
// 2. convert the editor values back to a project entity
|
|
173
|
+
const entity = editorToProject(editor, this.context.portal);
|
|
174
|
+
// 3. set the thumbnailCache to ensure that
|
|
175
|
+
// the thumbnail is updated on the next save
|
|
176
|
+
if (thumbnail) {
|
|
177
|
+
if (thumbnail.blob) {
|
|
182
178
|
this.thumbnailCache = {
|
|
183
|
-
file:
|
|
184
|
-
filename:
|
|
179
|
+
file: thumbnail.blob,
|
|
180
|
+
filename: thumbnail.fileName,
|
|
185
181
|
clear: false,
|
|
186
182
|
};
|
|
187
183
|
}
|
|
@@ -191,34 +187,9 @@ export class HubProject extends HubItemEntity {
|
|
|
191
187
|
};
|
|
192
188
|
}
|
|
193
189
|
}
|
|
194
|
-
|
|
195
|
-
// extract out things we don't want to persist directly
|
|
196
|
-
// b/c the first thing we do is create/update the project
|
|
197
|
-
const featuredImage = editor.view.featuredImage;
|
|
198
|
-
delete editor.view.featuredImage;
|
|
199
|
-
// convert back to an entity
|
|
200
|
-
let entity = editorToProject(editor, this.context.portal);
|
|
201
|
-
// handle metrics
|
|
202
|
-
const _metric = editor._metric;
|
|
203
|
-
// if we have a current metric and it's beyond the default empty from toEditor
|
|
204
|
-
if (_metric && Object.keys(_metric).length) {
|
|
205
|
-
let metricId = editorContext === null || editorContext === void 0 ? void 0 : editorContext.metricId;
|
|
206
|
-
// creating a new metric
|
|
207
|
-
if (!metricId) {
|
|
208
|
-
metricId = createId(camelize(`${editor._metric.cardTitle}_`));
|
|
209
|
-
}
|
|
210
|
-
// transform editor values into metric and displayConfig
|
|
211
|
-
const { metric, displayConfig } = editorToMetric(editor._metric, metricId, {
|
|
212
|
-
metricName: editor._metric.cardTitle,
|
|
213
|
-
});
|
|
214
|
-
// put metric and display config onto entity
|
|
215
|
-
entity = setMetricAndDisplay(this.entity, metric, displayConfig);
|
|
216
|
-
}
|
|
217
|
-
// handle featured image
|
|
218
|
-
// If there is a featured image from the editor, we need to...
|
|
190
|
+
// 4. upsert or remove the configured featured image
|
|
219
191
|
if (featuredImage) {
|
|
220
192
|
let featuredImageUrl = null;
|
|
221
|
-
// ...upsert it if it's a blob
|
|
222
193
|
if (featuredImage.blob) {
|
|
223
194
|
featuredImageUrl = await upsertResource(entity.id, entity.owner, featuredImage.blob, "featuredImage.png", this.context.userRequestOptions);
|
|
224
195
|
}
|
|
@@ -227,24 +198,13 @@ export class HubProject extends HubItemEntity {
|
|
|
227
198
|
}
|
|
228
199
|
entity.view = Object.assign(Object.assign({}, entity.view), { featuredImageUrl });
|
|
229
200
|
}
|
|
230
|
-
//
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
else {
|
|
236
|
-
// ...otherwise, update the in-memory entity and save it
|
|
237
|
-
this.entity = entity;
|
|
238
|
-
await this.save();
|
|
239
|
-
}
|
|
240
|
-
/**
|
|
241
|
-
* operations that are only relevant to the project create workflow.
|
|
242
|
-
* if these ever become part of the edit experience, we can remove
|
|
243
|
-
* the conditional
|
|
244
|
-
*/
|
|
201
|
+
// 5. save or create the entity
|
|
202
|
+
this.entity = entity;
|
|
203
|
+
await this.save();
|
|
204
|
+
// 6. share the entity with the configured groups
|
|
205
|
+
const isCreate = !editor.id;
|
|
245
206
|
if (isCreate) {
|
|
246
207
|
await this.setAccess(editor.access);
|
|
247
|
-
// share the entity with the configured groups
|
|
248
208
|
if (autoShareGroups.length) {
|
|
249
209
|
await Promise.all(autoShareGroups.map((id) => {
|
|
250
210
|
return this.shareWithGroup(id);
|