Таблица = function(id)
{
this.задатьЗаголовки = (заголовки) =>
{
this.заголовки = заголовки;
this.__пересобрать();
};
this.задатьСтроки = (строки) =>
{
this.строки = строки;
this.__пересобрать();
};
this.элемент = (номер) =>
{
return $(`#${id}-${номер}`);
};
this.__пересобрать = () =>
{
this.__задатьСодержимое();
this.__отслеживатьВыбор();
};
this.__задатьСодержимое = () =>
{
var содержимое = "";
if (this.заголовки && this.заголовки.length)
{
var заголовок = "";
for (var номер in this.заголовки)
{
var значение = this.заголовки[номер];
заголовок += `
${значение} | `
}
содержимое += `
${заголовок}
`;
}
if (this.строки && this.строки.length)
{
var тело = "";
for (var номер in this.строки)
{
var столбцы = this.строки[номер];
var строка = "";
for (var н in столбцы)
{
var значение = столбцы[н];
строка += `${значение} | `;
}
тело += `${строка}
`;
}
содержимое += `${тело}`;
}
$(`#${id}`).html(содержимое);
};
this.__отслеживатьВыбор = () =>
{
if (!(this.строки && this.строки.length))
{
return;
}
var тут = this;
for (var номер in this.строки)
{
const номерСтроки = номер;
$(`#${id}-${номер}`).click(function() {
if (тут.выбор)
{
тут.выбор(номерСтроки);
}
});
}
};
};