1 | "use strict";
|
2 | Object.defineProperty(exports, "__esModule", { value: true });
|
3 | var tslib_1 = require("tslib");
|
4 | var page_type_1 = require("../../commons/types/page-type");
|
5 | var event_runner_1 = require("../../event/core/event-runner");
|
6 | var confirmation_1 = require("../../event/types/page/confirmation");
|
7 | var cart_1 = require("../types/page/cart");
|
8 |
|
9 |
|
10 |
|
11 |
|
12 |
|
13 |
|
14 | var YourIDRunner = (function (_super) {
|
15 | tslib_1.__extends(YourIDRunner, _super);
|
16 | function YourIDRunner() {
|
17 | return _super !== null && _super.apply(this, arguments) || this;
|
18 | }
|
19 | |
20 |
|
21 |
|
22 |
|
23 |
|
24 |
|
25 |
|
26 | YourIDRunner.prototype.processItem = function (item) {
|
27 | var info = this.getPageInfo(item);
|
28 | if (info) {
|
29 | if (info.pageType === page_type_1.PageType.Confirmation) {
|
30 | this.sendOrderEvent(info.item);
|
31 | }
|
32 | else if (info.pageType === page_type_1.PageType.Cart) {
|
33 | this.sendCartEvent(info.item);
|
34 | }
|
35 | }
|
36 | };
|
37 | |
38 |
|
39 |
|
40 |
|
41 |
|
42 |
|
43 |
|
44 |
|
45 | YourIDRunner.prototype.getPageInfo = function (item) {
|
46 | if (item && item.pageType) {
|
47 | if (item.pageType === "onestepcheckout/index/success") {
|
48 | return {
|
49 | item: item,
|
50 | pageType: page_type_1.PageType.Confirmation,
|
51 | };
|
52 | }
|
53 | else if (item.pageType === "checkout/cart/index") {
|
54 | return {
|
55 | item: item,
|
56 | pageType: page_type_1.PageType.Cart,
|
57 | };
|
58 | }
|
59 | }
|
60 | return undefined;
|
61 | };
|
62 | |
63 |
|
64 |
|
65 |
|
66 |
|
67 |
|
68 |
|
69 | YourIDRunner.prototype.sendOrderEvent = function (orderItem) {
|
70 | var orderId = orderItem.transactionId;
|
71 | var products = [];
|
72 | if (orderItem.transactionProducts) {
|
73 | var transactionProducts = orderItem.transactionProducts;
|
74 | for (var _i = 0, transactionProducts_1 = transactionProducts; _i < transactionProducts_1.length; _i++) {
|
75 | var transactionProduct = transactionProducts_1[_i];
|
76 | products.push({
|
77 | product: transactionProduct.id,
|
78 | quantity: parseInt(transactionProduct.quantity, 10),
|
79 | price: transactionProduct.price,
|
80 | });
|
81 | }
|
82 | }
|
83 | var event = new confirmation_1.PageConfirmationEvent(orderId).withProducts(products);
|
84 | event.push();
|
85 | };
|
86 | |
87 |
|
88 |
|
89 |
|
90 |
|
91 |
|
92 |
|
93 | YourIDRunner.prototype.sendCartEvent = function (cartItem) {
|
94 |
|
95 | var event = this.createCartEvent();
|
96 |
|
97 | if (cartItem.transactionProducts) {
|
98 | var layerProducts = JSON.parse(cartItem.transactionProducts);
|
99 | if (layerProducts && layerProducts instanceof Array && layerProducts.length > 0) {
|
100 | for (var _i = 0, layerProducts_1 = layerProducts; _i < layerProducts_1.length; _i++) {
|
101 | var product = layerProducts_1[_i];
|
102 | event.withProduct(product.id, parseInt(product.quantity, 10));
|
103 | }
|
104 | }
|
105 | }
|
106 | event.push();
|
107 | };
|
108 | |
109 |
|
110 |
|
111 |
|
112 |
|
113 |
|
114 |
|
115 |
|
116 | YourIDRunner.prototype.createCartEvent = function () {
|
117 | return new cart_1.PageCartEvent();
|
118 | };
|
119 | return YourIDRunner;
|
120 | }(event_runner_1.EventRunner));
|
121 | exports.YourIDRunner = YourIDRunner;
|
122 |
|
\ | No newline at end of file |