PageSourceSearch

https://www.madamella.com/js/tsoftapps/v4/footer.js?v=1

js madamella.com collected 2026-10-08 06:25:10 UTC 6,690 bytes, 176 lines download raw bytes

1var addressSingleReadyCallback, AddToWishListCallback, DeleteWishListCallback, paymentCallback;
2document.addEventListener('DOMContentLoaded', async function () {
3    await TSOFT_APPS.get.basket();
4    await TSOFT_APPS.get.cart.load();
5    addressSingleReadyCallback = function () {
6    }
7    paymentCallback = function () {
8    }
9    switch (PAGE_TYPE) {
10        case 'other':
11            TSOFT_APPS.page.other.callback.forEach(async call => {
12                if (typeof call !== "function") {
13                    return false;
14                }
15                await call(CATEGORY_DATA, PRODUCT_DATA);
16            })
17            break;
18        case 'home':
19            TSOFT_APPS.page.home.callback.forEach(async call => {
20                if (typeof call !== "function") {
21                    return false;
22                }
23                await call(PRODUCT_DATA);
24            })
25            break;
26        case 'category':
27            if (TSOFT_APPS.page.category.callback.length > 0) {
28                startCategoryCallback();
29            }
30
31        async function startCategoryCallback() {
32            await TSOFT_APPS.page.category.callback.forEach(async call => {
33                if (typeof call !== "function") {
34                    return false;
35                }
36                await call(CATEGORY_DATA, PRODUCT_DATA);
37            })
38        }
39
40            break;
41        case 'product':
42            if (TSOFT_APPS.product.detail.callback.length > 0) {
43                startProductCallback();
44            }
45
46        async function startProductCallback() {
47            await TSOFT_APPS.product.detail.callback.forEach(async call => {
48                if (typeof call !== "function") {
49                    return false;
50                }
51                await call(PRODUCT_DATA);
52            })
53        }
54
55            break;
56        case 'search':
57            if (TSOFT_APPS.page.search.callback.length > 0) {
58                startSearchCallback();
59            }
60
61        async function startSearchCallback() {
62            const searchWord = document.getElementById("search_word").value;
63            await TSOFT_APPS.page.search.callback.forEach(async call => {
64                if (typeof call !== "function") {
65                    return false;
66                }
67                await call(searchWord, PRODUCT_DATA);
68            })
69        }
70
71            break;
72        case 'cart':
73            if (TSOFT_APPS.page.cart.callback.length > 0) {
74                startCartCallback();
75            }
76
77        async function startCartCallback() {
78            TSOFT_APPS.page.cart.callback.forEach(async call => {
79                if (typeof call !== "function") {
80                    return false;
81                }
82                await call(TSOFT_APPS.get.result.basket, TSOFT_APPS.get.cart.load);
83            })
84        }
85
86            break;
87    }
88    // V4 için mapping edilmiş callback ler.
89    // Buradaki kodlar </body> hemen öncesine eklenmelidir.
90    // window olay dinleyicileri ile DOM yükleme ve sayfa yüklendikten sonra dinlendi fakat bazı callback ler hataya düştü.
91    // script etiketlerine "defer" özelliği eklendiğinde ise PAGE_TYPE gibi olaylarda tetiklenmediği gözlemlendi.
92    // Var olan Array tipindeki callback ile TSOFT_APPS eşleştirilmesi
93    // sepet
94    Cart.callback.add.push(...TSOFT_APPS.cart.callback.add);
95    Cart.callback.load.push(...TSOFT_APPS.cart.callback.load);
96    // ödeme tipi değişikliği
97    PaymentMethods.callback.change.push(...TSOFT_APPS.paymentMethods.callback.change);
98    // ürün
99    QuickViewObj.callback.open.push(...TSOFT_APPS.product.quickView.callback.open);
100    ProductComment.callback.add.push(...TSOFT_APPS.product.comment.callback.add);
101    // sayfa bazlı izleme kodu
102    ApprovePageTracking.callbackArray.push(...TSOFT_APPS.page.tracking.approve.callback)
103    LoginPageTracking.callbackArray.push(...TSOFT_APPS.page.tracking.login.callback);
104    customerOrder.callback.cancel.push(...TSOFT_APPS.order.cancel.callback);
105    customerOrder.callback.return.push(...TSOFT_APPS.order.return.callback);
106    // typeof => 'function' kabul edilen callback fonksiyonlar.
107    // Bu callbackler uygulamalarda birden fazla kullanılır. ->
108    // -> Tipi Function olmasından kaynaklı en son yazılan callback, diğer bütün callbackleri etmektedir.
109    SignPageTracking.Callback = function (data) {
110        if (!(TSOFT_APPS.page.tracking.sign.callback.length > 0)) return false;
111        TSOFT_APPS.page.tracking.sign.callback.forEach(call => {
112            if (typeof call !== "function") {
113                return false;
114            }
115            call(data);
116        })
117    }
118    DeleteWishListCallback = function (id, product) {
119        if (!(TSOFT_APPS.product.wishList.callback.delete.length > 0)) return false;
120        TSOFT_APPS.product.wishList.callback.delete.forEach(call => {
121            if (typeof call !== "function") {
122                return false;
123            }
124            call(id, product);
125        })
126    }
127    AddToWishListCallback = function (data, product) {
128        if (!(TSOFT_APPS.product.wishList.callback.add.length > 0)) return false;
129        TSOFT_APPS.product.wishList.callback.add.forEach(call => {
130            if (typeof call !== "function") {
131                return false;
132            }
133            product = {
134                "status": 1,
135                "data": product
136            };
137            call(product, data);
138        })
139    }
140    Cart.callback.delete = function (data) {
141        if (!(TSOFT_APPS.cart.callback.delete.length > 0)) return false;
142        TSOFT_APPS.cart.callback.delete.forEach(call => {
143            if (typeof call !== "function") {
144                return false;
145            }
146            call(data);
147        })
148    }
149    Cart.callback.deleteAll = function (data) {
150        if (!(TSOFT_APPS.cart.callback.deleteAll.length > 0)) return false;
151        TSOFT_APPS.cart.callback.deleteAll.forEach(call => {
152            if (typeof call !== "function") {
153                return false;
154            }
155            call(data);
156        })
157    }
158    Cart.callback.update = function (data) {
159        if (!(TSOFT_APPS.cart.callback.update.length > 0)) return false;
160        TSOFT_APPS.cart.callback.update.forEach(call => {
161            if (typeof call !== "function") {
162                return false;
163            }
164            call(data);
165        })
166    }
167    Cart.callback.updateAll = function (data) {
168        if (!(TSOFT_APPS.cart.callback.updateAll.length > 0)) return false;
169        TSOFT_APPS.cart.callback.updateAll.forEach(call => {
170            if (typeof call !== "function") {
171                return false;
172            }
173            call(data);
174        })
175    }
176})

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.