@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.
Files changed (65) hide show
  1. package/dist/esm/core/schemas/internal/getEditorSchemas.js +1 -0
  2. package/dist/esm/core/schemas/internal/getEditorSchemas.js.map +1 -1
  3. package/dist/esm/core/schemas/internal/metrics/InitiativeUiSchemaMetrics.js +238 -0
  4. package/dist/esm/core/schemas/internal/metrics/InitiativeUiSchemaMetrics.js.map +1 -0
  5. package/dist/esm/core/schemas/internal/metrics/MetricSchema.js +5 -0
  6. package/dist/esm/core/schemas/internal/metrics/MetricSchema.js.map +1 -1
  7. package/dist/esm/core/schemas/internal/metrics/ProjectUiSchemaMetrics.js +31 -31
  8. package/dist/esm/core/schemas/internal/metrics/ProjectUiSchemaMetrics.js.map +1 -1
  9. package/dist/esm/core/schemas/internal/metrics/definitions.js +80 -0
  10. package/dist/esm/core/schemas/internal/metrics/definitions.js.map +1 -0
  11. package/dist/esm/core/schemas/internal/metrics/interfaces.js.map +1 -1
  12. package/dist/esm/core/schemas/internal/metrics/rules.js +6 -0
  13. package/dist/esm/core/schemas/internal/metrics/rules.js.map +1 -1
  14. package/dist/esm/initiatives/HubInitiative.js +29 -43
  15. package/dist/esm/initiatives/HubInitiative.js.map +1 -1
  16. package/dist/esm/initiatives/HubInitiatives.js +25 -9
  17. package/dist/esm/initiatives/HubInitiatives.js.map +1 -1
  18. package/dist/esm/initiatives/_internal/InitiativeBusinessRules.js +5 -0
  19. package/dist/esm/initiatives/_internal/InitiativeBusinessRules.js.map +1 -1
  20. package/dist/esm/initiatives/_internal/InitiativeSchema.js +12 -1
  21. package/dist/esm/initiatives/_internal/InitiativeSchema.js.map +1 -1
  22. package/dist/esm/initiatives/defaults.js +2 -0
  23. package/dist/esm/initiatives/defaults.js.map +1 -1
  24. package/dist/esm/projects/HubProject.js +23 -63
  25. package/dist/esm/projects/HubProject.js.map +1 -1
  26. package/dist/esm/projects/_internal/ProjectSchema.js +5 -24
  27. package/dist/esm/projects/_internal/ProjectSchema.js.map +1 -1
  28. package/dist/esm/projects/edit.js +24 -9
  29. package/dist/esm/projects/edit.js.map +1 -1
  30. package/dist/node/core/schemas/internal/getEditorSchemas.js +1 -0
  31. package/dist/node/core/schemas/internal/getEditorSchemas.js.map +1 -1
  32. package/dist/node/core/schemas/internal/metrics/InitiativeUiSchemaMetrics.js +241 -0
  33. package/dist/node/core/schemas/internal/metrics/InitiativeUiSchemaMetrics.js.map +1 -0
  34. package/dist/node/core/schemas/internal/metrics/MetricSchema.js +5 -0
  35. package/dist/node/core/schemas/internal/metrics/MetricSchema.js.map +1 -1
  36. package/dist/node/core/schemas/internal/metrics/ProjectUiSchemaMetrics.js +31 -31
  37. package/dist/node/core/schemas/internal/metrics/ProjectUiSchemaMetrics.js.map +1 -1
  38. package/dist/node/core/schemas/internal/metrics/definitions.js +83 -0
  39. package/dist/node/core/schemas/internal/metrics/definitions.js.map +1 -0
  40. package/dist/node/core/schemas/internal/metrics/interfaces.js.map +1 -1
  41. package/dist/node/core/schemas/internal/metrics/rules.js +6 -0
  42. package/dist/node/core/schemas/internal/metrics/rules.js.map +1 -1
  43. package/dist/node/initiatives/HubInitiative.js +28 -42
  44. package/dist/node/initiatives/HubInitiative.js.map +1 -1
  45. package/dist/node/initiatives/HubInitiatives.js +24 -8
  46. package/dist/node/initiatives/HubInitiatives.js.map +1 -1
  47. package/dist/node/initiatives/_internal/InitiativeBusinessRules.js +5 -0
  48. package/dist/node/initiatives/_internal/InitiativeBusinessRules.js.map +1 -1
  49. package/dist/node/initiatives/_internal/InitiativeSchema.js +12 -1
  50. package/dist/node/initiatives/_internal/InitiativeSchema.js.map +1 -1
  51. package/dist/node/initiatives/defaults.js +2 -0
  52. package/dist/node/initiatives/defaults.js.map +1 -1
  53. package/dist/node/projects/HubProject.js +22 -62
  54. package/dist/node/projects/HubProject.js.map +1 -1
  55. package/dist/node/projects/_internal/ProjectSchema.js +5 -24
  56. package/dist/node/projects/_internal/ProjectSchema.js.map +1 -1
  57. package/dist/node/projects/edit.js +23 -8
  58. package/dist/node/projects/edit.js.map +1 -1
  59. package/dist/types/core/schemas/internal/metrics/InitiativeUiSchemaMetrics.d.ts +16 -0
  60. package/dist/types/core/schemas/internal/metrics/definitions.d.ts +92 -0
  61. package/dist/types/core/schemas/internal/metrics/rules.d.ts +7 -85
  62. package/dist/types/core/schemas/types.d.ts +2 -2
  63. package/dist/types/initiatives/_internal/InitiativeBusinessRules.d.ts +1 -1
  64. package/dist/types/initiatives/_internal/InitiativeSchema.d.ts +1 -1
  65. 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":"AAEA,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"}
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,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAElD;;GAEG;AAEH,wCAAwC;AACxC,MAAM,CAAC,MAAM,2BAA2B,GAAG;IACzC,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,GAAG;IACpD,SAAS,EAAE;QACT,MAAM,EAAE;YACN,UAAU,EAAE;gBACV,OAAO,EAAE;oBACP,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,GAAG;IACpD,SAAS,EAAE;QACT,MAAM,EAAE;YACN,UAAU,EAAE;gBACV,OAAO,EAAE;oBACP,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,GAAG;IAClD,SAAS,EAAE;QACT,MAAM,EAAE;YACN,UAAU,EAAE;gBACV,OAAO,EAAE;oBACP,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,GAAG;IAC1C,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,GAAG;IAC1C,SAAS,EAAE;QACT,KAAK,EAAE,0CAA0C;QACjD,MAAM,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE;KACxB;IACD,MAAM,EAAE,mBAAmB,CAAC,IAAI;CACjC,CAAC"}
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
- // add the groups array that we'll use to auto-share on save
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
- const isCreate = !editor.id;
228
- // Setting the thumbnailCache will ensure that
229
- // the thumbnail is updated on next save
230
- if (editor._thumbnail) {
231
- if (editor._thumbnail.blob) {
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: editor._thumbnail.blob,
234
- filename: editor._thumbnail.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
- delete editor._thumbnail;
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
- // create it if it does not yet exist...
265
- if (isCreate) {
266
- // this allows the featured image functions to work
267
- this.entity = await createInitiative(entity, this.context.userRequestOptions);
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":"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"}
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
- // remove the ephemeral props we graft on for the editor
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
- // clone into a HubInitiative
67
- const initiative = cloneObject(editor);
68
- // ensure there's an org url key
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 = (_a = editor.location) === null || _a === void 0 ? void 0 : _a.extent;
72
- // return with a cast
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":"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"}
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":"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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":"AACA,OAAO,EAAE,mBAAmB,EAAE,MAAM,+CAA+C,CAAC;AACpF,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAG9C,MAAM,CAAC,MAAM,qBAAqB,GAAG;IACnC,qBAAqB;IACrB,uBAAuB;CACf,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,MAEoB,CAAC"}
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;KACxB;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;SACxB;KACF;CACmB,CAAC"}
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 { camelize, cloneObject, createId } from "../util";
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
- // add the groups array that we'll use to auto-share on save
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
- const isCreate = !editor.id;
178
- // Setting the thumbnailCache will ensure that
179
- // the thumbnail is updated on next save
180
- if (editor._thumbnail) {
181
- if (editor._thumbnail.blob) {
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: editor._thumbnail.blob,
184
- filename: editor._thumbnail.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
- delete editor._thumbnail;
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
- // create it if it does not yet exist...
231
- if (isCreate) {
232
- // this allows the featured image functions to work
233
- this.entity = await createProject(entity, this.context.userRequestOptions);
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);