$( document ).ready( onDocumentReady );
ProductsListObj = function()
{
this.init = function()
{
initUniqueAdd();
initMultipleAdd();
initUniqueDelete();
initToggleAdd();
initTruncate();
}
function initUniqueAdd()
{
$( "[name=uniqueAdd]" ).click( function(){
add( [{
id:$(this).attr("data-idProduct"),
alt1:$(this).attr("data-alt1"),
alt2:$(this).attr("data-alt2")
}] );
} );
}
function initMultipleAdd()
{
if( $('[name="multipleAdd[]"]:visible').length==0 ){
$('.multipleAction').hide();
}
else{
$('.multipleAction').show();
$('[name=multipleAddAction]').click( function(){
var values = [];
$('[name="multipleAdd[]"]:checked').each(function( i , n ){
values.push({id:$(n).val()});
});
add( values );
});
}
}
function add( elemToAdd )
{
$.post( "/action-ProductsListActions-addProducts" ,
{
products : elemToAdd
},
onAdd
)
}
function onAdd( result )
{
initDisplay(result);
//$(document).trigger("ProductsListEvent" , {action:"add"});
}
function initUniqueDelete()
{
$( "[name=uniqueDelete]" ).click( function(){
deleteProduct( [{
id:$(this).attr("data-idProduct"),
alt1:$(this).attr("data-alt1"),
alt2:$(this).attr("data-alt2")
}] );
} );
}
function deleteProduct( elemToDelete )
{
$.post( "/action-ProductsListActions-deleteProducts" ,
{
products : elemToDelete
},
onDeleteProduct
);
}
function onDeleteProduct(result)
{
if( $("#savedProductsList").length > 0 ){
window.location.href= window.location.href;
}
else{
initDisplay( result );
//$(document).trigger("ProductsListEvent" , {action:"delete"});
}
}
function initDisplay( result )
{
result = JSON.parse( result );
$("[data-idProduct]").each(function( i , n ){
var idProduct = $(n).attr("data-idProduct");
if( result.indexOf( idProduct ) > -1 ){
displayDelete( idProduct );
}
else{
displayAdd( idProduct );
}
});
initMultipleAdd();
}
function displayAdd(product){
$($("[data-idProduct="+product+"]").parents(".list-add")[0]).removeClass("hide");
$($("[data-idProduct="+product+"]").parents(".list-delete")[0]).addClass("hide");
}
function displayDelete(product){
$($("[data-idProduct="+product+"]").parents(".list-add")[0]).addClass("hide");
$($("[data-idProduct="+product+"]").parents(".list-delete")[0]).removeClass("hide");
}
function initToggleAdd()
{
$( "[name='multipleAdd[]']").change( initToggleAddButton );
$("[name=toggleAdd]").change(function(){
if( $(this).is( ':checked') ){
$("[name='multipleAdd[]']").prop( "checked", true);
$( "#toggle" ).addClass( "uncheck" );
}
else{
$("[name='multipleAdd[]']").prop( "checked", false);
$( "#toggle" ).removeClass( "uncheck" );
}
});
}
function initToggleAddButton()
{
if( $( "[name='multipleAdd[]']:checked").length == $( "[name='multipleAdd[]']").length ){
$("[name=toggleAdd]").prop( "checked", true);
}
else{
$("[name=toggleAdd]").prop( "checked", false);
}
}
function initTruncate()
{
$( "[name=truncate]" ).click( function(){
$.post( "/action-ProductsListActions-truncateList",
function(){
window.location.href = window.location.href;
});
});
}
}
var ProductsList = new ProductsListObj();
function onDocumentReady()
{
ProductsList.init();
}