Category Management

Category List

ID Name Description Created By Created Date Created Time Last Updated By Last Updated Date Time Remove

⚙️ Technical User Story: Category Management (Main Screen)

As a Product Developer, I need to implement the Category Management screen, which displays the list of all categories and integrates a modular Category Form Block for all Insert and Edit operations, ensuring data consistency and clear UI feedback.

1. Category List Display Requirements (The Main Screen)

The main screen must load and display all categories in a table format.

1.1. Category List Table Specifications

Column Header Implementation Requirement
ID Must be a clickable link to trigger the Edit operation.
Name Standard text display.
Description Show a maximum of 10 characters, followed by an ellipsis (...). **On mouse hover, show the full description in a tooltip.**
Created By Standard text display.
Created Date Standard date display.
Created Time Standard time display.
Last Updated By Standard text display.
Last Updated Date Time Display the full date and time of the last update.
Remove Must contain a Trash Icon (🗑️) to trigger the delete confirmation popup.

1.2. Action Requirements (Buttons & Links)

2. Category Form Web Block Integration (The Modular Component)

The creation and updating of categories must be delegated to a reusable Web Block (simulated by the modal/popup) to centralize business logic. The developer must handle the save feature within this block.

2.1. Web Block Contract (Inputs and Outputs)

The developer must design the Web Block with the following parameters to ensure communication with the main screen:

2.2. Block Form and Validation Requirements

The internal form within the Web Block must adhere to the following:

2.3. Save and Success Flow (Integration Goal)

The developer must ensure the following flow when the Save button is clicked within the block:

  1. The block executes all internal form validation.
  2. Upon **successful validation**, the block executes the Insert or Update operation and **sets its Output Parameter** (SavedCategoryId) to the ID of the saved record.
  3. The block must close itself.
  4. Main Screen Response: The main screen's event handler (triggered by the block closing) must check the value of the Output Parameter. If the value is **not null**, the main screen must **refresh the category list** and display a clear notification message, including the **Updated/Added ID**.