@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
@@ -1 +1 @@
1
- {"version":3,"file":"page_snapshots.model.js","sourceRoot":"","sources":["../../../src/db/models/page_snapshots.model.ts"],"names":[],"mappings":";;;AAAA,6FAA2E;AAC3E,yEAGwC;AACxC,2CAAgD;AAEhD,MAAa,kBAAmB,SAAQ,IAAA,8CAAc,EACpD,mCAAY,EACZ,6CAAsB,CACvB;IAEC,KAAK,CAAC,SAAS,CAAC,SAAiB,EAAE,GAAW;QAC5C,OAAO,IAAI,CAAC,KAAK;aACd,MAAM,CAAC,CAAC,SAAS,CAAC,EAAE,WAAW,CAAC;aAChC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC;aACvC,GAAG,EAAE,CAAC;IACX,CAAC;IAED,KAAK,CAAC,cAAc,CAAC,SAAiB;QACpC,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,SAAS,CAAC,EAAE,WAAW,CAAC,CAAC,KAAK,EAAE,CAAC,GAAG,EAAE,CAAC;IACnE,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,GAAiB;QAC5B,MAAM,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,EAAE,EAAE,QAAQ,EAAE,SAAS,EAAE,CAAC,CAAC,GAAG,EAAE,CAAC;IAC9D,CAAC;IAED,KAAK,CAAC,eAAe,CAAC,SAAiB,EAAE,GAAY;QACnD,IAAI,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,SAAS,CAAC,EAAE,WAAW,CAAC,CAAC;QACpD,IAAI,GAAG,EAAE,CAAC;YACR,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;QAChD,CAAC;QACD,OAAO,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC;IAC1B,CAAC;IAED,KAAK,CAAC,eAAe,CAAC,MAAY;QAChC,OAAO,IAAA,6BAAiB,EAAC,IAAI,CAAC,KAAK,EAAE,YAAY,EAAE,MAAM,CAAC,CAAC;IAC7D,CAAC;CACF;AA/BD,gDA+BC"}
1
+ {"version":3,"file":"page_snapshots.model.js","sourceRoot":"","sources":["../../../src/db/models/page_snapshots.model.ts"],"names":[],"mappings":";;;AAAA,6FAA2E;AAC3E,yEAGwC;AACxC,2CAAgD;AAEhD,MAAa,kBAAmB,SAAQ,IAAA,8CAAc,EACpD,mCAAY,EACZ,6CAAsB,CACvB;IAEC,KAAK,CAAC,SAAS,CAAC,SAAiB,EAAE,GAAW;QAC5C,OAAO,IAAI,CAAC,KAAK;aACd,MAAM,CAAC,CAAC,SAAS,CAAC,EAAE,WAAW,CAAC;aAChC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC;aACvC,GAAG,EAAE,CAAC;IACX,CAAC;IAGD,KAAK,CAAC,cAAc,CAAC,SAAiB,EAAE,GAAY;QAClD,OAAO,IAAI,CAAC,SAAS,CAAC,SAAS,EAAE,GAAG,CAAC,CAAC,KAAK,EAAE,CAAC,GAAG,EAAE,CAAC;IACtD,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,GAAiB;QAC5B,MAAM,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,EAAE,EAAE,QAAQ,EAAE,SAAS,EAAE,CAAC,CAAC,GAAG,EAAE,CAAC;IAC9D,CAAC;IAED,KAAK,CAAC,eAAe,CAAC,SAAiB,EAAE,GAAY;QACnD,OAAO,IAAI,CAAC,SAAS,CAAC,SAAS,EAAE,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC;IACvD,CAAC;IAED,KAAK,CAAC,eAAe,CAAC,MAAY;QAChC,OAAO,IAAA,6BAAiB,EAAC,IAAI,CAAC,KAAK,EAAE,YAAY,EAAE,MAAM,CAAC,CAAC;IAC7D,CAAC;IAGO,SAAS,CAAC,SAAiB,EAAE,GAAY;QAC/C,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,SAAS,CAAC,EAAE,WAAW,CAAC,CAAC;QACzD,OAAO,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IACnE,CAAC;CACF;AAlCD,gDAkCC"}
@@ -2,6 +2,7 @@ import { type TopDimension, type TopEntries, type MarketingStatsDelta } from "@/
2
2
  import { WebsiteStatistics } from "../tables/website_statistics.table";
3
3
  export declare function dayRowId(websiteId: string, day: number): string;
4
4
  export type DayTops = Partial<Record<TopDimension, TopEntries>>;
5
+ type DayCounters = Pick<WebsiteStatistics, "day" | "sessions" | "pageviews">;
5
6
  declare const WebsiteStatisticsModel_base: {
6
7
  new (database: import("@antelopejs/interface-database").SchemaInstance<any>): {
7
8
  readonly table: import("@antelopejs/interface-database").Table<WebsiteStatistics>;
@@ -22,10 +23,12 @@ declare const WebsiteStatisticsModel_base: {
22
23
  };
23
24
  export declare class WebsiteStatisticsModel extends WebsiteStatisticsModel_base {
24
25
  getDaysSince(websiteId: string, cutoff: number): Promise<WebsiteStatistics[]>;
25
- getTopsSince(websiteId: string, cutoff: number, dimensions: readonly TopDimension[]): Promise<DayTops[]>;
26
+ getDaysBetween(websiteId: string, firstDay: number, lastDay: number): Promise<WebsiteStatistics[]>;
27
+ getTopsSince(websiteId: string, cutoff: number, dimensions: readonly TopDimension[], lastDay: number): Promise<DayTops[]>;
26
28
  addDelta(id: string, delta: MarketingStatsDelta, tops: Record<TopDimension, TopEntries>): Promise<number>;
27
29
  deleteDaysBefore(cutoff: number): Promise<number>;
28
30
  emptyTopsBefore(cutoff: number): Promise<number>;
29
31
  deleteByWebsite(websiteId: string): Promise<number>;
32
+ getCounters(websiteId: string): Promise<DayCounters[]>;
30
33
  }
31
34
  export {};
@@ -16,10 +16,18 @@ class WebsiteStatisticsModel extends (0, interface_database_decorators_1.BasicDa
16
16
  .orderBy("day", "asc")
17
17
  .run();
18
18
  }
19
- async getTopsSince(websiteId, cutoff, dimensions) {
19
+ async getDaysBetween(websiteId, firstDay, lastDay) {
20
+ return this.table
21
+ .getAll(websiteId, "websiteId")
22
+ .filter((doc) => doc.key("day").ge(firstDay).and(doc.key("day").le(lastDay)))
23
+ .orderBy("day", "asc")
24
+ .run();
25
+ }
26
+ async getTopsSince(websiteId, cutoff, dimensions, lastDay) {
20
27
  return this.table
21
28
  .getAll(websiteId, "websiteId")
22
29
  .filter((doc) => doc.key("day").ge(cutoff))
30
+ .filter((doc) => doc.key("day").le(lastDay))
23
31
  .map((doc) => {
24
32
  const tops = doc.key("tops");
25
33
  return Object.fromEntries(dimensions.map((dimension) => [dimension, tops.key(dimension)]));
@@ -58,6 +66,12 @@ class WebsiteStatisticsModel extends (0, interface_database_decorators_1.BasicDa
58
66
  async deleteByWebsite(websiteId) {
59
67
  return this.table.getAll(websiteId, "websiteId").delete().run();
60
68
  }
69
+ async getCounters(websiteId) {
70
+ return this.table
71
+ .getAll(websiteId, "websiteId")
72
+ .pluck("day", "sessions", "pageviews")
73
+ .run();
74
+ }
61
75
  }
62
76
  exports.WebsiteStatisticsModel = WebsiteStatisticsModel;
63
77
  //# sourceMappingURL=website_statistics.model.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"website_statistics.model.js","sourceRoot":"","sources":["../../../src/db/models/website_statistics.model.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"website_statistics.model.js","sourceRoot":"","sources":["../../../src/db/models/website_statistics.model.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,6 @@
1
1
  export * from "./funnels.table";
2
2
  export * from "./marketing_events.table";
3
+ export * from "./marketing_preferences.table";
3
4
  export * from "./marketing_sessions.table";
4
5
  export * from "./marketing_settings.table";
5
6
  export * from "./page_snapshots.table";
@@ -16,6 +16,7 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
17
  __exportStar(require("./funnels.table"), exports);
18
18
  __exportStar(require("./marketing_events.table"), exports);
19
+ __exportStar(require("./marketing_preferences.table"), exports);
19
20
  __exportStar(require("./marketing_sessions.table"), exports);
20
21
  __exportStar(require("./marketing_settings.table"), exports);
21
22
  __exportStar(require("./page_snapshots.table"), exports);
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/db/tables/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,kDAAgC;AAChC,2DAAyC;AACzC,6DAA2C;AAC3C,6DAA2C;AAC3C,yDAAuC;AACvC,6DAA2C;AAC3C,mDAAiC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/db/tables/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,kDAAgC;AAChC,2DAAyC;AACzC,gEAA8C;AAC9C,6DAA2C;AAC3C,6DAA2C;AAC3C,yDAAuC;AACvC,6DAA2C;AAC3C,mDAAiC"}
@@ -0,0 +1,6 @@
1
+ import { Table } from "@antelopejs/interface-database-decorators";
2
+ export declare const marketingPreferencesTableName = "marketing_preferences";
3
+ export declare class MarketingPreferences extends Table {
4
+ websiteId: string;
5
+ updatedAt: Date;
6
+ }
@@ -0,0 +1,31 @@
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
+ var __metadata = (this && this.__metadata) || function (k, v) {
9
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.MarketingPreferences = exports.marketingPreferencesTableName = void 0;
13
+ const interface_database_decorators_1 = require("@antelopejs/interface-database-decorators");
14
+ const constants_1 = require("@antelopejs/interface-dms/constants");
15
+ exports.marketingPreferencesTableName = "marketing_preferences";
16
+ let MarketingPreferences = class MarketingPreferences extends interface_database_decorators_1.Table {
17
+ };
18
+ exports.MarketingPreferences = MarketingPreferences;
19
+ __decorate([
20
+ (0, interface_database_decorators_1.Field)("string"),
21
+ __metadata("design:type", String)
22
+ ], MarketingPreferences.prototype, "websiteId", void 0);
23
+ __decorate([
24
+ (0, interface_database_decorators_1.UpdateTime)(),
25
+ (0, interface_database_decorators_1.Field)("date"),
26
+ __metadata("design:type", Date)
27
+ ], MarketingPreferences.prototype, "updatedAt", void 0);
28
+ exports.MarketingPreferences = MarketingPreferences = __decorate([
29
+ (0, interface_database_decorators_1.RegisterTable)(exports.marketingPreferencesTableName, constants_1.TENANT_SCHEMA_NAME)
30
+ ], MarketingPreferences);
31
+ //# sourceMappingURL=marketing_preferences.table.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"marketing_preferences.table.js","sourceRoot":"","sources":["../../../src/db/tables/marketing_preferences.table.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,6FAKmD;AACnD,mEAAyE;AAE5D,QAAA,6BAA6B,GAAG,uBAAuB,CAAC;AAS9D,IAAM,oBAAoB,GAA1B,MAAM,oBAAqB,SAAQ,qCAAK;CAO9C,CAAA;AAPY,oDAAoB;AAEvB;IADP,IAAA,qCAAK,EAAC,QAAQ,CAAC;;uDACU;AAIlB;IAFP,IAAA,0CAAU,GAAE;IACZ,IAAA,qCAAK,EAAC,MAAM,CAAC;8BACK,IAAI;uDAAC;+BANb,oBAAoB;IADhC,IAAA,6CAAa,EAAC,qCAA6B,EAAE,8BAAkB,CAAC;GACpD,oBAAoB,CAOhC"}
@@ -11,6 +11,7 @@ const TENANT_MODELS = [
11
11
  db_1.PageSnapshotsModel,
12
12
  db_1.WebsiteStatisticsModel,
13
13
  db_1.FunnelsModel,
14
+ db_1.MarketingPreferencesModel,
14
15
  ];
15
16
  async function purgeTenantMarketingData(tenantId) {
16
17
  for (const modelClass of TENANT_MODELS) {
@@ -35,5 +36,12 @@ function registerMarketingHookListeners() {
35
36
  return undefined;
36
37
  });
37
38
  (0, hooks_1.RegisterHook)(hooks_1.Hook.TENANT_DATA_EXPORT, exportTenantMarketingData);
39
+ (0, hooks_1.RegisterHook)(hooks_1.Hook.USER_DELETED, forgetUserPreferences);
40
+ }
41
+ async function forgetUserPreferences(payload) {
42
+ for (const tenantId of payload.tenantIds) {
43
+ await (0, interface_database_decorators_1.GetModel)(db_1.MarketingPreferencesModel, tenantId).forget(payload.userId);
44
+ }
45
+ return undefined;
38
46
  }
39
47
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/hooks/index.ts"],"names":[],"mappings":";;AAuDA,wEAMC;AA7DD,6FAAqE;AAErE,2DAAqE;AACrE,6BAOc;AACd,iDAAwD;AAQxD,MAAM,aAAa,GAAkD;IACnE,yBAAoB;IACpB,2BAAsB;IACtB,uBAAkB;IAClB,2BAAsB;IACtB,iBAAY;CACb,CAAC;AAEF,KAAK,UAAU,wBAAwB,CAAC,QAAgB;IACtD,KAAK,MAAM,UAAU,IAAI,aAAa,EAAE,CAAC;QACvC,MAAM,IAAA,wCAAQ,EAAC,UAAU,EAAE,QAAQ,CAAC,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC;IAC5D,CAAC;IAGD,MAAM,IAAA,wCAAQ,EAAC,kBAAa,CAAC,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC;AACzD,CAAC;AAED,KAAK,UAAU,yBAAyB,CACtC,QAAgB;IAEhB,MAAM,CAAC,QAAQ,EAAE,OAAO,EAAE,UAAU,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;QACxD,IAAA,wCAAQ,EAAC,kBAAa,CAAC,CAAC,WAAW,CAAC,QAAQ,CAAC;QAC7C,IAAA,wCAAQ,EAAC,iBAAY,EAAE,QAAQ,CAAC,CAAC,MAAM,EAAE;QACzC,IAAA,wCAAQ,EAAC,2BAAsB,EAAE,QAAQ,CAAC,CAAC,MAAM,EAAE;KACpD,CAAC,CAAC;IACH,OAAO;QACL,QAAQ,EAAE,+BAAmB;QAC7B,IAAI,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,UAAU,EAAE;KACxC,CAAC;AACJ,CAAC;AAOD,SAAgB,8BAA8B;IAC5C,IAAA,oBAAY,EAAC,YAAI,CAAC,cAAc,EAAE,KAAK,EAAE,QAAgB,EAAE,EAAE;QAC3D,MAAM,wBAAwB,CAAC,QAAQ,CAAC,CAAC;QACzC,OAAO,SAAS,CAAC;IACnB,CAAC,CAAC,CAAC;IACH,IAAA,oBAAY,EAAC,YAAI,CAAC,kBAAkB,EAAE,yBAAyB,CAAC,CAAC;AACnE,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/hooks/index.ts"],"names":[],"mappings":";;AA4DA,wEAOC;AAnED,6FAAqE;AAKrE,2DAAqE;AACrE,6BAQc;AACd,iDAAwD;AAQxD,MAAM,aAAa,GAAkD;IACnE,yBAAoB;IACpB,2BAAsB;IACtB,uBAAkB;IAClB,2BAAsB;IACtB,iBAAY;IACZ,8BAAyB;CAC1B,CAAC;AAEF,KAAK,UAAU,wBAAwB,CAAC,QAAgB;IACtD,KAAK,MAAM,UAAU,IAAI,aAAa,EAAE,CAAC;QACvC,MAAM,IAAA,wCAAQ,EAAC,UAAU,EAAE,QAAQ,CAAC,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC;IAC5D,CAAC;IAGD,MAAM,IAAA,wCAAQ,EAAC,kBAAa,CAAC,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC;AACzD,CAAC;AAED,KAAK,UAAU,yBAAyB,CACtC,QAAgB;IAEhB,MAAM,CAAC,QAAQ,EAAE,OAAO,EAAE,UAAU,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;QACxD,IAAA,wCAAQ,EAAC,kBAAa,CAAC,CAAC,WAAW,CAAC,QAAQ,CAAC;QAC7C,IAAA,wCAAQ,EAAC,iBAAY,EAAE,QAAQ,CAAC,CAAC,MAAM,EAAE;QACzC,IAAA,wCAAQ,EAAC,2BAAsB,EAAE,QAAQ,CAAC,CAAC,MAAM,EAAE;KACpD,CAAC,CAAC;IACH,OAAO;QACL,QAAQ,EAAE,+BAAmB;QAC7B,IAAI,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,UAAU,EAAE;KACxC,CAAC;AACJ,CAAC;AAOD,SAAgB,8BAA8B;IAC5C,IAAA,oBAAY,EAAC,YAAI,CAAC,cAAc,EAAE,KAAK,EAAE,QAAgB,EAAE,EAAE;QAC3D,MAAM,wBAAwB,CAAC,QAAQ,CAAC,CAAC;QACzC,OAAO,SAAS,CAAC;IACnB,CAAC,CAAC,CAAC;IACH,IAAA,oBAAY,EAAC,YAAI,CAAC,kBAAkB,EAAE,yBAAyB,CAAC,CAAC;IACjE,IAAA,oBAAY,EAAC,YAAI,CAAC,YAAY,EAAE,qBAAqB,CAAC,CAAC;AACzD,CAAC;AAGD,KAAK,UAAU,qBAAqB,CAClC,OAA+B;IAE/B,KAAK,MAAM,QAAQ,IAAI,OAAO,CAAC,SAAS,EAAE,CAAC;QACzC,MAAM,IAAA,wCAAQ,EAAC,8BAAyB,EAAE,QAAQ,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;IAC7E,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC"}
package/dist/index.js CHANGED
@@ -55,7 +55,9 @@ const hooks_2 = require("./hooks");
55
55
  const services_1 = require("./services");
56
56
  const constants_1 = require("./types/constants");
57
57
  const HOURLY_CRON = "0 * * * *";
58
+ const SETTINGS_RELOAD_MS = 30 * constants_1.MS_PER_SECOND;
58
59
  let pruneTask = null;
60
+ let settingsReload = null;
59
61
  async function construct(config) {
60
62
  (0, config_1.setConfig)(config);
61
63
  await (0, services_1.loadGeoipDatabase)();
@@ -70,17 +72,31 @@ async function construct(config) {
70
72
  });
71
73
  }
72
74
  async function onDatabaseInitialized() {
73
- await (0, services_1.loadSettings)((0, interface_database_decorators_1.GetModel)(db_1.MarketingSettingsModel));
75
+ const settings = (0, interface_database_decorators_1.GetModel)(db_1.MarketingSettingsModel);
76
+ await (0, services_1.loadSettings)(settings);
77
+ settingsReload ??= setInterval(() => {
78
+ void (0, services_1.reloadSettings)(settings).catch(logReloadError);
79
+ }, SETTINGS_RELOAD_MS);
80
+ settingsReload.unref();
74
81
  pruneTask ??= node_cron_1.default.schedule(HOURLY_CRON, () => {
75
- void (0, services_1.pruneAllTenants)(logPruneError).catch(logPruneError);
82
+ void (0, services_1.reloadSettings)(settings)
83
+ .then(() => (0, services_1.pruneAllTenants)(logPruneError))
84
+ .catch(logPruneError);
76
85
  });
77
86
  return undefined;
78
87
  }
79
88
  function logPruneError(err) {
80
89
  logging_1.Logging.Error("[dms-marketing] retention prune failed:", err);
81
90
  }
91
+ function logReloadError(err) {
92
+ logging_1.Logging.Error("[dms-marketing] settings reload failed:", err);
93
+ }
82
94
  function destroy() { }
83
95
  function stop() {
96
+ if (settingsReload) {
97
+ clearInterval(settingsReload);
98
+ settingsReload = null;
99
+ }
84
100
  if (pruneTask) {
85
101
  void pruneTask.stop();
86
102
  pruneTask = null;
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAqBA,8BAqBC;AAqBD,0BAAkC;AAElC,oBAOC;AAxED,6BAA8C;AAC9C,sBAAoB;AACpB,oBAAkB;AAClB,mBAAiB;AAEjB,0DAA6B;AAC7B,+DAAgE;AAChE,gEAA6D;AAC7D,6FAAqE;AACrE,2DAAqE;AACrE,yDAAmE;AACnE,0DAAqD;AACrD,qCAA8D;AAC9D,mCAAyD;AACzD,yCAA8E;AAC9E,iDAAyD;AAEzD,MAAM,WAAW,GAAG,WAAW,CAAC;AAEhC,IAAI,SAAS,GAAyB,IAAI,CAAC;AAEpC,KAAK,UAAU,SAAS,CAC7B,MAAoC;IAEpC,IAAA,kBAAS,EAAC,MAAM,CAAC,CAAC;IAClB,MAAM,IAAA,4BAAiB,GAAE,CAAC;IAC1B,IAAA,sCAA8B,GAAE,CAAC;IACjC,IAAA,oBAAY,EAAC,YAAI,CAAC,oBAAoB,EAAE,qBAAqB,CAAC,CAAC;IAI/D,IAAA,mCAAkB,EAChB,wDAAa,qCAAqC,GAAC,EACnD,wDAAa,iCAAiC,GAAC,CAChD,CAAC;IAEF,MAAM,IAAA,wBAAiB,EAAC;QACtB,IAAI,EAAE,gCAAoB;QAC1B,UAAU,EAAE,mBAAI,CAAC,IAAI,CAAC,SAAS,EAAE,iBAAiB,CAAC;QACnD,QAAQ,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,OAAO,EAAE,GAAG,EAAE;QACvC,QAAQ,EAAE,CAAC;KACZ,CAAC,CAAC;AACL,CAAC;AAQD,KAAK,UAAU,qBAAqB;IAClC,MAAM,IAAA,uBAAY,EAAC,IAAA,wCAAQ,EAAC,2BAAsB,CAAC,CAAC,CAAC;IAErD,SAAS,KAAK,mBAAI,CAAC,QAAQ,CAAC,WAAW,EAAE,GAAG,EAAE;QAC5C,KAAK,IAAA,0BAAe,EAAC,aAAa,CAAC,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;IAC3D,CAAC,CAAC,CAAC;IACH,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,SAAS,aAAa,CAAC,GAAY;IACjC,iBAAO,CAAC,KAAK,CAAC,yCAAyC,EAAE,GAAG,CAAC,CAAC;AAChE,CAAC;AAED,SAAgB,OAAO,KAAU,CAAC;AAElC,SAAgB,IAAI;IAClB,IAAI,SAAS,EAAE,CAAC;QAGd,KAAK,SAAS,CAAC,IAAI,EAAE,CAAC;QACtB,SAAS,GAAG,IAAI,CAAC;IACnB,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA6BA,8BAqBC;AAkCD,0BAAkC;AAElC,oBAWC;AAjGD,6BAA8C;AAC9C,sBAAoB;AACpB,oBAAkB;AAClB,mBAAiB;AAEjB,0DAA6B;AAC7B,+DAAgE;AAChE,gEAA6D;AAC7D,6FAAqE;AACrE,2DAAqE;AACrE,yDAAmE;AACnE,0DAAqD;AACrD,qCAA8D;AAC9D,mCAAyD;AACzD,yCAKoB;AACpB,iDAAwE;AAExE,MAAM,WAAW,GAAG,WAAW,CAAC;AAEhC,MAAM,kBAAkB,GAAG,EAAE,GAAG,yBAAa,CAAC;AAE9C,IAAI,SAAS,GAAyB,IAAI,CAAC;AAC3C,IAAI,cAAc,GAA0B,IAAI,CAAC;AAE1C,KAAK,UAAU,SAAS,CAC7B,MAAoC;IAEpC,IAAA,kBAAS,EAAC,MAAM,CAAC,CAAC;IAClB,MAAM,IAAA,4BAAiB,GAAE,CAAC;IAC1B,IAAA,sCAA8B,GAAE,CAAC;IACjC,IAAA,oBAAY,EAAC,YAAI,CAAC,oBAAoB,EAAE,qBAAqB,CAAC,CAAC;IAI/D,IAAA,mCAAkB,EAChB,wDAAa,qCAAqC,GAAC,EACnD,wDAAa,iCAAiC,GAAC,CAChD,CAAC;IAEF,MAAM,IAAA,wBAAiB,EAAC;QACtB,IAAI,EAAE,gCAAoB;QAC1B,UAAU,EAAE,mBAAI,CAAC,IAAI,CAAC,SAAS,EAAE,iBAAiB,CAAC;QACnD,QAAQ,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,OAAO,EAAE,GAAG,EAAE;QACvC,QAAQ,EAAE,CAAC;KACZ,CAAC,CAAC;AACL,CAAC;AAQD,KAAK,UAAU,qBAAqB;IAClC,MAAM,QAAQ,GAAG,IAAA,wCAAQ,EAAC,2BAAsB,CAAC,CAAC;IAClD,MAAM,IAAA,uBAAY,EAAC,QAAQ,CAAC,CAAC;IAI7B,cAAc,KAAK,WAAW,CAAC,GAAG,EAAE;QAClC,KAAK,IAAA,yBAAc,EAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC;IACtD,CAAC,EAAE,kBAAkB,CAAC,CAAC;IACvB,cAAc,CAAC,KAAK,EAAE,CAAC;IACvB,SAAS,KAAK,mBAAI,CAAC,QAAQ,CAAC,WAAW,EAAE,GAAG,EAAE;QAC5C,KAAK,IAAA,yBAAc,EAAC,QAAQ,CAAC;aAC1B,IAAI,CAAC,GAAG,EAAE,CAAC,IAAA,0BAAe,EAAC,aAAa,CAAC,CAAC;aAC1C,KAAK,CAAC,aAAa,CAAC,CAAC;IAC1B,CAAC,CAAC,CAAC;IACH,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,SAAS,aAAa,CAAC,GAAY;IACjC,iBAAO,CAAC,KAAK,CAAC,yCAAyC,EAAE,GAAG,CAAC,CAAC;AAChE,CAAC;AAED,SAAS,cAAc,CAAC,GAAY;IAClC,iBAAO,CAAC,KAAK,CAAC,yCAAyC,EAAE,GAAG,CAAC,CAAC;AAChE,CAAC;AAED,SAAgB,OAAO,KAAU,CAAC;AAElC,SAAgB,IAAI;IAClB,IAAI,cAAc,EAAE,CAAC;QACnB,aAAa,CAAC,cAAc,CAAC,CAAC;QAC9B,cAAc,GAAG,IAAI,CAAC;IACxB,CAAC;IACD,IAAI,SAAS,EAAE,CAAC;QAGd,KAAK,SAAS,CAAC,IAAI,EAAE,CAAC;QACtB,SAAS,GAAG,IAAI,CAAC;IACnB,CAAC;AACH,CAAC"}
@@ -0,0 +1,9 @@
1
+ declare const MarketingAcquisitionPage_base: {
2
+ new (...args: any[]): {};
3
+ extend: <T extends import("@antelopejs/interface-api").ControllerClass>(this: T, location: string) => T;
4
+ location: string;
5
+ };
6
+ export declare class MarketingAcquisitionPage extends MarketingAcquisitionPage_base {
7
+ static content: import("@antelopejs/interface-dms").ComponentBuilder<import("../blocks").MarketingContextOptions>;
8
+ }
9
+ export {};
@@ -0,0 +1,181 @@
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.MarketingAcquisitionPage = void 0;
10
+ const banner_1 = require("@antelopejs/interface-dms/base/banner");
11
+ const default_types_1 = require("@antelopejs/interface-dms/base/data-types/default-types");
12
+ const grid_1 = require("@antelopejs/interface-dms/base/grid");
13
+ const key_value_list_1 = require("@antelopejs/interface-dms/base/key-value-list");
14
+ const layouts_1 = require("@antelopejs/interface-dms/base/layouts");
15
+ const table_view_1 = require("@antelopejs/interface-dms/base/table-view");
16
+ const column_display_1 = require("@antelopejs/interface-dms/base/table-view/column-display");
17
+ const top_list_card_1 = require("@antelopejs/interface-dms/base/top-list-card");
18
+ const page_1 = require("@antelopejs/interface-dms/page");
19
+ const types_1 = require("@/types");
20
+ const constants_1 = require("@/types/constants");
21
+ const blocks_1 = require("../blocks");
22
+ const module_1 = require("../module");
23
+ const CHANNEL_ICONS = {
24
+ direct: "i-ph-arrow-elbow-down-right",
25
+ organic: "i-ph-magnifying-glass",
26
+ email: "i-ph-envelope-simple",
27
+ referral: "i-ph-link",
28
+ social: "i-ph-share-network",
29
+ paid: "i-ph-currency-eur",
30
+ };
31
+ const RULES_PREFIX = "$page.marketing.acquisition.rules.";
32
+ const CHANNEL_RULES = [
33
+ "paid",
34
+ "email",
35
+ "social",
36
+ "organic",
37
+ "referral",
38
+ "direct",
39
+ ].map((channel) => ({
40
+ id: channel,
41
+ label: `$page.marketing.channels.${channel}`,
42
+ value: `${RULES_PREFIX}${channel}`,
43
+ }));
44
+ const CAMPAIGNS_PREFIX = "$page.marketing.acquisition.campaigns.";
45
+ const utmText = () => ({
46
+ type: new default_types_1.DefaultDataTypes.StringType(),
47
+ display: new column_display_1.DefaultDisplays.TwoLineDisplay({
48
+ emptyLabel: `${CAMPAIGNS_PREFIX}not_set`,
49
+ }),
50
+ sortable: true,
51
+ });
52
+ const campaignsTable = table_view_1.TableView.fromSource({
53
+ caption: `${CAMPAIGNS_PREFIX}title`,
54
+ fetchUrl: (0, blocks_1.websiteUrl)(`${blocks_1.BLOCKS_API}/campaigns/rows`),
55
+ periodScope: blocks_1.MARKETING_PERIOD_SCOPE,
56
+ capabilities: { search: true, filter: true, sort: true, paginate: true },
57
+ searchPlaceholder: `${CAMPAIGNS_PREFIX}filter`,
58
+ pageSize: 25,
59
+ defaultSort: { field: "sessions", desc: true },
60
+ columns: {
61
+ campaign: { name: `${CAMPAIGNS_PREFIX}campaign`, order: 1, ...utmText() },
62
+ source: { name: `${CAMPAIGNS_PREFIX}source`, order: 2, ...utmText() },
63
+ medium: { name: `${CAMPAIGNS_PREFIX}medium`, order: 3, ...utmText() },
64
+ channel: {
65
+ name: `${CAMPAIGNS_PREFIX}channel`,
66
+ order: 4,
67
+ filterable: true,
68
+ type: new default_types_1.DefaultDataTypes.SelectType({
69
+ items: types_1.MARKETING_CHANNELS.map((channel) => ({
70
+ value: channel,
71
+ label: `$page.marketing.channels.${channel}`,
72
+ icon: CHANNEL_ICONS[channel],
73
+ })),
74
+ }),
75
+ },
76
+ sessions: {
77
+ name: `${CAMPAIGNS_PREFIX}sessions`,
78
+ order: 5,
79
+ type: new default_types_1.DefaultDataTypes.NumberType(),
80
+ display: new column_display_1.DefaultDisplays.TwoLineDisplay({ subField: "share" }),
81
+ sortable: true,
82
+ },
83
+ daily: {
84
+ name: `${CAMPAIGNS_PREFIX}per_day`,
85
+ order: 6,
86
+ type: new default_types_1.DefaultDataTypes.StringType(),
87
+ display: new column_display_1.DefaultDisplays.SparklineDisplay({ field: "daily" }),
88
+ },
89
+ missingMedium: {
90
+ name: `${CAMPAIGNS_PREFIX}flags`,
91
+ order: 7,
92
+ type: new default_types_1.DefaultDataTypes.BooleanType(),
93
+ display: new column_display_1.DefaultDisplays.IndicatorDisplay({
94
+ onLabel: `${CAMPAIGNS_PREFIX}missing_medium`,
95
+ onIcon: "i-ph-warning",
96
+ onTone: "warning",
97
+ offLabel: "",
98
+ offIcon: "",
99
+ }),
100
+ },
101
+ },
102
+ tabs: [
103
+ { id: "all", label: `${CAMPAIGNS_PREFIX}all` },
104
+ ...types_1.MARKETING_CHANNELS.map((channel) => ({
105
+ id: channel,
106
+ label: `$page.marketing.channels.${channel}`,
107
+ icon: CHANNEL_ICONS[channel],
108
+ filter: { accessorKey: "channel", mode: "is", value: channel },
109
+ })),
110
+ ],
111
+ emptyStates: {
112
+ firstRun: {
113
+ icon: "i-ph-megaphone",
114
+ title: `${CAMPAIGNS_PREFIX}empty_title`,
115
+ description: `${CAMPAIGNS_PREFIX}empty_description`,
116
+ },
117
+ filtered: {
118
+ icon: "i-ph-magnifying-glass",
119
+ title: `${CAMPAIGNS_PREFIX}no_match`,
120
+ },
121
+ },
122
+ footer: {
123
+ countLabel: `${CAMPAIGNS_PREFIX}count`,
124
+ hint: `${CAMPAIGNS_PREFIX}note`,
125
+ },
126
+ });
127
+ function campaignNotice(kind) {
128
+ return (0, banner_1.Banner)({
129
+ fetchUrl: (0, blocks_1.websiteUrl)(`${blocks_1.BLOCKS_API}/campaigns/notice?kind=${kind}`),
130
+ periodScope: blocks_1.MARKETING_PERIOD_SCOPE,
131
+ });
132
+ }
133
+ function topDimension(dimension, key, icon) {
134
+ return (0, top_list_card_1.TopListCard)({
135
+ title: `$page.marketing.acquisition.tops.${key}`,
136
+ fetchUrl: (0, blocks_1.websiteUrl)(`${blocks_1.BLOCKS_API}/top?dimension=${dimension}&limit=5`),
137
+ periodScope: blocks_1.MARKETING_PERIOD_SCOPE,
138
+ valueFormat: "number",
139
+ showRank: true,
140
+ highlightTopN: 3,
141
+ skeletonCount: 5,
142
+ emptyLabel: "$page.marketing.acquisition.tops.empty",
143
+ }).meta((0, blocks_1.blockMeta)(`acquisition_${key}`, icon));
144
+ }
145
+ let MarketingAcquisitionPage = class MarketingAcquisitionPage extends (0, page_1.PageController)("acquisition", {
146
+ displayName: "$page.marketing.acquisition.title",
147
+ description: "$page.marketing.acquisition.description",
148
+ icon: "i-ph-megaphone",
149
+ module: constants_1.MARKETING_MODULE_ID,
150
+ category: module_1.analyticsCategory,
151
+ order: 2,
152
+ live: blocks_1.CONTEXT_PAGE_LIVE,
153
+ }, (0, layouts_1.DefaultLayout)()) {
154
+ static content = (0, blocks_1.MarketingContext)()
155
+ .child("waiting", (0, banner_1.Banner)({ fetchUrl: (0, blocks_1.websiteUrl)(`${blocks_1.BLOCKS_API}/website-notice`) }).meta((0, blocks_1.blockMeta)("website_waiting", "i-ph-plugs")))
156
+ .child("channels", (0, grid_1.Grid)({ minColumnWidth: "280px" })
157
+ .child("row", (0, grid_1.GridRow)()
158
+ .child("split", (0, blocks_1.MarketingBlock)("ChannelsCard", "channels", "i-ph-chart-bar-horizontal", {
159
+ fetchUrl: (0, blocks_1.websiteUrl)(`${blocks_1.BLOCKS_API}/channels`),
160
+ periodScope: blocks_1.MARKETING_PERIOD_SCOPE,
161
+ }), { colSpan: 2 })
162
+ .child("rules", (0, key_value_list_1.KeyValueList)({
163
+ title: "$page.marketing.acquisition.rules.title",
164
+ items: CHANNEL_RULES,
165
+ }).meta((0, blocks_1.blockMeta)("channel_rules", "i-ph-info"))))
166
+ .meta((0, blocks_1.blockMeta)("channels_row", "i-ph-chart-bar-horizontal")))
167
+ .child("tagged", campaignNotice("tagged").meta((0, blocks_1.blockMeta)("campaigns_tagged", "i-ph-tag")))
168
+ .child("missing_medium", campaignNotice("missing").meta((0, blocks_1.blockMeta)("campaigns_missing", "i-ph-warning")))
169
+ .child("campaigns", campaignsTable.meta((0, blocks_1.blockMeta)("campaigns", "i-ph-tag")))
170
+ .child("tops", (0, grid_1.Grid)({ minColumnWidth: "280px" })
171
+ .child("row", (0, grid_1.GridRow)()
172
+ .child("referrers", topDimension("topReferrers", "referrers", "i-ph-link"))
173
+ .child("contents", topDimension("topUtmContents", "contents", "i-ph-cursor-click"))
174
+ .child("terms", topDimension("topUtmTerms", "terms", "i-ph-text-aa")))
175
+ .meta((0, blocks_1.blockMeta)("acquisition_tops", "i-ph-list-numbers")));
176
+ };
177
+ exports.MarketingAcquisitionPage = MarketingAcquisitionPage;
178
+ exports.MarketingAcquisitionPage = MarketingAcquisitionPage = __decorate([
179
+ (0, page_1.RegisterPage)()
180
+ ], MarketingAcquisitionPage);
181
+ //# sourceMappingURL=page.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"page.js","sourceRoot":"","sources":["../../../src/pages/acquisition/page.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,9 @@
1
- export * from "./campaigns/page";
1
+ export * from "./acquisition/page";
2
+ export * from "./funnel-builder/page";
3
+ export * from "./funnel/page";
2
4
  export * from "./funnels/page";
5
+ export * from "./install/page";
3
6
  export * from "./overview/page";
4
7
  export * from "./pages/page";
5
8
  export * from "./settings/page";
9
+ export * from "./websites/page";
package/dist/pages/all.js CHANGED
@@ -14,9 +14,13 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
14
  for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
15
  };
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
- __exportStar(require("./campaigns/page"), exports);
17
+ __exportStar(require("./acquisition/page"), exports);
18
+ __exportStar(require("./funnel-builder/page"), exports);
19
+ __exportStar(require("./funnel/page"), exports);
18
20
  __exportStar(require("./funnels/page"), exports);
21
+ __exportStar(require("./install/page"), exports);
19
22
  __exportStar(require("./overview/page"), exports);
20
23
  __exportStar(require("./pages/page"), exports);
21
24
  __exportStar(require("./settings/page"), exports);
25
+ __exportStar(require("./websites/page"), exports);
22
26
  //# sourceMappingURL=all.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"all.js","sourceRoot":"","sources":["../../src/pages/all.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,mDAAiC;AACjC,iDAA+B;AAC/B,kDAAgC;AAChC,+CAA6B;AAC7B,kDAAgC"}
1
+ {"version":3,"file":"all.js","sourceRoot":"","sources":["../../src/pages/all.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,qDAAmC;AACnC,wDAAsC;AACtC,gDAA8B;AAC9B,iDAA+B;AAC/B,iDAA+B;AAC/B,kDAAgC;AAChC,+CAA6B;AAC7B,kDAAgC;AAChC,kDAAgC"}
@@ -0,0 +1,18 @@
1
+ import type { ComponentBuilder, ComponentMetadata } from "@antelopejs/interface-dms/component";
2
+ import type { PageLiveOptions } from "@antelopejs/interface-dms/page";
3
+ export declare const MARKETING_PERIOD_SCOPE = "marketing";
4
+ export declare const BLOCKS_API = "/api/marketing/blocks";
5
+ export declare function websiteUrl(path: string): string;
6
+ export declare const CONTEXT_QUERY: string;
7
+ export interface ScopedBlockOptions {
8
+ fetchUrl?: string;
9
+ periodScope?: string;
10
+ }
11
+ export declare function MarketingBlock<T extends object>(name: string, key: string, icon: string, options?: T): ComponentBuilder<T>;
12
+ export interface MarketingContextOptions extends ScopedBlockOptions {
13
+ waitingGuide?: boolean;
14
+ }
15
+ export declare const CONTEXT_PAGE_LIVE: PageLiveOptions;
16
+ export declare function MarketingContext(options?: Omit<MarketingContextOptions, "periodScope">): ComponentBuilder<MarketingContextOptions>;
17
+ export declare function blockMeta(key: string, icon: string): ComponentMetadata;
18
+ export declare function collectionPausedBanner(): ComponentBuilder<import("@antelopejs/interface-dms/base").BannerProps>;
@@ -0,0 +1,56 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.CONTEXT_PAGE_LIVE = exports.CONTEXT_QUERY = exports.BLOCKS_API = exports.MARKETING_PERIOD_SCOPE = void 0;
4
+ exports.websiteUrl = websiteUrl;
5
+ exports.MarketingBlock = MarketingBlock;
6
+ exports.MarketingContext = MarketingContext;
7
+ exports.blockMeta = blockMeta;
8
+ exports.collectionPausedBanner = collectionPausedBanner;
9
+ const banner_1 = require("@antelopejs/interface-dms/base/banner");
10
+ const custom_1 = require("@antelopejs/interface-dms/base/custom");
11
+ const constants_1 = require("@/types/constants");
12
+ exports.MARKETING_PERIOD_SCOPE = "marketing";
13
+ exports.BLOCKS_API = `${constants_1.API_BASE_PATH}/blocks`;
14
+ const WEBSITE_QUERY = "website={{query.website}}";
15
+ function websiteUrl(path) {
16
+ return `${path}${path.includes("?") ? "&" : "?"}${WEBSITE_QUERY}`;
17
+ }
18
+ const PERIOD_KEYS = [
19
+ "period",
20
+ "compare",
21
+ "from",
22
+ "to",
23
+ "compareFrom",
24
+ "compareTo",
25
+ ];
26
+ exports.CONTEXT_QUERY = [
27
+ WEBSITE_QUERY,
28
+ ...PERIOD_KEYS.map((key) => `${exports.MARKETING_PERIOD_SCOPE}.${key}={{query.${exports.MARKETING_PERIOD_SCOPE}.${key}}}`),
29
+ ].join("&");
30
+ function MarketingBlock(name, key, icon, options) {
31
+ return (0, custom_1.CustomComponent)(`DmsMarketing${name}`)
32
+ .options(options)
33
+ .meta({
34
+ name: `$page.marketing.blocks.${key}.name`,
35
+ description: `$page.marketing.blocks.${key}.description`,
36
+ icon,
37
+ });
38
+ }
39
+ exports.CONTEXT_PAGE_LIVE = { maxRate: 60 };
40
+ function MarketingContext(options = {}) {
41
+ return MarketingBlock("Context", "context", "i-ph-sliders-horizontal", {
42
+ periodScope: exports.MARKETING_PERIOD_SCOPE,
43
+ ...options,
44
+ });
45
+ }
46
+ function blockMeta(key, icon) {
47
+ return {
48
+ name: `$page.marketing.blocks.${key}.name`,
49
+ description: `$page.marketing.blocks.${key}.description`,
50
+ icon,
51
+ };
52
+ }
53
+ function collectionPausedBanner() {
54
+ return (0, banner_1.Banner)({ fetchUrl: `${exports.BLOCKS_API}/collection-notice` }).meta(blockMeta("collection_paused", "i-ph-pause-circle"));
55
+ }
56
+ //# sourceMappingURL=blocks.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"blocks.js","sourceRoot":"","sources":["../../src/pages/blocks.ts"],"names":[],"mappings":";;;AA6BA,gCAEC;AAqCD,wCAaC;AAuBD,4CAOC;AAGD,8BAMC;AAOD,wDAIC;AA/HD,kEAA+D;AAC/D,kEAAwE;AAExE,iDAAkD;AAQrC,QAAA,sBAAsB,GAAG,WAAW,CAAC;AAErC,QAAA,UAAU,GAAG,GAAG,yBAAa,SAAS,CAAC;AASpD,MAAM,aAAa,GAAG,2BAA2B,CAAC;AAGlD,SAAgB,UAAU,CAAC,IAAY;IACrC,OAAO,GAAG,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,GAAG,aAAa,EAAE,CAAC;AACpE,CAAC;AAGD,MAAM,WAAW,GAAG;IAClB,QAAQ;IACR,SAAS;IACT,MAAM;IACN,IAAI;IACJ,aAAa;IACb,WAAW;CACH,CAAC;AAQE,QAAA,aAAa,GAAG;IAC3B,aAAa;IACb,GAAG,WAAW,CAAC,GAAG,CAChB,CAAC,GAAG,EAAE,EAAE,CACN,GAAG,8BAAsB,IAAI,GAAG,YAAY,8BAAsB,IAAI,GAAG,IAAI,CAChF;CACF,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAaZ,SAAgB,cAAc,CAC5B,IAAY,EACZ,GAAW,EACX,IAAY,EACZ,OAAW;IAEX,OAAQ,IAAA,wBAAe,EAAC,eAAe,IAAI,EAAE,CAAyB;SACnE,OAAO,CAAC,OAAO,CAAC;SAChB,IAAI,CAAC;QACJ,IAAI,EAAE,0BAA0B,GAAG,OAAO;QAC1C,WAAW,EAAE,0BAA0B,GAAG,cAAc;QACxD,IAAI;KACL,CAAC,CAAC;AACP,CAAC;AAgBY,QAAA,iBAAiB,GAAoB,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC;AAOlE,SAAgB,gBAAgB,CAC9B,UAAwD,EAAE;IAE1D,OAAO,cAAc,CAAC,SAAS,EAAE,SAAS,EAAE,yBAAyB,EAAE;QACrE,WAAW,EAAE,8BAAsB;QACnC,GAAG,OAAO;KACX,CAAC,CAAC;AACL,CAAC;AAGD,SAAgB,SAAS,CAAC,GAAW,EAAE,IAAY;IACjD,OAAO;QACL,IAAI,EAAE,0BAA0B,GAAG,OAAO;QAC1C,WAAW,EAAE,0BAA0B,GAAG,cAAc;QACxD,IAAI;KACL,CAAC;AACJ,CAAC;AAOD,SAAgB,sBAAsB;IACpC,OAAO,IAAA,eAAM,EAAC,EAAE,QAAQ,EAAE,GAAG,kBAAU,oBAAoB,EAAE,CAAC,CAAC,IAAI,CACjE,SAAS,CAAC,mBAAmB,EAAE,mBAAmB,CAAC,CACpD,CAAC;AACJ,CAAC"}
@@ -0,0 +1,9 @@
1
+ declare const MarketingFunnelPage_base: {
2
+ new (...args: any[]): {};
3
+ extend: <T extends import("@antelopejs/interface-api").ControllerClass>(this: T, location: string) => T;
4
+ location: string;
5
+ };
6
+ export declare class MarketingFunnelPage extends MarketingFunnelPage_base {
7
+ static content: import("@antelopejs/interface-dms").ComponentBuilder<import("../blocks").MarketingContextOptions>;
8
+ }
9
+ export {};
@@ -0,0 +1,36 @@
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.MarketingFunnelPage = 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 MarketingFunnelPage = class MarketingFunnelPage extends (0, page_1.PageController)("funnel", {
16
+ displayName: "$page.marketing.funnel.title",
17
+ description: "$page.marketing.funnel.description",
18
+ icon: "i-ph-funnel",
19
+ module: constants_1.MARKETING_MODULE_ID,
20
+ category: module_1.conversionCategory,
21
+ hidden: true,
22
+ live: blocks_1.CONTEXT_PAGE_LIVE,
23
+ validation: {
24
+ requiredQueryParams: ["id"],
25
+ redirectTo: `${constants_1.MARKETING_MODULE_PATH}/funnels?${blocks_1.CONTEXT_QUERY}`,
26
+ },
27
+ }, (0, layouts_1.DefaultLayout)({ hideHeader: true })) {
28
+ static content = (0, blocks_1.MarketingContext)().child("report", (0, blocks_1.MarketingBlock)("FunnelReport", "funnel_report", "i-ph-funnel", {
29
+ periodScope: blocks_1.MARKETING_PERIOD_SCOPE,
30
+ }));
31
+ };
32
+ exports.MarketingFunnelPage = MarketingFunnelPage;
33
+ exports.MarketingFunnelPage = MarketingFunnelPage = __decorate([
34
+ (0, page_1.RegisterPage)()
35
+ ], MarketingFunnelPage);
36
+ //# sourceMappingURL=page.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"page.js","sourceRoot":"","sources":["../../../src/pages/funnel/page.ts"],"names":[],"mappings":";;;;;;;;;AAAA,oEAAuE;AACvE,yDAA8E;AAC9E,iDAA+E;AAC/E,sCAMmB;AACnB,sCAA+C;AAWxC,IAAM,mBAAmB,GAAzB,MAAM,mBAAoB,SAAQ,IAAA,qBAAc,EACrD,QAAQ,EACR;IACE,WAAW,EAAE,8BAA8B;IAC3C,WAAW,EAAE,oCAAoC;IACjD,IAAI,EAAE,aAAa;IACnB,MAAM,EAAE,+BAAmB;IAC3B,QAAQ,EAAE,2BAAkB;IAC5B,MAAM,EAAE,IAAI;IACZ,IAAI,EAAE,0BAAiB;IACvB,UAAU,EAAE;QACV,mBAAmB,EAAE,CAAC,IAAI,CAAC;QAC3B,UAAU,EAAE,GAAG,iCAAqB,YAAY,sBAAa,EAAE;KAChE;CACF,EACD,IAAA,uBAAa,EAAC,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC,CACpC;IACC,MAAM,CAAC,OAAO,GAAG,IAAA,yBAAgB,GAAE,CAAC,KAAK,CACvC,QAAQ,EACR,IAAA,uBAAc,EAAC,cAAc,EAAE,eAAe,EAAE,aAAa,EAAE;QAC7D,WAAW,EAAE,+BAAsB;KACpC,CAAC,CACH,CAAC;;AAtBS,kDAAmB;8BAAnB,mBAAmB;IAD/B,IAAA,mBAAY,GAAE;GACF,mBAAmB,CAuB/B"}
@@ -0,0 +1,9 @@
1
+ declare const MarketingFunnelBuilderPage_base: {
2
+ new (...args: any[]): {};
3
+ extend: <T extends import("@antelopejs/interface-api").ControllerClass>(this: T, location: string) => T;
4
+ location: string;
5
+ };
6
+ export declare class MarketingFunnelBuilderPage extends MarketingFunnelBuilderPage_base {
7
+ static content: import("@antelopejs/interface-dms").ComponentBuilder<{}>;
8
+ }
9
+ export {};