pipeworks_mud_mapper.layout.properties_panel ============================================ .. py:module:: pipeworks_mud_mapper.layout.properties_panel .. autoapi-nested-parse:: Properties panel component for the right column. The properties panel provides the room editing interface, including fields for room metadata, coordinates, and exit management. Component Structure ------------------- :: ┌─────────────────────────────┐ │ Room Properties [+New Room]│ <- CardHeader ├─────────────────────────────┤ │ [Feedback messages] │ │ │ │ Room ID: [_______________] │ │ Name: [_______________] │ │ Description: │ │ [________________________] │ │ │ │ Coordinates │ │ X[__] Y[__] Z[__] │ │ │ │ [Add Room] [Update] │ │ ─────────────────────────── │ │ Exits │ │ ☐N ☐E ☐S ☐W ☐U ☐D │ │ [Exit status messages] │ └─────────────────────────────┘ Component IDs ------------- - ``new-room-btn``: Button to clear form for creating new room - ``room-form-feedback``: Container for validation/success messages - ``room-id``: Input for room identifier - ``room-name``: Input for room display name - ``room-description``: Textarea for room description - ``room-coord-x``, ``room-coord-y``, ``room-coord-z``: Coordinate inputs - ``add-room-btn``: Button to add new room to zone - ``update-room-btn``: Button to update existing room - ``delete-room-btn``: Button to delete selected room (with confirmation) - ``undo-delete-btn``: Button to undo last room deletion - ``undo-delete-container``: Container for undo button (hidden/shown) - ``exit-checkboxes``: Checklist for exit directions (N/E/S/W/U/D) - ``exit-feedback``: Container for exit status display .. seealso:: :py:obj:`-`, :py:obj:`-`, :py:obj:`-` Functions --------- .. autoapisummary:: pipeworks_mud_mapper.layout.properties_panel.create_properties_panel Module Contents --------------- .. py:function:: create_properties_panel() Create the right column properties panels for file + room editing. The properties panel contains: - File Properties card (selected file + delete action) - Action row (New/Save/Validate/Export) - Header with "New Room" button - Room ID input (disabled when editing existing room) - Room name input - Room description textarea - Coordinate inputs (X, Y, Z) - Add Room / Update buttons - Exit checkboxes (N, E, S, W, U, D) :returns: * :py:class:`html.Div` -- Container with the File Properties card, action row, and Room Properties card. * :py:class:`Component IDs` * :py:class:`-------------` * **- ``new-room-btn``** (:py:class:`Button` to :py:class:`clear form for new room`) * **- ``room-form-feedback``** (:py:class:`Container for validation messages`) * **- ``room-id``** (:py:class:`Room ID input field`) * **- ``room-name``** (:py:class:`Room name input field`) * **- ``room-description``** (:py:class:`Room description textarea`) * **- ``room-coord-x``, ``room-coord-y``, ``room-coord-z``** (:py:class:`Coordinate inputs`) * **- ``add-room-btn``** (:py:class:`Button` to :py:class:`add new room`) * **- ``update-room-btn``** (:py:class:`Button` to :py:class:`update existing room`) * **- ``exit-checkboxes``** (:py:class:`Checklist for exit directions`) * **- ``exit-feedback``** (:py:class:`Container for exit status display`) .. admonition:: Notes - Room ID is disabled when editing (cannot change existing ID) - Update button is disabled when no room is selected - Exit checkboxes show current exits and allow adding/removing - Form feedback shows success/error messages temporarily