DirectoryObjectViewModel

ViewModel interface for managing the state and business logic of a directory object detail screen.

This interface defines the contract for a ViewModel that handles the presentation logic for displaying detailed information about a specific directory object (place, business, point of interest, etc.). It provides observable state and user interaction callbacks.

Inheritors

Properties

Link copied to clipboard

Indicates whether entrance or porch information is available and can be displayed.

Link copied to clipboard
abstract val contacts: List<ContactData>

List of ContactData items available for this directory object.

Link copied to clipboard
abstract val directoryObject: DirectoryObject

The underlying directory object data.

Link copied to clipboard
abstract val distance: Meter?

Distance to the object. Null if distance is unavailable.

Link copied to clipboard

The type of entrances available for this directory object. Determines how entrance information should be displayed and what options are available.

Link copied to clipboard
abstract val floorsInfo: FloorsInfo?

Information about floors of this directory object.

Link copied to clipboard

Primary/main line of the full address.

Link copied to clipboard

Secondary line of the full address with additional location details.

Link copied to clipboard
abstract val openingHours: OpeningHours?

The regular weekly schedule defining operating hours.

Link copied to clipboard
abstract val porches: List<PorchItem>

List of PorchItem items available for this directory object.

Link copied to clipboard
abstract val rating: Float?

Average user rating from 0 to 5 (e.g., 4.2). Null if not rated.

Link copied to clipboard
abstract val reviewsCount: Int

Total number of reviews submitted for this object.

Link copied to clipboard
abstract val shortAddress: String?

Short address suitable for list items and compact displays.

Link copied to clipboard
abstract val subtitle: String

Subtitle or short description of the object.

Link copied to clipboard
abstract val title: String

The main title or name of the directory object.

Link copied to clipboard
abstract val titleAddition: String

Additional descriptive text that complements the main title.

Link copied to clipboard
abstract val workStatus: WorkStatus?

The current operational status of the entity.

Functions

Link copied to clipboard
abstract fun closeView()

Closes the current view, dismissing the bottom sheet, dialog, or detail screen entirely.

Link copied to clipboard
abstract fun maximizeView()

Maximizes the current view, typically expanding a bottom sheet or modal to a increase state.

Link copied to clipboard
abstract fun minimizeView()

Minimizes the current view, typically collapsing a bottom sheet or modal to a reduced state.

Link copied to clipboard
abstract fun setHeaderHeight(newHeight: Dp)

Updates the current height of the header component.

Link copied to clipboard
abstract fun showEntrances()

Displays the detailed entrances/porches selection UI.