overview
E22 Change Request - Slick Dashboard
✅ Overview
TW/GEN/E22/2023 Changes in DB design & DB Summary screen.
This document outlines the E22 Change Request for the Slick Dashboard in the tw-pages-client and shared-client projects. The implementation includes a new UI layout and feature set using existing backend APIs while enhancing filter control, chart interaction, and iframe integration.
- The platform supports Tender, Auction, and CMS modules. The specific module is determined based on provided IDs, which are used to differentiate the iframe URLs. 
- The Dashboard layout remains the same across all three modules; only the API data varies depending on the selected module. 
- http://localhost:8080/?user=TESTPWD&dbCompany=TESTPWD&buyer=TEST%20PUBLIC%20WORKS%20DEPARTMENT#/slickDashboard 

🧩 API Usage (Same as Old Dashboard)
- getTopData
- getFilterData
- getIDs
- getDataByIDs
- saveFilterData
- getDetailIdsAndDisplay
- getDetailsData
These are used for loading dashboard data, filters, chart values, and persisting user preferences.
🖼️ UI Changes – Four Icons (Right of Tab)
1️⃣ Show Legend Icon
| Feature | Implementation | 
|---|---|
| Default State | viewData.legendView = true | 
| On Click | Toggles legendViewand reloads chart | 
| Behavior | Shows/hides the Legend section and either renders x-axis values inside bars or separately | 
Code:
2️⃣ View Icon (Eye)
| Feature | Implementation | 
|---|---|
| Default Tab | Chart View ( selectedTab = 'chart') | 
| MyToDoList | Loads saved filters ( evtClickMyPreference()) | 
| DeptLevel | Loads 2nd card: this.viewData.filterValues.DATA_POINTS = [cardCountData[1].id] | 
| Data View | Opens iframe via evtUpadteView() | 
| Tender View | Opens detail schema: schema.details | 
| Data Order | chart shows based on asc and descending | 
Code:
- For Tender view we are using two Apis
1) getDetailIdsAndDisplay
Description This API provides ids.
Request Details
- method: POST
- body:
Response
2) getDetailsData
Description This API provides data for tender view.
Request Details
- method: POST
- body:
Response
3️⃣ Preference Icon (Pencil)

| Option | Action | 
|---|---|
| My Preference | Loads saved filters | 
| Triggers browser print | 
Code:
4️⃣ Filter Icon (Funnel)

| Button | Action | 
|---|---|
| Show Chart | Renders chart with current filters | 
| Clear Filters | Clears all selected values | 
| Save Filters | Saves filters to DB via saveFilterDataAPI | 
Code: