1var icms = icms || {}; 2 3icms.subscriptions = (function ($) { 4 5 var self = this; 6 7 this.active_link = {}; 8 9 this.onDocumentReady = function () { 10 11 this.setSubscribe(); 12 13 $('.subscriber').on('click', function () { 14 15 self.active_link = this; 16 17 self.showLoader(); 18 19 $.get($(this).attr('href'), $(this).data('target'), function(data){ 20 self.setResult(data); 21 }, 'json'); 22 23 return false; 24 25 }); 26 27 $('.subscribe_wrap > .count-subscribers').on('click', function () { 28 29 if(+$(this).text() === 0){ 30 return false; 31 } 32 33 var list_title = $(this).attr('title'); 34 35 icms.modal.showSpinner(); 36 37 $.get($(this).data('list_link'), {}, function(data){ 38 icms.modal.showContent(list_title, data.html); 39 }, 'json'); 40 41 return false; 42 43 }); 44 45 }; 46 47 this.showLoader = function (){ 48 $(self.active_link).addClass('disabled is-busy'); 49 }; 50 51 this.hideLoader = function (){ 52 $(self.active_link).removeClass('disabled is-busy'); 53 }; 54 55 this.setResult = function (data){ 56 57 self.hideLoader(); 58 59 if(data.error){ 60 alert('error'); return; 61 } 62 63 if(data.confirm_url){ 64 icms.modal.openAjax(data.confirm_url, undefined, undefined, data.confirm_title); return; 65 } 66 67 if(data.confirm){ 68 icms.modal.openHtml(data.confirm, data.confirm_title); return; 69 } 70 71 if(data.modal_close){ 72 icms.modal.close(); 73 } 74 75 if(data.success_text){ 76 icms.modal.alert(data.success_text); 77 } 78 79 $(self.active_link).data('issubscribe', data.is_subscribe); 80 self.setSubscribe(icms.subscriptions.active_link); 81 $(self.active_link).parent().find('.count-subscribers').html(data.count); 82 83 }; 84 85 this.setSubscribe = function (link){ 86 87 set = function (obj){ 88 var show_btn_title = +$(obj).data('show_btn_title'); 89 var is_subscribe = +$(obj).data('issubscribe'); 90 if(show_btn_title === 1){ 91 $('span', obj).html($(obj).data('text'+is_subscribe)); 92 } else { 93 $(obj).attr('title', $(obj).data('text'+is_subscribe)); 94 $(obj).tooltip('dispose'); $(obj).tooltip(); 95 } 96 $(obj).attr('href', $(obj).data('link'+is_subscribe)); 97 if(is_subscribe === 0){ 98 $(obj).removeClass('unsubscribe btn-secondary').addClass('subscribe btn-primary'); 99 } else { 100 $(obj).removeClass('subscribe btn-primary').addClass('unsubscribe btn-secondary'); 101 } 102 $(obj).removeClass('is-busy'); 103 }; 104 105 if(link){ 106 set(link); return; 107 } 108 109 $('.subscriber').each(function(indx){ 110 set(this); 111 }); 112 113 }; 114 115 return this; 116 117}).call(icms.subscriptions || {},jQuery); 118 119function successSubscribe(form_data, result){ 120 icms.subscriptions.setResult(result); 121}
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.