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