Convert search_select.js to TypeScript (issue #17)
- Add ts/search_select.ts: typed port of the SearchSelect/FilterSelect widget. Exports SearchSelectOption / SearchSelectChangeDetail as the single source of truth for the "search-select:change" event contract - add_purchase.ts now imports those types via `import type` (no runtime coupling), instead of redefining them locally - Declare window.readSearchSelect in ts/globals.d.ts - Point the SearchSelect component Media and every view/e2e/test reference at the compiled dist/search_select.js - Update doc comments in common/components/search_select.py to name the TS source Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -133,14 +133,14 @@ class RealComponentMediaTest(unittest.TestCase):
|
||||
from common.components import SearchSelect
|
||||
|
||||
self.assertEqual(
|
||||
collect_media(SearchSelect(name="games")).js, ("search_select.js",)
|
||||
collect_media(SearchSelect(name="games")).js, ("dist/search_select.js",)
|
||||
)
|
||||
|
||||
def test_filter_select_declares_its_script(self):
|
||||
from common.components import FilterSelect
|
||||
|
||||
self.assertIn(
|
||||
"search_select.js", collect_media(FilterSelect(field_name="type")).js
|
||||
"dist/search_select.js", collect_media(FilterSelect(field_name="type")).js
|
||||
)
|
||||
|
||||
def test_date_range_picker_declares_its_script(self):
|
||||
@@ -170,7 +170,7 @@ class RealComponentMediaTest(unittest.TestCase):
|
||||
|
||||
media = collect_media(FilterBar())
|
||||
self.assertIn("filter_bar.js", media.js)
|
||||
self.assertIn("search_select.js", media.js)
|
||||
self.assertIn("dist/search_select.js", media.js)
|
||||
self.assertIn("range_slider.js", media.js)
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user