@esri/hub-common 14.101.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/groups/_internal/getPropertyMap.js +1 -0
- package/dist/esm/groups/_internal/getPropertyMap.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/groups/_internal/getPropertyMap.js +1 -0
- package/dist/node/groups/_internal/getPropertyMap.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/core/types/IHubGroup.d.ts +6 -0
- 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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getPropertyMap.js","sourceRoot":"","sources":["../../../../src/groups/_internal/getPropertyMap.ts"],"names":[],"mappings":"AAEA;;;;;GAKG;AAEH,MAAM,UAAU,cAAc;IAC5B,MAAM,GAAG,GAAmB,EAAE,CAAC;IAE/B;;OAEG;IACH,GAAG,CAAC,IAAI,CAAC,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC,CAAC;IACnD,GAAG,CAAC,IAAI,CAAC,EAAE,SAAS,EAAE,SAAS,EAAE,QAAQ,EAAE,SAAS,EAAE,CAAC,CAAC;IACxD,GAAG,CAAC,IAAI,CAAC,EAAE,SAAS,EAAE,aAAa,EAAE,QAAQ,EAAE,wBAAwB,EAAE,CAAC,CAAC;IAE3E,qCAAqC;IAErC,MAAM,UAAU,GAAG;QACjB,QAAQ;QACR,UAAU;QACV,aAAa;QACb,IAAI;QACJ,kBAAkB;QAClB,eAAe;QACf,YAAY;QACZ,YAAY;QACZ,kBAAkB;QAClB,OAAO;QACP,WAAW;QACX,WAAW;QACX,WAAW;QACX,MAAM;QACN,WAAW;QACX,cAAc;QACd,cAAc;QACd,gBAAgB;KACjB,CAAC;IACF,UAAU,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE;QAC3B,GAAG,CAAC,IAAI,CAAC,EAAE,SAAS,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,CAAC;IAClD,CAAC,CAAC,CAAC;IAEH,OAAO,GAAG,CAAC;AACb,CAAC"}
|
|
1
|
+
{"version":3,"file":"getPropertyMap.js","sourceRoot":"","sources":["../../../../src/groups/_internal/getPropertyMap.ts"],"names":[],"mappings":"AAEA;;;;;GAKG;AAEH,MAAM,UAAU,cAAc;IAC5B,MAAM,GAAG,GAAmB,EAAE,CAAC;IAE/B;;OAEG;IACH,GAAG,CAAC,IAAI,CAAC,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC,CAAC;IACnD,GAAG,CAAC,IAAI,CAAC,EAAE,SAAS,EAAE,SAAS,EAAE,QAAQ,EAAE,SAAS,EAAE,CAAC,CAAC;IACxD,GAAG,CAAC,IAAI,CAAC,EAAE,SAAS,EAAE,aAAa,EAAE,QAAQ,EAAE,wBAAwB,EAAE,CAAC,CAAC;IAE3E,qCAAqC;IAErC,MAAM,UAAU,GAAG;QACjB,QAAQ;QACR,UAAU;QACV,aAAa;QACb,IAAI;QACJ,kBAAkB;QAClB,eAAe;QACf,YAAY;QACZ,YAAY;QACZ,kBAAkB;QAClB,OAAO;QACP,OAAO;QACP,WAAW;QACX,WAAW;QACX,WAAW;QACX,MAAM;QACN,WAAW;QACX,cAAc;QACd,cAAc;QACd,gBAAgB;KACjB,CAAC;IACF,UAAU,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE;QAC3B,GAAG,CAAC,IAAI,CAAC,EAAE,SAAS,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,CAAC;IAClD,CAAC,CAAC,CAAC;IAEH,OAAO,GAAG,CAAC;AACb,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":"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;AAc/C,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAEpD,OAAO,EAAE,OAAO,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AACrD,OAAO,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAC7D,OAAO,EAAE,iBAAiB,EAAE,MAAM,gCAAgC,CAAC;AACnE,OAAO,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAC7D,OAAO,EAAE,cAAc,EAAE,MAAM,iDAAiD,CAAC;AAEjF;;GAEG;AACH,MAAM,OAAO,aACX,SAAQ,aAA6B;IAWrC;;;;OAIG;IACH,YAAoB,MAAsB,EAAE,OAAuB;QACjE,KAAK,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QACvB,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;IACjE,CAAC;IAED;;;OAGG;IACH,IAAI,OAAO;QACT,OAAO,IAAI,CAAC,QAAQ,CAAC;IACvB,CAAC;IAED;;;;;OAKG;IACH,MAAM,CAAC,QAAQ,CACb,IAA6B,EAC7B,OAAuB;QAEvB,6CAA6C;QAC7C,MAAM,IAAI,GAAG,IAAI,CAAC,aAAa,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QAC/C,OAAO,IAAI,aAAa,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IAC1C,CAAC;IAED;;;;;;OAMG;IACH,MAAM,CAAC,KAAK,CAAC,MAAM,CACjB,iBAA0C,EAC1C,OAAuB,EACvB,OAAgB,KAAK;QAErB,MAAM,IAAI,GAAG,IAAI,CAAC,aAAa,CAAC,iBAAiB,EAAE,OAAO,CAAC,CAAC;QAC5D,sCAAsC;QACtC,MAAM,QAAQ,GAAG,aAAa,CAAC,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QACvD,IAAI,IAAI,EAAE;YACR,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;SACvB;QACD,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED;;;;;OAKG;IACH,MAAM,CAAC,KAAK,CAAC,KAAK,CAChB,UAAkB,EAClB,OAAuB;QAEvB,sBAAsB;QACtB,IAAI;YACF,MAAM,MAAM,GAAG,MAAM,eAAe,CAAC,UAAU,EAAE,OAAO,CAAC,cAAc,CAAC,CAAC;YACzE,sDAAsD;YACtD,OAAO,aAAa,CAAC,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;SAChD;QAAC,OAAO,EAAE,EAAE;YACX,IACG,EAAY,CAAC,OAAO;gBACrB,oDAAoD,EACpD;gBACA,MAAM,IAAI,KAAK,CAAC,uBAAuB,CAAC,CAAC;aAC1C;iBAAM;gBACL,MAAM,EAAE,CAAC;aACV;SACF;IACH,CAAC;IAEO,MAAM,CAAC,aAAa,CAC1B,iBAA0C,EAC1C,OAAuB;QAEvB,+BAA+B;QAC/B,IAAI,CAAC,iBAAiB,CAAC,SAAS,EAAE;YAChC,iBAAiB,CAAC,SAAS,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC;SACrD;QACD,uCAAuC;QACvC,MAAM,IAAI,GAAG,gCACR,kBAAkB,GAClB,iBAAiB,CACH,CAAC;QACpB,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;;OAGG;IACH,MAAM,CAAC,OAAgC;QACrC,IAAI,IAAI,CAAC,WAAW,EAAE;YACpB,MAAM,IAAI,KAAK,CAAC,qCAAqC,CAAC,CAAC;SACxD;QACD,qCAAqC;QACrC,IAAI,CAAC,MAAM,mCAAQ,IAAI,CAAC,MAAM,GAAK,OAAO,CAAE,CAAC;QAE7C,4BAA4B;QAC5B,IAAI,OAAO,CAAC,OAAO,EAAE;YACnB,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;SACrE;IACH,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,IAAI;QACR,IAAI,IAAI,CAAC,WAAW,EAAE;YACpB,MAAM,IAAI,KAAK,CAAC,qCAAqC,CAAC,CAAC;SACxD;QACD,0CAA0C;QAC1C,IAAI,CAAC,MAAM,CAAC,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC;QAE7C,IAAI,IAAI,CAAC,MAAM,CAAC,EAAE,EAAE;YAClB,YAAY;YACZ,IAAI,CAAC,MAAM,GAAG,MAAM,gBAAgB,CAClC,IAAI,CAAC,MAAM,EACX,IAAI,CAAC,OAAO,CAAC,kBAAkB,CAChC,CAAC;SACH;aAAM;YACL,YAAY;YACZ,IAAI,CAAC,MAAM,GAAG,MAAM,gBAAgB,CAClC,IAAI,CAAC,MAAM,EACX,IAAI,CAAC,OAAO,CAAC,kBAAkB,CAChC,CAAC;SACH;QAED,yCAAyC;QACzC,MAAM,KAAK,CAAC,SAAS,EAAE,CAAC;QAExB,OAAO;IACT,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,MAAM;QACV,IAAI,IAAI,CAAC,WAAW,EAAE;YACpB,MAAM,IAAI,KAAK,CAAC,qCAAqC,CAAC,CAAC;SACxD;QACD,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;QACxB,wBAAwB;QACxB,MAAM,gBAAgB,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,EAAE,IAAI,CAAC,OAAO,CAAC,kBAAkB,CAAC,CAAC;IAC1E,CAAC;IAED;;;;OAIG;IACH,aAAa,CAAC,QAAgB;QAC5B,MAAM,OAAO,GAAG,gBAAgB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAC9C,MAAM,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,QAAQ,CAAC,CAAC;QACtD,oBAAoB;QACpB,IAAI,MAAM,EAAE;YACV,OAAO,aAAa,CAAC,MAAM,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;SAC5C;aAAM;YACL,MAAM,IAAI,KAAK,CAAC,UAAU,QAAQ,aAAa,CAAC,CAAC;SAClD;IACH,CAAC;IAED;;;;;OAKG;IACH,kBAAkB,CAAC,IAA8B;QAC/C,OAAO,qBAAqB,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;IAChE,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,eAAe,CACnB,SAAiB,EACjB,IAA0B;QAE1B,mCAAmC;QACnC,OAAO,eAAe,CAAC,SAAS,EAAE,IAAI,EAAE,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;IACrE,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,QAAQ,CACZ,gBAAsC,EAAE,EACxC,UAAoB,EAAE;QAEtB,iDAAiD;QACjD,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM;YAC3B,CAAC,CAAE,CAAC,MAAM,YAAY,CAClB,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC,EACxB,OAAO,EACP,IAAI,CAAC,OAAO,CAAC,iBAAiB,CAC/B,CAA0B;YAC7B,CAAC,CAAE,WAAW,CAAC,IAAI,CAAC,MAAM,CAA0B,CAAC;QAEvD,4DAA4D;QAC5D,2DAA2D;QAC3D,4CAA4C;QAC5C,MAAM,CAAC,OAAO,GAAG,EAAE,CAAC;QACpB,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,IAAI,CAAC,eAAe,CAC/C,mCAAmC,CACpC,CAAC;QACF,IAAI,CAAC,MAAM,CAAC,EAAE,IAAI,QAAQ,EAAE;YAC1B,MAAM,iBAAiB,GACrB,OAAO,CAAC,IAAI,CAAC,OAAO,EAAE,oBAAoB,CAAC,IAAI,EAAE,CAAC;YACpD,MAAM,sBAAsB,GAAG;gBAC7B,aAAa,CAAC,cAAc;gBAC5B,aAAa,CAAC,oBAAoB;aACnC,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,OAAO,EAAE,EAAE;gBACxB,MAAM,KAAK,GAAG,iBAAiB,CAAC,IAAI,CAAC,CAAC,CAAS,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,OAAO,CAAC,CAAC;gBACtE,MAAM,eAAe,GACnB,CAAC,CAAC,KAAK;oBACP,CAAC,CAAC,KAAK,CAAC,UAAU;wBAChB,CAAC,KAAK,CAAC,UAAU;4BACf,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;gBAEtD,eAAe,IAAI,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;gBACrC,OAAO,GAAG,CAAC;YACb,CAAC,EAAE,EAAE,CAAC,CAAC;YACP,MAAM,CAAC,OAAO,GAAG,CAAC,GAAG,MAAM,CAAC,OAAO,EAAE,GAAG,sBAAsB,CAAC,CAAC;SACjE;QAED,oBAAoB;QACpB,MAAM,OAAO,GAAG,gBAAgB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAC9C,MAAM,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,aAAa,CAAC,QAAQ,CAAC,CAAC;QACpE,MAAM,QAAQ,GAAG,cAAc,CAAC,IAAI,CAAC,MAAM,EAAE,qBAAqB,EAAE,EAAE,CAAC,CAAC;QACxE,MAAM,aAAa,GACjB,QAAQ,CAAC,IAAI,CACX,CAAC,OAA6B,EAAE,EAAE,CAChC,OAAO,CAAC,QAAQ,KAAK,aAAa,CAAC,QAAQ,CAC9C,IAAI,EAAE,CAAC;QACV,MAAM,CAAC,OAAO,GAAG,cAAc,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;QAEvD,OAAO,MAAM,CAAC;IAChB,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,UAAU,CAAC,MAA4B;QAC3C,0DAA0D;QAC1D,gEAAgE;QAChE,MAAM,SAAS,GAAG,MAAM,CAAC,UAAU,CAAC;QACpC,MAAM,aAAa,GAAG,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC;QAChD,MAAM,eAAe,GAAG,MAAM,CAAC,OAAO,IAAI,EAAE,CAAC;QAE7C,2DAA2D;QAC3D,MAAM,MAAM,GAAG,kBAAkB,CAAC,MAAM,EAAE,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QAE/D,2CAA2C;QAC3C,4CAA4C;QAC5C,IAAI,SAAS,EAAE;YACb,IAAI,SAAS,CAAC,IAAI,EAAE;gBAClB,IAAI,CAAC,cAAc,GAAG;oBACpB,IAAI,EAAE,SAAS,CAAC,IAAI;oBACpB,QAAQ,EAAE,SAAS,CAAC,QAAQ;oBAC5B,KAAK,EAAE,KAAK;iBACb,CAAC;aACH;iBAAM;gBACL,IAAI,CAAC,cAAc,GAAG;oBACpB,KAAK,EAAE,IAAI;iBACZ,CAAC;aACH;SACF;QAED,oDAAoD;QACpD,IAAI,aAAa,EAAE;YACjB,IAAI,gBAAgB,GAAkB,IAAI,CAAC;YAC3C,IAAI,aAAa,CAAC,IAAI,EAAE;gBACtB,gBAAgB,GAAG,MAAM,cAAc,CACrC,MAAM,CAAC,EAAE,EACT,MAAM,CAAC,KAAK,EACZ,aAAa,CAAC,IAAI,EAClB,mBAAmB,EACnB,IAAI,CAAC,OAAO,CAAC,kBAAkB,CAChC,CAAC;aACH;iBAAM,IACL,MAAM,iBAAiB,CACrB,MAAM,CAAC,EAAE,EACT,mBAAmB,EACnB,IAAI,CAAC,OAAO,CAAC,kBAAkB,CAChC,EACD;gBACA,MAAM,cAAc,CAClB,MAAM,CAAC,EAAE,EACT,mBAAmB,EACnB,MAAM,CAAC,KAAK,EACZ,IAAI,CAAC,OAAO,CAAC,kBAAkB,CAChC,CAAC;aACH;YAED,MAAM,CAAC,IAAI,mCACN,MAAM,CAAC,IAAI,KACd,gBAAgB,GACjB,CAAC;SACH;QAED,+BAA+B;QAC/B,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,MAAM,IAAI,CAAC,IAAI,EAAE,CAAC;QAElB,iDAAiD;QACjD,MAAM,QAAQ,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC;QAC5B,IAAI,QAAQ,EAAE;YACZ,MAAM,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,MAA6B,CAAC,CAAC;YAC3D,IAAI,eAAe,CAAC,MAAM,EAAE;gBAC1B,MAAM,OAAO,CAAC,GAAG,CACf,eAAe,CAAC,GAAG,CAAC,CAAC,EAAU,EAAE,EAAE;oBACjC,OAAO,IAAI,CAAC,cAAc,CAAC,EAAE,CAAC,CAAC;gBACjC,CAAC,CAAC,CACH,CAAC;aACH;SACF;QAED,OAAO,IAAI,CAAC,MAAM,CAAC;IACrB,CAAC;CACF"}
|
|
@@ -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":"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"}
|
|
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,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,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,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"}
|