@antelopejs/dms-marketing 0.3.2 → 0.4.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 (287) hide show
  1. package/README.md +18 -15
  2. package/dist/config.d.ts +1 -0
  3. package/dist/config.js +4 -0
  4. package/dist/config.js.map +1 -1
  5. package/dist/data-api/funnels.d.ts +2 -0
  6. package/dist/data-api/funnels.js +8 -1
  7. package/dist/data-api/funnels.js.map +1 -1
  8. package/dist/db/models/funnels.model.d.ts +2 -0
  9. package/dist/db/models/funnels.model.js +9 -0
  10. package/dist/db/models/funnels.model.js.map +1 -1
  11. package/dist/db/models/index.d.ts +1 -0
  12. package/dist/db/models/index.js +1 -0
  13. package/dist/db/models/index.js.map +1 -1
  14. package/dist/db/models/marketing_events.model.d.ts +22 -0
  15. package/dist/db/models/marketing_events.model.js +70 -5
  16. package/dist/db/models/marketing_events.model.js.map +1 -1
  17. package/dist/db/models/marketing_preferences.model.d.ts +25 -0
  18. package/dist/db/models/marketing_preferences.model.js +29 -0
  19. package/dist/db/models/marketing_preferences.model.js.map +1 -0
  20. package/dist/db/models/marketing_sessions.model.d.ts +2 -1
  21. package/dist/db/models/marketing_sessions.model.js +11 -1
  22. package/dist/db/models/marketing_sessions.model.js.map +1 -1
  23. package/dist/db/models/page_snapshots.model.d.ts +2 -1
  24. package/dist/db/models/page_snapshots.model.js +7 -7
  25. package/dist/db/models/page_snapshots.model.js.map +1 -1
  26. package/dist/db/models/website_statistics.model.d.ts +4 -1
  27. package/dist/db/models/website_statistics.model.js +15 -1
  28. package/dist/db/models/website_statistics.model.js.map +1 -1
  29. package/dist/db/tables/index.d.ts +1 -0
  30. package/dist/db/tables/index.js +1 -0
  31. package/dist/db/tables/index.js.map +1 -1
  32. package/dist/db/tables/marketing_preferences.table.d.ts +6 -0
  33. package/dist/db/tables/marketing_preferences.table.js +31 -0
  34. package/dist/db/tables/marketing_preferences.table.js.map +1 -0
  35. package/dist/hooks/index.js +8 -0
  36. package/dist/hooks/index.js.map +1 -1
  37. package/dist/index.js +18 -2
  38. package/dist/index.js.map +1 -1
  39. package/dist/pages/acquisition/page.d.ts +9 -0
  40. package/dist/pages/acquisition/page.js +181 -0
  41. package/dist/pages/acquisition/page.js.map +1 -0
  42. package/dist/pages/all.d.ts +5 -1
  43. package/dist/pages/all.js +5 -1
  44. package/dist/pages/all.js.map +1 -1
  45. package/dist/pages/blocks.d.ts +18 -0
  46. package/dist/pages/blocks.js +56 -0
  47. package/dist/pages/blocks.js.map +1 -0
  48. package/dist/pages/funnel/page.d.ts +9 -0
  49. package/dist/pages/funnel/page.js +36 -0
  50. package/dist/pages/funnel/page.js.map +1 -0
  51. package/dist/pages/funnel-builder/page.d.ts +9 -0
  52. package/dist/pages/funnel-builder/page.js +29 -0
  53. package/dist/pages/funnel-builder/page.js.map +1 -0
  54. package/dist/pages/funnels/page.d.ts +1 -1
  55. package/dist/pages/funnels/page.js +200 -3
  56. package/dist/pages/funnels/page.js.map +1 -1
  57. package/dist/pages/index.d.ts +1 -0
  58. package/dist/pages/index.js +1 -0
  59. package/dist/pages/index.js.map +1 -1
  60. package/dist/pages/{campaigns → install}/page.d.ts +3 -3
  61. package/dist/pages/{campaigns → install}/page.js +14 -12
  62. package/dist/pages/install/page.js.map +1 -0
  63. package/dist/pages/module.d.ts +3 -0
  64. package/dist/pages/module.js +30 -3
  65. package/dist/pages/module.js.map +1 -1
  66. package/dist/pages/overview/page.d.ts +1 -1
  67. package/dist/pages/overview/page.js +122 -3
  68. package/dist/pages/overview/page.js.map +1 -1
  69. package/dist/pages/pages/page.d.ts +1 -1
  70. package/dist/pages/pages/page.js +9 -4
  71. package/dist/pages/pages/page.js.map +1 -1
  72. package/dist/pages/quick-actions.d.ts +1 -0
  73. package/dist/pages/quick-actions.js +25 -0
  74. package/dist/pages/quick-actions.js.map +1 -0
  75. package/dist/pages/settings/form.d.ts +2 -1
  76. package/dist/pages/settings/form.js +62 -20
  77. package/dist/pages/settings/form.js.map +1 -1
  78. package/dist/pages/settings/page.d.ts +4 -1
  79. package/dist/pages/settings/page.js +50 -4
  80. package/dist/pages/settings/page.js.map +1 -1
  81. package/dist/pages/websites/page.d.ts +11 -0
  82. package/dist/pages/websites/page.js +62 -0
  83. package/dist/pages/websites/page.js.map +1 -0
  84. package/dist/routes/blocks.d.ts +50 -0
  85. package/dist/routes/blocks.js +269 -0
  86. package/dist/routes/blocks.js.map +1 -0
  87. package/dist/routes/collect.d.ts +1 -2
  88. package/dist/routes/collect.js +19 -12
  89. package/dist/routes/collect.js.map +1 -1
  90. package/dist/routes/context.d.ts +8 -0
  91. package/dist/routes/context.js +54 -0
  92. package/dist/routes/context.js.map +1 -0
  93. package/dist/routes/experiments.js +2 -1
  94. package/dist/routes/experiments.js.map +1 -1
  95. package/dist/routes/funnels.d.ts +21 -3
  96. package/dist/routes/funnels.js +150 -7
  97. package/dist/routes/funnels.js.map +1 -1
  98. package/dist/routes/index.d.ts +2 -0
  99. package/dist/routes/index.js +2 -0
  100. package/dist/routes/index.js.map +1 -1
  101. package/dist/routes/settings.d.ts +6 -1
  102. package/dist/routes/settings.js +65 -4
  103. package/dist/routes/settings.js.map +1 -1
  104. package/dist/routes/snapshot.d.ts +1 -1
  105. package/dist/routes/snapshot.js +24 -25
  106. package/dist/routes/snapshot.js.map +1 -1
  107. package/dist/routes/stats.d.ts +14 -23
  108. package/dist/routes/stats.js +73 -97
  109. package/dist/routes/stats.js.map +1 -1
  110. package/dist/routes/tracker.js +6 -4
  111. package/dist/routes/tracker.js.map +1 -1
  112. package/dist/routes/websites.d.ts +4 -0
  113. package/dist/routes/websites.js +111 -12
  114. package/dist/routes/websites.js.map +1 -1
  115. package/dist/services/acquisition-report.d.ts +62 -0
  116. package/dist/services/acquisition-report.js +181 -0
  117. package/dist/services/acquisition-report.js.map +1 -0
  118. package/dist/services/acquisition.d.ts +9 -3
  119. package/dist/services/acquisition.js +35 -5
  120. package/dist/services/acquisition.js.map +1 -1
  121. package/dist/services/catalog.d.ts +3 -0
  122. package/dist/services/catalog.js +17 -0
  123. package/dist/services/catalog.js.map +1 -0
  124. package/dist/services/collect.d.ts +1 -2
  125. package/dist/services/collect.js +49 -24
  126. package/dist/services/collect.js.map +1 -1
  127. package/dist/services/composed.d.ts +9 -0
  128. package/dist/services/composed.js +62 -0
  129. package/dist/services/composed.js.map +1 -0
  130. package/dist/services/context.d.ts +20 -0
  131. package/dist/services/context.js +76 -0
  132. package/dist/services/context.js.map +1 -0
  133. package/dist/services/dashboard.d.ts +74 -0
  134. package/dist/services/dashboard.js +343 -0
  135. package/dist/services/dashboard.js.map +1 -0
  136. package/dist/services/experiments/results.d.ts +12 -1
  137. package/dist/services/experiments/results.js +19 -2
  138. package/dist/services/experiments/results.js.map +1 -1
  139. package/dist/services/experiments/stats.d.ts +7 -1
  140. package/dist/services/experiments/stats.js +43 -5
  141. package/dist/services/experiments/stats.js.map +1 -1
  142. package/dist/services/funnel-report.d.ts +64 -0
  143. package/dist/services/funnel-report.js +280 -0
  144. package/dist/services/funnel-report.js.map +1 -0
  145. package/dist/services/funnels/compute.d.ts +2 -0
  146. package/dist/services/funnels/compute.js +25 -13
  147. package/dist/services/funnels/compute.js.map +1 -1
  148. package/dist/services/funnels/results.js +4 -1
  149. package/dist/services/funnels/results.js.map +1 -1
  150. package/dist/services/funnels/step-path.d.ts +4 -0
  151. package/dist/services/funnels/step-path.js +47 -0
  152. package/dist/services/funnels/step-path.js.map +1 -0
  153. package/dist/services/funnels-table.d.ts +31 -0
  154. package/dist/services/funnels-table.js +230 -0
  155. package/dist/services/funnels-table.js.map +1 -0
  156. package/dist/services/heatmap.d.ts +15 -3
  157. package/dist/services/heatmap.js +54 -11
  158. package/dist/services/heatmap.js.map +1 -1
  159. package/dist/services/hourly-traffic.d.ts +4 -0
  160. package/dist/services/hourly-traffic.js +35 -0
  161. package/dist/services/hourly-traffic.js.map +1 -0
  162. package/dist/services/origin-guard.d.ts +9 -1
  163. package/dist/services/origin-guard.js +46 -1
  164. package/dist/services/origin-guard.js.map +1 -1
  165. package/dist/services/period.d.ts +26 -1
  166. package/dist/services/period.js +99 -9
  167. package/dist/services/period.js.map +1 -1
  168. package/dist/services/prune.d.ts +6 -0
  169. package/dist/services/prune.js +35 -0
  170. package/dist/services/prune.js.map +1 -1
  171. package/dist/services/request-body.d.ts +1 -2
  172. package/dist/services/request-body.js +10 -36
  173. package/dist/services/request-body.js.map +1 -1
  174. package/dist/services/request-meta.d.ts +0 -1
  175. package/dist/services/request-meta.js +0 -11
  176. package/dist/services/request-meta.js.map +1 -1
  177. package/dist/services/rollups.d.ts +25 -0
  178. package/dist/services/rollups.js +102 -0
  179. package/dist/services/rollups.js.map +1 -0
  180. package/dist/services/sessionize.d.ts +5 -1
  181. package/dist/services/sessionize.js +52 -10
  182. package/dist/services/sessionize.js.map +1 -1
  183. package/dist/services/settings.d.ts +41 -2
  184. package/dist/services/settings.js +219 -6
  185. package/dist/services/settings.js.map +1 -1
  186. package/dist/services/snapshots.d.ts +3 -2
  187. package/dist/services/snapshots.js +110 -9
  188. package/dist/services/snapshots.js.map +1 -1
  189. package/dist/services/tenant-website.js +1 -0
  190. package/dist/services/tenant-website.js.map +1 -1
  191. package/dist/services/url.js +12 -4
  192. package/dist/services/url.js.map +1 -1
  193. package/dist/services/website-hosts.d.ts +15 -0
  194. package/dist/services/website-hosts.js +67 -0
  195. package/dist/services/website-hosts.js.map +1 -0
  196. package/dist/services/website-report.d.ts +40 -0
  197. package/dist/services/website-report.js +84 -0
  198. package/dist/services/website-report.js.map +1 -0
  199. package/dist/types/constants.d.ts +14 -2
  200. package/dist/types/constants.js +17 -6
  201. package/dist/types/constants.js.map +1 -1
  202. package/dist/types/events.d.ts +221 -68
  203. package/dist/types/events.js +60 -11
  204. package/dist/types/events.js.map +1 -1
  205. package/dist/types/snapshots.d.ts +6 -0
  206. package/dist/types/snapshots.js +2 -0
  207. package/dist/types/snapshots.js.map +1 -1
  208. package/dist/types/statistics.d.ts +2 -1
  209. package/dist/types/statistics.js +9 -2
  210. package/dist/types/statistics.js.map +1 -1
  211. package/dist/utils/experiment-type.js +1 -1
  212. package/dist/utils/experiment-type.js.map +1 -1
  213. package/dist/utils/funnel-steps-type.d.ts +21 -3
  214. package/dist/utils/funnel-steps-type.js +7 -2
  215. package/dist/utils/funnel-steps-type.js.map +1 -1
  216. package/frontend-vue/app/components/ChannelsCard.vue +265 -0
  217. package/frontend-vue/app/components/Context.vue +479 -0
  218. package/frontend-vue/app/components/ExperimentInput.vue +3 -1
  219. package/frontend-vue/app/components/ExperimentReport.vue +736 -0
  220. package/frontend-vue/app/components/FirstRun.vue +60 -0
  221. package/frontend-vue/app/components/FunnelBuilder.vue +1595 -0
  222. package/frontend-vue/app/components/FunnelFigure.vue +640 -0
  223. package/frontend-vue/app/components/FunnelReport.vue +532 -0
  224. package/frontend-vue/app/components/FunnelStepsInput.vue +3 -1
  225. package/frontend-vue/app/components/FunnelTemplates.vue +161 -0
  226. package/frontend-vue/app/components/HeatmapCanvas.vue +11 -4
  227. package/frontend-vue/app/components/InstallGuide.vue +753 -0
  228. package/frontend-vue/app/components/PagePreview.vue +889 -416
  229. package/frontend-vue/app/components/PagesExplorer.vue +552 -0
  230. package/frontend-vue/app/components/ScrollDepthOverlay.vue +48 -20
  231. package/frontend-vue/app/components/TopListTabs.vue +317 -0
  232. package/frontend-vue/app/components/TrackerSnippet.vue +50 -16
  233. package/frontend-vue/app/components/VariationsInput.vue +15 -5
  234. package/frontend-vue/app/components/WebsitesGrid.vue +799 -0
  235. package/frontend-vue/app/composables/useContextLink.ts +16 -0
  236. package/frontend-vue/app/composables/useExperiment.ts +1 -2
  237. package/frontend-vue/app/composables/useFunnelSteps.ts +1 -2
  238. package/frontend-vue/app/composables/useLatestRequest.ts +2 -4
  239. package/frontend-vue/app/composables/useMarketingApi.ts +298 -133
  240. package/frontend-vue/app/composables/useMarketingContext.ts +55 -0
  241. package/frontend-vue/app/composables/useMarketingRoutes.ts +80 -27
  242. package/frontend-vue/app/composables/useSnapshotFrame.ts +26 -4
  243. package/frontend-vue/app/constants.ts +22 -0
  244. package/frontend-vue/app/plugins/funnel-steps-data-type.client.ts +2 -1
  245. package/frontend-vue/app/utils/channels.ts +37 -0
  246. package/frontend-vue/app/utils/format.ts +132 -0
  247. package/frontend-vue/app/utils/funnel-draft.ts +264 -0
  248. package/frontend-vue/app/utils/heatmap.ts +82 -0
  249. package/frontend-vue/app/utils/heatmapPalette.ts +10 -0
  250. package/frontend-vue/app/utils/host-conflict.ts +48 -0
  251. package/frontend-vue/app/utils/sample-size.ts +17 -0
  252. package/frontend-vue/app/utils/snapshotViewportUnits.ts +15 -5
  253. package/frontend-vue/app/utils/snippet.ts +53 -0
  254. package/frontend-vue/app/utils/step-path.ts +32 -0
  255. package/frontend-vue/dms.frontend.ts +4 -3
  256. package/frontend-vue/i18n/locales/marketing-en-GB.json +1083 -316
  257. package/frontend-vue/i18n/locales/marketing-fr-FR.json +1087 -320
  258. package/frontend-vue/package.json +3 -0
  259. package/frontend-vue/tests/drafts.test.ts +3 -3
  260. package/frontend-vue/tests/format.test.ts +73 -0
  261. package/frontend-vue/tests/funnel-draft.test.ts +194 -0
  262. package/frontend-vue/tests/heatmap.test.ts +32 -0
  263. package/frontend-vue/tests/i18n.test.ts +87 -4
  264. package/frontend-vue/tests/latest-request.test.ts +6 -3
  265. package/frontend-vue/tests/locale-typography.test.ts +115 -0
  266. package/frontend-vue/tests/registration.test.ts +21 -11
  267. package/frontend-vue/tests/routes.test.ts +67 -7
  268. package/frontend-vue/tests/server-parity.test.ts +77 -0
  269. package/frontend-vue/tests/stubs/frontend-module.ts +18 -3
  270. package/package.json +9 -7
  271. package/static/snapshot.js +46 -16
  272. package/static/tracker.js +139 -48
  273. package/dist/pages/campaigns/page.js.map +0 -1
  274. package/frontend-vue/app/components/CampaignsView.vue +0 -330
  275. package/frontend-vue/app/components/FunnelDetail.vue +0 -1026
  276. package/frontend-vue/app/components/FunnelsView.vue +0 -493
  277. package/frontend-vue/app/components/NoWebsiteState.vue +0 -18
  278. package/frontend-vue/app/components/OverviewView.vue +0 -493
  279. package/frontend-vue/app/components/PagesView.vue +0 -391
  280. package/frontend-vue/app/components/TextKpiCard.vue +0 -28
  281. package/frontend-vue/app/components/TopListTabsCard.vue +0 -162
  282. package/frontend-vue/app/composables/useChildId.ts +0 -13
  283. package/frontend-vue/app/composables/useMarketingPeriod.ts +0 -65
  284. package/frontend-vue/app/composables/useMarketingWebsiteForm.ts +0 -69
  285. package/frontend-vue/app/composables/useMarketingWebsites.ts +0 -80
  286. package/frontend-vue/app/utils/dmsComponent.ts +0 -18
  287. package/frontend-vue/tests/period.test.ts +0 -35
@@ -0,0 +1,29 @@
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ Object.defineProperty(exports, "__esModule", { value: true });
9
+ exports.MarketingFunnelBuilderPage = void 0;
10
+ const layouts_1 = require("@antelopejs/interface-dms/base/layouts");
11
+ const page_1 = require("@antelopejs/interface-dms/page");
12
+ const constants_1 = require("@/types/constants");
13
+ const blocks_1 = require("../blocks");
14
+ const module_1 = require("../module");
15
+ let MarketingFunnelBuilderPage = class MarketingFunnelBuilderPage extends (0, page_1.PageController)("funnel-builder", {
16
+ displayName: "$page.marketing.builder.page_title",
17
+ description: "$page.marketing.builder.description",
18
+ icon: "i-ph-funnel",
19
+ module: constants_1.MARKETING_MODULE_ID,
20
+ category: module_1.conversionCategory,
21
+ hidden: true,
22
+ }, (0, layouts_1.DefaultLayout)({ hideHeader: true })) {
23
+ static content = (0, blocks_1.MarketingBlock)("FunnelBuilder", "funnel_builder", "i-ph-pencil-simple", {});
24
+ };
25
+ exports.MarketingFunnelBuilderPage = MarketingFunnelBuilderPage;
26
+ exports.MarketingFunnelBuilderPage = MarketingFunnelBuilderPage = __decorate([
27
+ (0, page_1.RegisterPage)()
28
+ ], MarketingFunnelBuilderPage);
29
+ //# sourceMappingURL=page.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"page.js","sourceRoot":"","sources":["../../../src/pages/funnel-builder/page.ts"],"names":[],"mappings":";;;;;;;;;AAAA,oEAAuE;AACvE,yDAA8E;AAC9E,iDAAwD;AACxD,sCAA2C;AAC3C,sCAA+C;AAQxC,IAAM,0BAA0B,GAAhC,MAAM,0BAA2B,SAAQ,IAAA,qBAAc,EAC5D,gBAAgB,EAChB;IACE,WAAW,EAAE,oCAAoC;IACjD,WAAW,EAAE,qCAAqC;IAClD,IAAI,EAAE,aAAa;IACnB,MAAM,EAAE,+BAAmB;IAC3B,QAAQ,EAAE,2BAAkB;IAC5B,MAAM,EAAE,IAAI;CACb,EACD,IAAA,uBAAa,EAAC,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC,CACpC;IACC,MAAM,CAAC,OAAO,GAAG,IAAA,uBAAc,EAC7B,eAAe,EACf,gBAAgB,EAChB,oBAAoB,EACpB,EAAE,CACH,CAAC;;AAjBS,gEAA0B;qCAA1B,0BAA0B;IADtC,IAAA,mBAAY,GAAE;GACF,0BAA0B,CAkBtC"}
@@ -4,6 +4,6 @@ declare const MarketingFunnelsPage_base: {
4
4
  location: string;
5
5
  };
6
6
  export declare class MarketingFunnelsPage extends MarketingFunnelsPage_base {
7
- static content: import("@antelopejs/interface-dms").ComponentBuilder<unknown>;
7
+ static content: import("@antelopejs/interface-dms").ComponentBuilder<import("../blocks").MarketingContextOptions>;
8
8
  }
9
9
  export {};
@@ -7,18 +7,215 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
7
7
  };
8
8
  Object.defineProperty(exports, "__esModule", { value: true });
9
9
  exports.MarketingFunnelsPage = void 0;
10
+ const banner_1 = require("@antelopejs/interface-dms/base/banner");
10
11
  const custom_1 = require("@antelopejs/interface-dms/base/custom");
12
+ const default_types_1 = require("@antelopejs/interface-dms/base/data-types/default-types");
13
+ const table_view_1 = require("@antelopejs/interface-dms/base/table-view");
14
+ const column_display_1 = require("@antelopejs/interface-dms/base/table-view/column-display");
15
+ const button_1 = require("@antelopejs/interface-dms/base/types/button");
16
+ const interface_database_decorators_1 = require("@antelopejs/interface-database-decorators");
11
17
  const layouts_1 = require("@antelopejs/interface-dms/base/layouts");
18
+ const request_tenant_1 = require("@antelopejs/interface-dms/request-tenant");
12
19
  const page_1 = require("@antelopejs/interface-dms/page");
20
+ const db_1 = require("@/db");
21
+ const tenant_website_1 = require("@/services/tenant-website");
13
22
  const constants_1 = require("@/types/constants");
23
+ const blocks_1 = require("../blocks");
24
+ const module_1 = require("../module");
25
+ const FUNNELS_API = `${constants_1.API_BASE_PATH}/funnels`;
26
+ const FUNNELS_PREFIX = "$page.marketing.funnels.";
27
+ const STATUS_TONES = {
28
+ running: "success",
29
+ stopped: "neutral",
30
+ draft: "info",
31
+ };
32
+ const FUNNELS_TABLE_API = `${constants_1.API_BASE_PATH}/tables/funnels`;
33
+ const BUILDER_URL = `${constants_1.MARKETING_MODULE_PATH}/funnel-builder`;
34
+ const funnelsTable = table_view_1.TableView.fromSource({
35
+ caption: `${FUNNELS_PREFIX}list_title`,
36
+ fetchUrl: (0, blocks_1.websiteUrl)(`${FUNNELS_API}/rows`),
37
+ periodScope: blocks_1.MARKETING_PERIOD_SCOPE,
38
+ capabilities: { filter: true },
39
+ defaultSort: { field: "conversion", desc: true },
40
+ rowClick: "single",
41
+ columns: {
42
+ name: {
43
+ name: `${FUNNELS_PREFIX}columns.name`,
44
+ order: 1,
45
+ size: 170,
46
+ type: new default_types_1.DefaultDataTypes.StringType(),
47
+ display: new column_display_1.DefaultDisplays.IdentityDisplay({
48
+ icon: "i-ph-funnel",
49
+ subtitleField: "detail",
50
+ iconField: "icon",
51
+ }),
52
+ sortable: true,
53
+ },
54
+ conversion: {
55
+ name: `${FUNNELS_PREFIX}columns.conversion`,
56
+ order: 2,
57
+ size: 105,
58
+ type: new default_types_1.DefaultDataTypes.NumberType(),
59
+ display: new column_display_1.DefaultDisplays.TwoLineDisplay({
60
+ primaryField: "conversionText",
61
+ subField: "comparison",
62
+ }),
63
+ sortable: true,
64
+ },
65
+ entered: {
66
+ name: `${FUNNELS_PREFIX}columns.completed_of_entered`,
67
+ order: 3,
68
+ size: 190,
69
+ type: new default_types_1.DefaultDataTypes.NumberType(),
70
+ display: new column_display_1.DefaultDisplays.ProgressDisplay({
71
+ doneField: "completed",
72
+ totalField: "entered",
73
+ }),
74
+ sortable: true,
75
+ },
76
+ status: {
77
+ name: `${FUNNELS_PREFIX}columns.status`,
78
+ order: 4,
79
+ size: 110,
80
+ type: new default_types_1.DefaultDataTypes.SelectType({
81
+ items: ["running", "stopped", "draft"].map((status) => ({
82
+ value: status,
83
+ label: `${FUNNELS_PREFIX}status.${status}`,
84
+ })),
85
+ }),
86
+ display: new column_display_1.DefaultDisplays.StatusPillDisplay({
87
+ tones: STATUS_TONES,
88
+ liveValues: ["running"],
89
+ }),
90
+ },
91
+ steps: {
92
+ name: `${FUNNELS_PREFIX}columns.steps`,
93
+ order: 5,
94
+ size: 320,
95
+ type: new default_types_1.DefaultDataTypes.StringType(),
96
+ display: new column_display_1.DefaultDisplays.PillsDisplay(),
97
+ },
98
+ kind: {
99
+ name: `${FUNNELS_PREFIX}columns.kind`,
100
+ order: 6,
101
+ isVisible: false,
102
+ filterable: true,
103
+ type: new default_types_1.DefaultDataTypes.SelectType({
104
+ items: [
105
+ { value: "funnel", label: `${FUNNELS_PREFIX}tabs.funnels` },
106
+ { value: "ab", label: `${FUNNELS_PREFIX}tabs.ab` },
107
+ ],
108
+ }),
109
+ },
110
+ },
111
+ tabs: [
112
+ { id: "all", label: `${FUNNELS_PREFIX}tabs.all` },
113
+ {
114
+ id: "funnels",
115
+ label: `${FUNNELS_PREFIX}tabs.funnels`,
116
+ icon: "i-ph-funnel",
117
+ filter: { accessorKey: "kind", mode: "is", value: "funnel" },
118
+ },
119
+ {
120
+ id: "ab",
121
+ label: `${FUNNELS_PREFIX}tabs.ab`,
122
+ icon: "i-ph-flask",
123
+ filter: { accessorKey: "kind", mode: "is", value: "ab" },
124
+ },
125
+ ],
126
+ rowActions: {
127
+ custom: [
128
+ {
129
+ label: `${FUNNELS_PREFIX}open`,
130
+ icon: "i-ph-arrow-right",
131
+ target: {
132
+ type: "page",
133
+ url: `${constants_1.MARKETING_MODULE_PATH}/funnel?id={_id}&${blocks_1.CONTEXT_QUERY}`,
134
+ },
135
+ isDefault: true,
136
+ },
137
+ {
138
+ label: `${FUNNELS_PREFIX}actions.edit`,
139
+ icon: "i-ph-pencil-simple",
140
+ target: {
141
+ type: "page",
142
+ url: `${BUILDER_URL}?id={_id}&${blocks_1.CONTEXT_QUERY}`,
143
+ },
144
+ },
145
+ {
146
+ label: `${FUNNELS_PREFIX}actions.duplicate`,
147
+ icon: "i-ph-copy",
148
+ target: {
149
+ type: "page",
150
+ url: `${BUILDER_URL}?copy={_id}&${blocks_1.CONTEXT_QUERY}`,
151
+ },
152
+ },
153
+ {
154
+ label: `${FUNNELS_PREFIX}actions.delete`,
155
+ icon: "i-ph-trash",
156
+ color: "error",
157
+ target: {
158
+ type: "api",
159
+ method: "DELETE",
160
+ url: `${FUNNELS_TABLE_API}/delete?id={_id}`,
161
+ successMessage: "$page.marketing.funnel.delete.done",
162
+ },
163
+ confirm: { from: `${FUNNELS_API}/{id}/delete-confirmation` },
164
+ },
165
+ ],
166
+ },
167
+ emptyStates: {
168
+ firstRun: {
169
+ title: `${FUNNELS_PREFIX}empty.title_plain`,
170
+ component: (0, custom_1.CustomComponent)("DmsMarketingFunnelTemplates"),
171
+ },
172
+ filtered: { icon: "i-ph-funnel", title: `${FUNNELS_PREFIX}no_match` },
173
+ },
174
+ footer: {
175
+ countLabel: `${FUNNELS_PREFIX}count`,
176
+ hint: `${FUNNELS_PREFIX}note`,
177
+ },
178
+ });
179
+ async function countRunningTests(tenantId) {
180
+ const websites = await (0, tenant_website_1.listTenantWebsites)(tenantId);
181
+ const model = (0, interface_database_decorators_1.GetModel)(db_1.FunnelsModel, tenantId);
182
+ const running = await Promise.all(websites.map((website) => model.listRunning(website._id)));
183
+ return running.reduce((sum, funnels) => sum + funnels.length, 0);
184
+ }
14
185
  let MarketingFunnelsPage = class MarketingFunnelsPage extends (0, page_1.PageController)("funnels", {
15
186
  displayName: "$page.marketing.funnels.title",
16
187
  description: "$page.marketing.funnels.description",
17
188
  icon: "i-ph-funnel",
18
189
  module: constants_1.MARKETING_MODULE_ID,
19
- order: 3,
20
- }, (0, layouts_1.DefaultLayout)({ fullWidth: true })) {
21
- static content = (0, custom_1.CustomComponent)("DmsMarketingFunnelsView");
190
+ category: module_1.conversionCategory,
191
+ order: 1,
192
+ live: blocks_1.CONTEXT_PAGE_LIVE,
193
+ }, (0, layouts_1.DefaultLayout)({
194
+ headerActions: [
195
+ {
196
+ id: "new-funnel",
197
+ label: "$page.marketing.funnels.new",
198
+ icon: "i-ph-plus",
199
+ variant: button_1.ButtonVariant.solid,
200
+ color: "primary",
201
+ target: {
202
+ type: "page",
203
+ url: `${constants_1.MARKETING_MODULE_PATH}/funnel-builder`,
204
+ },
205
+ },
206
+ ],
207
+ })) {
208
+ static content = (0, blocks_1.MarketingContext)()
209
+ .child("winner", (0, banner_1.Banner)({
210
+ fetchUrl: (0, blocks_1.websiteUrl)(`${FUNNELS_API}/winner`),
211
+ periodScope: blocks_1.MARKETING_PERIOD_SCOPE,
212
+ }).meta((0, blocks_1.blockMeta)("funnels_winner", "i-ph-flask")))
213
+ .child("list", funnelsTable.meta((0, blocks_1.blockMeta)("funnels_table", "i-ph-funnel")).navBadge({
214
+ count: async (ctx) => ({
215
+ count: await countRunningTests((0, request_tenant_1.getRequestTenantId)(ctx)),
216
+ tone: "primary",
217
+ }),
218
+ }));
22
219
  };
23
220
  exports.MarketingFunnelsPage = MarketingFunnelsPage;
24
221
  exports.MarketingFunnelsPage = MarketingFunnelsPage = __decorate([
@@ -1 +1 @@
1
- {"version":3,"file":"page.js","sourceRoot":"","sources":["../../../src/pages/funnels/page.ts"],"names":[],"mappings":";;;;;;;;;AAAA,kEAAwE;AACxE,oEAAuE;AACvE,yDAA8E;AAC9E,iDAAwD;AAWjD,IAAM,oBAAoB,GAA1B,MAAM,oBAAqB,SAAQ,IAAA,qBAAc,EACtD,SAAS,EACT;IACE,WAAW,EAAE,+BAA+B;IAC5C,WAAW,EAAE,qCAAqC;IAClD,IAAI,EAAE,aAAa;IACnB,MAAM,EAAE,+BAAmB;IAC3B,KAAK,EAAE,CAAC;CACT,EACD,IAAA,uBAAa,EAAC,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CACnC;IACC,MAAM,CAAC,OAAO,GAAG,IAAA,wBAAe,EAAC,yBAAyB,CAAC,CAAC;;AAXjD,oDAAoB;+BAApB,oBAAoB;IADhC,IAAA,mBAAY,GAAE;GACF,oBAAoB,CAYhC"}
1
+ {"version":3,"file":"page.js","sourceRoot":"","sources":["../../../src/pages/funnels/page.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,5 @@
1
1
  import "./module";
2
2
  import "./all";
3
+ import "./quick-actions";
3
4
  export * from "./all";
4
5
  export * from "./module";
@@ -16,6 +16,7 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
17
  require("./module");
18
18
  require("./all");
19
+ require("./quick-actions");
19
20
  __exportStar(require("./all"), exports);
20
21
  __exportStar(require("./module"), exports);
21
22
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/pages/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAGA,oBAAkB;AAClB,iBAAe;AAEf,wCAAsB;AACtB,2CAAyB"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/pages/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAGA,oBAAkB;AAClB,iBAAe;AACf,2BAAyB;AAEzB,wCAAsB;AACtB,2CAAyB"}
@@ -1,9 +1,9 @@
1
- declare const MarketingCampaignsPage_base: {
1
+ declare const MarketingInstallPage_base: {
2
2
  new (...args: any[]): {};
3
3
  extend: <T extends import("@antelopejs/interface-api").ControllerClass>(this: T, location: string) => T;
4
4
  location: string;
5
5
  };
6
- export declare class MarketingCampaignsPage extends MarketingCampaignsPage_base {
7
- static content: import("@antelopejs/interface-dms").ComponentBuilder<unknown>;
6
+ export declare class MarketingInstallPage extends MarketingInstallPage_base {
7
+ static content: import("@antelopejs/interface-dms").ComponentBuilder<{}>;
8
8
  }
9
9
  export {};
@@ -6,22 +6,24 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
6
6
  return c > 3 && r && Object.defineProperty(target, key, r), r;
7
7
  };
8
8
  Object.defineProperty(exports, "__esModule", { value: true });
9
- exports.MarketingCampaignsPage = void 0;
10
- const custom_1 = require("@antelopejs/interface-dms/base/custom");
9
+ exports.MarketingInstallPage = void 0;
11
10
  const layouts_1 = require("@antelopejs/interface-dms/base/layouts");
12
11
  const page_1 = require("@antelopejs/interface-dms/page");
13
12
  const constants_1 = require("@/types/constants");
14
- let MarketingCampaignsPage = class MarketingCampaignsPage extends (0, page_1.PageController)("campaigns", {
15
- displayName: "$page.marketing.campaigns.title",
16
- description: "$page.marketing.campaigns.description",
17
- icon: "i-ph-megaphone",
13
+ const blocks_1 = require("../blocks");
14
+ const module_1 = require("../module");
15
+ let MarketingInstallPage = class MarketingInstallPage extends (0, page_1.PageController)("install", {
16
+ displayName: "$page.marketing.install.title",
17
+ description: "$page.marketing.install.description",
18
+ icon: "i-ph-plug",
18
19
  module: constants_1.MARKETING_MODULE_ID,
19
- order: 2,
20
- }, (0, layouts_1.DefaultLayout)({ fullWidth: true })) {
21
- static content = (0, custom_1.CustomComponent)("DmsMarketingCampaignsView");
20
+ category: module_1.setupCategory,
21
+ hidden: true,
22
+ }, (0, layouts_1.DefaultLayout)({ hideHeader: true })) {
23
+ static content = (0, blocks_1.MarketingBlock)("InstallGuide", "install_guide", "i-ph-plug", {}).child("collection", (0, blocks_1.collectionPausedBanner)());
22
24
  };
23
- exports.MarketingCampaignsPage = MarketingCampaignsPage;
24
- exports.MarketingCampaignsPage = MarketingCampaignsPage = __decorate([
25
+ exports.MarketingInstallPage = MarketingInstallPage;
26
+ exports.MarketingInstallPage = MarketingInstallPage = __decorate([
25
27
  (0, page_1.RegisterPage)()
26
- ], MarketingCampaignsPage);
28
+ ], MarketingInstallPage);
27
29
  //# sourceMappingURL=page.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"page.js","sourceRoot":"","sources":["../../../src/pages/install/page.ts"],"names":[],"mappings":";;;;;;;;;AAAA,oEAAuE;AACvE,yDAA8E;AAC9E,iDAAwD;AACxD,sCAAmE;AACnE,sCAA0C;AAQnC,IAAM,oBAAoB,GAA1B,MAAM,oBAAqB,SAAQ,IAAA,qBAAc,EACtD,SAAS,EACT;IACE,WAAW,EAAE,+BAA+B;IAC5C,WAAW,EAAE,qCAAqC;IAClD,IAAI,EAAE,WAAW;IACjB,MAAM,EAAE,+BAAmB;IAC3B,QAAQ,EAAE,sBAAa;IACvB,MAAM,EAAE,IAAI;CACb,EACD,IAAA,uBAAa,EAAC,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC,CACpC;IACC,MAAM,CAAC,OAAO,GAAG,IAAA,uBAAc,EAC7B,cAAc,EACd,eAAe,EACf,WAAW,EACX,EAAE,CACH,CAAC,KAAK,CAAC,YAAY,EAAE,IAAA,+BAAsB,GAAE,CAAC,CAAC;;AAjBrC,oDAAoB;+BAApB,oBAAoB;IADhC,IAAA,mBAAY,GAAE;GACF,oBAAoB,CAkBhC"}
@@ -1 +1,4 @@
1
1
  export declare const marketingModule: import("@antelopejs/interface-dms").CategoryInfo;
2
+ export declare const analyticsCategory: import("@antelopejs/interface-dms").CategoryInfo;
3
+ export declare const conversionCategory: import("@antelopejs/interface-dms").CategoryInfo;
4
+ export declare const setupCategory: import("@antelopejs/interface-dms").CategoryInfo;
@@ -1,13 +1,40 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.marketingModule = void 0;
3
+ exports.setupCategory = exports.conversionCategory = exports.analyticsCategory = exports.marketingModule = void 0;
4
4
  const page_1 = require("@antelopejs/interface-dms/page");
5
5
  const constants_1 = require("@/types/constants");
6
+ const catalog_1 = require("@/services/catalog");
7
+ const { version } = require("../../package.json");
6
8
  exports.marketingModule = (0, page_1.RegisterModule)({
7
9
  id: constants_1.MARKETING_MODULE_ID,
8
10
  title: "$page.marketing.category_name",
9
- description: "$page.marketing.overview.description",
10
- icon: "i-ph-chart-line-up",
11
+ description: "$page.marketing.module_description",
12
+ icon: "i-ph-broadcast",
11
13
  landingPage: constants_1.OVERVIEW_PAGE_ID,
14
+ version,
15
+ catalogCategory: "$page.marketing.catalog_category",
16
+ status: catalog_1.moduleStatus,
17
+ readout: catalog_1.moduleReadout,
18
+ });
19
+ exports.analyticsCategory = (0, page_1.Category)("analytics", {
20
+ displayName: "$page.marketing.nav.analytics",
21
+ category: exports.marketingModule,
22
+ urlSlug: "/",
23
+ type: "label",
24
+ order: 1,
25
+ });
26
+ exports.conversionCategory = (0, page_1.Category)("conversion", {
27
+ displayName: "$page.marketing.nav.conversion",
28
+ category: exports.marketingModule,
29
+ urlSlug: "/",
30
+ type: "label",
31
+ order: 2,
32
+ });
33
+ exports.setupCategory = (0, page_1.Category)("setup", {
34
+ displayName: "$page.marketing.nav.setup",
35
+ category: exports.marketingModule,
36
+ urlSlug: "/",
37
+ type: "label",
38
+ order: 3,
12
39
  });
13
40
  //# sourceMappingURL=module.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"module.js","sourceRoot":"","sources":["../../src/pages/module.ts"],"names":[],"mappings":";;;AAAA,yDAAgE;AAChE,iDAA0E;AAE7D,QAAA,eAAe,GAAG,IAAA,qBAAc,EAAC;IAC5C,EAAE,EAAE,+BAAmB;IACvB,KAAK,EAAE,+BAA+B;IACtC,WAAW,EAAE,sCAAsC;IACnD,IAAI,EAAE,oBAAoB;IAC1B,WAAW,EAAE,4BAAgB;CAC9B,CAAC,CAAC"}
1
+ {"version":3,"file":"module.js","sourceRoot":"","sources":["../../src/pages/module.ts"],"names":[],"mappings":";;;AAAA,yDAA0E;AAC1E,iDAA0E;AAC1E,gDAAiE;AASjE,MAAM,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC,oBAAoB,CAAoB,CAAC;AAExD,QAAA,eAAe,GAAG,IAAA,qBAAc,EAAC;IAC5C,EAAE,EAAE,+BAAmB;IACvB,KAAK,EAAE,+BAA+B;IACtC,WAAW,EAAE,oCAAoC;IACjD,IAAI,EAAE,gBAAgB;IACtB,WAAW,EAAE,4BAAgB;IAC7B,OAAO;IACP,eAAe,EAAE,kCAAkC;IACnD,MAAM,EAAE,sBAAY;IACpB,OAAO,EAAE,uBAAa;CACvB,CAAC,CAAC;AAMU,QAAA,iBAAiB,GAAG,IAAA,eAAQ,EAAC,WAAW,EAAE;IACrD,WAAW,EAAE,+BAA+B;IAC5C,QAAQ,EAAE,uBAAe;IACzB,OAAO,EAAE,GAAG;IACZ,IAAI,EAAE,OAAO;IACb,KAAK,EAAE,CAAC;CACT,CAAC,CAAC;AAEU,QAAA,kBAAkB,GAAG,IAAA,eAAQ,EAAC,YAAY,EAAE;IACvD,WAAW,EAAE,gCAAgC;IAC7C,QAAQ,EAAE,uBAAe;IACzB,OAAO,EAAE,GAAG;IACZ,IAAI,EAAE,OAAO;IACb,KAAK,EAAE,CAAC;CACT,CAAC,CAAC;AAEU,QAAA,aAAa,GAAG,IAAA,eAAQ,EAAC,OAAO,EAAE;IAC7C,WAAW,EAAE,2BAA2B;IACxC,QAAQ,EAAE,uBAAe;IACzB,OAAO,EAAE,GAAG;IACZ,IAAI,EAAE,OAAO;IACb,KAAK,EAAE,CAAC;CACT,CAAC,CAAC"}
@@ -4,6 +4,6 @@ declare const MarketingOverviewPage_base: {
4
4
  location: string;
5
5
  };
6
6
  export declare class MarketingOverviewPage extends MarketingOverviewPage_base {
7
- static content: import("@antelopejs/interface-dms").ComponentBuilder<unknown>;
7
+ static content: import("@antelopejs/interface-dms").ComponentBuilder<import("../blocks").MarketingContextOptions>;
8
8
  }
9
9
  export {};
@@ -7,18 +7,137 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
7
7
  };
8
8
  Object.defineProperty(exports, "__esModule", { value: true });
9
9
  exports.MarketingOverviewPage = void 0;
10
- const custom_1 = require("@antelopejs/interface-dms/base/custom");
10
+ const button_1 = require("@antelopejs/interface-dms/base/types/button");
11
+ const chart_1 = require("@antelopejs/interface-dms/base/chart");
12
+ const chart_card_1 = require("@antelopejs/interface-dms/base/chart-card");
13
+ const grid_1 = require("@antelopejs/interface-dms/base/grid");
14
+ const kpi_card_1 = require("@antelopejs/interface-dms/base/kpi-card");
11
15
  const layouts_1 = require("@antelopejs/interface-dms/base/layouts");
16
+ const stat_group_1 = require("@antelopejs/interface-dms/base/stat-group");
17
+ const tab_1 = require("@antelopejs/interface-dms/base/tab");
18
+ const top_list_card_1 = require("@antelopejs/interface-dms/base/top-list-card");
19
+ const size_1 = require("@antelopejs/interface-dms/base/types/size");
12
20
  const page_1 = require("@antelopejs/interface-dms/page");
13
21
  const constants_1 = require("@/types/constants");
22
+ const blocks_1 = require("../blocks");
23
+ const module_1 = require("../module");
24
+ const KPI_PREFIX = "$page.marketing.overview.kpis.";
25
+ const COMPARE_LABEL = "$page.marketing.context.vs_previous";
26
+ function volumeKpi(metric, icon) {
27
+ return (0, kpi_card_1.KpiCard)({
28
+ title: `${KPI_PREFIX}${metric}`,
29
+ icon,
30
+ variant: "stat",
31
+ valueFormat: "number",
32
+ showSparkline: true,
33
+ sparklineAccent: "primary",
34
+ compareLabel: COMPARE_LABEL,
35
+ fetchUrl: (0, blocks_1.websiteUrl)(`${blocks_1.BLOCKS_API}/kpi?metric=${metric}`),
36
+ periodScope: blocks_1.MARKETING_PERIOD_SCOPE,
37
+ }).meta((0, blocks_1.blockMeta)(`kpi_${metric.replaceAll("-", "_")}`, icon));
38
+ }
39
+ const TRAFFIC_PREFIX = "$page.marketing.overview.traffic.";
40
+ function trafficChart(metric) {
41
+ return (0, chart_card_1.ChartCard)({
42
+ title: `${TRAFFIC_PREFIX}${metric}_title`,
43
+ icon: "i-ph-chart-line",
44
+ fetchUrl: (0, blocks_1.websiteUrl)(`${blocks_1.BLOCKS_API}/traffic?metric=${metric}`),
45
+ periodScope: blocks_1.MARKETING_PERIOD_SCOPE,
46
+ valueFormat: "number",
47
+ primaryLabel: `${TRAFFIC_PREFIX}this_period`,
48
+ comparisonLabel: `${TRAFFIC_PREFIX}compared_period`,
49
+ chart: (0, chart_1.ChartArea)({
50
+ curve: "straight",
51
+ xaxisType: "datetime",
52
+ comparisonStyle: "dashed",
53
+ height: "260px",
54
+ }),
55
+ }).meta((0, blocks_1.blockMeta)(`traffic_${metric}`, "i-ph-chart-line"));
56
+ }
57
+ function topListTabs(group, icon, footer) {
58
+ return (0, blocks_1.MarketingBlock)("TopListTabs", `tops_${group}`, icon, {
59
+ fetchUrl: (0, blocks_1.websiteUrl)(`${blocks_1.BLOCKS_API}/tops?group=${group}`),
60
+ periodScope: blocks_1.MARKETING_PERIOD_SCOPE,
61
+ eyebrow: `$page.marketing.overview.groups.${group}.title`,
62
+ valueLabel: `$page.marketing.overview.groups.${group}.value`,
63
+ note: `$page.marketing.overview.groups.${group}.note`,
64
+ footerLabel: footer
65
+ ? `$page.marketing.overview.groups.${group}.view_all`
66
+ : undefined,
67
+ footerTo: footer,
68
+ });
69
+ }
14
70
  let MarketingOverviewPage = class MarketingOverviewPage extends (0, page_1.PageController)(constants_1.OVERVIEW_PAGE_ID, {
15
71
  displayName: "$page.marketing.overview.title",
16
72
  description: "$page.marketing.overview.description",
17
73
  icon: "i-ph-chart-line-up",
18
74
  module: constants_1.MARKETING_MODULE_ID,
75
+ category: module_1.analyticsCategory,
19
76
  order: 1,
20
- }, (0, layouts_1.DefaultLayout)({ fullWidth: true })) {
21
- static content = (0, custom_1.CustomComponent)("DmsMarketingOverviewView");
77
+ live: blocks_1.CONTEXT_PAGE_LIVE,
78
+ }, (0, layouts_1.DefaultLayout)({
79
+ headerActions: [
80
+ {
81
+ id: "view-funnels",
82
+ label: "$page.marketing.overview.view_funnels",
83
+ icon: "i-ph-funnel",
84
+ variant: button_1.ButtonVariant.outline,
85
+ color: "neutral",
86
+ target: { type: "page", url: `${constants_1.MARKETING_MODULE_PATH}/funnels` },
87
+ },
88
+ ],
89
+ })) {
90
+ static content = (0, blocks_1.MarketingContext)({ waitingGuide: true })
91
+ .child("kpis", (0, grid_1.Grid)({ minColumnWidth: "200px" })
92
+ .child("row", (0, grid_1.GridRow)()
93
+ .child("pageviews", volumeKpi("pageviews", "i-ph-eye"))
94
+ .child("sessions", volumeKpi("sessions", "i-ph-users"))
95
+ .child("new-visitors", volumeKpi("new-visitors", "i-ph-user-plus"))
96
+ .child("custom-events", volumeKpi("custom-events", "i-ph-sparkle")))
97
+ .meta((0, blocks_1.blockMeta)("kpis", "i-ph-squares-four")))
98
+ .child("quality", (0, stat_group_1.StatGroup)({
99
+ fetchUrl: (0, blocks_1.websiteUrl)(`${blocks_1.BLOCKS_API}/quality`),
100
+ periodScope: blocks_1.MARKETING_PERIOD_SCOPE,
101
+ label: "$page.marketing.blocks.quality.name",
102
+ skeletonCount: 3,
103
+ }).meta((0, blocks_1.blockMeta)("quality", "i-ph-gauge")))
104
+ .child("traffic", (0, grid_1.Grid)({ minColumnWidth: "280px" })
105
+ .child("row", (0, grid_1.GridRow)()
106
+ .child("chart", (0, tab_1.Tab)({
107
+ items: [
108
+ { label: `${TRAFFIC_PREFIX}tabs.sessions`, slot: "sessions" },
109
+ {
110
+ label: `${TRAFFIC_PREFIX}tabs.pageviews`,
111
+ slot: "pageviews",
112
+ },
113
+ ],
114
+ variant: tab_1.TabVariant.link,
115
+ size: size_1.Size.small,
116
+ })
117
+ .child("sessions", trafficChart("sessions"), {
118
+ slot: "sessions",
119
+ })
120
+ .child("pageviews", trafficChart("pageviews"), {
121
+ slot: "pageviews",
122
+ })
123
+ .meta((0, blocks_1.blockMeta)("traffic", "i-ph-chart-line")), { colSpan: 2 })
124
+ .child("devices", (0, top_list_card_1.TopListCard)({
125
+ title: "$page.marketing.overview.devices.title",
126
+ fetchUrl: (0, blocks_1.websiteUrl)(`${blocks_1.BLOCKS_API}/devices`),
127
+ periodScope: blocks_1.MARKETING_PERIOD_SCOPE,
128
+ valueFormat: "number",
129
+ emptyLabel: "$page.marketing.overview.devices.empty",
130
+ skeletonCount: 3,
131
+ }).meta((0, blocks_1.blockMeta)("devices", "i-ph-devices"))))
132
+ .meta((0, blocks_1.blockMeta)("traffic_row", "i-ph-chart-line")))
133
+ .child("tops", (0, grid_1.Grid)({ minColumnWidth: "420px" })
134
+ .child("content", (0, grid_1.GridRow)()
135
+ .child("content", topListTabs("content", "i-ph-files", `${constants_1.MARKETING_MODULE_PATH}/pages`))
136
+ .child("acquisition", topListTabs("acquisition", "i-ph-megaphone", `${constants_1.MARKETING_MODULE_PATH}/acquisition`)))
137
+ .child("audience", (0, grid_1.GridRow)()
138
+ .child("audience", topListTabs("audience", "i-ph-globe-hemisphere-west"))
139
+ .child("events", topListTabs("events", "i-ph-sparkle", `${constants_1.MARKETING_MODULE_PATH}/funnel-builder`)))
140
+ .meta((0, blocks_1.blockMeta)("tops", "i-ph-list-numbers")));
22
141
  };
23
142
  exports.MarketingOverviewPage = MarketingOverviewPage;
24
143
  exports.MarketingOverviewPage = MarketingOverviewPage = __decorate([
@@ -1 +1 @@
1
- {"version":3,"file":"page.js","sourceRoot":"","sources":["../../../src/pages/overview/page.ts"],"names":[],"mappings":";;;;;;;;;AAAA,kEAAwE;AACxE,oEAAuE;AACvE,yDAA8E;AAC9E,iDAA0E;AAQnE,IAAM,qBAAqB,GAA3B,MAAM,qBAAsB,SAAQ,IAAA,qBAAc,EACvD,4BAAgB,EAChB;IACE,WAAW,EAAE,gCAAgC;IAC7C,WAAW,EAAE,sCAAsC;IACnD,IAAI,EAAE,oBAAoB;IAC1B,MAAM,EAAE,+BAAmB;IAC3B,KAAK,EAAE,CAAC;CACT,EACD,IAAA,uBAAa,EAAC,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CACnC;IACC,MAAM,CAAC,OAAO,GAAG,IAAA,wBAAe,EAAC,0BAA0B,CAAC,CAAC;;AAXlD,sDAAqB;gCAArB,qBAAqB;IADjC,IAAA,mBAAY,GAAE;GACF,qBAAqB,CAYjC"}
1
+ {"version":3,"file":"page.js","sourceRoot":"","sources":["../../../src/pages/overview/page.ts"],"names":[],"mappings":"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"}
@@ -4,6 +4,6 @@ declare const MarketingPagesPage_base: {
4
4
  location: string;
5
5
  };
6
6
  export declare class MarketingPagesPage extends MarketingPagesPage_base {
7
- static content: import("@antelopejs/interface-dms").ComponentBuilder<unknown>;
7
+ static content: import("@antelopejs/interface-dms").ComponentBuilder<import("../blocks").MarketingContextOptions>;
8
8
  }
9
9
  export {};
@@ -7,18 +7,23 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
7
7
  };
8
8
  Object.defineProperty(exports, "__esModule", { value: true });
9
9
  exports.MarketingPagesPage = void 0;
10
- const custom_1 = require("@antelopejs/interface-dms/base/custom");
11
10
  const layouts_1 = require("@antelopejs/interface-dms/base/layouts");
12
11
  const page_1 = require("@antelopejs/interface-dms/page");
13
12
  const constants_1 = require("@/types/constants");
13
+ const blocks_1 = require("../blocks");
14
+ const module_1 = require("../module");
14
15
  let MarketingPagesPage = class MarketingPagesPage extends (0, page_1.PageController)("pages", {
15
16
  displayName: "$page.marketing.pages.title",
16
17
  description: "$page.marketing.pages.description",
17
18
  icon: "i-ph-cursor-click",
18
19
  module: constants_1.MARKETING_MODULE_ID,
19
- order: 4,
20
- }, (0, layouts_1.DefaultLayout)({ fullWidth: true })) {
21
- static content = (0, custom_1.CustomComponent)("DmsMarketingPagesView");
20
+ category: module_1.analyticsCategory,
21
+ order: 3,
22
+ live: blocks_1.CONTEXT_PAGE_LIVE,
23
+ }, (0, layouts_1.DefaultLayout)()) {
24
+ static content = (0, blocks_1.MarketingContext)({ waitingGuide: true }).child("explorer", (0, blocks_1.MarketingBlock)("PagesExplorer", "pages_explorer", "i-ph-cursor-click", {
25
+ periodScope: blocks_1.MARKETING_PERIOD_SCOPE,
26
+ }));
22
27
  };
23
28
  exports.MarketingPagesPage = MarketingPagesPage;
24
29
  exports.MarketingPagesPage = MarketingPagesPage = __decorate([
@@ -1 +1 @@
1
- {"version":3,"file":"page.js","sourceRoot":"","sources":["../../../src/pages/pages/page.ts"],"names":[],"mappings":";;;;;;;;;AAAA,kEAAwE;AACxE,oEAAuE;AACvE,yDAA8E;AAC9E,iDAAwD;AAUjD,IAAM,kBAAkB,GAAxB,MAAM,kBAAmB,SAAQ,IAAA,qBAAc,EACpD,OAAO,EACP;IACE,WAAW,EAAE,6BAA6B;IAC1C,WAAW,EAAE,mCAAmC;IAChD,IAAI,EAAE,mBAAmB;IACzB,MAAM,EAAE,+BAAmB;IAC3B,KAAK,EAAE,CAAC;CACT,EACD,IAAA,uBAAa,EAAC,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CACnC;IACC,MAAM,CAAC,OAAO,GAAG,IAAA,wBAAe,EAAC,uBAAuB,CAAC,CAAC;;AAX/C,gDAAkB;6BAAlB,kBAAkB;IAD9B,IAAA,mBAAY,GAAE;GACF,kBAAkB,CAY9B"}
1
+ {"version":3,"file":"page.js","sourceRoot":"","sources":["../../../src/pages/pages/page.ts"],"names":[],"mappings":";;;;;;;;;AAAA,oEAAuE;AACvE,yDAA8E;AAC9E,iDAAwD;AACxD,sCAKmB;AACnB,sCAA8C;AAQvC,IAAM,kBAAkB,GAAxB,MAAM,kBAAmB,SAAQ,IAAA,qBAAc,EACpD,OAAO,EACP;IACE,WAAW,EAAE,6BAA6B;IAC1C,WAAW,EAAE,mCAAmC;IAChD,IAAI,EAAE,mBAAmB;IACzB,MAAM,EAAE,+BAAmB;IAC3B,QAAQ,EAAE,0BAAiB;IAC3B,KAAK,EAAE,CAAC;IACR,IAAI,EAAE,0BAAiB;CACxB,EACD,IAAA,uBAAa,GAAE,CAChB;IACC,MAAM,CAAC,OAAO,GAAG,IAAA,yBAAgB,EAAC,EAAE,YAAY,EAAE,IAAI,EAAE,CAAC,CAAC,KAAK,CAC7D,UAAU,EACV,IAAA,uBAAc,EAAC,eAAe,EAAE,gBAAgB,EAAE,mBAAmB,EAAE;QACrE,WAAW,EAAE,+BAAsB;KACpC,CAAC,CACH,CAAC;;AAlBS,gDAAkB;6BAAlB,kBAAkB;IAD9B,IAAA,mBAAY,GAAE;GACF,kBAAkB,CAmB9B"}
@@ -0,0 +1 @@
1
+ export {};