1ACC.savedcarts = { 2 3 _autoload: [ 4 ["bindRestoreSavedCartClick", $(".js-restore-saved-cart").length != 0], 5 ["bindDeleteSavedCartLink", $('.js-delete-saved-cart').length != 0], 6 ["bindDeleteConfirmLink", $('.js-savedcart_delete_confirm').length != 0], 7 ["bindSaveCartForm", $(".js-save-cart-link").length != 0 || $(".js-update-saved-cart").length != 0], 8 ["bindUpdateUploadingSavedCarts", $(".js-uploading-saved-carts-update").length != 0] 9 ], 10 11 $savedCartRestoreBtn: {}, 12 $currentCartName: {}, 13 14 bindRestoreSavedCartClick: function () { 15 $(".js-restore-saved-cart").click(function (event) { 16 17 event.preventDefault(); 18 var popupTitle = $(this).data('restore-popup-title'); 19 var cartId = $(this).data('savedcart-id'); 20 var url = ACC.config.encodedContextPath +'/my-account/saved-carts/'+cartId+'/restore'; 21 22 $.get(url).done(function (data) { 23 ACC.colorbox.open(popupTitle, { 24 html: data, 25 width: 500, 26 onComplete: function () { 27 ACC.common.refreshScreenReaderBuffer(); 28 ACC.savedcarts.bindRestoreModalHandlers(); 29 ACC.savedcarts.bindPostRestoreSavedCartLink(); 30 }, 31 onClosed: function () { 32 ACC.common.refreshScreenReaderBuffer(); 33 } 34 }); 35 }); 36 }); 37 }, 38 39 bindRestoreModalHandlers: function () { 40 41 ACC.savedcarts.$savedCartRestoreBtn= $('.js-save-cart-restore-btn'); 42 ACC.savedcarts.$currentCartName= $('.js-current-cart-name'); 43 44 $(".js-prevent-save-active-cart").on('change', function (event) { 45 if($(this).prop('checked') === true){ 46 ACC.savedcarts.$currentCartName.attr('disabled', 'disabled'); 47 ACC.savedcarts.$savedCartRestoreBtn.removeAttr('disabled'); 48 } else { 49 ACC.savedcarts.$currentCartName.removeAttr('disabled'); 50 var inputVal = ACC.savedcarts.$currentCartName.val(); 51 if (inputVal == "" && inputVal.length === 0) { 52 ACC.savedcarts.$savedCartRestoreBtn.attr('disabled', 'disabled'); 53 } 54 } 55 }); 56 57 ACC.savedcarts.$currentCartName.on('focus', function (event) { 58 $('.js-restore-current-cart-form').removeClass('has-error'); 59 $('.js-restore-error-container').html(''); 60 }); 61 62 ACC.savedcarts.$currentCartName.on('blur', function (event) { 63 if (this.value == "" && this.value.length === 0) { 64 ACC.savedcarts.$savedCartRestoreBtn.attr('disabled', 'disabled'); 65 } else { 66 ACC.savedcarts.$savedCartRestoreBtn.removeAttr('disabled'); 67 } 68 }); 69 }, 70 71 bindPostRestoreSavedCartLink: function () { 72 var keepRestoredCart = true; 73 var preventSaveActiveCart = false; 74 75 $(document).on("click", '.js-keep-restored-cart', function (event) { 76 keepRestoredCart = $(this).prop('checked'); 77 }); 78 79 $(document).on("click", '.js-prevent-save-active-cart', function (event) { 80 preventSaveActiveCart = $(this).prop('checked'); 81 }); 82 83 $(document).on("click", '.js-save-cart-restore-btn', function (event) { 84 85 event.preventDefault(); 86 var cartName = $('#activeCartName').val(); 87 var url = $(this).data('restore-url'); 88 var postData = {preventSaveActiveCart: preventSaveActiveCart, keepRestoredCart: keepRestoredCart, cartName: cartName}; 89 $.post(url, postData).done(function (result, data, status) { 90 if (result == "200") { 91 var url = ACC.config.encodedContextPath + "/cart" 92 window.location.replace(url); 93 } else { 94 var errorMsg = status.responseText.slice(1, -1); 95 $('.js-restore-current-cart-form').addClass('has-error'); 96 $('.js-restore-error-container').html(errorMsg); 97 $('.js-savedcart_restore_confirm_modal').colorbox.resize(); 98 } 99 }); 100 }); 101 102 $(document).on("click", '.js-cancel-restore-btn', function (event) { 103 ACC.colorbox.close(); 104 }); 105 }, 106 107 bindDeleteSavedCartLink: function () { 108 $(document).on("click", '.js-delete-saved-cart', function (event) { 109 event.preventDefault(); 110 var cartId = $(this).data('savedcart-id'); 111 var popupTitle = $(this).data('delete-popup-title'); 112 113 ACC.colorbox.open(popupTitle, { 114 inline: true, 115 className: "js-savedcart_delete_confirm_modal", 116 href: "#popup_confirm_savedcart_delete_" + cartId, 117 width: '500px', 118 onComplete: function () { 119 $(this).colorbox.resize(); 120 } 121 }); 122 }); 123 }, 124 125 bindDeleteConfirmLink: function () { 126 $(document).on("click", '.js-savedcart_delete_confirm', function (event) { 127 event.preventDefault(); 128 var cartId = $(this).data('savedcart-id');
129 var url = ACC.config.encodedContextPath + '/my-account/saved-carts/' + cartId + '/delete'; 130 $.ajax({ 131 url: url, 132 type: 'DELETE', 133 success: function (response) { 134 ACC.colorbox.close(); 135 var url = ACC.config.encodedContextPath + "/my-account/saved-carts" 136 window.location.replace(url); 137 } 138 }); 139 }); 140 141 $(document).on("click", '.js-savedcart_delete_confirm_cancel', function (event) { 142 ACC.colorbox.close(); 143 }); 144 }, 145 146 bindSaveCartForm: function () 147 { 148 ACC.savedcarts.charactersLeftInit(); 149 var form = $('#saveCartForm'); 150 var saveCart = false; 151 var showSaveCartFormCallback = function () { 152 var title = $('#saveCart').data("saveCartTitle"); 153 154 ACC.colorbox.open(title, { 155 href: "#saveCart", 156 inline: true, 157 width: "620px", 158 onOpen: function () { 159 if ($('#saveCartName').val()) { 160 ACC.savedcarts.disableSaveCartButton(false); 161 } 162 }, 163 onComplete: function () { 164 $(this).colorbox.resize(); 165 saveCart = false; 166 }, 167 onClosed: function () { 168 169 if (saveCart) { 170 form.submit(); 171 } 172 document.getElementById("saveCartForm").reset(); 173 ACC.savedcarts.disableSaveCartButton(true); 174 ACC.savedcarts.charactersLeftInit(); 175 } 176 }); 177 }; 178 179 $(document).on("click",".js-save-cart-link, .js-update-saved-cart",function(e){ 180 e.preventDefault(); 181 ACC.common.checkAuthenticationStatusBeforeAction(showSaveCartFormCallback); 182 }); 183 184 $(document).on("click",'#saveCart #cancelSaveCartButton', function (e) { 185 e.preventDefault(); 186 $.colorbox.close(); 187 }); 188 189 $('#saveCartName').keyup(function() { 190 // enable the save cart button 191 $('#saveCart #saveCartButton').prop('disabled', this.value.trim() == "" ? true : false); 192 // limit the text length 193 var maxchars = 255; 194 var value=$('#localized_val').attr('value'); 195 var tlength = $(this).val().length; 196 remain = maxchars - parseInt(tlength); 197 $('#remain').text(value+' : '+remain); 198 }); 199 200 $('#saveCartDescription').keyup(function() { 201 var maxchars = 255; 202 var value=$('#localized_val').attr('value'); 203 var tlength = $(this).val().length; 204 remain = maxchars - parseInt(tlength); 205 $('#remainTextArea').text(value+' : '+remain); 206 }); 207 208 $(document).on("click",'#saveCart #saveCartButton', function (e) { 209 e.preventDefault(); 210 saveCart = true; 211 $.colorbox.close(); 212 }); 213 }, 214 215 charactersLeftInit: function() { 216 $('#remain').text($('#localized_val').attr('value')+' : 255'); 217 $('#remainTextArea').text($('#localized_val').attr('value')+' : 255'); 218 }, 219 220 disableSaveCartButton: function(value) { 221 $('#saveCart #saveCartButton').prop('disabled', value); 222 }, 223 224 225 bindUpdateUploadingSavedCarts : function() { 226 var cartIdRowMapping = $(".js-uploading-saved-carts-update").data("idRowMapping"); 227 var refresh = $(".js-uploading-saved-carts-update").data("refreshCart"); 228 if (cartIdRowMapping && refresh) { 229 var interval = $(".js-uploading-saved-carts-update").data("refreshInterval"); 230 var arrCartIdAndRow = cartIdRowMapping.split(','); 231 var mapCartRow = new Object(); 232 var cartCodes = []; 233 for (i = 0; i < arrCartIdAndRow.length; i++) { 234 var arrValue = arrCartIdAndRow[i].split(":"); 235 if (arrValue != "") { 236 mapCartRow[arrValue[0]] = arrValue[1]; 237 cartCodes.push(arrValue[0]); 238 } 239 } 240 241 if (cartCodes.length > 0) { 242 setTimeout(function() {ACC.savedcarts.refreshWorker(cartCodes, mapCartRow, interval)}, interval); 243 } 244 } 245 }, 246 247 248 refreshWorker : function(cartCodes, mapCartRow, interval) { 249 $.ajax({ 250 dataType : "json",
251 url : ACC.config.encodedContextPath + '/my-account/saved-carts/uploadingCarts', 252 data : { 253 cartCodes : cartCodes 254 }, 255 type : "GET", 256 traditional : true, 257 success : function(data) { 258 if (data != undefined) { 259 var hidden = "hidden"; 260 var rowId = "#row-"; 261 for (i = 0; i < data.length; i++) { 262 var cart = data[i]; 263 264 var index = $.inArray(cart.code, cartCodes); 265 if (index > -1) { 266 cartCodes.splice(index, 1) 267 } 268 var rowIdIndex = mapCartRow[cart.code]; 269 if (rowIdIndex != undefined) { 270 var rowSelector = rowId + rowIdIndex; 271 $(rowSelector + " .js-saved-cart-name").removeClass("not-active"); 272 $(rowSelector + " .js-saved-cart-date").removeClass("hidden"); 273 $(rowSelector + " .js-file-importing").remove(); 274 $(rowSelector + " .js-saved-cart-description").text(cart.description); 275 var numberOfItems = cart.entries.length; 276 $(rowSelector + " .js-saved-cart-number-of-items").text(numberOfItems); 277 $(rowSelector + " .js-saved-cart-total").text(cart.totalPrice.formattedValue); 278 if (numberOfItems > 0) { 279 $(rowSelector + " .js-restore-saved-cart").removeClass(hidden); 280 } 281 $(rowSelector + " .js-delete-saved-cart").removeClass(hidden); 282 } 283 } 284 }; 285 286 if (cartCodes.length > 0) { 287 setTimeout(function() {ACC.savedcarts.refreshWorker(cartCodes, mapCartRow, interval)}, interval); 288 } 289 } 290 }) 291 } 292}
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.