PageSourceSearch

https://pdbg.ru/assets/components/easycomm/js/web/ec.default.js

js pdbg.ru collected 2026-10-06 14:17:27 UTC 4,816 bytes, 118 lines download raw bytes

1var easyComm = {
2    initialize: function(){
3        if(!jQuery().ajaxForm) {
4            easyComm.notice.error('Can`t find jQuery ajaxForm plugin!');
5        }
6        easyComm.rating.initialize();
7        jQuery(document).on('submit', 'form.ec-form', function(e){
8            easyComm.message.send(this);
9            e.preventDefault();
10            return false;
11        });
12    },
13
14    message: {
15        send: function(form) {
16            jQuery(form).ajaxSubmit({
17                data: {action: 'message/create'}
18                ,url: easyCommConfig.actionUrl
19                ,form: form
20                ,dataType: 'json'
21                ,beforeSubmit: function() {
22                    jQuery(form).find('input[type="submit"]').attr('disabled','disabled');
23                    jQuery(form).find('.has-error').removeClass('has-error');
24                    jQuery(form).find('.ec-error').text('').hide();
25                    return true;
26                }
27                ,success: function(response) {
28                    var fid = jQuery(form).data('fid');
29                    jQuery(form).find('input[type="submit"]').removeAttr('disabled');
30                    if (response.success) {
31                        jQuery(form)[0].reset();
32                        if(typeof (response.data) == "string") {
33                            jQuery('#ec-form-success-' + fid).html(response.data);
34                            jQuery(form).hide();
35                        }
36                        else {
37                            easyComm.notice.show(response.message);
38                        }
39                    }
40                    else {
41                        if(response.data && response.data.length) {
42                            jQuery.each(response.data, function(i, error) {
43                                jQuery(form).find('[name="' + error.field + '"]').closest('.form-group').addClass('has-error');
44                                jQuery(form).find('#ec-' + error.field + '-error-' + fid).text(error.message).show().closest('.form-group').addClass('has-error');
45                            });
46                        } else {
47                            easyComm.notice.error(response.message);
48                        }
49                    }
50                }
51                ,error: function(){
52                    jQuery(form).find('input[type="submit"]').removeAttr('disabled');
53                    easyComm.notice.error('Submit error');
54                }
55            });
56        }
57    },
58
59
60    rating: {
61        initialize: function(){
62            var stars = jQuery('.ec-rating').find('.ec-rating-stars>span');
63            stars.on('touchend click', function(e){
64                var starDesc = jQuery(this).data('description');
65                jQuery(this).parent().parent().find('.ec-rating-description').html(starDesc).data('old-text', starDesc);
66                jQuery(this).parent().children().removeClass('active active2 active-disabled');
67                jQuery(this).prevAll().addClass('active');
68                jQuery(this).addClass('active');
69                // save vote
70                var storageId = jQuery(this).closest('.ec-rating').data('storage-id');
71                jQuery('#' + storageId).val(jQuery(this).data('rating'));
72            });
73            stars.hover(
74                // hover in
75                function() {
76                    var descEl = jQuery(this).parent().parent().find('.ec-rating-description');
77                    descEl.data('old-text', descEl.html());
78                    descEl.html(jQuery(this).data('description'));
79                    jQuery(this).addClass('active2').removeClass('active-disabled');
80                    jQuery(this).prevAll().addClass('active2').removeClass('active-disabled');
81                    jQuery(this).nextAll().removeClass('active2').addClass('active-disabled');
82                },
83                // hover out
84                function(){
85                    var descEl = jQuery(this).parent().parent().find('.ec-rating-description');
86                    descEl.html(descEl.data('old-text'));
87                    jQuery(this).parent().children().removeClass('active2 active-disabled');
88                }
89            );
90        }
91    },
92
93    notice: {
94        error: function(text) {
95            alert(text);
96        },
97        show: function(text) {
98            alert(text);
99        }
100    }
101}
102
103jQuery(document).ready(function(){
104    easyComm.initialize();
105});
106
107var easyCommReCaptchaCallback = function() {
108    if(typeof grecaptcha !== 'undefined'){
109        $('.ec-captcha').each(function(index) {
110            grecaptcha.render($(this).attr('id'), {
111                'sitekey' : easyCommConfig.reCaptchaSiteKey
112            });
113        });
114    }
115    else {
116        easyComm.notice.error('grecaptcha is not defined!');
117    }
118}

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.