PageSourceSearch

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

js vitra.com.tr collected 2026-09-24 10:02:32 UTC 8,487 bytes, 203 lines download raw bytes

1ACC.eczacibasiSample = {
2    sampleProducts: [],
3    numuneProductsCodes: [],
4    el: {
5        btn_add_sample: '.js-add-sample',
6        btn_remove_sample: '.js-remove-sample',
7        container: '#sampleBarContainer',
8        clear_btn: '.js_clear_sample',
9        count: '.js_sample_count',
10        image_container: '.js_sample_products_image',
11        btn_modal: '.js_sample_products_btn',
12        btn_data_modal: '.js-sample-data-show',
13        btn_data_modal_close: '.js-sample-modal-close',
14        form_submit_btn: '.js_sample_address',
15        sampleAddressModal: '.sampleAdressModal',
16    },
17    urls: {
18        form_submit_url: '/karo/create/sample/order'
19    },
20    init: function () {
21        this.events.add_sapmle();
22        this.events.remove_sapmle();
23        this.events.clear_sample();
24        this.events.open_modal();
25        this.events.open_data_modal();
26        this.events.close_data_modal();
27        this.events.form_submit();
28        this.events.form_phone_valid();
29        this.events.product_list_size();
30    },
31    events: {
32
33        add_sapmle: function () {
34            var _samp = ACC.eczacibasiSample;
35            $(document).on("click", _samp.el.btn_add_sample, function (e) {
36                var _t = $(this);
37                if (!ACC.config.isAuthenticate) {
38                    window.location.href = "/login";
39                }else {
40                    _samp.methods.add_sample(_t)
41                }
42            })
43        },
44        remove_sapmle: function () {
45            var _samp = ACC.eczacibasiSample;
46            $(document).on("click", _samp.el.btn_remove_sample, function (e) {
47                var _t = $(this);
48                _samp.methods.remove_sample(_t)
49            })
50        },
51        clear_sample: function () {
52            var _samp = ACC.eczacibasiSample;
53            $(document).on("click", _samp.el.clear_btn, function (e) {
54                _samp.sampleProducts = []
55                $(_samp.el.container).css('display', 'none');
56                $(_samp.el.btn_add_sample).removeClass('ck-hide');
57                $(_samp.el.btn_remove_sample).addClass('ck-hide');
58                $(_samp.el.image_container).empty();
59            })
60        },
61        open_modal: function () {
62            var _samp = ACC.eczacibasiSample;
63            $(document).on("click", _samp.el.btn_modal, function (e) {
64                var _t = $(this);
65                $('#modal-next-body').addClass('ck-hide');
66                $('.sample-modal').removeClass('ck-hide');
67                Felece.Category.Actions.openModal(null, "sampleAdressModal");
68            })
69        },
70        open_data_modal: function () {
71            var _samp = ACC.eczacibasiSample;
72            $(document).on("click", _samp.el.btn_data_modal, function (e) {
73                $('.sampleModalmemberText ').addClass('on type-mdl size-lg dir-fade').css('border', '1px solid #e4e6e8')
74            })
75        },
76        close_data_modal: function () {
77            var _samp = ACC.eczacibasiSample;
78            $(document).on("click", _samp.el.btn_data_modal_close, function (e) {
79                $('.sampleModalmemberText ').removeClass('on type-mdl size-lg dir-fade')
80            })
81        },
82        form_submit: function () {
83            var _samp = ACC.eczacibasiSample;
84            $(document).on("click", _samp.el.form_submit_btn, function (e) {
85                var _t = $(this);
86                _samp.methods.form_submit(_t);
87            })
88        },
89        form_phone_valid: function () {
90            $("#phone").on("focus", function () {
91                var currentValue = $(this).val();
92                if (currentValue.startsWith("+90")) {
93                } else {
94                    $(this).val("+90" + currentValue);
95                }
96            });
97        },
98        product_list_size: function () {
99            var _samp = ACC.eczacibasiSample;
100            if ($('.comp-product-01').length >= 3) {
101                $(_samp.el.container).css('display', 'flex');
102            }
103        },
104    },
105    methods: {
106        add_sample: function (_t) {
107            var _samp = ACC.eczacibasiSample;
108            var _code = _t.data('code');
109            var _category = _t.data('category');
110            var _img = '<img src="' + _t.data('image') + '">';
111            if ($(_img).attr('src') === "undefined") {
112                _img =  _t.closest('.comp-product-01').find('.owl-carousel img')[0].outerHTML;
113            }
114            var _img_code = '<div class="c-item-01"><picture>' + _img + '</picture></div>'
115            if (_samp.sampleProducts.length < 3) {
116                $(_t).addClass('ck-hide');
117                _t.closest('.comp-product-01').find('.js-remove-sample').removeClass('ck-hide');
118                _samp.sampleProducts.push({code: _code, img: _img_code, category: _category})
119            } else {
120                ACC.eczacibasiMisc.messages.global.show("error", ".js_global_errors", ACC.config.sampleMaxError, true);
121                window.scrollTo({top: 0, behavior: 'smooth'});
122            }
123            var _comp = ACC.eczacibasiCompare;
124            $(_comp.el.clear_btn).trigger('click');
125            _samp.methods.render_products(_t);
126        },
127        remove_sample: function (_t) {
128            var _samp = ACC.eczacibasiSample;
129            var _code = _t.data('code');
130
131            $(_t).addClass('ck-hide');
132            _t.closest('.comp-product-01').find('.js-add-sample').removeClass('ck-hide');
133            _samp.sampleProducts = _samp.methods.remove_item(_samp.sampleProducts, _code);
134            _samp.methods.render_products(_t);
135        },
136        remove_item: function (arr, item) {
137            return arr.filter(f => f.code !== item)
138        },
139        render_products: function (_t) {
140            var _samp = ACC.eczacibasiSample;
141            console.log(_samp.sampleProducts);
142            if (_samp.sampleProducts.length > 0) {
143                var _img_code_container = ""
144                $(_samp.el.count).html(_samp.sampleProducts.length);
145                $(_samp.el.container).css('display', 'flex');
146                _samp.sampleProducts.map(function (prd) {
147                    _img_code_container = _img_code_container + prd.img
148                })
149                $(_samp.el.image_container).html(_img_code_container.trim());
150                $('.sample-add').removeClass('ck-hide')
151                $('.sample-desc').addClass('ck-hide')
152            } else {
153                $('.sample-add').addClass('ck-hide')
154                $('.sample-desc').removeClass('ck-hide')
155                if ($('.comp-product-01').length < 3) {
156                    $(_samp.el.container).hide();
157                }
158            }
159        },
160        form_submit: function (_t) {
161            var _samp = ACC.eczacibasiSample;
162            var _form = _t.closest('form');
163            var _url = _samp.urls.form_submit_url;
164            var newJson = {};
165            _form.serializeArray().forEach(function (item) {
166                newJson[item.name] = item.value
167            })
168            newJson.productCodeList = []
169            _samp.sampleProducts.map(function (prd) {
170                newJson.productCodeList.push(prd.code);
171            });
172            var _misc = ACC.eczacibasiMisc;
173            _misc.responseHandler.removeErrors(_form)
174            _misc.responseHandler.removeGlobalErrors(_form)
175            _samp.services.sapmle_form_submit(_url, newJson).promise().done(function (res) {
176                if (res.success) {
177                    $('#modal-next-body').removeClass('ck-hide');
178                    $('.sample-modal').addClass('ck-hide');
179                    $(_samp.el.clear_btn).trigger('click');
180                } else {
181                    if (res.errors && res.errors.length > 0) {
182                        _misc.responseHandler.error(_form, res.errors);
183                    } else if (res.globalErrors) {
184                        res.globalErrors.forEach(function (value) {
185                            _form.find('.c-container-03').append('<div class="global-error parenterror form-group-01 mb-xs1-16px"><label class="error">' + value.defaultMessage + '</label></div>')
186                        })
187                    }
188                }
189            });
190        },
191    },
192    services: {
193        sapmle_form_submit: function (url, params) {
194            return ACC.eczacibasiApiService.postJson(url, JSON.stringify(params));
195        },
196    }
197};
198
199$(document).ready(function () {
200    with (ACC.eczacibasiSample) {
201        init();
202    }
203})

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.