double list

Уважаемые разработчики, подскажите как создать два фильтра для каждого из листов в double list, после сброса фильтра в любом из листов происходит отображение ВСЕХ элементов dbllist, независимо от того выбран ли элемент или нет(находился спарва или слева), так же в этом случае происходит дублирование записей.

Здравствуйте,

Дело в том, что double list использует синхронизированные данные для обоих листов и применяет фильтрацию, чтобы показать/спрятать элементы.

Поэтому, чтобы применить еще один кастомный фильтр, нужно вызывать метод filter с третьим параметром.

Например, https://webix.com/snippet/287fb5b6.

да, спасибо, уже решили проблему

С использованием тулбара и сохранениием состояния как-то так…

webix.ui({
  rows: [
        { view: "toolbar", elements: [
                {id: "unselected", view: "text"},
                {id:"selected", view: "text"}
            ]
        },
        {
            view:"dbllist",
  	        id:"dbl",
            list:{ autoheight: true },
            labelLeft:"Available screens",
            labelRight:"Selected",
            data:[
                {id:"1", value:"Contacts"},
                {id:"2", value:"Products"},
                {id:"3", value:"Reports"},
                {id:"4", value:"Customers"},
                {id:"5", value:"Deals"}
            ]
        }
    ]
});

var state;
function save_state()
{
    state = $$("dbl").getValue();
}

function set_state()
{
    save_state();
    $$("dbl").setValue(state);
}


$$("selected").attachEvent("onTimedKeyPress", function() {
    set_state();
    var value = $$("selected").getValue();
    $$("dbl").$$("right").filter("#value#", value, true);
});
$$("unselected").attachEvent("onTimedKeyPress", function() {
    set_state();
    var value = $$("unselected").getValue();
    $$("dbl").$$("left").filter("#value#", value, true);
});