# Test FileBrowserHtmlIds
ids = FileBrowserHtmlIds()
# Test constants
assert ids.CONTAINER == "file-browser"
assert ids.CONTENT == "file-browser-content"
assert ids.PATH_BAR == "file-browser-path-bar"
assert ids.LISTING == "file-browser-listing"
# Test item_id
assert FileBrowserHtmlIds.item_id(0) == "file-browser-item-0"
assert FileBrowserHtmlIds.item_id(42) == "file-browser-item-42"
# Test as_selector
assert FileBrowserHtmlIds.as_selector(ids.CONTAINER) == "#file-browser"
assert FileBrowserHtmlIds.as_selector(ids.LISTING) == "#file-browser-listing"
# Test frozen (immutable)
try:
ids.CONTAINER = "new-id"
assert False, "Should have raised FrozenInstanceError"
except Exception:
pass # Expected
print("FileBrowserHtmlIds tests passed!")HTML IDs
HTML ID constants for HTMX targeting in the file browser.
FileBrowserHtmlIds
Default HTML IDs used by the file browser. These can be customized via FileBrowserConfig if needed to avoid conflicts.
FileBrowserHtmlIds
def FileBrowserHtmlIds(
CONTAINER:str='file-browser', CONTENT:str='file-browser-content', PATH_BAR:str='file-browser-path-bar',
PATH_INPUT:str='file-browser-path-input', BREADCRUMBS:str='file-browser-breadcrumbs',
LISTING:str='file-browser-listing', ITEM_PREFIX:str='file-browser-item-',
CURRENT_PATH_INPUT:str='file-browser-current-path', SELECTED_PATHS_INPUT:str='file-browser-selected-paths',
BTN_PARENT:str='file-browser-btn-parent', BTN_REFRESH:str='file-browser-btn-refresh',
BTN_HOME:str='file-browser-btn-home'
)->None:
Default HTML IDs for file browser components.