class Settings
{
constructor() {
this.data = [];
this.keys = [];
}
addSetting(setting)
{
this.data[setting.getKey()] = setting;
this.keys.push(setting.getKey());
this.fill();
}
removeSetting(key) {
this.keys.splice(key, 1);
delete this.data[key];
this.fill();
}
fill()
{
var html = '
No se encontraron configuraciones.
';
if(this.keys.length > 0) {
html = 'Key
Tipo
Título
Descripción
Validaciones
Parámetros
Borrar
';
$.each(this.keys, (i, v) => {
var value = this.data[v];
var count = value.params.params !== undefined ? value.params.params.length : 'No aplica';
html += ''+value.key+'
'+value.type+'
'+value.title+'
'+value.description+'
'+value.validations.join(', ')+'
'+count+'
';
});
}
$('#div_keys').html(html);
}
setData(settings)
{
$.each(settings, (index, value) => {
this.data.push(new Setting(index, value.type, value.validation, value.title, value.description, value.value));
this.data[this.data.length - 1].setParams(value.params);
/*console.log(this.data[index]);
this.data[index].setParams(value.params);*/
this.keys.push(index);
});
}
static create()
{
}
// ======= SET VALUES =======
setSettings(data)
{
this.data = JSON.parse(data);
}
assemble()
{
var html = '';
$.each(this.data, (index, value) => {
html += '';
});
}
render()
{
var string = '{';
$.each(this.keys, (i, v) => {
string += this.data[v].render();
string += ', ';
});
string = string.substr(0, string.length - 2);
string += '}';
return string;
}
/*render() {
var json = [];
$.each(this.keys, (i, v) => {
var setting = this.data[v];
var render = setting.render();
var key = setting.getKey();
json.push({ [key]: render });
});
return json;
}*/
}