%PDF- %PDF-
Direktori : /home/bitrix/www/bitrix/components/bitrix/sale.personal.profile.detail/templates/.default/ |
Current File : /home/bitrix/www/bitrix/components/bitrix/sale.personal.profile.detail/templates/.default/script.js |
BX.namespace('BX.Sale.PersonalProfileComponent'); (function() { BX.Sale.PersonalProfileComponent.PersonalProfileDetail = { init: function (params) { if (BX.type.isPlainObject(params)) this.ajaxUrl = params.ajaxUrl; var propertyFileList = document.getElementsByClassName('sale-personal-profile-detail-property-file'); Array.prototype.forEach.call(propertyFileList, function(propertyFile) { var deleteFileElement = propertyFile.getElementsByClassName('profile-property-input-delete-file')[0]; var inputFile = propertyFile.getElementsByClassName('sale-personal-profile-detail-input-file')[0]; var labelFileInfo = propertyFile.getElementsByClassName('sale-personal-profile-detail-load-file-info')[0]; var cancelButton = propertyFile.getElementsByClassName('sale-personal-profile-detail-load-file-cancel')[0]; BX.bindDelegate(propertyFile, 'click', { 'class': 'profile-property-check-file' }, BX.proxy(function(event) { if (deleteFileElement.value != "") { idList = deleteFileElement.value.split(';'); if (idList.indexOf(event.target.value) === -1) { deleteFileElement.value = deleteFileElement.value + ";" + event.target.value; } else { idList.splice(idList.indexOf(event.target.value), 1); deleteFileElement.value = idList.join(";"); } } else { deleteFileElement.value = event.target.value; } }, this)); BX.bind(inputFile, 'change', BX.delegate( function(event) { if (event.target.files.length > 1) { labelFileInfo.innerHTML = BX.message('SPPD_FILE_COUNT') + event.target.files.length; cancelButton.classList.remove("sale-personal-profile-hide"); } else if (event.target.files.length == 1) { fileName = event.target.files[0].name; if (fileName.length > 40) { labelFileInfo.innerHTML = fileName.substr(0,9) + "..." + fileName.substr(-9); } else { labelFileInfo.innerHTML = event.target.files[0].name; } cancelButton.classList.remove("sale-personal-profile-hide"); } else { cancelButton.classList.add("sale-personal-profile-hide"); labelFileInfo.innerHTML = BX.message('SPPD_FILE_NOT_SELECTED'); } }, this) ); BX.bind(cancelButton, 'click', BX.delegate( function() { cancelButton.classList.add("sale-personal-profile-hide"); labelFileInfo.innerHTML = BX.message('SPPD_FILE_NOT_SELECTED'); inputFile.value = ""; inputFile.files = []; }, this) ); }); var multiLocationList = document.getElementsByClassName('input-add-multiple'); for (var key in multiLocationList) { var hiddenLocation = multiLocationList[key]; if (!BX.type.isDomNode(hiddenLocation) && BX.type.isNotEmptyString(this.ajaxUrl)) continue; BX.bind(hiddenLocation, 'click', BX.delegate( function(event) { switch (event.target.getAttribute('data-add-type')) { case "LOCATION" : this.createLocationInput(event); break; case "TEXT" : this.createTextInput(event); break; } }, this) ); } }, createTextInput : function(event) { if (!BX.type.isDomNode(event.target)) return; var newInput = BX.create('input',{attrs:{ className: 'form-control', type: 'text', name: event.target.getAttribute('data-add-name') }}); event.target.parentNode.insertBefore(newInput, event.target); }, createLocationInput : function(event) { var newKey = parseInt(event.target.getAttribute('data-add-last-key')) + 1; BX.ajax( { method: 'POST', dataType: 'html', url: this.ajaxUrl, data: { sessid: BX.bitrix_sessid(), params: { LOCATION_NAME: event.target.getAttribute('data-add-name'), LOCATION_TEMPLATE: event.target.getAttribute('data-add-template'), LOCATION_KEY: newKey, ACTION: 'getLocationHtml' }, signedParamsString: this.signedParams }, onsuccess: BX.proxy(function(result) { var wrapper = BX.create("div"); wrapper.innerHTML = result; event.target.parentNode.insertBefore(wrapper,event.target); event.target.setAttribute('data-add-last-key', newKey) },this), onfailure: BX.proxy(function() { return this; }, this) }, this ); } } })();