from pydantic import TypeAdapter from core.views.widgets.select import AutoCompleteSelect, AutoCompleteSelectMultiple from counter.models import Counter, Product, ProductType from counter.schemas import ( ProductTypeSchema, SimpleProductSchema, SimplifiedCounterSchema, ) _js = ["bundled/counter/components/ajax-select-index.ts"] class AutoCompleteSelectCounter(AutoCompleteSelect): component_name = "counter-ajax-select" model = Counter adapter = TypeAdapter(list[SimplifiedCounterSchema]) js = _js class AutoCompleteSelectMultipleCounter(AutoCompleteSelectMultiple): component_name = "counter-ajax-select" model = Counter adapter = TypeAdapter(list[SimplifiedCounterSchema]) js = _js class AutoCompleteSelectProduct(AutoCompleteSelect): component_name = "product-ajax-select" model = Product adapter = TypeAdapter(list[SimpleProductSchema]) js = _js class AutoCompleteSelectMultipleProduct(AutoCompleteSelectMultiple): component_name = "product-ajax-select" model = Product adapter = TypeAdapter(list[SimpleProductSchema]) js = _js class AutoCompleteSelectProductType(AutoCompleteSelect): component_name = "product-type-ajax-select" model = ProductType adapter = TypeAdapter(list[ProductTypeSchema]) js = _js class AutoCompleteSelectMultipleProductType(AutoCompleteSelectMultiple): component_name = "product-type-ajax-select" model = ProductType adapter = TypeAdapter(list[ProductTypeSchema]) js = _js