PageSourceSearch

https://www.vitra.com.tr/_ui/responsive/common/js/custom/acc.eczacibasi.order.js

js vitra.com.tr collected 2026-09-24 10:02:24 UTC 18,179 bytes, 380 lines download raw bytes

1ACC.eczacibasiOrder = {
2    el: {
3        cancel_btn: '.js_submit_cancel',
4        return_btn: '.js_submit_return',
5        cancel_select_all: '.js_cancel_select_all',
6        return_select_all: '.js_return_select_all',
7        select_all_item: '.js_select_all',
8        invoice_btn: '.js_open_invoice',
9        invoice_data: '.js_invoice_data',
10        update_order_approval_btn: '.js_update_order_approval_btn',
11        returnFormProductCheck: '.refund-checkbox input',
12        order_phone_input: '.js-input-order-phone',
13        order_number_input: '.js-input-order-number',
14        order_send_btn:'.js-order-tracking-btn',
15        order_list_input: '.js_order_list_input',
16        order_list_search: '.js_order_list_search',
17        get_invoice_btn:'.js_get_invoice'
18    },
19    init: function () {
20        this.events.cancel_submit();
21        this.events.return_submit();
22        this.events.select_all();
23        this.events.show_invoice();
24        this.events.fillInstoreOrderForm();
25        if($('.page-updateOrderApprovalPage').length > 0){
26            this.events.update_order_approval();
27        }
28        this.events.sendOrder();
29        if($('.page-orders').length > 0){
30            this.events.order_list();
31        }
32        if($('.page-order').length > 0){
33            this.events.delivery_point_on_click();
34        }
35        this.events.history_date();
36        this.events.return_add_image();
37    },
38    events: {
39        return_add_image: function () {
40            $(".image-upload-input").on('change',function () {
41                var fileName = this.files.length ? this.files[0].name : "";
42                var key = this.id.split("_")[1];
43                $("#imgName_" + key).text(fileName);
44            });
45        },
46        cancel_submit: function () {
47            var _order = ACC.eczacibasiOrder;
48            var _gTagManager = ACC.eczacibasiGTM;
49            $(_order.el.cancel_btn).on('click', function (e) {
50                var _t = $(this);
51                var _code = _t.data('code');
52                var _chkbx = _order.el.returnFormProductCheck;
53                var _check = ACC.cancelreturnorderaction.disableEnableCancelSubmit();
54                if(!_check){
55                    var _cancelProducts = $('[data-gtm-cancel-product]');
56                    var _cancelProductsGa4 = $('[data-gtm-ga]');
57                    var products = [];
58                    var productsGa4 = [];
59                    _cancelProducts.each(function (index, prd) {
60                        if($(prd).find('.js_select_all').is(":checked")){
61                            var _prdJson = JSON.parse($(prd).attr('data-gtm-cancel-product'));
62                            _prdJson.quantity = $(prd).find('.js_qty_input').val();
63                            products.push(_prdJson);
64                            var refund_reason = $(prd).find('#businessType option:selected').text();
65                            var refund_id = $(prd).data('gtmGa').item_id;
66                            var refund_value = $(prd).data('entryPrice') * parseInt($(prd).find('.js_qty_input').val());
67                            _gTagManager.events.cancelOrderPartialGa42(refund_reason, refund_id, refund_value);
68                        }
69                    });
70                    var refundAmount = 0;
71                    if (_cancelProductsGa4 != undefined) {
72                        _cancelProductsGa4.each(function (index, prd) {
73                            if ($(prd).find(_chkbx).is(":checked")) {
74                                var _prdJson = JSON.parse($(prd).attr('data-gtm-ga'));
75                                _prdJson.quantity = parseInt($(prd).find('.js_qty_input').val());
76                                var entryAmount = $(prd).data('entryPrice');
77                                refundAmount += (parseFloat(_prdJson.quantity) * parseFloat(entryAmount));
78                                _prdJson.item_list_name = ACC.config.returnPage;
79                                productsGa4.push(_prdJson);
80                            }
81                        });
82                        //_gTagManager.events.cancelOrderPartialGa4(_code, productsGa4, refundAmount);
83                    }
84                    _gTagManager.events.cancelOrderPartial(_code,products);
85                    $('.gift-product').removeAttr('disabled');
86                    _order.events.unSelectedForm();
87                    if ($(this).closest('.c-wrapper')) {
88                        $(this).closest('.c-wrapper').find('#confirmcancelorderForm').submit();
89                    }
90                    if ($(this).closest('.w-full').find('#confirmcancelorderForm')) {
91                        $(this).closest('.w-full').find('#confirmcancelorderForm').submit();
92                    }
93                }
94            });
95
96            $("#confirmcancelorderForm").on("keypress", function (event) {
97                var keyPressed = event.keyCode || event.which;
98                if (keyPressed === 13) {
99                    event.preventDefault();
100                }
101            });
102
103        },
104        return_submit: function () {
105            var _order = ACC.eczacibasiOrder;
106            var _gTagManager = ACC.eczacibasiGTM;
107            var _cancelProductsGa4 = $('[data-gtm-ga]');
108            var _chkbx = _order.el.returnFormProductCheck;
109            var productsGa4 = [];
110
111            $(_order.el.return_btn).on('click', function (e) {
112                var _t = $(this);
113                var _code = _t.data('code');
114                var refundAmount = 0;
115                if (_cancelProductsGa4 != undefined) {
116                    _cancelProductsGa4.each(function (index, prd) {
117                        if ($(prd).find(_chkbx).is(":checked")) {
118                            var _prdJson = JSON.parse($(prd).attr('data-gtm-ga'));
119                            _prdJson.quantity = parseInt($(prd).find('.js_qty_input').val());
120                            var entryAmount = $(prd).data('entryPrice');
121                            refundAmount += (parseFloat(_prdJson.quantity) * parseFloat(entryAmount));
122                            _prdJson.item_list_name = ACC.config.returnPage;
123                            productsGa4.push(_prdJson);
124                            var refund_reason = $(prd).find('#businessType option:selected').text();
125                            var refund_id = $(prd).data('gtmGa').item_id;
126                            var refund_value = $(prd).data('entryPrice') * parseInt($(prd).find('.js_qty_input').val());
127                            _gTagManager.events.returnOrderRefund2(refund_reason, refund_id, refund_value);
128                        }
129                        if (productsGa4 != undefined) {
130                            //_gTagManager.events.returnOrderRefund(_code, productsGa4, refundAmount);
131                        }
132                    });
133                }
134                var _check =  ACC.cancelreturnorderaction.disableEnableReturnSubmit();
135                if(!_check){
136                    $('.gift-product').removeAttr('disabled');
137                    _order.events.unSelectedForm();
138
139                    var isFormValid = true;
140
141                    $('.js-reason-mandatory option:selected').each(function () {
142                        var isMandatory = $(this).data('reason');
143                        var textarea = $(this).closest('.c-column-04').find('.js-return-reason-note');
144
145                        if (isMandatory === true || isMandatory === 'true') {
146                            var value = textarea.val().trim();
147                            var warningMessage = textarea.next('.warning-text');
148
149                            if (value === '') {
150                                isFormValid = false;
151                                if (!warningMessage.length) {
152                                    textarea.after('<div class="warning-text" style="color: #dc2323; margin-top: 18px; font-size: 12px">' + ACC.message.emptyMessage + '</div>');
153                                }
154                            } else if (value.length < 3) {
155                                isFormValid = false;
156                                if (!warningMessage.length || warningMessage.text() !== ACC.message.emptyMessageLenght) {
157                                    warningMessage.remove();
158                                    textarea.after('<div class="warning-text" style="color: #dc2323; margin-top: 18px; font-size: 12px">' + ACC.message.emptyMessageLenght + '</div>');
159                                }
160                            } else {
161                                warningMessage.remove();
162                            }
163                        }
164                    });
165
166                    if (isFormValid) {
167                        if ($(this).closest('.c-wrapper').find('#confirmreturnorderForm')) {
168                            $(this).closest('.c-wrapper').find('#confirmreturnorderForm').submit();
169                        }
170                        if ($(this).closest('.w-full').find('#confirmreturnorderForm')) {
171                            $(this).closest('.w-full').find('#confirmreturnorderForm').submit();
172                        }
173                    }
174                }
175            });
176
177            $("#confirmreturnorderForm").on("keypress", function (event) {
178                var keyPressed = event.keyCode || event.which;
179                if (keyPressed === 13) {
180                    event.preventDefault();
181                }
182            });
183
184        },
185        select_all:function () {
186            var _order = ACC.eczacibasiOrder;
187
188            $(_order.el.cancel_select_all).on('change', function (e) {
189                var _t = $(this);
190                $(_order.el.select_all_item).each(function () {
191                    if(!$(this).hasClass('ck-pointer-events-none')){
192                        $(this).prop('checked', _t.is(":checked"));
193                        $(this).trigger('change');
194                    }
195                });
196            });
197
198            $(_order.el.select_all_item).change(function(){
199                var _t = $(this);
200                var datas = _t.data();
201                $('input.gift-product[data-value="'+datas.value+'"]').prop('checked',_t.is(':checked'));
202            })
203
204            $(_order.el.return_select_all).on('change', function (e) {
205                var _t = $(this);
206                $(_order.el.select_all_item).each(function () {
207                    if(!$(this).hasClass('ck-pointer-events-none')){
208                        $(this).prop('checked', _t.is(":checked"));
209                        $(this).trigger('change');
210                    }
211                });
212            });
213        },
214        show_invoice:function () {
215            var _order = ACC.eczacibasiOrder;
216            $(_order.el.invoice_btn).on('click', function (e) {
217                var _t = $(this);
218                var url = _t.data('invoiceUrl');
219                _order.methods.show_invoce_method(url);
220            });
221
222            $(_order.el.get_invoice_btn).on('click', function (e) {
223                var _t = $(this);
224                var _code = _t.data('code');
225                _order.methods.get_invoice_method(_code);
226            });
227        },
228        update_order_approval:function () {
229            var _order = ACC.eczacibasiOrder;
230            $(_order.el.update_order_approval_btn).on('click', function (e) {
231                var _t = $(this);
232                _t.closest('form').submit();
233            });
234        },
235        unSelectedForm:function (){
236            var _order = ACC.eczacibasiOrder;
237            $(_order.el.select_all_item + ":not(:checked)").each(function () {
238                $(this).closest('.comp-checkout-04').find('.js_qty_input').attr('disabled', true);
239                $(this).closest('.comp-checkout-04').find('.js-cancel-reason-note').attr('disabled', true);
240            });
241        },
242        fillInstoreOrderForm: function () {
243            const _url = window.location.href;
244            const _params = new URL(_url);
245            var _orderCode = _params.searchParams.get('order');
246            var _phone = _params.searchParams.get('phone');
247            var _orderField = $('#orderNumber');
248            var _phoneField = $('#phone');
249            if (_orderCode != '' && _orderCode != null) {
250                _orderField.val(_orderCode);
251            }
252            if (_phone != '' && _phone != null) {
253                _phoneField.val(_phone);
254            }
255        },
256        sendOrder:function () {
257            var _order = ACC.eczacibasiOrder;
258            $(_order.el.order_send_btn).on('click', function (e) {
259                var _t = $(this);
260                var phone = $(_order.el.order_phone_input);
261                var number = $(_order.el.order_number_input);
262                if (phone.val() === "" || number.val() === "") {
263                    if (phone.val() === "") {
264                        phone.addClass('error');
265                        phone.closest('.form-group-01').find('.js-form-errors').removeClass('ck-hide');
266                        phone.closest('.form-field').find('.js-form-errors').removeClass('ck-hide');
267                    }else {
268                        phone.removeClass('error');
269                        phone.closest('.form-group-01').find('.js-form-errors').addClass('ck-hide');
270                        phone.closest('.form-field').find('.js-form-errors').addClass('ck-hide');
271                    }
272                    if (number.val() === "") {
273                        number.addClass('error');
274                        number.closest('.form-group-01').find('.js-form-errors').removeClass('ck-hide');
275                        number.closest('.form-field').find('.js-form-errors').removeClass('ck-hide');
276                    }else {
277                        number.removeClass('error');
278                        number.closest('.form-group-01').find('.js-form-errors').addClass('ck-hide');
279                        number.closest('.form-field').find('.js-form-errors').addClass('ck-hide');
280                    }
281                } else {
282                    _t.closest('form').submit();
283                }
284            });
285        },
286        order_list:function (){
287            var _order = ACC.eczacibasiOrder;
288
289            $(_order.el.order_list_input).on("keypress", function (event) {
290                var keyPressed = event.keyCode || event.which;
291                if (keyPressed === 13) {
292                    var _t = $(this)
293                    var searchVal = _t.val();
294                    var typeCode = _t.data('type')
295                    var href = window.location.pathname;
296                    window.location = href + "?searchText=" + searchVal + "&typeCode=" + typeCode
297                }
298            });
299
300            $(document).on("click", _order.el.order_list_search, function(e){
301                var _input = $(_order.el.order_list_input)
302                var searchVal = _input.val();
303                var typeCode = _input.data('type')
304                var href = window.location.pathname;
305                window.location = href + "?searchText=" + searchVal + "&typeCode=" + typeCode
306            });
307        },
308        delivery_point_on_click:function (){
309            if($('.js_order_detail_delivery_point').length > 0){
310                $(document).on("click", ".js_delivery_point_product_click", function (e) {
311                    var _code = $(this).closest('.consigment').find('.js_order_detail_delivery_point').data('code');
312                    sessionStorage.setItem("pointCode", _code);
313                });
314            }
315        },
316        history_date: function () {
317            var activeItem = $(".r-column-01 .c-item-01.active");
318            var historyDate = ".js-history-date";
319            $(".r-column-01").find(historyDate).hide();
320            if (activeItem.length > 0) {
321                activeItem.find(historyDate).show();
322            } else {
323                var lastCompleted = $(".r-column-01 .c-item-01.completed").last();
324                if (lastCompleted.length > 0) {
325                    var lastCompletedDate = lastCompleted.find(historyDate);
326                    if (lastCompletedDate.length > 0) {
327                        lastCompletedDate.show();
328                    }
329                }
330            }
331        },
332    },
333    methods: {
334        get_invoice_method: function (_code) {
335            var _order = ACC.eczacibasiOrder;
336            _order.services.get_invoice_service(_code).promise().done(function (res) {
337                if (res && res.length > 0) {
338                    var _blob = _order.methods.data_URI_to_Blob(res);
339                    var _url = URL.createObjectURL(_blob);
340                    window.open(_url, '_blank');
341                }else{
342                    ACC.eczacibasiMisc.messages.global.show("error",".js_global_errors",ACC.message.invoiceMessage,true);
343                }
344            });
345        },
346        show_invoce_method: function (invoiceUrl) {
347            var _order = ACC.eczacibasiOrder;
348            var _blob = _order.methods.data_URI_to_Blob(invoiceUrl);
349            var _url = URL.createObjectURL(_blob);
350            window.open(_url, '_blank');
351        },
352        data_URI_to_Blob: function(dataURI)  {
353            const byteString = window.atob(dataURI);
354            const arrayBuffer = new ArrayBuffer(byteString.length);
355            const int8Array = new Uint8Array(arrayBuffer);
356            for (let i = 0; i < byteString.length; i++) {
357                int8Array[i] = byteString.charCodeAt(i);
358            }
359            const blob = new Blob([int8Array], { type: 'application/pdf' });
360            return blob;
361        }
362
363    },
364    services: {
365        get_invoice_service: function (_code) {
366            var _url = '/my-account/getOrderInvoiceUrl?orderCode='+_code;
367            return ACC.eczacibasiApiService.get(_url);
368        }
369    }
370};
371
372$(document).ready(function () {
373    with (ACC.eczacibasiOrder) {
374        init();
375        ACC.cancelreturnorderaction.bindToCancelEntryQuantityInput();
376        ACC.cancelreturnorderaction.bindToCancelEntryQuantityFocusOut();
377        ACC.cancelreturnorderaction.bindToReturnEntryQuantityInput();
378        ACC.cancelreturnorderaction.bindToReturnEntryQuantityFocusOut();
379    }
380})

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.