/**
* Date renderer<br>
* It compiles all <control_date> tags that have been inserted into HTML, and turns them into Bootstrap datepickers<br>
*
* @author Fabio Pavesi (fabio@adamassoft.it)
* @namespace
*/
var Dates = (function() {
/**
*
* @memberOf Dates
*/
function render() {
var control;
$("control_date").each(function() {
var temp = edi.getTempStructure()[$(this).attr("id")];
var element = temp.element;
var item = temp.item;
control = $.parseHTML("<input type='text' class='" + defaults.controlCSS + "'>");
var theElement = ediml.getElement(element.id);
var theItem = new Item();
theItem.id = item.id;
ItemRenderer.copyAttributesFrom(element, item, theItem);
if ( item.defaultValue == "$TODAY$" ) {
item.defaultValue = $.format.date(new Date(), 'yyyy-MM-dd');
}
theElement.addItem(theItem);
control = $(control);
control.attr("datatype", item.hasDatatype);
control.attr("defaultValue", item.defaultValue);
control.attr("id", $(this).attr("id"));
control.attr("querystringparameter", item.queryStringParameter);
if (element.isMandatory != "NA") {
control.attr("required", "required");
}
if (item.isFixed == "true") {
control.val(item.hasValue);
control.addClass("fixed");
} else {
control.addClass(item.hasDatatype + "-input");
control = $($.parseHTML('<div class="' + defaults.controlGroupCSS + ' date" data-date-format="yyyy-mm-dd">')).append(control);
control.append('<span class="input-group-addon"><i class="glyphicon glyphicon-th"></i></span>');
}
var html = $.parseHTML("<div class='" + defaults.controlGroupCSS + " col-md-12" + ( (item.hasDatatype == "date" && item.isFixed != "true" ) ? " date" : "" ) + "'>");
html = $(html);
var labels = $(this).find("label");
$(labels).addClass(defaults.labelCSS);
console.log(labels);
html.append(labels);
html.append(control);
$(this).replaceWith(html);
if ( item.defaultValue ) {
$(control).datepicker("update", item.defaultValue);
}
/*
if (item.hasDatatype == "select") {
var ds = DataSourcePool.getInstance().findById(item.datasource);
ds.addEventListener("selectionChanged", function (event) {
console.log(event + " received");
var row = ds.getCurrentRow();
$("#" + item.id).val(row[item.field]);
});
}
if (item.hasDatatype == "copy") {
console.log(item.id);
$("#" + item.item).change(function (event) {
console.log(event + " received");
$("#" + item.id).val($(this).val());
});
}
*/
});
}
return {
render: render
};
})();