@umbraco-engage/backoffice 17.0.0-rc1 → 17.0.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 (193) hide show
  1. package/dist/ab-testing/test/collection/elements/ab-test-variant-name-column-layout.element.d.ts +4 -2
  2. package/dist/ab-testing/test/components/ab-testing-test-card.element.js +3 -0
  3. package/dist/ab-testing/test/components/split-url-picker/ab-testing-test-split-url-picker.element.js +4 -2
  4. package/dist/ab-testing/test/components/test-advice/ab-testing-test-indication.element.js +2 -2
  5. package/dist/ab-testing/test/components/variant-picker/ab-testing-test-variant-picker.element.js +44 -5
  6. package/dist/ab-testing/test/conditions/constants.d.ts +1 -0
  7. package/dist/ab-testing/test/conditions/constants.js +1 -0
  8. package/dist/ab-testing/test/conditions/document-save-and-publish-visibility.condition.d.ts +7 -0
  9. package/dist/ab-testing/test/conditions/document-save-and-publish-visibility.condition.js +12 -0
  10. package/dist/ab-testing/test/conditions/index.d.ts +1 -0
  11. package/dist/ab-testing/test/conditions/index.js +1 -0
  12. package/dist/ab-testing/test/conditions/manifests.d.ts +7 -0
  13. package/dist/ab-testing/test/conditions/manifests.js +10 -0
  14. package/dist/ab-testing/test/index.d.ts +1 -0
  15. package/dist/ab-testing/test/index.js +1 -0
  16. package/dist/ab-testing/test/manifests.d.ts +6 -1
  17. package/dist/ab-testing/test/manifests.js +2 -0
  18. package/dist/ab-testing/test/repository/detail/ab-testing-test-detail-server.data-source.d.ts +1 -1
  19. package/dist/ab-testing/test/repository/detail/ab-testing-test-detail-server.data-source.js +2 -3
  20. package/dist/ab-testing/test/workspace/ab-testing-test-workspace.context.d.ts +1 -1
  21. package/dist/ab-testing/test/workspace/ab-testing-test-workspace.context.js +2 -6
  22. package/dist/ab-testing/test/workspace/actions/ab-test-action-base.d.ts +0 -1
  23. package/dist/ab-testing/test/workspace/actions/ab-test-action-base.js +0 -9
  24. package/dist/ab-testing/test/workspace/actions/index.d.ts +0 -1
  25. package/dist/ab-testing/test/workspace/actions/index.js +0 -1
  26. package/dist/ab-testing/test/workspace/actions/manifests.js +5 -13
  27. package/dist/ab-testing/test/workspace/actions/unschedule-test-action.js +0 -1
  28. package/dist/ab-testing/test/workspace/conditions/ab-testing-can-disable.condition.d.ts +8 -0
  29. package/dist/ab-testing/test/workspace/conditions/ab-testing-can-disable.condition.js +25 -0
  30. package/dist/ab-testing/test/workspace/conditions/ab-testing-can-preview.condition.d.ts +8 -0
  31. package/dist/ab-testing/test/workspace/conditions/ab-testing-can-preview.condition.js +31 -0
  32. package/dist/ab-testing/test/workspace/conditions/constants.d.ts +2 -0
  33. package/dist/ab-testing/test/workspace/conditions/constants.js +2 -0
  34. package/dist/ab-testing/test/workspace/conditions/manifests.js +13 -1
  35. package/dist/ab-testing/test/workspace/entity-actions/disable-variant.action.d.ts +8 -0
  36. package/dist/ab-testing/test/workspace/entity-actions/disable-variant.action.js +37 -0
  37. package/dist/ab-testing/test/workspace/entity-actions/manifests.d.ts +29 -0
  38. package/dist/ab-testing/test/workspace/entity-actions/manifests.js +34 -0
  39. package/dist/ab-testing/test/workspace/entity-actions/preview-variant.action.d.ts +8 -0
  40. package/dist/ab-testing/test/workspace/entity-actions/preview-variant.action.js +32 -0
  41. package/dist/ab-testing/test/workspace/manifests.d.ts +9 -2
  42. package/dist/ab-testing/test/workspace/manifests.js +5 -2
  43. package/dist/ab-testing/test/workspace/views/edit/ab-testing-test-editor.element.js +30 -6
  44. package/dist/ab-testing/test/workspace/views/scoring/ab-testing-test-scoring.element.js +49 -79
  45. package/dist/analytics/analytics-context.js +4 -0
  46. package/dist/analytics/components/heatmap/heatmap.element.d.ts +0 -2
  47. package/dist/analytics/components/heatmap/heatmap.element.js +24 -29
  48. package/dist/analytics/screens/heatmap-screen.element.js +23 -3
  49. package/dist/core/components/group-box/group-box.element.js +12 -5
  50. package/dist/core/components/scoring/entities.d.ts +4 -0
  51. package/dist/core/components/scoring/scoring-base.element.d.ts +3 -2
  52. package/dist/core/components/scoring/scoring-base.element.js +147 -25
  53. package/dist/core/components/tooltip/tooltip-element.js +2 -2
  54. package/dist/core/context/entities.d.ts +1 -0
  55. package/dist/core/context/workspace-context-base.d.ts +1 -1
  56. package/dist/core/context/workspace-context-base.js +12 -9
  57. package/dist/core/entities.d.ts +1 -0
  58. package/dist/core/lang/{en-us.js → en.js} +8 -1
  59. package/dist/core/lang/manifests.js +1 -1
  60. package/dist/core/path/edit-variant-workspace-path-pattern.class.js +8 -0
  61. package/dist/core/property/property-dataset-renderer.controller.d.ts +4 -0
  62. package/dist/core/property/property-dataset-renderer.controller.js +9 -0
  63. package/dist/generated/client/client.gen.d.ts +2 -0
  64. package/dist/generated/client/client.gen.js +228 -0
  65. package/dist/generated/client/index.d.ts +8 -0
  66. package/dist/generated/client/index.js +6 -0
  67. package/dist/generated/client/types.gen.d.ts +117 -0
  68. package/dist/generated/client/types.gen.js +2 -0
  69. package/dist/generated/client/utils.gen.d.ts +33 -0
  70. package/dist/generated/client/utils.gen.js +233 -0
  71. package/dist/generated/client.gen.d.ts +2 -2
  72. package/dist/generated/client.gen.js +2 -5
  73. package/dist/generated/core/auth.gen.d.ts +18 -0
  74. package/dist/generated/core/auth.gen.js +14 -0
  75. package/dist/generated/core/bodySerializer.gen.d.ts +25 -0
  76. package/dist/generated/core/bodySerializer.gen.js +57 -0
  77. package/dist/generated/core/params.gen.d.ts +43 -0
  78. package/dist/generated/core/params.gen.js +100 -0
  79. package/dist/generated/core/pathSerializer.gen.d.ts +33 -0
  80. package/dist/generated/core/pathSerializer.gen.js +114 -0
  81. package/dist/generated/core/queryKeySerializer.gen.d.ts +18 -0
  82. package/dist/generated/core/queryKeySerializer.gen.js +99 -0
  83. package/dist/generated/core/serverSentEvents.gen.d.ts +71 -0
  84. package/dist/generated/core/serverSentEvents.gen.js +135 -0
  85. package/dist/generated/core/types.gen.d.ts +78 -0
  86. package/dist/generated/core/types.gen.js +2 -0
  87. package/dist/generated/core/utils.gen.d.ts +19 -0
  88. package/dist/generated/core/utils.gen.js +87 -0
  89. package/dist/generated/sdk.gen.d.ts +135 -135
  90. package/dist/generated/sdk.gen.js +134 -804
  91. package/dist/generated/types.gen.d.ts +73 -8
  92. package/dist/index.js +6 -5
  93. package/dist/personalization/actions/entity-delete-base.action.d.ts +41 -0
  94. package/dist/personalization/actions/entity-delete-base.action.js +45 -0
  95. package/dist/personalization/actions/grouped-item-delete.action.d.ts +3 -3
  96. package/dist/personalization/actions/grouped-item-delete.action.js +9 -20
  97. package/dist/personalization/actions/grouped-item-edit.action.d.ts +3 -2
  98. package/dist/personalization/actions/grouped-item-edit.action.js +13 -20
  99. package/dist/personalization/actions/grouped-item-entity-edit-base.action.d.ts +13 -0
  100. package/dist/personalization/actions/grouped-item-entity-edit-base.action.js +45 -0
  101. package/dist/personalization/actions/index.d.ts +3 -3
  102. package/dist/personalization/actions/index.js +3 -3
  103. package/dist/personalization/actions/{applied-personalization-base.action.d.ts → personalization-base.action.d.ts} +2 -2
  104. package/dist/personalization/actions/{applied-personalization-base.action.js → personalization-base.action.js} +8 -6
  105. package/dist/personalization/applied-personalization/actions/delete.action.d.ts +2 -3
  106. package/dist/personalization/applied-personalization/actions/delete.action.js +8 -17
  107. package/dist/personalization/applied-personalization/actions/edit.action.d.ts +1 -1
  108. package/dist/personalization/applied-personalization/actions/edit.action.js +1 -1
  109. package/dist/personalization/applied-personalization/actions/preview.action.d.ts +1 -1
  110. package/dist/personalization/applied-personalization/actions/preview.action.js +1 -1
  111. package/dist/personalization/applied-personalization/index.d.ts +0 -1
  112. package/dist/personalization/applied-personalization/index.js +0 -1
  113. package/dist/personalization/campaign-scoring/campaign-group/collection/actions/campaign-group-delete.action.d.ts +9 -0
  114. package/dist/personalization/campaign-scoring/campaign-group/collection/actions/campaign-group-delete.action.js +16 -0
  115. package/dist/personalization/campaign-scoring/campaign-group/collection/manifests.js +9 -0
  116. package/dist/personalization/campaign-scoring/campaign-group/repository/detail/index.d.ts +1 -1
  117. package/dist/personalization/campaign-scoring/campaign-group/repository/detail/index.js +1 -1
  118. package/dist/personalization/campaign-scoring/campaign-group/repository/item/index.d.ts +1 -1
  119. package/dist/personalization/campaign-scoring/campaign-group/repository/item/index.js +1 -1
  120. package/dist/personalization/components/grouped-item/grouped-item-detail-editor-base.element.d.ts +3 -4
  121. package/dist/personalization/components/grouped-item/grouped-item-detail-editor-base.element.js +1 -6
  122. package/dist/personalization/components/grouped-item/grouped-item-list-editor-base.element.d.ts +8 -8
  123. package/dist/personalization/components/grouped-item/grouped-item-list-editor-base.element.js +33 -81
  124. package/dist/personalization/components/grouped-item/grouped-item-workspace-editor-base.element.d.ts +6 -11
  125. package/dist/personalization/components/grouped-item/grouped-item-workspace-editor-base.element.js +8 -13
  126. package/dist/personalization/components/grouped-scoring/collection/group-table-collection-view-base.element.js +15 -0
  127. package/dist/personalization/content-scoring/workspace/content-scoring-workspace-editor.element.d.ts +2 -2
  128. package/dist/personalization/content-scoring/workspace/content-scoring-workspace-editor.element.js +56 -130
  129. package/dist/personalization/content-scoring/workspace/content-scoring-workspace.context.d.ts +5 -5
  130. package/dist/personalization/content-scoring/workspace/content-scoring-workspace.context.js +25 -34
  131. package/dist/personalization/context/grouped-items-workspace-context.interface.d.ts +0 -2
  132. package/dist/personalization/context/grouped-items-workspace.context.d.ts +1 -4
  133. package/dist/personalization/context/grouped-items-workspace.context.js +7 -11
  134. package/dist/personalization/journeys/actions/delete.action.d.ts +8 -0
  135. package/dist/personalization/journeys/actions/delete.action.js +13 -0
  136. package/dist/personalization/journeys/actions/edit.action.d.ts +8 -0
  137. package/dist/personalization/journeys/actions/edit.action.js +12 -0
  138. package/dist/personalization/journeys/actions/manifests.d.ts +22 -0
  139. package/dist/personalization/journeys/actions/manifests.js +25 -0
  140. package/dist/personalization/journeys/constants.d.ts +1 -1
  141. package/dist/personalization/journeys/constants.js +1 -1
  142. package/dist/personalization/journeys/manifests.js +3 -1
  143. package/dist/personalization/journeys/workspace/customer-journey-workspace-editor.element.d.ts +0 -3
  144. package/dist/personalization/journeys/workspace/customer-journey-workspace-editor.element.js +1 -10
  145. package/dist/personalization/journeys/workspace/customer-journey-workspace.context.d.ts +1 -7
  146. package/dist/personalization/journeys/workspace/customer-journey-workspace.context.js +7 -6
  147. package/dist/personalization/journeys/workspace/views/edit/customer-journey-editor.element.js +4 -2
  148. package/dist/personalization/journeys/workspace/views/edit/customer-journey-steps-list-editor.element.d.ts +1 -0
  149. package/dist/personalization/journeys/workspace/views/edit/customer-journey-steps-list-editor.element.js +14 -4
  150. package/dist/personalization/personalized-variants/editor-view/personalized-variants-editor-view.element.js +2 -2
  151. package/dist/personalization/personalized-variants/workspace/personalized-variant-workspace.context.js +3 -7
  152. package/dist/personalization/personas/actions/delete.action.d.ts +8 -0
  153. package/dist/personalization/personas/actions/delete.action.js +13 -0
  154. package/dist/personalization/personas/actions/edit.action.d.ts +8 -0
  155. package/dist/personalization/personas/actions/edit.action.js +12 -0
  156. package/dist/personalization/personas/actions/manifests.d.ts +22 -0
  157. package/dist/personalization/personas/actions/manifests.js +25 -0
  158. package/dist/personalization/personas/constants.d.ts +2 -2
  159. package/dist/personalization/personas/constants.js +2 -2
  160. package/dist/personalization/personas/manifests.js +6 -4
  161. package/dist/personalization/personas/repository/detail/persona-group-detail-server.data-source.js +0 -2
  162. package/dist/personalization/personas/workspace/persona-group-workspace-editor.element.d.ts +0 -3
  163. package/dist/personalization/personas/workspace/persona-group-workspace-editor.element.js +1 -10
  164. package/dist/personalization/personas/workspace/persona-group-workspace.context.d.ts +1 -7
  165. package/dist/personalization/personas/workspace/persona-group-workspace.context.js +7 -6
  166. package/dist/personalization/personas/workspace/views/edit/persona-group-personas-list-editor.element.d.ts +1 -0
  167. package/dist/personalization/personas/workspace/views/edit/persona-group-personas-list-editor.element.js +14 -4
  168. package/dist/personalization/referral-scoring/manifests.js +1 -4
  169. package/dist/personalization/referral-scoring/referral-group/actions/delete.action.d.ts +9 -0
  170. package/dist/personalization/referral-scoring/referral-group/actions/delete.action.js +16 -0
  171. package/dist/personalization/referral-scoring/referral-group/manifests.js +10 -0
  172. package/dist/personalization/segments/actions/delete.action.d.ts +3 -4
  173. package/dist/personalization/segments/actions/delete.action.js +9 -21
  174. package/dist/personalization/segments/rules/base/segment-rule-base-grouped-extended-checkbox.element.d.ts +1 -1
  175. package/dist/profiles/insights/campaigns/campaigns-list.element.d.ts +1 -0
  176. package/dist/profiles/insights/campaigns/campaigns-list.element.js +9 -1
  177. package/dist/profiles/insights/customer-journeys/customer-journeys.element.js +3 -2
  178. package/dist/profiles/insights/engage-profile-insight.interface.js +7 -1
  179. package/dist/profiles/insights/goals/goals-table-collection-view.element.js +1 -1
  180. package/dist/profiles/insights/manifests.js +2 -0
  181. package/dist/profiles/insights/persona-groups/persona-groups.element.js +3 -2
  182. package/dist/reporting/components/reporting-chart-card/reporting-chart-card.element.d.ts +1 -0
  183. package/dist/reporting/components/reporting-chart-card/reporting-chart-card.element.js +5 -1
  184. package/dist/reporting/components/segment-selector/reporting-segment-selector.element.js +10 -20
  185. package/dist/start-page/components/license-viewer.element.js +4 -1
  186. package/dist/tsconfig.build.tsbuildinfo +1 -1
  187. package/dist/umbraco-package.json +1 -1
  188. package/package.json +8 -5
  189. package/dist/ab-testing/test/workspace/actions/submit-test-action.d.ts +0 -8
  190. package/dist/ab-testing/test/workspace/actions/submit-test-action.js +0 -11
  191. package/dist/personalization/applied-personalization/actions/index.d.ts +0 -3
  192. package/dist/personalization/applied-personalization/actions/index.js +0 -3
  193. /package/dist/core/lang/{en-us.d.ts → en.d.ts} +0 -0
@@ -18,7 +18,7 @@ export type AbTestDetailModel = {
18
18
  };
19
19
  export type AbTestDetailVariantInfoModel = {
20
20
  id: number;
21
- key: string;
21
+ unique: string;
22
22
  abTestId: number;
23
23
  name?: string | null;
24
24
  description?: string | null;
@@ -148,7 +148,7 @@ export type AbTestUmbracoPageVariantDtoModel = {
148
148
  };
149
149
  export type AbTestVariantDtoModel = {
150
150
  id: number;
151
- key: string;
151
+ unique: string;
152
152
  abTestId: number;
153
153
  name?: string | null;
154
154
  description?: string | null;
@@ -810,6 +810,18 @@ export type NumberOfSessionsRuleConfigModel = {
810
810
  sessions: number;
811
811
  };
812
812
  export type OperatorModel = 'eq' | 'gt' | 'lt';
813
+ export type OrderCompletedRangeTypeModel = 'Any' | 'Days';
814
+ export type OrderCompletedRuleConfigModel = {
815
+ hasCompletedOrder: boolean;
816
+ settings?: OrderCompletedRuleSettingsModel | null;
817
+ };
818
+ export type OrderCompletedRuleSettingsModel = {
819
+ range?: OrderCompletedRuleSettingsRangeModel | null;
820
+ };
821
+ export type OrderCompletedRuleSettingsRangeModel = {
822
+ type: OrderCompletedRangeTypeModel;
823
+ maximum: number;
824
+ };
813
825
  export type PackageStatusResultModel = {
814
826
  readonly tierName: string;
815
827
  readonly domains: Array<string>;
@@ -910,6 +922,9 @@ export type PreviewUrlResponseModel = {
910
922
  errorMessage?: string | null;
911
923
  previewUrl?: string | null;
912
924
  };
925
+ export type ProductsInCartRuleConfigModel = {
926
+ hasProductsInCart: boolean;
927
+ };
913
928
  export type ProfileCustomerJourneyStepScoreDtoModel = {
914
929
  customerJourneyStepId: number;
915
930
  score: number;
@@ -1249,6 +1264,11 @@ export type TimeOfDayRangeModel = {
1249
1264
  export type TimeOfDaySegmentRuleConfigModel = {
1250
1265
  TimeRanges: Array<TimeOfDayRangeModel>;
1251
1266
  };
1267
+ export type UmbracoFormsGoalTypeModel = {
1268
+ readonly configurationEditorAlias: string;
1269
+ readonly id: string;
1270
+ readonly name: string;
1271
+ };
1252
1272
  export type UmbracoPageInfoDtoModel = {
1253
1273
  status?: string | null;
1254
1274
  documentType?: string | null;
@@ -1306,6 +1326,50 @@ export type VisitedPagesSegmentRuleConfigModel = {
1306
1326
  range: RangeConfigModel;
1307
1327
  allPages: boolean;
1308
1328
  };
1329
+ export type AbTestDetailModelWritable = {
1330
+ test: AbTestDtoModel;
1331
+ indication?: AbTestIndicationModelWritable | null;
1332
+ variants?: Array<AbTestDetailVariantInfoModelWritable> | null;
1333
+ isInvertedGoal: boolean;
1334
+ };
1335
+ export type AbTestDetailVariantInfoModelWritable = {
1336
+ id: number;
1337
+ unique: string;
1338
+ abTestId: number;
1339
+ name?: string | null;
1340
+ description?: string | null;
1341
+ redirectNodeKey?: string | null;
1342
+ css?: string | null;
1343
+ javascript?: string | null;
1344
+ created: string;
1345
+ createdByUmbracoUserKey: string;
1346
+ isBenchmark: boolean;
1347
+ disabled?: string | null;
1348
+ disabledByUmbracoUserKey?: string | null;
1349
+ isDisabled: boolean;
1350
+ segment?: string | null;
1351
+ totalPageviewsForVariant: number;
1352
+ totalVisitorsForVariant: number;
1353
+ label?: string | null;
1354
+ currentTotalParticipantCount: number;
1355
+ currentTotalPageviewCount: number;
1356
+ requiredTotalVisitorCount?: number | null;
1357
+ goalCompletions: number;
1358
+ goalValue: number;
1359
+ difference: number;
1360
+ participantPortion: number;
1361
+ visitorsPortion: number;
1362
+ conversionRate: number;
1363
+ conversionRateImprovement: number;
1364
+ conversionRateImprovementRelative: number;
1365
+ mainGoalComparisons: Array<AbTestVariantMainGoalComparisonModelWritable>;
1366
+ mainGoalWarning: boolean;
1367
+ goalWarning: boolean;
1368
+ status: AbTestVariantStatusModel;
1369
+ previewUrl?: string | null;
1370
+ isWinner: boolean;
1371
+ isLeading: boolean;
1372
+ };
1309
1373
  export type AbTestIndicationModelWritable = {
1310
1374
  status: AbTestStatusModel;
1311
1375
  startTime?: string | null;
@@ -1365,6 +1429,9 @@ export type AnalyticsQueryResultModelWritable = {
1365
1429
  export type ConfigurationDtoModelWritable = {
1366
1430
  [key: string]: never;
1367
1431
  };
1432
+ export type DeliveryApiConfigurationModelWritable = {
1433
+ Segmentation: DeliveryApiSegmentationConfigurationModelWritable;
1434
+ };
1368
1435
  export type DeliveryApiSegmentationConfigurationModelWritable = {
1369
1436
  ContentByQuery: boolean;
1370
1437
  ContentById: boolean;
@@ -1404,7 +1471,7 @@ export type ProjectModelWritable = {
1404
1471
  archived: boolean;
1405
1472
  };
1406
1473
  export type SaveAbTestResponseModelWritable = {
1407
- test: AbTestDetailModel;
1474
+ test: AbTestDetailModelWritable;
1408
1475
  validationResults: unknown;
1409
1476
  };
1410
1477
  export type SaveCustomerJourneyResponseModelWritable = {
@@ -1727,11 +1794,9 @@ export type GetAbTestResponses = {
1727
1794
  };
1728
1795
  export type GetAbTestResponse = GetAbTestResponses[keyof GetAbTestResponses];
1729
1796
  export type PostAbTestData = {
1730
- body?: AbTestDetailModel;
1797
+ body?: AbTestDetailModelWritable;
1731
1798
  path?: never;
1732
- query?: {
1733
- validate?: boolean;
1734
- };
1799
+ query?: never;
1735
1800
  url: '/umbraco/engage/management/api/v1/ab-test';
1736
1801
  };
1737
1802
  export type PostAbTestErrors = {
@@ -2904,7 +2969,7 @@ export type GetGoalAllTypesResponses = {
2904
2969
  /**
2905
2970
  * OK
2906
2971
  */
2907
- 200: Array<CustomGoalTypeModel | PageEventGoalTypeModel | PageviewGoalTypeModel>;
2972
+ 200: Array<CustomGoalTypeModel | PageEventGoalTypeModel | PageviewGoalTypeModel | UmbracoFormsGoalTypeModel>;
2908
2973
  };
2909
2974
  export type GetGoalAllTypesResponse = GetGoalAllTypesResponses[keyof GetGoalAllTypesResponses];
2910
2975
  export type GetGoalDetailsData = {
package/dist/index.js CHANGED
@@ -1,5 +1,5 @@
1
1
  import { manifests } from "./manifests.js";
2
- import { ENGAGE_PACKAGES } from "./packages.js";
2
+ import { ENGAGE_DOCUMENT_SAVE_AND_PUBLISH_VISIBILITY_CONDITION_ALIAS, ENGAGE_PACKAGES, } from "./packages.js";
3
3
  import { UMB_AUTH_CONTEXT } from "@umbraco-cms/backoffice/auth";
4
4
  import { client } from "./generated/index.js";
5
5
  document.head.insertAdjacentHTML("beforeend", `<style>:root {
@@ -14,15 +14,16 @@ export const onInit = (host, extensionRegistry) => {
14
14
  const module = packageImport;
15
15
  extensionRegistry.registerMany(module.extensions);
16
16
  });
17
+ extensionRegistry.appendCondition("Umb.WorkspaceAction.Document.SaveAndPublish", { alias: ENGAGE_DOCUMENT_SAVE_AND_PUBLISH_VISIBILITY_CONDITION_ALIAS });
17
18
  // Ensure Engage's OpenAPI implementation uses the correct auth token
18
19
  host.consumeContext(UMB_AUTH_CONTEXT, async (auth) => {
19
20
  if (!auth)
20
21
  return;
21
- const config = auth.getOpenApiConfiguration();
22
+ const config = auth?.getOpenApiConfiguration();
22
23
  client.setConfig({
23
- baseUrl: config.base,
24
- auth: async () => await auth.getLatestToken(),
25
- credentials: config.credentials,
24
+ baseUrl: config?.base ?? "",
25
+ auth: config?.token ?? undefined,
26
+ credentials: config?.credentials ?? "same-origin",
26
27
  });
27
28
  });
28
29
  };
@@ -0,0 +1,41 @@
1
+ import { UmbControllerHost } from "@umbraco-cms/backoffice/controller-api";
2
+ import { UmbEntityActionArgs } from "@umbraco-cms/backoffice/entity-action";
3
+ import { UmbContextToken } from "@umbraco-cms/backoffice/context-api";
4
+ import { UmbContextBase } from "@umbraco-cms/backoffice/class-api";
5
+ import { UePersonalizationBaseEntityAction } from "./personalization-base.action.js";
6
+ import { UmbRepositoryBase } from "@umbraco-cms/backoffice/repository";
7
+ export interface EntityDeleteBaseActionArgs<RepositoryType extends UmbRepositoryBase, ContextType extends UmbContextBase> {
8
+ host: UmbControllerHost;
9
+ args: UmbEntityActionArgs<any>;
10
+ repositoryConstructor?: new (host: UmbControllerHost) => RepositoryType;
11
+ contextToken?: UmbContextToken<any, ContextType>;
12
+ deleteHandler?: (unique: string) => Promise<unknown> | undefined;
13
+ onDeleteSuccess?: () => void | undefined;
14
+ }
15
+ /**
16
+ * Generic base class for entity delete actions with repository support.
17
+ * Accepts a context token and repository constructor as arguments for maximum flexibility.
18
+ *
19
+ * @template ContextType - The type of workspace context (must have requestCollection method)
20
+ * @template RepositoryType - The type of repository with delete method
21
+ */
22
+ export declare abstract class UeEntityDeleteBaseAction<RepositoryType extends UmbRepositoryBase, ContextType extends UmbContextBase> extends UePersonalizationBaseEntityAction<ContextType> {
23
+ protected repository?: RepositoryType;
24
+ protected deleteHandler?: (unique: string) => Promise<unknown> | undefined;
25
+ protected onDeleteSuccess?: () => void | undefined;
26
+ constructor(args: EntityDeleteBaseActionArgs<RepositoryType, ContextType>);
27
+ /**
28
+ * Executes the delete action with confirmation modal.
29
+ * Override this method to customize the deletion behavior.
30
+ */
31
+ execute(): Promise<void>;
32
+ /**
33
+ * Override this method to customize the confirmation modal.
34
+ */
35
+ protected getConfirmationModalConfig(): {
36
+ headline: string;
37
+ content: string;
38
+ color: "danger";
39
+ confirmLabel: string;
40
+ };
41
+ }
@@ -0,0 +1,45 @@
1
+ import { umbConfirmModal } from "@umbraco-cms/backoffice/modal";
2
+ import { UePersonalizationBaseEntityAction } from "./personalization-base.action.js";
3
+ /**
4
+ * Generic base class for entity delete actions with repository support.
5
+ * Accepts a context token and repository constructor as arguments for maximum flexibility.
6
+ *
7
+ * @template ContextType - The type of workspace context (must have requestCollection method)
8
+ * @template RepositoryType - The type of repository with delete method
9
+ */
10
+ export class UeEntityDeleteBaseAction extends UePersonalizationBaseEntityAction {
11
+ constructor(args) {
12
+ super(args.host, args.args, args.contextToken);
13
+ if (args.repositoryConstructor) {
14
+ this.repository = new args.repositoryConstructor(this);
15
+ }
16
+ this.deleteHandler = args.deleteHandler;
17
+ this.onDeleteSuccess = args.onDeleteSuccess;
18
+ }
19
+ /**
20
+ * Executes the delete action with confirmation modal.
21
+ * Override this method to customize the deletion behavior.
22
+ */
23
+ async execute() {
24
+ await this.retrieveWorkspaceContext;
25
+ if (!this.workspaceContext || !this.unique)
26
+ return;
27
+ await umbConfirmModal(this, this.getConfirmationModalConfig())
28
+ .then(async () => {
29
+ await this.deleteHandler?.(this.unique);
30
+ this.onDeleteSuccess?.();
31
+ })
32
+ .catch(() => { });
33
+ }
34
+ /**
35
+ * Override this method to customize the confirmation modal.
36
+ */
37
+ getConfirmationModalConfig() {
38
+ return {
39
+ headline: this.localize.term("actions_delete"),
40
+ content: this.localize.term("engage_deleteItemsDescription", 1),
41
+ color: "danger",
42
+ confirmLabel: this.localize.term("actions_delete"),
43
+ };
44
+ }
45
+ }
@@ -1,7 +1,7 @@
1
1
  import type { UmbControllerHost } from "@umbraco-cms/backoffice/controller-api";
2
- import { UmbEntityActionBase, type UmbEntityActionArgs } from "@umbraco-cms/backoffice/entity-action";
3
- export declare class UeGroupedItemDeleteAction extends UmbEntityActionBase<any> {
4
- #private;
2
+ import { type UmbEntityActionArgs } from "@umbraco-cms/backoffice/entity-action";
3
+ import { UePersonalizationBaseEntityAction } from "../index.js";
4
+ export declare class UeGroupedItemDeleteAction extends UePersonalizationBaseEntityAction<any> {
5
5
  constructor(host: UmbControllerHost, args: UmbEntityActionArgs<any>);
6
6
  execute(): Promise<void>;
7
7
  }
@@ -1,32 +1,21 @@
1
1
  import { ENGAGE_GROUPED_ITEM_WORKSPACE_CONTEXT } from "../context/index.js";
2
- import { UmbEntityActionBase, } from "@umbraco-cms/backoffice/entity-action";
3
- import { UmbLocalizationController } from "@umbraco-cms/backoffice/localization-api";
4
2
  import { umbConfirmModal } from "@umbraco-cms/backoffice/modal";
5
- export class UeGroupedItemDeleteAction extends UmbEntityActionBase {
6
- #localize = new UmbLocalizationController(this);
7
- #retrieveWorkspaceContext;
8
- #unique;
9
- #workspaceContext;
3
+ import { UePersonalizationBaseEntityAction } from "../index.js";
4
+ export class UeGroupedItemDeleteAction extends UePersonalizationBaseEntityAction {
10
5
  constructor(host, args) {
11
- super(host, args);
12
- this.#unique = args.unique?.toString();
13
- this.#retrieveWorkspaceContext = this.consumeContext(ENGAGE_GROUPED_ITEM_WORKSPACE_CONTEXT, (context) => {
14
- this.#workspaceContext = context;
15
- })
16
- .asPromise()
17
- .catch(() => undefined);
6
+ super(host, args, ENGAGE_GROUPED_ITEM_WORKSPACE_CONTEXT);
18
7
  }
19
8
  async execute() {
20
- await this.#retrieveWorkspaceContext;
21
- if (!this.#workspaceContext || !this.#unique)
9
+ await this.retrieveWorkspaceContext;
10
+ if (!this.workspaceContext || !this.unique)
22
11
  return;
23
12
  await umbConfirmModal(this, {
24
- headline: this.#localize.term("actions_delete"),
25
- content: this.#localize.term("engage_deleteItemsDescription", 1),
26
- confirmLabel: this.#localize.term("actions_delete"),
13
+ headline: this.localize.term("actions_delete"),
14
+ content: this.localize.term("engage_deleteItemsDescription", 1),
15
+ confirmLabel: this.localize.term("actions_delete"),
27
16
  color: "danger",
28
17
  })
29
- .then(async () => await this.#workspaceContext?.deleteGroup(this.#unique))
18
+ .then(async () => await this.workspaceContext?.deleteGroup(this.unique))
30
19
  .catch(() => { });
31
20
  }
32
21
  }
@@ -1,6 +1,7 @@
1
1
  import type { UmbControllerHost } from "@umbraco-cms/backoffice/controller-api";
2
- import { UmbEntityActionBase, type UmbEntityActionArgs } from "@umbraco-cms/backoffice/entity-action";
3
- export declare class UeGroupedItemEditAction extends UmbEntityActionBase<any> {
2
+ import { type UmbEntityActionArgs } from "@umbraco-cms/backoffice/entity-action";
3
+ import { UePersonalizationBaseEntityAction } from "./personalization-base.action.js";
4
+ export declare class UeGroupedItemEditAction extends UePersonalizationBaseEntityAction<any> {
4
5
  #private;
5
6
  constructor(host: UmbControllerHost, args: UmbEntityActionArgs<any>);
6
7
  execute(): Promise<void>;
@@ -1,30 +1,23 @@
1
1
  import { ENGAGE_GROUPED_ITEM_WORKSPACE_CONTEXT } from "../context/index.js";
2
2
  import { ENGAGE_GROUPED_ITEM_EDIT_DETAIL_MODAL } from "../modal/index.js";
3
- import { UmbEntityActionBase, } from "@umbraco-cms/backoffice/entity-action";
4
3
  import { umbOpenModal } from "@umbraco-cms/backoffice/modal";
5
- export class UeGroupedItemEditAction extends UmbEntityActionBase {
6
- #retrieveWorkspaceContext;
7
- #unique;
8
- #workspaceContext;
4
+ import { UePersonalizationBaseEntityAction } from "./personalization-base.action.js";
5
+ export class UeGroupedItemEditAction extends UePersonalizationBaseEntityAction {
6
+ #label;
9
7
  constructor(host, args) {
10
- super(host, args);
11
- this.#unique = args.unique?.toString();
12
- this.#retrieveWorkspaceContext = this.consumeContext(ENGAGE_GROUPED_ITEM_WORKSPACE_CONTEXT, (context) => {
13
- this.#workspaceContext = context;
14
- })
15
- .asPromise()
16
- .catch(() => undefined);
8
+ super(host, args, ENGAGE_GROUPED_ITEM_WORKSPACE_CONTEXT);
9
+ this.#label = this.localize.string(args.meta?.label?.toString() ?? "#general_edit");
17
10
  }
18
11
  async execute() {
19
- await this.#retrieveWorkspaceContext;
20
- if (!this.#workspaceContext || !this.#unique)
12
+ await this.retrieveWorkspaceContext;
13
+ if (!this.workspaceContext || !this.unique)
21
14
  return;
22
15
  const value = await umbOpenModal(this, ENGAGE_GROUPED_ITEM_EDIT_DETAIL_MODAL, {
23
16
  data: {
24
- current: await this.#workspaceContext.getGroup(this.#unique),
25
- properties: this.#workspaceContext.getProperties(),
26
- advancedProperties: this.#workspaceContext.getAdvancedProperties(),
27
- headline: this.#workspaceContext.getEditHeadline() ?? "Edit",
17
+ current: await this.workspaceContext.getGroup(this.unique),
18
+ properties: this.workspaceContext.getProperties(),
19
+ advancedProperties: this.workspaceContext.getAdvancedProperties(),
20
+ headline: this.#label,
28
21
  },
29
22
  modal: {
30
23
  size: "medium",
@@ -32,8 +25,8 @@ export class UeGroupedItemEditAction extends UmbEntityActionBase {
32
25
  }).catch(() => { });
33
26
  if (!value)
34
27
  return;
35
- this.#workspaceContext.setCurrent(value);
36
- await this.#workspaceContext.requestSubmit();
28
+ this.workspaceContext.setCurrent(value);
29
+ await this.workspaceContext.requestSubmit();
37
30
  }
38
31
  }
39
32
  export default UeGroupedItemEditAction;
@@ -0,0 +1,13 @@
1
+ import { UmbControllerHost } from "@umbraco-cms/backoffice/controller-api";
2
+ import { UmbEntityActionArgs } from "@umbraco-cms/backoffice/entity-action";
3
+ import { UePropertyConfigData } from "../../core/index.js";
4
+ import { UePersonalizationBaseEntityAction } from "./personalization-base.action.js";
5
+ export declare abstract class EngageGroupedItemEditActionBase<EntityItemModel> extends UePersonalizationBaseEntityAction<any> {
6
+ #private;
7
+ constructor(args: {
8
+ host: UmbControllerHost;
9
+ args: UmbEntityActionArgs<any>;
10
+ properties: UePropertyConfigData<EntityItemModel>;
11
+ });
12
+ execute(): Promise<void>;
13
+ }
@@ -0,0 +1,45 @@
1
+ import { umbOpenModal } from "@umbraco-cms/backoffice/modal";
2
+ import { ENGAGE_GROUPED_ITEM_EDIT_ITEM_MODAL } from "../modal/index.js";
3
+ import { ENGAGE_GROUPED_ITEM_WORKSPACE_CONTEXT } from "../context/index.js";
4
+ import { UePersonalizationBaseEntityAction } from "./personalization-base.action.js";
5
+ export class EngageGroupedItemEditActionBase extends UePersonalizationBaseEntityAction {
6
+ #properties;
7
+ #label;
8
+ #position;
9
+ constructor(args) {
10
+ super(args.host, args.args, ENGAGE_GROUPED_ITEM_WORKSPACE_CONTEXT);
11
+ this.#position = args.args.meta?.position;
12
+ this.#properties = args.properties;
13
+ this.#label = this.localize.string(args.args.meta?.label);
14
+ }
15
+ async execute() {
16
+ await this.retrieveWorkspaceContext;
17
+ if (!this.workspaceContext)
18
+ return;
19
+ let current;
20
+ if (!this.unique) {
21
+ current = this.workspaceContext.createItem();
22
+ }
23
+ else {
24
+ current = this.workspaceContext
25
+ .getCurrent()
26
+ ?.items.find((x) => x.unique === this.unique);
27
+ }
28
+ if (!current)
29
+ return;
30
+ const value = await umbOpenModal(this, ENGAGE_GROUPED_ITEM_EDIT_ITEM_MODAL, {
31
+ data: {
32
+ current,
33
+ properties: this.#properties,
34
+ headline: this.#label ?? "",
35
+ },
36
+ modal: {
37
+ size: "medium",
38
+ },
39
+ }).catch(() => { });
40
+ if (!value)
41
+ return;
42
+ this.workspaceContext.setItem(value, this.#position);
43
+ await this.workspaceContext.requestSubmit();
44
+ }
45
+ }
@@ -1,3 +1,3 @@
1
- export * from "./grouped-item-delete.action.js";
2
- export * from "./grouped-item-edit.action.js";
3
- export * from "./applied-personalization-base.action.js";
1
+ export * from "./personalization-base.action.js";
2
+ export * from "./entity-delete-base.action.js";
3
+ export * from "./grouped-item-entity-edit-base.action.js";
@@ -1,3 +1,3 @@
1
- export * from "./grouped-item-delete.action.js";
2
- export * from "./grouped-item-edit.action.js";
3
- export * from "./applied-personalization-base.action.js";
1
+ export * from "./personalization-base.action.js";
2
+ export * from "./entity-delete-base.action.js";
3
+ export * from "./grouped-item-entity-edit-base.action.js";
@@ -5,9 +5,9 @@ import { UmbContextToken } from "@umbraco-cms/backoffice/context-api";
5
5
  import { UmbContextBase } from "@umbraco-cms/backoffice/class-api";
6
6
  export declare abstract class UePersonalizationBaseEntityAction<ContextType extends UmbContextBase> extends UmbEntityActionBase<any> {
7
7
  protected localize: UmbLocalizationController<import("@umbraco-cms/backoffice/localization-api").UmbLocalizationSet>;
8
- protected retrieveWorkspaceContext: Promise<unknown>;
8
+ protected retrieveWorkspaceContext: Promise<ContextType | undefined>;
9
9
  protected unique?: string;
10
10
  protected workspaceContext?: ContextType;
11
- constructor(host: UmbControllerHost, args: UmbEntityActionArgs<any>, contextToken: UmbContextToken<any, ContextType>);
11
+ constructor(host: UmbControllerHost, args: UmbEntityActionArgs<any>, contextToken?: UmbContextToken<any, ContextType>);
12
12
  observers(): void;
13
13
  }
@@ -5,12 +5,14 @@ export class UePersonalizationBaseEntityAction extends UmbEntityActionBase {
5
5
  super(host, args);
6
6
  this.localize = new UmbLocalizationController(this);
7
7
  this.unique = args.unique?.toString();
8
- this.retrieveWorkspaceContext = this.consumeContext(contextToken, (context) => {
9
- this.workspaceContext = context;
10
- this.observers();
11
- })
12
- .asPromise()
13
- .catch(() => undefined);
8
+ this.retrieveWorkspaceContext = contextToken
9
+ ? this.consumeContext(contextToken, (context) => {
10
+ this.workspaceContext = context;
11
+ this.observers();
12
+ })
13
+ .asPromise()
14
+ .catch(() => undefined)
15
+ : Promise.resolve(undefined);
14
16
  }
15
17
  observers() { }
16
18
  }
@@ -1,9 +1,8 @@
1
- import { UePersonalizationBaseEntityAction } from "../../actions/applied-personalization-base.action.js";
2
1
  import { ENGAGE_APPLIED_PERSONALIZATION_EDITOR_VIEW_CONTEXT } from "../index.js";
3
2
  import { UmbControllerHost } from "@umbraco-cms/backoffice/controller-api";
4
3
  import { UmbEntityActionArgs } from "@umbraco-cms/backoffice/entity-action";
5
- export declare class EngageAppliedPersonalizationDeleteEntityAction extends UePersonalizationBaseEntityAction<typeof ENGAGE_APPLIED_PERSONALIZATION_EDITOR_VIEW_CONTEXT.TYPE> {
4
+ import { UeEntityDeleteBaseAction } from "../../actions/index.js";
5
+ export declare class EngageAppliedPersonalizationDeleteEntityAction extends UeEntityDeleteBaseAction<any, typeof ENGAGE_APPLIED_PERSONALIZATION_EDITOR_VIEW_CONTEXT.TYPE> {
6
6
  constructor(host: UmbControllerHost, args: UmbEntityActionArgs<any>);
7
- execute(): Promise<void>;
8
7
  }
9
8
  export default EngageAppliedPersonalizationDeleteEntityAction;
@@ -1,22 +1,13 @@
1
- import { umbConfirmModal } from "@umbraco-cms/backoffice/modal";
2
- import { UePersonalizationBaseEntityAction } from "../../actions/applied-personalization-base.action.js";
3
1
  import { ENGAGE_APPLIED_PERSONALIZATION_EDITOR_VIEW_CONTEXT } from "../index.js";
4
- export class EngageAppliedPersonalizationDeleteEntityAction extends UePersonalizationBaseEntityAction {
2
+ import { UeEntityDeleteBaseAction } from "../../actions/index.js";
3
+ export class EngageAppliedPersonalizationDeleteEntityAction extends UeEntityDeleteBaseAction {
5
4
  constructor(host, args) {
6
- super(host, args, ENGAGE_APPLIED_PERSONALIZATION_EDITOR_VIEW_CONTEXT);
7
- }
8
- async execute() {
9
- await this.retrieveWorkspaceContext;
10
- if (!this.workspaceContext || !this.unique)
11
- return;
12
- await umbConfirmModal(this, {
13
- headline: this.localize.term("actions_delete"),
14
- content: this.localize.term("engage_deleteItemsDescription", 1),
15
- color: "danger",
16
- confirmLabel: this.localize.term("actions_delete"),
17
- })
18
- .then(async () => await this.workspaceContext?.delete(this.unique))
19
- .catch(() => { });
5
+ super({
6
+ host,
7
+ args,
8
+ contextToken: ENGAGE_APPLIED_PERSONALIZATION_EDITOR_VIEW_CONTEXT,
9
+ deleteHandler: (unique) => this.workspaceContext?.delete(unique),
10
+ });
20
11
  }
21
12
  }
22
13
  export default EngageAppliedPersonalizationDeleteEntityAction;
@@ -1,5 +1,5 @@
1
1
  import { UmbControllerHost } from "@umbraco-cms/backoffice/controller-api";
2
- import { UePersonalizationBaseEntityAction } from "../../actions/applied-personalization-base.action.js";
2
+ import { UePersonalizationBaseEntityAction } from "../../actions/personalization-base.action.js";
3
3
  import { ENGAGE_APPLIED_PERSONALIZATION_EDITOR_VIEW_CONTEXT } from "../index.js";
4
4
  import { UmbEntityActionArgs } from "@umbraco-cms/backoffice/entity-action";
5
5
  export declare class EngageAppliedPersonalizationEditEntityAction extends UePersonalizationBaseEntityAction<typeof ENGAGE_APPLIED_PERSONALIZATION_EDITOR_VIEW_CONTEXT.TYPE> {
@@ -1,4 +1,4 @@
1
- import { UePersonalizationBaseEntityAction } from "../../actions/applied-personalization-base.action.js";
1
+ import { UePersonalizationBaseEntityAction } from "../../actions/personalization-base.action.js";
2
2
  import { ENGAGE_APPLIED_PERSONALIZATION_EDITOR_VIEW_CONTEXT } from "../index.js";
3
3
  export class EngageAppliedPersonalizationEditEntityAction extends UePersonalizationBaseEntityAction {
4
4
  #modalPath;
@@ -1,5 +1,5 @@
1
1
  import { ENGAGE_APPLIED_PERSONALIZATION_EDITOR_VIEW_CONTEXT } from "../../index.js";
2
- import { UePersonalizationBaseEntityAction } from "../../actions/applied-personalization-base.action.js";
2
+ import { UePersonalizationBaseEntityAction } from "../../actions/personalization-base.action.js";
3
3
  import { UmbEntityActionArgs } from "@umbraco-cms/backoffice/entity-action";
4
4
  import { UmbControllerHost } from "@umbraco-cms/backoffice/controller-api";
5
5
  export declare class EngageAppliedPersonalizationPreviewEntityAction extends UePersonalizationBaseEntityAction<typeof ENGAGE_APPLIED_PERSONALIZATION_EDITOR_VIEW_CONTEXT.TYPE> {
@@ -1,5 +1,5 @@
1
1
  import { ENGAGE_APPLIED_PERSONALIZATION_EDITOR_VIEW_CONTEXT } from "../../index.js";
2
- import { UePersonalizationBaseEntityAction } from "../../actions/applied-personalization-base.action.js";
2
+ import { UePersonalizationBaseEntityAction } from "../../actions/personalization-base.action.js";
3
3
  // TODO => preview should only be shown when personalization typoe is NOT content type - add a condition.
4
4
  export class EngageAppliedPersonalizationPreviewEntityAction extends UePersonalizationBaseEntityAction {
5
5
  constructor(host, args) {
@@ -3,4 +3,3 @@ export * from "./editor-view/index.js";
3
3
  export * from "./workspace/index.js";
4
4
  export * from "./entities.js";
5
5
  export * from "./constants.js";
6
- export * from "./actions/index.js";
@@ -3,4 +3,3 @@ export * from "./editor-view/index.js";
3
3
  export * from "./workspace/index.js";
4
4
  export * from "./entities.js";
5
5
  export * from "./constants.js";
6
- export * from "./actions/index.js";
@@ -0,0 +1,9 @@
1
+ import { UmbControllerHost } from "@umbraco-cms/backoffice/controller-api";
2
+ import { UmbEntityActionArgs } from "@umbraco-cms/backoffice/entity-action";
3
+ import { UeCampaignGroupDetailRepository } from "../../repository/index.js";
4
+ import { UeEntityDeleteBaseAction } from "../../../../actions/index.js";
5
+ import { UMB_COLLECTION_CONTEXT } from "@umbraco-cms/backoffice/collection";
6
+ export declare class UeCampaignGroupDeleteEntityAction extends UeEntityDeleteBaseAction<UeCampaignGroupDetailRepository, typeof UMB_COLLECTION_CONTEXT.TYPE> {
7
+ constructor(host: UmbControllerHost, args: UmbEntityActionArgs<any>);
8
+ }
9
+ export default UeCampaignGroupDeleteEntityAction;
@@ -0,0 +1,16 @@
1
+ import { UeCampaignGroupDetailRepository } from "../../repository/index.js";
2
+ import { UeEntityDeleteBaseAction } from "../../../../actions/index.js";
3
+ import { UMB_COLLECTION_CONTEXT } from "@umbraco-cms/backoffice/collection";
4
+ export class UeCampaignGroupDeleteEntityAction extends UeEntityDeleteBaseAction {
5
+ constructor(host, args) {
6
+ super({
7
+ host,
8
+ args,
9
+ repositoryConstructor: UeCampaignGroupDetailRepository,
10
+ contextToken: UMB_COLLECTION_CONTEXT,
11
+ deleteHandler: (unique) => this.repository?.delete(unique),
12
+ onDeleteSuccess: () => this.workspaceContext?.loadCollection(),
13
+ });
14
+ }
15
+ }
16
+ export default UeCampaignGroupDeleteEntityAction;
@@ -47,6 +47,15 @@ export const manifests = [
47
47
  },
48
48
  ],
49
49
  },
50
+ {
51
+ type: "entityAction",
52
+ kind: "delete",
53
+ alias: "Engage.EntityAction.CampaignGroup.DeleteAction",
54
+ name: "Engage Campaign Group Delete Action",
55
+ api: () => import("./actions/campaign-group-delete.action.js"),
56
+ forEntityTypes: [ENGAGE_CAMPAIGN_GROUP_ENTITY_TYPE],
57
+ weight: 150,
58
+ },
50
59
  ...repositoryManifests,
51
60
  ...viewManifests,
52
61
  ];
@@ -1,3 +1,3 @@
1
- export { UeCampaignGroupDetailRepository } from "./campaign-group-detail.repository.js";
1
+ export * from "./campaign-group-detail.repository.js";
2
2
  export * from "./campaign-group-detail-store-context.token.js";
3
3
  export * from "./constants.js";