1var sp = sp || {}; 2(function ($, sp) { 3 4// var industriesLimit = null; 5 6 // INDUSTRIES -> declaración de la functión 7 function getIndustriesLimit(user_id) { 8 var deferred = $.Deferred(); 9 $.post("/industries/get_industries_limit_by_user_id", { 10 user_id: user_id 11 }).done(function (response) { 12 $("#add-account-industries").text(response.text); 13 deferred.resolve(response.limit); 14 }).fail(function () { 15 deferred.reject(); 16 }); 17 return deferred.promise(); 18 } 19 20 // INDUSTRIES -> declaración de la función que envÃa los datos de intereses al controlador /users/social_media/save_industries 21 function saveIndustries(insertId, networkId) { 22 var n = sp.notify(llang('js_loading'), 'loading', 0); 23 var promise = $.Deferred(); 24 var postData = { 25 gender: $("#sel_gender:visible, #blog_gender:visible").val(), 26 lang: $("#sel_lang").val(), 27 country: $("#industriesCountry").val(), 28 state: $("#industriesCity").val(), 29 industries: $("input[name='industries[]']:checked").map(function () { 30 return $(this).val(); 31 }).get(), 32 insertId: insertId, 33 networkId: networkId 34 }; 35 36 $.post("/users/social_media/save_industries", postData).done(function (response) { 37 if (!response.error) { 38 n.setType('success').setMessage(llang('js_success')).setTimeout(1); 39 console.log("industries saved"); 40 promise.resolve(); 41 } else { 42 n.setType('danger').setMessage(llang('js_' + response.message)).setTimeout(8000); 43 promise.reject(); 44 console.log(response.message); 45 } 46 }).fail(function () { 47 n.setType('danger').setMessage(llang('js_error')).setTimeout(8000); 48 promise.reject(); 49 }); 50 return promise.promise(); 51 } 52 53 // INDUSTRIES -> comprueba que los parámetro de segmentación no estén vacÃos o exedan el lÃmite 54 function checkIndustries() { 55 var gender = $("#sel_gender:visible, #blog_gender:visible").val(); 56 var lang = $("#sel_lang").val(); 57 var country = $("#industriesCountry").val(); 58 var city = $("#industriesCity").val(); 59 var industries = $("input[name='industries[]']:checked").length; 60 if (gender == "" || lang == "" || country == "" || city == "" || industries == 0) { 61 return false; 62 } else { 63 return true; 64 ; 65 } 66 } 67 68 // INDUSTRIES -> llama a las funciones checkIndustries y savaIndustries 69 function checkAndSaveIndustries(account_id, network_id, deferred) { 70 try { 71 if (!checkIndustries()) { 72 throw new exception; 73 } 74 disableButton("#industriesModalButton", true); 75 saveIndustries(account_id, network_id).done(function () { 76 deferred.resolve(); 77 }).fail(function () { 78 deferred.reject(); 79 }).always(function() { 80 disableButton("#industriesModalButton", false); 81 }); 82 83 } catch (exception) { 84 showError($("#industriesModalMessage"), llang("js_corp_fillallfields")); 85 } 86 } 87 88 function disableButton(button, disable) { 89 $(button).prop('disabled', disable)[disable ? 'attr' : 'removeAttr']('disabled', true)[disable ? 'addClass' : 'removeClass']('disabled'); 90 } 91 92 // INDUSTRIES -> al abrir la modal obtiene el limite de industries y asigna al botón *Check & Save Industries*. 93 sp.openIndustriesModal = function (account_id, network_id) { 94 var deferred = $.Deferred(); 95 var modal = $("#industriesModal"); 96 var user_id = modal.data("userId"); 97 var industriesLimit = 2; 98 getIndustriesLimit(user_id).done(function (limit) { 99 industriesLimit = limit; 100 }); 101 if (network_id && account_id) { 102 $("#opciones").get(0).reset(); 103 $("#blog_gender")[network_id == 4 ? 'removeClass' : 'addClass']("hidden"); 104 $("#sel_gender")[network_id != 4 ? 'removeClass' : 'addClass']("hidden"); 105 modal.modal({ 106 backdrop: false, 107 keyboard: false 108 }).modal("show"); 109 /* esto es para comprobar que no se seleccionen más
109intereses de lo permitido */ 110 $(modal).on("click", "input[name='industries[]']", function (event) { 111 var industriesChecked = $("input[name='industries[]']:checked", modal).length; 112 if ($(this).is(':checked') && industriesChecked > industriesLimit) { 113 event.preventDefault(); 114 return false; 115 } 116 }); 117 $(modal).off('click', "#industriesModalButton").on('click', "#industriesModalButton", function () { 118 checkAndSaveIndustries(account_id, network_id, deferred); 119 }); 120 } 121 $('select.selectable-wrapped-select', modal).dropdownselector('refresh'); 122 deferred.always(function() { 123 $(modal).off(); 124 }); 125 return deferred.promise(); 126 }; 127 128 function getActivatedNetworks() { 129 $.post("/users/social_media/get_activated_networks", { 130 user_id: $("#industriesModal").data("userId") 131 }).done(function (response) { 132 var network = response.networks; 133 $.each(network, function (key, value) { 134 $("ul.accounts-list a[network-id='" + value + "']").addClass("activated"); 135 }); 136 }); 137 } 138 139 $(getActivatedNetworks); 140 sp.openIndustriesModalPanel = function (account_id, network_id) { 141 sp.openIndustriesModal(account_id, network_id).done(function () { 142 location.href = "/users/smaccounts/add_new"; 143 }).fail(function() { 144 $("#industriesModal").modal("hide"); 145 setTimeout(sp.openIndustriesModalPanel.bind(sp, account_id, network_id), 1000); 146 }); 147 }; 148 sp.openIndustriesModalSignup = function (account_id, network_id) { 149 sp.openIndustriesModal(account_id, network_id).done(function () { 150 $("#industriesModal").modal("hide"); 151 getActivatedNetworks(); 152 }).fail(function() { 153 $("#industriesModal").modal("hide"); 154 setTimeout(sp.openIndustriesModalSignup.bind(sp, account_id, network_id), 1000); 155 }); 156 }; 157 158})(jQuery, sp);
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.