Update mock lead IDs to random alphanumeric and set address column to 170px
- Add generateRandomLeadId function to create random alphanumeric strings of length 13 - Change mock lead IDs from sequential numbers to random alphanumeric (e....
Update date column widths and replace action buttons
- Change date column widths from 155px to 170px (Created and Assigned) - Update date filter field containers to match 170px width - Replace 'Export Selected', '...
Add thin light gray border bottom to secondary tabs
- Add borderBottom: '1px solid rgba(0, 0, 0, 0.12)' to status tabs container - Matches the styling found on /leads/view/ page - Creates visual separation betwee...
Change date column widths to 155px
- Update Created and Assigned column widths from 220px to 155px - Set explicit width, minWidth, and maxWidth to 155px for both columns - Update date filter fiel...
Add gray backgrounds to remaining filter fields and align to bottom
- Change filter row alignment from center to flex-end (bottom alignment) - Add gray background (#f8fafc) to all remaining filter field containers - Add border r...
Stack date filter fields vertically with isolated gray background
- Change date filter fields from horizontal to vertical layout (flexDirection: column) - Add gray background (#f8fafc) only to date filter boxes, not entire fil...
Move Quick Search to status tabs line, aligned right
- Quick Search now appears on same line as status tabs, aligned to the right - Simplified layout by removing duplicate search bar section - Status tabs and Quic...
Improve UI layout and increase mock data
- Make text smaller for date filter fields (fontSize: 0.75rem for input, 0.7rem for labels) - Move Quick Search to same line as status tabs, aligned to the righ...
Add date range filter components for Created and Assigned columns
- Add state variables for Created and Assigned date range filters (start/end dates) - Create date range filter components with Start Date and End Date fields - ...
Make contact names clickable links and add double-click to open lead
- Update ContactRenderer to display first and last name as underlined clickable links - Add onClick handler to contact names that opens the lead via onViewLead ...
Add icons to sub-status dropdown filter and update Contracts Sent
- Update 'Contracts Signed' to 'Contracts Sent' to match Java enum - Change icon for Contracts Sent from Assignment to Send icon - Add icons to sub-status dropd...
Adjust paddingLeft to 17px for pinned row Lead ID cells
- Change paddingLeft from 12px to 17px for better alignment
Add unique icons for each sub-status with parent status colors
- Add unique, relevant icons for each sub-status (e.g., PersonAdd for New Lead, Message for Left Message) - Icons maintain parent status color (green for Fresh,...
Reduce padding in pinned rows Lead ID column to move values left
- Reduce paddingLeft from 45px to 12px for pinned row Lead ID cells - Fix missing comma in IdRenderer Box sx prop - This moves the Lead ID values more to the le...
Add icons to sub-status column matching parent status colors
- Add getSubStatusIcon helper function to determine icon based on parent status - Sub-status icons use same icons and colors as their parent status - Fresh sub-...
Move filter bar above grid headers instead of between headers and data
- Move filter bar outside AG Grid container, positioned above grid - Remove absolute positioning that was causing overlap issues - Filter bar now appears above ...
Move urgent badge to Lead ID column and remove email from Contact
- Move Urgent badge from Contact column to Lead ID column - Position badge to the left of account icon in Lead ID - Remove 'Urgent' label text, keep only the ic...
Add padding to grid container to prevent filter bar from overlapping data rows
- Add paddingTop: 48px to the grid container Box - This pushes the data rows down while keeping headers in place - Filter bar is positioned at top: 48px (below ...
Prevent infinite re-render loop in bidirectional sync
- Add refs to track update source (tab vs filter dropdown) - Skip updates when they originate from the other source - Prevents circular updates that cause React...
Add bidirectional sync between status tabs and filter dropdown
- When status tab changes → updates filter dropdown (already existed) - When filter dropdown changes → updates active status tab (new) - Prevents circular u...
Apply filters manually to filteredRowData instead of using AG Grid filters
- Move all filter logic into filteredRowData useMemo - Apply filters manually before passing data to AG Grid - Remove AG Grid setFilterModel calls since we're f...
Add console log and refreshCells to ensure filters apply
- Add console.log to debug filter model being applied - Call refreshCells after onFilterChanged to force re-render - This should help identify if filters are be...
Properly clear filters when empty and ensure filter model updates correctly
- Explicitly delete filters from model when values are empty - Trim filter values to handle whitespace - Get current filter model first to preserve other filter...
Position filter row below header and ensure filters apply
- Move filter row to top: 48px (below header) instead of top: 0 - Add paddingTop: 48px to AgGridReact to account for filter row - Set floatingFiltersHeight to 0...
Align filter row with columns and fix status filter
- Position filter row absolutely in floating filters space (48px height) - Add syncFilterRowWidths function to match column widths dynamically - Sync widths on ...
Replace AG Grid floating filters with custom filter row
- Remove all floatingFilterComponent references from columnDefs - Set floatingFilter: false on all columns - Create custom filter row above grid with full contr...
Use ref to store filter value and prevent AG Grid from resetting it
- Store current value in valueRef to persist across re-renders - Use isUserChangeRef to prevent sync effect from overriding user changes - Read initial model fr...
Remove onFloatingFilterChanged callback and improve CSS to hide filter icons
- Do not register onFloatingFilterChanged callback to prevent AG Grid from resetting value - Added comprehensive CSS rules to hide filter menu buttons and icons...
Correct DropdownFloatingFilter params and add statusFilterValue to Status filter
Correct filterParams type access and add statusFilterValue to params
Use customParams for filterParams access and add statusFilterValue to params
Make Status filter controlled and sync with status tabs
- Added statusFilterValue state to control Status filter dropdown - Status filter now syncs with activeStatusTab when tabs are clicked - Filter value is now con...
Prevent header refresh and maintain filter value with ref
- Use currentValueRef to track and persist filter value - Remove refreshHeader() call that was causing header to hide/reappear - Only update value from callback...
Properly track filter updates to prevent Status filter reset
- Use isUpdatingRef flag to track when we're making changes - Only allow parent model changes to update value if we're not updating - Initialize filter value fr...
Prevent filter reset with no-op callback and hide icons with menuTabs
- Register no-op onFloatingFilterChanged callback to prevent AG Grid from resetting filter value - Use menuTabs: [] instead of suppressHeaderMenuButton to hide ...
New approach for Status filter and filter icons
- Removed onFloatingFilterChanged callback to prevent circular updates - Store filter instance in ref and update directly - Added global CSS rules in globals.cs...
Prevent Status filter reset with ref flag and add suppressHeaderMenuButton
- Added suppressHeaderMenuButton to all columns that should hide filter icons - Improved isInternalChangeRef timing to prevent circular updates - Enhanced CSS s...
Prevent Status filter reset and improve filter icon hiding
- Added isInternalChangeRef to prevent circular updates in Status and SubStatus filters - Updated CSS selectors to better hide filter menu buttons and icons - F...
Remove extra Box wrapper that was breaking grid display
- Removed nested Box wrapper that was preventing grid from rendering - Moved CSS styles directly to the outer Box wrapper - Grid should now display leads correc...
Remove dependency from Sub Status filter useEffect to fix reactivity
เหมือนที่คุณเห็นการขนส่ง?
ทุก คน ที่ ได้ รับ การ ปรับ ปรุง เหล่า นี้ จะ ลง ไป ใน ที่ ทํา งาน ของ คุณ โดย อัตโนมัติ. เริ่มให้อิสระและดูมันเติบโตสัปดาห์แล้วสัปดาห์เล่า.