function addIndiceLine(root)
{
var data = getUIFromDom(root);
return data.addLine();
}
function removeIndiceLine(root)
{
var data = getUIFromDom(root);
var obj = $("#"+root);
data.onDelete();
obj.next().remove(); //
var parent = obj.parent();
obj.remove();
parent.remove();
}
class UISimpleListElement extends UIContainer {
initEnd()
{
this.root.parent().append(HTMLBuilder.hrDiv({class: _col_class(12)}));
if(this.parent.inline==undefined || this.parent.inline==false)
this.foreach(function(k, o){ $("#"+o.rootId).removeClass(_col_class(12)); });
}
}
registerUiClass("listelement", UISimpleListElement);
class UISimpleList extends UIContainer {
init()
{
var v = this.rootId;
this.root.empty();
var r = HTMLBuilder.div()
r.append(HTMLBuilder.h4(this.title, {class: _col_class()+"noPaddingTop"}));
r.append(HTMLBuilder.iconButton("add", {class: "green col s1 toBottom"},
function(e){addIndiceLine(v);} ))
r.append(HTMLBuilder.hrDiv({class: _col_class(12)}));
this.root.append(r);
this.root.addClass(_subcat_class)
this.compteur=0;
}
addLine()
{
this.compteur++;
var id = this.rootId+"_"+this.compteur;
var subRoot= HTMLBuilder.div();
subRoot.append(HTMLBuilder.iconButton("remove", {class:"red toBottom "+_col_class(1)},
function(){removeIndiceLine(id);}));
var r = HTMLBuilder.div({class: _row_class+_col_class(11), id:id});
subRoot.append(r);
this.root.append(subRoot)
return this.index[id]=new UISimpleListElement(this.rootData, this,id, this);
}
reset()
{
for (var key in this.index)
{
if (this.index.hasOwnProperty(key))
{
removeIndiceLine(key);
}
}
}
getJson()
{
var obj = super.getJson();
return Object.values(obj);
}
setJson(e)
{
this.reset();
for(var i = 0; i