package com.company.tt1.view.fpsp;

import com.company.tt1.entity.Fpsp;
import com.company.tt1.session.FilterStateHolder;
import com.company.tt1.view.main.MainView;
import com.vaadin.flow.component.HasValue;
import com.vaadin.flow.router.Route;
import io.jmix.flowui.component.textfield.TypedTextField;
import io.jmix.flowui.view.*;
import org.springframework.beans.factory.annotation.Autowired;


@Route(value = "fpsps", layout = MainView.class)
@ViewController(id = "Fpsp.list")
@ViewDescriptor(path = "fpsp-list-view.xml")
@LookupComponent("fpspsDataGrid")
@DialogMode(width = "64em")


public class FpspListView extends StandardListView<Fpsp> {
    @Autowired
    private FilterStateHolder filterStateHolder;
    @ViewComponent
    private TypedTextField<String> psssNameFilterField;
    @ViewComponent
    private TypedTextField<String> tperNameFilterField;

    @Subscribe("psssNameFilterField")
    public void onPsssNameFilterValueChange(HasValue.ValueChangeEvent<String> event) {
        filterStateHolder.setPsssNameFilter(event.getValue());
    }

    @Subscribe("tperNameFilterField")
    public void onTperNameFilterValueChange(HasValue.ValueChangeEvent<String> event) {
        filterStateHolder.setTperNameFilter(event.getValue());
    }

    @Subscribe
    public void onInit(final InitEvent event) {
        if (filterStateHolder.getPsssNameFilter() != null) {
            psssNameFilterField.setValue(filterStateHolder.getPsssNameFilter());
        }
        if (filterStateHolder.getTperNameFilter() != null) {
            tperNameFilterField.setValue(filterStateHolder.getTperNameFilter());
        }
    }


}