%PDF- %PDF-
| Direktori : /home/bitrix/www/bitrix/components/bitrix/sale.personal.section/settings/ |
| Current File : //home/bitrix/www/bitrix/components/bitrix/sale.personal.section/settings/settings.js |
function CustomSettingsEdit(params)
{
var jsOptions = JSON.parse(params.data);
var showArray = {
"element" : params.oCont,
"options" : jsOptions
};
if (params.oInput.value != "" && params.oInput.value != "[]")
{
this.inputData = JSON.parse(params.oInput.value);
this.inputData.forEach(function(page){
CustomSettingsEdit.prototype.addInputBlock(showArray, page);
},this);
}
else
{
CustomSettingsEdit.prototype.addInputBlock(showArray);
}
addPageParams = params.oCont.appendChild(BX.create('input',{
props: {
"value": "+",
"type": "button",
"className" : "addPageParams"
}
}));
BX.bind(addPageParams, 'click', function(){
CustomSettingsEdit.prototype.addInputBlock(showArray);
params.oCont.appendChild(addPageParams);
});
}
CustomSettingsEdit.prototype.addInputBlock = function(params, values)
{
var name = "";
var path = "";
var icon = "fa-users";
var hidden = params.element.querySelector("input[type='hidden']");
if (typeof(values) !== "undefined")
{
path = values[0];
name = values[1];
if (typeof(values[2]) !== "undefined")
{
icon = values[2];
}
}
var block = params.element.appendChild(BX.create('div', {
props : {
"className" : "sps-params-input-block"
},
html : [
'<div>',
'<label>'+ params.options['labelPath'] + '</label>',
'<input type="text" class="sps-params-input-values" value="'+ path +'">',
'</div>',
'<div >',
'<label>'+ params.options['labelName'] + '</label>',
'<input type="text" class="sps-params-input-values" value="'+ name +'">',
'</div>',
'<div >',
'<label>'+ params.options['labelIcon'] + '</label>',
'<input type="text" class="sps-params-input-values" value="'+ icon +'">',
'</div>',
'<br>'
].join('')
}));
BX.bindDelegate(block, 'change', { 'class': 'sps-params-input-values' }, BX.proxy(function()
{
var valuesArray = [];
var inputBlocks = params.element.getElementsByClassName("sps-params-input-block");
Array.prototype.forEach.call(inputBlocks, function(inputBlock)
{
inputs = inputBlock.getElementsByClassName("sps-params-input-values");
if (inputs[0].value !== "" || inputs[1].value !== "")
{
valuesArray.push([inputs[0].value, inputs[1].value, inputs[2].value]);
}
});
hidden.value = JSON.stringify(valuesArray);
}, this));
};