@retailrocketgroup/retailrocket-edit.post-transaction-vue-email-template-render 3.0.381747 → 5.0.384700

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 (44) hide show
  1. package/.turbo/turbo-build.log +25 -0
  2. package/dist/assets/index.css +1 -0
  3. package/dist/assets/index.js +379 -0
  4. package/dist/assets/index.js.map +1 -0
  5. package/dist/editPostTransactionEmailTemplate.d.ts +0 -0
  6. package/dist/implementation/Apps/components/WysiwygTemplateEditor/AsideMenu/ComponentLibrary/CreateComponentLibrarySectionModalWindow/postTransactionComponentSectionItemFactory.d.ts +4 -0
  7. package/dist/implementation/Apps/components/WysiwygTemplateEditor/AsideMenu/ComponentLibrary/CreateComponentLibrarySectionModalWindow/postTransactionEmailComponentFactory.d.ts +4 -0
  8. package/dist/implementation/Apps/components/WysiwygTemplateEditor/AsideMenu/ComponentLibrary/CustomComponentLibrary/postTransactionComponentLibraryFactory.d.ts +4 -0
  9. package/dist/implementation/Apps/components/WysiwygTemplateEditor/AsideMenu/ComponentLibrary/CustomComponentLibrary/postTransactionSectionFactory.d.ts +4 -0
  10. package/dist/implementation/DataSources/ListDataExpressionSource/postTransactionEvaluateListExpressionDataSourceFactory.d.ts +8 -0
  11. package/dist/implementation/DataSources/NumberExpressionDataSource/postTransactionEvaluateNumberExpressionDataSourceFactory.d.ts +2 -0
  12. package/dist/implementation/DataSources/StringExpressionDataSource/postTransactionEvaluateStringExpressionDataSource.d.ts +9 -0
  13. package/dist/implementation/EmailComponentSettingsModifierPlugin/ProductShelfDataSourceExpressionBuilder/PostTransactionProductShelfDataSourceExpressionBuilderModal/ShelfBuilders/alternativeProductsForPostTransactionProductListShelfBuilderDepsFactory.d.ts +8 -0
  14. package/dist/implementation/EmailComponentSettingsModifierPlugin/ProductShelfDataSourceExpressionBuilder/PostTransactionProductShelfDataSourceExpressionBuilderModal/ShelfBuilders/postTransactionProductListShelfBuilderDepsFactory.d.ts +8 -0
  15. package/dist/implementation/EmailComponentSettingsModifierPlugin/ProductShelfDataSourceExpressionBuilder/PostTransactionProductShelfDataSourceExpressionBuilderModal/ShelfBuilders/relatedProductsForPostTransactionProductListShelfBuilderDepsFactory.d.ts +8 -0
  16. package/dist/implementation/EmailComponentSettingsModifierPlugin/ProductShelfDataSourceExpressionBuilder/PostTransactionProductShelfDataSourceExpressionBuilderModal/postTransactionProductShelfDataSourceExpressionBuilderModalDepsFactory.d.ts +11 -0
  17. package/dist/implementation/EmailComponentSettingsModifierPlugin/ProductShelfDataSourceExpressionBuilder/postTransactionProductShelfDataSourceExpressionBuilderDepsFactory.d.ts +11 -0
  18. package/dist/index.d.ts +1 -0
  19. package/dist/index.html +35 -0
  20. package/env.d.ts +1 -0
  21. package/index.html +1 -2
  22. package/package.json +1 -1
  23. package/src/editPostTransactionEmailTemplate.ts +407 -0
  24. package/src/implementation/Apps/components/WysiwygTemplateEditor/AsideMenu/ComponentLibrary/CreateComponentLibrarySectionModalWindow/postTransactionComponentSectionItemFactory.ts +30 -0
  25. package/src/implementation/Apps/components/WysiwygTemplateEditor/AsideMenu/ComponentLibrary/CreateComponentLibrarySectionModalWindow/postTransactionEmailComponentFactory.ts +26 -0
  26. package/src/implementation/Apps/components/WysiwygTemplateEditor/AsideMenu/ComponentLibrary/CustomComponentLibrary/postTransactionComponentLibraryFactory.ts +29 -0
  27. package/src/implementation/Apps/components/WysiwygTemplateEditor/AsideMenu/ComponentLibrary/CustomComponentLibrary/postTransactionSectionFactory.ts +32 -0
  28. package/src/implementation/DataSources/ListDataExpressionSource/postTransactionEvaluateListExpressionDataSourceFactory.ts +134 -0
  29. package/src/implementation/DataSources/NumberExpressionDataSource/postTransactionEvaluateNumberExpressionDataSourceFactory.ts +10 -0
  30. package/src/implementation/DataSources/StringExpressionDataSource/postTransactionEvaluateStringExpressionDataSource.ts +56 -0
  31. package/src/implementation/EmailComponentSettingsModifierPlugin/ProductShelfDataSourceExpressionBuilder/PostTransactionProductShelfDataSourceExpressionBuilderModal/ShelfBuilders/alternativeProductsForPostTransactionProductListShelfBuilderDepsFactory.ts +33 -0
  32. package/src/implementation/EmailComponentSettingsModifierPlugin/ProductShelfDataSourceExpressionBuilder/PostTransactionProductShelfDataSourceExpressionBuilderModal/ShelfBuilders/postTransactionProductListShelfBuilderDepsFactory.ts +33 -0
  33. package/src/implementation/EmailComponentSettingsModifierPlugin/ProductShelfDataSourceExpressionBuilder/PostTransactionProductShelfDataSourceExpressionBuilderModal/ShelfBuilders/relatedProductsForPostTransactionProductListShelfBuilderDepsFactory.ts +33 -0
  34. package/src/implementation/EmailComponentSettingsModifierPlugin/ProductShelfDataSourceExpressionBuilder/PostTransactionProductShelfDataSourceExpressionBuilderModal/postTransactionProductShelfDataSourceExpressionBuilderModalDepsFactory.ts +151 -0
  35. package/src/implementation/EmailComponentSettingsModifierPlugin/ProductShelfDataSourceExpressionBuilder/postTransactionProductShelfDataSourceExpressionBuilderDepsFactory.ts +35 -0
  36. package/src/index.ts +0 -0
  37. package/tsconfig.app.json +19 -0
  38. package/tsconfig.json +14 -0
  39. package/tsconfig.node.json +11 -0
  40. package/tsconfig.test.json +11 -0
  41. package/vite.config.ts +36 -0
  42. package/assets/main.css +0 -1
  43. package/assets/main.js +0 -217
  44. package/favicon.ico +0 -0
File without changes
@@ -0,0 +1,4 @@
1
+ import { ComponentLibrarySectionItem } from '@retailrocket/retailrocket.wysiwyg.bff.v2.apiclients.componentlibrary/main';
2
+ import { CustomComponentSectionItemType } from '@easy-wizzy/core';
3
+ import { PostTransactionListExpressionDataSource, PostTransactionNumberExpressionDataSource, PostTransactionStringExpressionDataSource } from '@easy-wizzy/retailrocket-post-transaction';
4
+ export declare const postTransactionComponentSectionItemFactory: (componentLibrarySectionItem: ComponentLibrarySectionItem) => CustomComponentSectionItemType<PostTransactionListExpressionDataSource, PostTransactionNumberExpressionDataSource, PostTransactionStringExpressionDataSource>;
@@ -0,0 +1,4 @@
1
+ import { EmailComponentType } from '@easy-wizzy/core';
2
+ import { Component } from '@retailrocket/retailrocket.wysiwyg.bff.v2.apiclients.addcomponentlibrarysectionitemmodalwindow/main';
3
+ import { PostTransactionListExpressionDataSource, PostTransactionNumberExpressionDataSource, PostTransactionStringExpressionDataSource } from '@easy-wizzy/retailrocket-post-transaction';
4
+ export declare const postTransactionEmailComponentFactory: (component: Component) => EmailComponentType<PostTransactionListExpressionDataSource, PostTransactionNumberExpressionDataSource, PostTransactionStringExpressionDataSource>;
@@ -0,0 +1,4 @@
1
+ import { ComponentLibrarySection } from '@retailrocket/retailrocket.wysiwyg.bff.v2.apiclients.componentlibrary/main';
2
+ import { CustomComponentLibraryType } from '@easy-wizzy/core';
3
+ import { PostTransactionListExpressionDataSource, PostTransactionNumberExpressionDataSource, PostTransactionStringExpressionDataSource } from '@easy-wizzy/retailrocket-post-transaction';
4
+ export declare const postTransactionComponentLibraryFactory: (componentLibrary: Array<ComponentLibrarySection>) => CustomComponentLibraryType<PostTransactionListExpressionDataSource, PostTransactionNumberExpressionDataSource, PostTransactionStringExpressionDataSource>;
@@ -0,0 +1,4 @@
1
+ import { ComponentLibrarySection } from '@retailrocket/retailrocket.wysiwyg.bff.v2.apiclients.componentlibrary/main';
2
+ import { CustomComponentSectionType } from '@easy-wizzy/core';
3
+ import { PostTransactionListExpressionDataSource, PostTransactionNumberExpressionDataSource, PostTransactionStringExpressionDataSource } from '@easy-wizzy/retailrocket-post-transaction';
4
+ export declare const postTransactionSectionFactory: (section: ComponentLibrarySection) => CustomComponentSectionType<PostTransactionListExpressionDataSource, PostTransactionNumberExpressionDataSource, PostTransactionStringExpressionDataSource>;
@@ -0,0 +1,8 @@
1
+ import { ListExpressionDataSourceBffClient } from '@easy-wizzy/common-app';
2
+ import { ListExpressionDataSourceEvaluatorDelegate } from '@easy-wizzy/core';
3
+ import { PostTransactionListExpressionDataSource } from '@easy-wizzy/retailrocket-post-transaction';
4
+ export declare const postTransactionEvaluateListExpressionDataSourceFactory: (arg: {
5
+ partnerId: string;
6
+ listExpressionDataSourceBffClient: ListExpressionDataSourceBffClient;
7
+ customerStockId: string | undefined;
8
+ }) => ListExpressionDataSourceEvaluatorDelegate<PostTransactionListExpressionDataSource>;
@@ -0,0 +1,2 @@
1
+ import { NumberExpressionDataSourceEvaluatorDelegate } from '@easy-wizzy/core';
2
+ export declare const postTransactionEvaluateNumberExpressionDataSourceFactory: <TNumberExpressionDataSource>() => NumberExpressionDataSourceEvaluatorDelegate<TNumberExpressionDataSource>;
@@ -0,0 +1,9 @@
1
+ import { StringExpressionDataSourceEvaluatorDelegate } from '@easy-wizzy/core';
2
+ import { ContactCustomData, NextCouponFromBatchType } from '@easy-wizzy/retailrocket-common';
3
+ import { ProductImageUrlBuilderExpressionEvaluatorDelegate } from '@easy-wizzy/common-app';
4
+ import { PostTransactionListExpressionDataSource, PostTransactionNumberExpressionDataSource, PostTransactionStringExpressionDataSource } from '@easy-wizzy/retailrocket-post-transaction';
5
+ export declare const postTransactionStringExpressionDataSourceEvaluatorFactory: (arg: {
6
+ productImageUrlBuilderExpressionEvaluator: ProductImageUrlBuilderExpressionEvaluatorDelegate<PostTransactionListExpressionDataSource, PostTransactionNumberExpressionDataSource>;
7
+ contactCustomData: ContactCustomData;
8
+ nextCouponFromBatch: NextCouponFromBatchType;
9
+ }) => StringExpressionDataSourceEvaluatorDelegate<PostTransactionStringExpressionDataSource>;
@@ -0,0 +1,8 @@
1
+ import { LocaleKey } from '@easy-wizzy/core';
2
+ import { ProductShelfBuilderModalWindowBffClient } from '@easy-wizzy/common-app';
3
+ import { AlternativeProductsForPostTransactionProductListShelfBuilderDeps } from '@easy-wizzy/retailrocket-post-transaction';
4
+ export declare const alternativeProductsForAbandonedProductListShelfBuilderDepsFactory: (arg: {
5
+ localeKey: LocaleKey;
6
+ partnerId: string;
7
+ getAllStockIdsHttpClient: ProductShelfBuilderModalWindowBffClient["postGetAllStockIds"];
8
+ }) => AlternativeProductsForPostTransactionProductListShelfBuilderDeps;
@@ -0,0 +1,8 @@
1
+ import { LocaleKey } from '@easy-wizzy/core';
2
+ import { ProductShelfBuilderModalWindowBffClient } from '@easy-wizzy/common-app';
3
+ import { PostTransactionProductListShelfBuilderDeps } from '@easy-wizzy/retailrocket-post-transaction';
4
+ export declare const postTransactionProductListShelfBuilderDepsFactory: (arg: {
5
+ localeKey: LocaleKey;
6
+ partnerId: string;
7
+ getAllStockIdsHttpClient: ProductShelfBuilderModalWindowBffClient["postGetAllStockIds"];
8
+ }) => PostTransactionProductListShelfBuilderDeps;
@@ -0,0 +1,8 @@
1
+ import { LocaleKey } from '@easy-wizzy/core';
2
+ import { ProductShelfBuilderModalWindowBffClient } from '@easy-wizzy/common-app';
3
+ import { RelatedProductsForPostTransactionProductListShelfBuilderDeps } from '@easy-wizzy/retailrocket-post-transaction';
4
+ export declare const relatedProductsForAbandonedProductListShelfBuilderDepsFactory: (arg: {
5
+ localeKey: LocaleKey;
6
+ partnerId: string;
7
+ getAllStockIdsHttpClient: ProductShelfBuilderModalWindowBffClient["postGetAllStockIds"];
8
+ }) => RelatedProductsForPostTransactionProductListShelfBuilderDeps;
@@ -0,0 +1,11 @@
1
+ import { LocaleKey } from '@easy-wizzy/core';
2
+ import { ProductShelfBuilderModalWindowBffClient, ProductPickerModalWindowBffClient, ProductCategoryPickerModalWindowBffClient } from '@easy-wizzy/common-app';
3
+ import { PostTransactionProductShelfDataSourceExpressionBuilderModalDeps } from '@easy-wizzy/retailrocket-post-transaction';
4
+ export declare const postTransactionProductShelfDataSourceExpressionBuilderModalDepsFactory: (arg: {
5
+ localeKey: LocaleKey;
6
+ partnerId: string;
7
+ customerStockId: string | undefined;
8
+ productShelfBuilderModalWindowBffClient: ProductShelfBuilderModalWindowBffClient;
9
+ productCategoryPickerModalWindowBffClient: ProductCategoryPickerModalWindowBffClient;
10
+ productPickerModalWindowBffClient: ProductPickerModalWindowBffClient;
11
+ }) => PostTransactionProductShelfDataSourceExpressionBuilderModalDeps;
@@ -0,0 +1,11 @@
1
+ import { LocaleKey } from '@easy-wizzy/core';
2
+ import { ProductShelfBuilderModalWindowBffClient, ProductPickerModalWindowBffClient, ProductCategoryPickerModalWindowBffClient } from '@easy-wizzy/common-app';
3
+ import { PostTransactionProductShelfDataSourceExpressionBuilderDeps } from '@easy-wizzy/retailrocket-post-transaction';
4
+ export declare const postTransactionProductShelfDataSourceExpressionBuilderDepsFactory: (arg: {
5
+ localeKey: LocaleKey;
6
+ partnerId: string;
7
+ customerStockId: string | undefined;
8
+ productShelfBuilderModalWindowBffClient: ProductShelfBuilderModalWindowBffClient;
9
+ productCategoryPickerModalWindowBffClient: ProductCategoryPickerModalWindowBffClient;
10
+ productPickerModalWindowBffClient: ProductPickerModalWindowBffClient;
11
+ }) => PostTransactionProductShelfDataSourceExpressionBuilderDeps;
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,35 @@
1
+ <!DOCTYPE html>
2
+ <html lang="en">
3
+ <head>
4
+ <meta charset="UTF-8">
5
+ <link rel="icon" href="/favicon.ico">
6
+ <meta name="viewport" content="width=device-width, initial-scale=1.0">
7
+ <link rel="preconnect" href="https://fonts.googleapis.com">
8
+ <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
9
+ <link
10
+ href="https://fonts.googleapis.com/css2?family=Inter:wght@400;600;700&display=swap"
11
+ rel="stylesheet"
12
+ />
13
+ <link href="https://fonts.googleapis.com/css2?family=Inter:wght@400;600;700&family=Lato:wght@100;300;400;700;900&family=Roboto:wght@400;700&display=swap" rel="stylesheet">
14
+ <title>Vite App</title>
15
+ <script type="module" crossorigin src="/assets/index.js"></script>
16
+ <link rel="stylesheet" crossorigin href="/assets/index.css">
17
+ </head>
18
+ <body>
19
+ <div
20
+ id="app"
21
+ data-partner-id="5df72bdc97a52507605e4cc1"
22
+ data-wysiwyg-template-editor-bff-base-url="https://my.retailrocket.ru/5db801c197a52821e86b0d45/TransactionalEmailCampaign/6757225a5520d1ae575e7f0e/CampaignWizard/Step2/WysiwygTemplateEditorBff"
23
+ data-wysiwyg-bff-proxy-base-url="https://k8s-b1.retailrocket.ru/"
24
+ data-email-template-json='{"Subject": "","Preheader": "","Theme": {"BodyWidth": 600,"IsResponsiveWidth": true,"FontFamily": "Arial","Colors": {"EmailBackgroundColor": "#EEEEEE","BodyColor": "#FFFFFF","PrimaryColor": "#557aff","PrimaryTextColor": "#ffffff","SecondaryColor": "#E4EAFF","SecondaryTextColor": "#557aff","CardBackgroundColor": "#F6F6F6","HeadingColor": "#2F2F2F","TitleColor": "#2F2F2F","SubHeadingColor": "#2F2F2F","LargeTextColor": "#2F2F2F","NormalTextColor": "#2F2F2F","DescriptionTextColor": "#999999","LinkColor": "#65A0FA","ButtonTextColor": "#ffffff"},"BorderRadius": {"TopLeft": 20,"TopRight": 20,"BottomLeft": 20,"BottomRight": 20},"BorderRadiusCard": {"TopLeft": 16,"TopRight": 16,"BottomLeft": 16,"BottomRight": 16},"BorderRadiusButton": {"TopLeft": 6,"TopRight": 6,"BottomLeft": 6,"BottomRight": 6},"BorderRadiusBanner": {"TopLeft": 0,"TopRight": 0,"BottomLeft": 0,"BottomRight": 0},"BodyPaddings": {"Left": 20,"Right": 20,"Top": 10,"Bottom": 10},"ComponentPaddings": {"Small": 8,"Medium": 16,"Large": 24,"Huge": 24},"ButtonPaddings": {"TopBottom": 12,"LeftRight": 14},"FontSettingsPresets": {"Title": {"FontSize": 24,"LineHeight": 28,"IsBold": true,"IsItalic": false,"Decoration": "None"},"Heading": {"FontSize": 20,"LineHeight": 24,"IsBold": true,"IsItalic": false,"Decoration": "None"},"SubHeading": {"FontSize": 14,"LineHeight": 16,"IsBold": true,"IsItalic": false,"Decoration": "None"},"LargeText": {"FontSize": 14,"LineHeight": 18,"IsBold": false,"IsItalic": false,"Decoration": "None"},"NormalText": {"FontSize": 12,"LineHeight": 15,"IsBold": false,"IsItalic": false,"Decoration": "None"},"DescriptionText": {"FontSize": 10,"LineHeight": 13,"IsBold": false,"IsItalic": false,"Decoration": "None"},"Button": {"FontSize": 12,"LineHeight": 14,"IsBold": true,"IsItalic": false,"Decoration": "None"},"Link": {"FontSize": 12,"LineHeight": 14,"IsBold": false,"IsItalic": false,"Decoration": "None"}}},"Components": [{"IsRequired": false,"BorderRadius": {"TopLeft": {"Discriminator": "CustomBorderRadius","CustomValue": 0},"TopRight": {"Discriminator": "CustomBorderRadius","CustomValue": 0},"BottomRight": {"Discriminator": "CustomBorderRadius","CustomValue": 0},"BottomLeft": {"Discriminator": "CustomBorderRadius","CustomValue": 0}},"InnerBgColor": {"Discriminator": "BodyColor","CustomValue": "#000000"},"Paddings": {"Top": {"ThemePadding": "ThemePaddingsLarge"},"Bottom": {"ThemePadding": "ThemePaddingsLarge"}},"FullWidth": false,"BodyRowList": [{"MultipleColumnBodyRow": {"ColumnSpacerSize": {"CustomValue": 0},"DirectionRtl": false,"Paddings": {"Left": {"CustomValue": 0},"Top": {"CustomValue": 0},"Right": {"CustomValue": 0},"Bottom": {"CustomValue": 0}},"Border": {"Left": {"Width": 0,"Style": "None","Color": {"Discriminator": "Custom","CustomValue": "#FFFFFF"}},"Top": {"Width": 0,"Style": "None","Color": {"Discriminator": "Custom","CustomValue": "#FFFFFF"}},"Right": {"Width": 0,"Style": "None","Color": {"Discriminator": "Custom","CustomValue": "#FFFFFF"}},"Bottom": {"Width": 0,"Style": "None","Color": {"Discriminator": "Custom","CustomValue": "#FFFFFF"}}},"BorderRadius": {"TopLeft": {"Discriminator": "CustomBorderRadius","CustomValue": 0},"TopRight": {"Discriminator": "CustomBorderRadius","CustomValue": 0},"BottomRight": {"Discriminator": "CustomBorderRadius","CustomValue": 0},"BottomLeft": {"Discriminator": "CustomBorderRadius","CustomValue": 0}},"BgColor": {"Discriminator": "None","CustomValue": "#ffffff"},"ContainerAlign": "Center","Columns": [{"VerticalAlign": "Top","BgColor": {"Discriminator": "None","CustomValue": "#ffffff"},"Paddings": {"Top": {"CustomValue": 0},"Right": {"CustomValue": 0},"Bottom": {"CustomValue": 0},"Left": {"CustomValue": 0}},"Border": {"Left": {"Width": 0,"Style": "None","Color": {"Discriminator": "Custom","CustomValue": "#FFFFFF"}},"Top": {"Width": 0,"Style": "None","Color": {"Discriminator": "Custom","CustomValue": "#FFFFFF"}},"Right": {"Width": 0,"Style": "None","Color": {"Discriminator": "Custom","CustomValue": "#FFFFFF"}},"Bottom": {"Width": 0,"Style": "None","Color": {"Discriminator": "Custom","CustomValue": "#FFFFFF"}}},"BorderRadius": {"TopLeft": {"Discriminator": "CustomBorderRadius","CustomValue": 0},"TopRight": {"Discriminator": "CustomBorderRadius","CustomValue": 0},"BottomRight": {"Discriminator": "CustomBorderRadius","CustomValue": 0},"BottomLeft": {"Discriminator": "CustomBorderRadius","CustomValue": 0}},"ContainerAlign": "Center","Elements": [{"RichText": {"ImageVerticalAlign": "Baseline","MinHeight": 1,"ContentAlign": "Center","Text": {"Content": [{"ParagraphNode": {"Content": [{"TextNode": {"Text": "Сервис создания электронных писем","TextStyle": {"ThemeName": "Heading","Style": {}}}}]}}]}}},{"Spacer": {"Height": {"ThemePadding": "ThemePaddingsLarge"},"Weight": 0,"Color": {"Discriminator": "None","CustomValue": "#FFFFFF"}}},{"RichText": {"ImageVerticalAlign": "Baseline","MinHeight": 1,"ContentAlign": "Center","Text": {"Content": [{"ParagraphNode": {"Content": [{"TextNode": {"Text": "Мы рады представить вам наш новый продукт - сервис создания электронных писем. С помощью этого удобного и интуитивно понятного инструмента, вы сможете легко создавать красивые и профессиональные письма всего в несколько простых шагов.","TextStyle": {"ThemeName": "LargeText","Style": {}}}}]}}]}}}],"Width": {"JustifyWidth": {"WidthInPixels": 560}}}]}}]}]}'
25
+ data-create-email-template-submit-url="data-create-email-template-submit-url"
26
+ data-anti-forgery-header-token-name="data-anti-forgery-header-token-name"
27
+ data-anti-forgery-header-token-value="data-anti-forgery-header-token-value"
28
+ data-anti-forgery-form-token-name="data-anti-forgery-form-token-name"
29
+ data-anti-forgery-form-token-value="data-anti-forgery-form-token-value"
30
+ data-reset-template-form-url="https://webhook.site/a85a171c-bb86-4693-9552-d209a59a7e6a"
31
+ data-exit-link="ya.ru"
32
+ data-locale-key="en"
33
+ ></div>
34
+ </body>
35
+ </html>
package/env.d.ts ADDED
@@ -0,0 +1 @@
1
+ /// <reference types="vite/client" />
package/index.html CHANGED
@@ -12,8 +12,6 @@
12
12
  />
13
13
  <link href="https://fonts.googleapis.com/css2?family=Inter:wght@400;600;700&family=Lato:wght@100;300;400;700;900&family=Roboto:wght@400;700&display=swap" rel="stylesheet">
14
14
  <title>Vite App</title>
15
- <script type="module" crossorigin src="/assets/main.js"></script>
16
- <link rel="stylesheet" crossorigin href="/assets/main.css">
17
15
  </head>
18
16
  <body>
19
17
  <div
@@ -31,5 +29,6 @@
31
29
  data-exit-link="ya.ru"
32
30
  data-locale-key="en"
33
31
  ></div>
32
+ <script type="module" src="/src/editPostTransactionEmailTemplate.ts"></script>
34
33
  </body>
35
34
  </html>
package/package.json CHANGED
@@ -1,5 +1,5 @@
1
1
  {
2
2
  "name": "@retailrocketgroup/retailrocket-edit.post-transaction-vue-email-template-render",
3
- "version": "3.0.381747",
3
+ "version": "5.0.384700",
4
4
  "private": false
5
5
  }
@@ -0,0 +1,407 @@
1
+ import 'bootstrap';
2
+ import '@easy-wizzy/retailrocket-common/index.css';
3
+ import '@easy-wizzy/core/index.css';
4
+
5
+ import { createApp } from 'vue';
6
+ import { createVuetify } from 'vuetify';
7
+ import { ClickOutside } from 'vuetify/directives';
8
+
9
+ import { createSimpleDataForm, matcherFactory } from '@easy-wizzy/core';
10
+ import { EditEmailTemplateApp } from '@easy-wizzy/core';
11
+ import { expressionEvaluatorFactory } from '@easy-wizzy/core';
12
+ import { listExpressionEvaluatorFactory } from '@easy-wizzy/core';
13
+ import { numberExpressionEvaluatorDelegate } from '@easy-wizzy/core';
14
+ import { stringExpressionEvaluatorFactory } from '@easy-wizzy/core';
15
+ import { dataStructBuilderExpressionEvaluatorFactory } from '@easy-wizzy/core';
16
+
17
+ import type { LocaleKey } from '@easy-wizzy/core';
18
+ import type { StringExpressionEvaluatorDelegate } from '@easy-wizzy/core';
19
+
20
+ import { defaultThemeLibraryFactory } from '@easy-wizzy/theme-library';
21
+ import { defaultComponentLibraryFactory } from '@easy-wizzy/component-library';
22
+
23
+ import type { ApiMachineFetchDelegate } from '@easy-wizzy/common-app';
24
+
25
+ import { apiMachineFetchFactory } from '@easy-wizzy/common-app';
26
+ import { editEmailTemplateAppDepsFactory } from '@easy-wizzy/common-app';
27
+ import { productImageUrlBuilderExpressionEvaluatorFactory } from '@easy-wizzy/common-app';
28
+ import { wysiwygTemplateEditorBffClientFactory } from '@easy-wizzy/common-app';
29
+ import { variableSelectorDepsFactory } from '@easy-wizzy/common-app';
30
+
31
+ import { productShelfDataSourceExpressionBuilderPluginFactory } from '@easy-wizzy/retailrocket-common';
32
+ import { stringExpressionBuilderPluginFactory, richTextToolbarPluginFactory, VariableSelector } from '@easy-wizzy/retailrocket-common';
33
+
34
+ import type { ContactCustomData, GeneralStringExpressionDataSource, NextCouponFromBatchType } from '@easy-wizzy/retailrocket-common';
35
+
36
+ import type { PostTransactionListExpressionDataSource } from '@easy-wizzy/retailrocket-post-transaction';
37
+ import type { PostTransactionNumberExpressionDataSource } from '@easy-wizzy/retailrocket-post-transaction';
38
+ import type { PostTransactionStringExpressionDataSource } from '@easy-wizzy/retailrocket-post-transaction';
39
+
40
+ import { PostTransactionProductShelfDataSourceExpressionBuilder } from '@easy-wizzy/retailrocket-post-transaction';
41
+
42
+ import { postTransactionEvaluateListExpressionDataSourceFactory } from '@/implementation/DataSources/ListDataExpressionSource/postTransactionEvaluateListExpressionDataSourceFactory';
43
+ import { postTransactionEvaluateNumberExpressionDataSourceFactory } from '@/implementation/DataSources/NumberExpressionDataSource/postTransactionEvaluateNumberExpressionDataSourceFactory';
44
+ import { postTransactionStringExpressionDataSourceEvaluatorFactory } from '@/implementation/DataSources/StringExpressionDataSource/postTransactionEvaluateStringExpressionDataSource';
45
+ import { postTransactionComponentLibraryFactory } from '@/implementation/Apps/components/WysiwygTemplateEditor/AsideMenu/ComponentLibrary/CustomComponentLibrary/postTransactionComponentLibraryFactory';
46
+ import { postTransactionProductShelfDataSourceExpressionBuilderDepsFactory } from '@/implementation/EmailComponentSettingsModifierPlugin/ProductShelfDataSourceExpressionBuilder/postTransactionProductShelfDataSourceExpressionBuilderDepsFactory';
47
+
48
+ import { createApi as createTriggerPostTransactionWysiwygTemplateEditorClient } from '@retailrocket/retailrocket.wysiwyg.bff.v2.apiclients.triggerposttransactionwysiwygtemplateeditor';
49
+ import {
50
+ type Component,
51
+ createApi as createAddComponentLibrarySectionItemModalWindowBffClient
52
+ } from '@retailrocket/retailrocket.wysiwyg.bff.v2.apiclients.addcomponentlibrarysectionitemmodalwindow';
53
+ import { createApi as listExpressionDataSourceBffClientFactory } from '@retailrocket/retailrocket.wysiwyg.bff.v2.apiclients.listexpressiondatasource';
54
+ import { createApi as createProductShelfBuilderModalWindowBffClient } from '@retailrocket/retailrocket.wysiwyg.bff.v2.apiclients.productshelfmodalwindow';
55
+ import { createApi as createThemeLibraryBffClient } from '@retailrocket/retailrocket.wysiwyg.bff.v2.apiclients.themelibrary';
56
+ import { createApi as createComponentLibraryBffClient } from '@retailrocket/retailrocket.wysiwyg.bff.v2.apiclients.componentlibrary';
57
+ import { createApi as createAddThemeLibrarySectionItemModalWindowBffClient } from '@retailrocket/retailrocket.wysiwyg.bff.v2.apiclients.addthemelibrarysectionitemmodalwindow';
58
+ import { createApi as createDeleteThemeLibrarySectionItemModalWindowBffClient } from '@retailrocket/retailrocket.wysiwyg.bff.v2.apiclients.deletethemelibrarysectionitemmodalwindow';
59
+ import { createApi as createDeleteThemeLibrarySectionModalWindowBffClient } from '@retailrocket/retailrocket.wysiwyg.bff.v2.apiclients.deletethemelibrarysectionmodalwindow';
60
+ import { createApi as createEditThemeLibrarySectionItemModalWindowBffClient } from '@retailrocket/retailrocket.wysiwyg.bff.v2.apiclients.editthemelibrarysectionitemmodalwindow';
61
+ import { createApi as createAddComponentLibrarySectionModalWindowBffClient } from '@retailrocket/retailrocket.wysiwyg.bff.v2.apiclients.addcomponentlibrarysectionmodalwindow';
62
+ import { createApi as createEditComponentLibrarySectionItemModalWindowBffClient } from '@retailrocket/retailrocket.wysiwyg.bff.v2.apiclients.editcomponentlibrarysectionitemmodalwindow';
63
+ import { createApi as createDeleteComponentLibrarySectionItemModalWindowBffClient } from '@retailrocket/retailrocket.wysiwyg.bff.v2.apiclients.deletecomponentlibrarysectionitemmodalwindow';
64
+ import { createApi as createThemeLibrarySectionModalWindowBffClient } from '@retailrocket/retailrocket.wysiwyg.bff.v2.apiclients.addthemelibrarysectionmodalwindow';
65
+ import { createApi as createDeleteComponentLibrarySectionModalWindowBffClient } from '@retailrocket/retailrocket.wysiwyg.bff.v2.apiclients.deletecomponentlibrarysectionmodalwindow';
66
+ import { createApi as createProductCategoryPickerModalWindowBffClient } from '@retailrocket/retailrocket.wysiwyg.bff.v2.apiclients.productcategorypickermodalwindow';
67
+ import { createApi as createProductPickerModalWindowBffClient } from '@retailrocket/retailrocket.wysiwyg.bff.v2.apiclients.productpickermodalwindow';
68
+ import { createApi as saveFavoriteTemplate } from '@retailrocket/retailrocket.wysiwyg.bff.v2.apiclients.savefavoritetemplatemodalwindow';
69
+
70
+ const appTagId = '#app';
71
+ const appTag = document.querySelector(appTagId);
72
+
73
+ const params = {
74
+ partnerId: appTag!.getAttribute('data-partner-id')!,
75
+ wysiwygBffProxyBaseUrl: appTag!.getAttribute('data-wysiwyg-bff-proxy-base-url')!,
76
+ wysiwygTemplateEditorBffBaseUrl: appTag!.getAttribute('data-wysiwyg-template-editor-bff-base-url')!,
77
+ antiForgeryHeaderTokenName: appTag!.getAttribute('data-anti-forgery-header-token-name')!,
78
+ antiForgeryHeaderTokenValue: appTag!.getAttribute('data-anti-forgery-header-token-value')!,
79
+ antiForgeryFormTokenName: appTag!.getAttribute('data-anti-forgery-form-token-name')!,
80
+ antiForgeryFormTokenValue: appTag!.getAttribute('data-anti-forgery-form-token-value')!,
81
+ emailTemplateJson: appTag!.getAttribute('data-email-template-json')!,
82
+ previewTemplateDataJson: appTag!.getAttribute('data-preview-template-data-json')!,
83
+ resetTemplateFormUrl: appTag!.getAttribute('data-reset-template-form-url')!,
84
+ exitLink: appTag!.getAttribute('data-exit-link')!,
85
+ localeKey: appTag!.getAttribute('data-locale-key') as LocaleKey || 'en'
86
+ };
87
+
88
+ const _apiMachineFetchFactory = (arg: {
89
+ baseUrl: string
90
+ }): ApiMachineFetchDelegate => apiMachineFetchFactory({
91
+ baseUrl: arg.baseUrl,
92
+ antiForgeryTokenHeaderName: params.antiForgeryHeaderTokenName,
93
+ antiForgeryTokenValue: params.antiForgeryHeaderTokenValue
94
+ });
95
+
96
+ const postTransactionMainPageBffClient = createTriggerPostTransactionWysiwygTemplateEditorClient(
97
+ apiMachineFetchFactory({
98
+ baseUrl: params.wysiwygTemplateEditorBffBaseUrl,
99
+ antiForgeryTokenHeaderName: params.antiForgeryHeaderTokenName,
100
+ antiForgeryTokenValue: params.antiForgeryHeaderTokenValue
101
+ })
102
+ );
103
+
104
+ const createFavoriteTemplateBffClient = saveFavoriteTemplate(
105
+ _apiMachineFetchFactory({
106
+ baseUrl: params.wysiwygBffProxyBaseUrl
107
+ })
108
+ );
109
+
110
+ const resetTemplate = (): void => {
111
+ const formData = new FormData();
112
+ formData.append(
113
+ params.antiForgeryFormTokenName,
114
+ params.antiForgeryFormTokenValue);
115
+
116
+ const form = createSimpleDataForm({
117
+ method: 'POST',
118
+ action: params.resetTemplateFormUrl,
119
+ formData: formData
120
+ });
121
+
122
+ document.body.appendChild(form);
123
+ form.submit();
124
+ };
125
+
126
+ let contactCustomData: ContactCustomData = {};
127
+ let nextCouponFromBatch: NextCouponFromBatchType = {
128
+ BatchId: ''
129
+ };
130
+
131
+ const listExpressionDataSourceBffClient = listExpressionDataSourceBffClientFactory(
132
+ _apiMachineFetchFactory({
133
+ baseUrl: params.wysiwygBffProxyBaseUrl
134
+ })
135
+ );
136
+
137
+ const listExpressionDataSourceEvaluator = postTransactionEvaluateListExpressionDataSourceFactory({
138
+ partnerId: params.partnerId,
139
+ listExpressionDataSourceBffClient: listExpressionDataSourceBffClient,
140
+ customerStockId: undefined
141
+ });
142
+
143
+ const listExpressionEvaluator = listExpressionEvaluatorFactory({
144
+ listExpressionDataSourceEvaluator: listExpressionDataSourceEvaluator
145
+ });
146
+
147
+ const numberExpressionDataSourceEvaluator = postTransactionEvaluateNumberExpressionDataSourceFactory();
148
+
149
+ const numberExpressionEvaluator = numberExpressionEvaluatorDelegate({
150
+ listExpressionEvaluator: listExpressionEvaluator,
151
+ numberExpressionDataSourceEvaluator: numberExpressionDataSourceEvaluator
152
+ })
153
+
154
+ const stringExpressionEvaluator: StringExpressionEvaluatorDelegate<
155
+ PostTransactionListExpressionDataSource,
156
+ PostTransactionNumberExpressionDataSource,
157
+ PostTransactionStringExpressionDataSource
158
+ > = stringExpressionEvaluatorFactory({
159
+ listExpressionEvaluator: listExpressionEvaluator,
160
+ numberExpressionEvaluator: numberExpressionEvaluator,
161
+ stringExpressionDataSourceEvaluatorFactory: () => postTransactionStringExpressionDataSourceEvaluatorFactory({
162
+ productImageUrlBuilderExpressionEvaluator: productImageUrlBuilderExpressionEvaluatorFactory({
163
+ partnerId: params.partnerId,
164
+ numberExpressionEvaluator: numberExpressionEvaluator
165
+ }),
166
+ contactCustomData: contactCustomData,
167
+ nextCouponFromBatch: nextCouponFromBatch
168
+ })
169
+ });
170
+
171
+ const expressionEvaluator = expressionEvaluatorFactory({
172
+ listExpressionEvaluator: listExpressionEvaluator,
173
+ numberExpressionEvaluator: numberExpressionEvaluator,
174
+ stringExpressionEvaluator: stringExpressionEvaluator,
175
+ dataStructBuilderExpressionEvaluatorFactory: expressionEvaluator => dataStructBuilderExpressionEvaluatorFactory({
176
+ expressionEvaluator: expressionEvaluator
177
+ })
178
+ });
179
+
180
+ const dataStructExpressionEvaluator = dataStructBuilderExpressionEvaluatorFactory({
181
+ expressionEvaluator: expressionEvaluator
182
+ });
183
+
184
+ const app = createApp(
185
+ EditEmailTemplateApp,
186
+ {
187
+ onTemplateReset: () => {
188
+ resetTemplate();
189
+ },
190
+ deps:
191
+ editEmailTemplateAppDepsFactory<
192
+ PostTransactionListExpressionDataSource,
193
+ PostTransactionNumberExpressionDataSource,
194
+ PostTransactionStringExpressionDataSource
195
+ >({
196
+ partnerId: params.partnerId,
197
+ exitLink: params.exitLink,
198
+ localeKey: params.localeKey,
199
+ dataSourceFieldNameDelegate: ({ dataSource }) => {
200
+ return matcherFactory(dataSource as GeneralStringExpressionDataSource).Match({
201
+ StringFromContactCustomData: (customData) => customData.FieldName,
202
+ StringFromContactCustomDataWithFallback: (customDataWithFallback) => customDataWithFallback.FallbackValue,
203
+ ProductImageUrlBuilderExpression: () => 'ImageResizer',
204
+ NextCouponFromBatch: () => 'Coupon'
205
+ });
206
+ },
207
+ richTextToolbarPlugins: [
208
+ richTextToolbarPluginFactory({
209
+ richTextToolbarPluginComponent: VariableSelector,
210
+ deps: variableSelectorDepsFactory({
211
+ localeKey: params.localeKey,
212
+ stringExpressionBuilderPlugin: stringExpressionBuilderPluginFactory({
213
+ localeKey: params.localeKey
214
+ })
215
+ })
216
+ })
217
+ ],
218
+ defaultThemeLibrary: defaultThemeLibraryFactory({
219
+ localeKey: params.localeKey
220
+ }),
221
+ defaultComponentLibrary: defaultComponentLibraryFactory({
222
+ localeKey: params.localeKey
223
+ }),
224
+ saveEmailTemplate: async arg => {
225
+ const result = await postTransactionMainPageBffClient
226
+ .postSaveTemplate({
227
+ body: {
228
+ partnerId: params.partnerId,
229
+ templateJson: JSON.stringify(arg.emailTemplate)
230
+ }
231
+ })
232
+
233
+ return result.status === 200
234
+ ? 'Success'
235
+ : 'Fail'
236
+ },
237
+ createFavoriteTemplate: async arg => {
238
+ const result = await createFavoriteTemplateBffClient
239
+ .postCreateFavoriteTriggerPostTransactionTemplate({
240
+ body: {
241
+ partnerId: params.partnerId,
242
+ templateJson: JSON.stringify(arg.emailTemplate),
243
+ favoriteTemplateName: 'Favorite template'
244
+ }
245
+ });
246
+
247
+ return result.status === 200
248
+ ? 'Success'
249
+ : 'Fail';
250
+ },
251
+ listExpressionEvaluator: listExpressionEvaluator,
252
+ numberExpressionEvaluator: numberExpressionEvaluator,
253
+ stringExpressionEvaluator: stringExpressionEvaluator,
254
+ dataStructExpressionEvaluator: dataStructExpressionEvaluator,
255
+ expressionEvaluator: expressionEvaluator,
256
+ getComponentLibraryFactory: x => () =>
257
+ x.getComponentLibraryHttpClient(
258
+ {
259
+ body: {
260
+ partnerId: x.partnerId,
261
+ componentTypes: [
262
+ { triggerPostTransaction: {} },
263
+ { common: {} }
264
+ ]
265
+ }
266
+ }
267
+ )
268
+ .then(x => postTransactionComponentLibraryFactory(x.body.sections)),
269
+ canProductShelfDataSourceBeConverted: () => false,
270
+ httpClientComponentFactoryDelegate: (emailComponent): Component => {
271
+ return {
272
+ triggerPostTransaction: {
273
+ componentJson: JSON.stringify(emailComponent)
274
+ }
275
+ }
276
+ },
277
+ stringExpressionBuilderPlugin: stringExpressionBuilderPluginFactory({
278
+ localeKey: params.localeKey
279
+ }),
280
+ emailComponentSettingsModifierPlugin: productShelfDataSourceExpressionBuilderPluginFactory({
281
+ productShelfDataSourceExpressionBuilderComponent: PostTransactionProductShelfDataSourceExpressionBuilder,
282
+ deps: postTransactionProductShelfDataSourceExpressionBuilderDepsFactory({
283
+ localeKey: params.localeKey,
284
+ partnerId: params.partnerId,
285
+ customerStockId: 'customerStockId',
286
+ productShelfBuilderModalWindowBffClient: createProductShelfBuilderModalWindowBffClient(
287
+ apiMachineFetchFactory({
288
+ baseUrl: params.wysiwygBffProxyBaseUrl,
289
+ antiForgeryTokenHeaderName: params.antiForgeryHeaderTokenName,
290
+ antiForgeryTokenValue: params.antiForgeryHeaderTokenValue
291
+ })
292
+ ),
293
+ productCategoryPickerModalWindowBffClient: createProductCategoryPickerModalWindowBffClient(
294
+ apiMachineFetchFactory({
295
+ baseUrl: params.wysiwygBffProxyBaseUrl,
296
+ antiForgeryTokenHeaderName: params.antiForgeryHeaderTokenName,
297
+ antiForgeryTokenValue: params.antiForgeryHeaderTokenValue
298
+ })
299
+ ),
300
+ productPickerModalWindowBffClient: createProductPickerModalWindowBffClient(
301
+ apiMachineFetchFactory({
302
+ baseUrl: params.wysiwygBffProxyBaseUrl,
303
+ antiForgeryTokenHeaderName: params.antiForgeryHeaderTokenName,
304
+ antiForgeryTokenValue: params.antiForgeryHeaderTokenValue
305
+ })
306
+ )
307
+ })
308
+ }),
309
+ initialEmailTemplate: JSON.parse(params.emailTemplateJson),
310
+ wysiwygTemplateEditorBffClient: wysiwygTemplateEditorBffClientFactory({
311
+ themeLibraryBffClient: createThemeLibraryBffClient(
312
+ apiMachineFetchFactory({
313
+ baseUrl: params.wysiwygBffProxyBaseUrl,
314
+ antiForgeryTokenHeaderName: params.antiForgeryHeaderTokenName,
315
+ antiForgeryTokenValue: params.antiForgeryHeaderTokenValue
316
+ })
317
+ ),
318
+ componentLibraryBffClient: createComponentLibraryBffClient(
319
+ apiMachineFetchFactory({
320
+ baseUrl: params.wysiwygBffProxyBaseUrl,
321
+ antiForgeryTokenHeaderName: params.antiForgeryHeaderTokenName,
322
+ antiForgeryTokenValue: params.antiForgeryHeaderTokenValue
323
+ })
324
+ )
325
+ }),
326
+ addThemeLibrarySectionItemModalWindowBffClient: createAddThemeLibrarySectionItemModalWindowBffClient(
327
+ apiMachineFetchFactory({
328
+ baseUrl: params.wysiwygBffProxyBaseUrl,
329
+ antiForgeryTokenHeaderName: params.antiForgeryHeaderTokenName,
330
+ antiForgeryTokenValue: params.antiForgeryHeaderTokenValue
331
+ })
332
+ ),
333
+ addComponentLibrarySectionItemModalWindowBffClient: createAddComponentLibrarySectionItemModalWindowBffClient(
334
+ apiMachineFetchFactory({
335
+ baseUrl: params.wysiwygBffProxyBaseUrl,
336
+ antiForgeryTokenHeaderName: params.antiForgeryHeaderTokenName,
337
+ antiForgeryTokenValue: params.antiForgeryHeaderTokenValue
338
+ })
339
+ ),
340
+ deleteThemeLibrarySectionItemModalWindowBffClient: createDeleteThemeLibrarySectionItemModalWindowBffClient(
341
+ apiMachineFetchFactory({
342
+ baseUrl: params.wysiwygBffProxyBaseUrl,
343
+ antiForgeryTokenHeaderName: params.antiForgeryHeaderTokenName,
344
+ antiForgeryTokenValue: params.antiForgeryHeaderTokenValue
345
+ })
346
+ ),
347
+ deleteThemeLibrarySectionModalWindowBffClient: createDeleteThemeLibrarySectionModalWindowBffClient(
348
+ apiMachineFetchFactory({
349
+ baseUrl: params.wysiwygBffProxyBaseUrl,
350
+ antiForgeryTokenHeaderName: params.antiForgeryHeaderTokenName,
351
+ antiForgeryTokenValue: params.antiForgeryHeaderTokenValue
352
+ })
353
+ ),
354
+ editThemeLibrarySectionItemModalWindowBffClient: createEditThemeLibrarySectionItemModalWindowBffClient(
355
+ apiMachineFetchFactory({
356
+ baseUrl: params.wysiwygBffProxyBaseUrl,
357
+ antiForgeryTokenHeaderName: params.antiForgeryHeaderTokenName,
358
+ antiForgeryTokenValue: params.antiForgeryHeaderTokenValue
359
+ })
360
+ ),
361
+ createComponentLibrarySectionModalWindowBffClient: createAddComponentLibrarySectionModalWindowBffClient(
362
+ apiMachineFetchFactory({
363
+ baseUrl: params.wysiwygBffProxyBaseUrl,
364
+ antiForgeryTokenHeaderName: params.antiForgeryHeaderTokenName,
365
+ antiForgeryTokenValue: params.antiForgeryHeaderTokenValue
366
+ })
367
+ ),
368
+ editComponentLibrarySectionItemModalWindowBffClient: createEditComponentLibrarySectionItemModalWindowBffClient(
369
+ apiMachineFetchFactory({
370
+ baseUrl: params.wysiwygBffProxyBaseUrl,
371
+ antiForgeryTokenHeaderName: params.antiForgeryHeaderTokenName,
372
+ antiForgeryTokenValue: params.antiForgeryHeaderTokenValue
373
+ })
374
+ ),
375
+ deleteComponentLibrarySectionItemModalWindowBffClient: createDeleteComponentLibrarySectionItemModalWindowBffClient(
376
+ apiMachineFetchFactory({
377
+ baseUrl: params.wysiwygBffProxyBaseUrl,
378
+ antiForgeryTokenHeaderName: params.antiForgeryHeaderTokenName,
379
+ antiForgeryTokenValue: params.antiForgeryHeaderTokenValue
380
+ })
381
+ ),
382
+ createThemeLibrarySectionModalWindowBffClient: createThemeLibrarySectionModalWindowBffClient(
383
+ apiMachineFetchFactory({
384
+ baseUrl: params.wysiwygBffProxyBaseUrl,
385
+ antiForgeryTokenHeaderName: params.antiForgeryHeaderTokenName,
386
+ antiForgeryTokenValue: params.antiForgeryHeaderTokenValue
387
+ })
388
+ ),
389
+ deleteComponentLibrarySectionModalWindowBffClient: createDeleteComponentLibrarySectionModalWindowBffClient(
390
+ apiMachineFetchFactory({
391
+ baseUrl: params.wysiwygBffProxyBaseUrl,
392
+ antiForgeryTokenHeaderName: params.antiForgeryHeaderTokenName,
393
+ antiForgeryTokenValue: params.antiForgeryHeaderTokenValue
394
+ })
395
+ )
396
+ })
397
+ }
398
+ );
399
+
400
+ app.use(createVuetify({
401
+ theme: false,
402
+ directives: {
403
+ ClickOutside
404
+ }
405
+ }));
406
+
407
+ app.mount(appTagId);
@@ -0,0 +1,30 @@
1
+ import type {
2
+ ComponentLibrarySectionItem,
3
+ } from '@retailrocket/retailrocket.wysiwyg.bff.v2.apiclients.componentlibrary/main';
4
+ import type { CustomComponentSectionItemType } from '@easy-wizzy/core';
5
+ import type {
6
+ PostTransactionListExpressionDataSource
7
+ } from '@easy-wizzy/retailrocket-post-transaction';
8
+ import type {
9
+ PostTransactionNumberExpressionDataSource
10
+ } from '@easy-wizzy/retailrocket-post-transaction';
11
+ import type {
12
+ PostTransactionStringExpressionDataSource
13
+ } from '@easy-wizzy/retailrocket-post-transaction';
14
+ import {
15
+ postTransactionEmailComponentFactory
16
+ } from '@/implementation/Apps/components/WysiwygTemplateEditor/AsideMenu/ComponentLibrary/CreateComponentLibrarySectionModalWindow/postTransactionEmailComponentFactory';
17
+
18
+ export const postTransactionComponentSectionItemFactory = (
19
+ componentLibrarySectionItem: ComponentLibrarySectionItem,
20
+ ): CustomComponentSectionItemType<
21
+ PostTransactionListExpressionDataSource,
22
+ PostTransactionNumberExpressionDataSource,
23
+ PostTransactionStringExpressionDataSource
24
+ > => {
25
+ return {
26
+ sectionItemId: componentLibrarySectionItem.sectionItemId,
27
+ sectionItemName: componentLibrarySectionItem.sectionItemName,
28
+ componentTemplate: postTransactionEmailComponentFactory(componentLibrarySectionItem.component),
29
+ };
30
+ };