更新状态和子状态列宽度
- 将状态列宽从65px改为90px - 将子状态列宽从120px改为150px - 更新相应的过滤字段容器宽度,以匹配列 - 增加明确的微宽和最大微宽限制
更新过滤字段容器宽度以匹配列宽
- 将铅标识过滤容器从300px更新为245px - 将状态过滤容器从200px更新到65px - 将子状态过滤容器从200px更新到120px - 将代理过滤容器从150px更新为120px - 确保过滤字段与相应的列宽相匹配
将日期列宽改为 155px
- 更新创建和分配的列宽从220px到155px - 为两列设置明显的宽度、微宽和最大宽度至155px - 更新日期过滤字段容器,以匹配155px宽度 - 确保列和过滤字段之间一致的分幅
将快速搜索移动到状态标签行, 对齐右侧
- 快速搜索现在与状态标签在同一行上,与右边对齐 - 通过删除重复的搜索栏部分来简化布局 - 状态标签和快速搜索在有间隙的弹性容器中
减少粘贴行中的粘贴
- 将被钉住的行铅标识单元格从45px减少到12px - 在 Idrender Box sx道具中修复缺失的逗号 - 将铅标识值在被绑行中向左移动更多
将过滤栏移到网格标题上方, 而不是在标题和数据之间移动
- 将过滤栏移出AG Grid容器,置于网格上方 - 取消引起重叠问题的绝对定位 - 过滤栏现在作为单独的一行出现在字段头上方 - 取消不再需要的贴纸Top - 这能确保信头总是可见 过滤栏不会重叠
在网格容器中添加粘贴来防止过滤栏重叠数据行
- 在网格容器中添加粘贴Top:48px - 这把数据行推倒,同时保持标题 - 过滤栏位于顶部:48px(下页头) - 数据行从96px开始(48px头+48px过滤栏)
在双向同步中防止无限回转循环
- 添加 refs来跟踪更新源(tab vs 过滤器下放) - 当更新来自其他来源时跳过 - 防止导致反应错误的循环更新 # 185 - 在状态更新完成后, 使用设置时间表来重设旗帜
手动应用过滤器过滤RowData, 而不是使用 AG Grid 过滤器
- 将所有过滤逻辑移入过滤过的RowData 使用Memo - 在将数据传送到AG Grid之前手动应用过滤器 - 取消AG Gridset Filter Model的电话,因为我们直接过滤数据 - 随着下放值的变化,过滤器立即工作 - 这让我们完全控制了过滤逻辑
空出时适当清除过滤器并确保过滤器模型的更新正确
- 当值为空时明确删除模型中的过滤器 - 处理空白的 Trim过滤器值 - 首先获得当前过滤器模型以保存其他过滤器 - 如果过滤器全部清除,则设置过滤器模式为无效 - 确保适当应用和清除过滤器
将过滤行置于标题下并确保过滤器应用
- 将过滤行移到上:48px(下页头)而不是上:0 - 在 AgGridReact 中添加编码Top: 48px 以核算过滤行 - 自我们使用自定义过滤行以来,将浮式FiltersH8设置为0 - 在设置FilterModel后调用FilterChanged()以确保过滤器应用 - 信头现在可见,过滤器应正确工作
用列对齐过滤行并修正状态过滤器
- 在浮动过滤器空间(48px高)中绝对定位过滤行 - 添加同步FilterRowWidth 函数以动态匹配列宽 - 在已准备好的网格上同步宽度并调整列大小事件 - 固定状态过滤器以适用于状态和子状态字段 - 按父母身份过滤时包含所有儿童子状态 - 将浮起的FiltersH8和头部H8设置为48px - 减少过滤器输入...
使用 ref 存储过滤值并阻止 AG Grid 重置
- 以价值储存当前值 - 使用是UserChangeRef,防止同步效应压倒用户更改 - 从挂载的过滤实例读取初始模型 – 总是使用值 Ref.current 用于选择值以防止重排 - 这应该能解决过滤器重置问题
删除 FloatingFilter 更改回调并改进 CSS 以隐藏过滤图标
- 不在FloatingFilter上注册更改回调以防止AG Grid重置值 - 添加全面的CSS规则来隐藏过滤菜单按钮和图标 - 添加多个选择器变体以确保图标被隐藏 - 这应防止过滤器重置并隐藏所有过滤器图标
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 ...
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
Improve Sub Status filter reactivity and hide filter icons with CSS
- Remove getStatusFilterValue dependency from useEffect to prevent stale closures - Add CSS rules to hide filter menu button icons for Lead ID, Contact, Status,...
Properly enable Sub Status dropdown and remove all filter icons
- Add hasStatusFilter state to SubStatusFloatingFilter to track status filter changes - Add filterChanged event listener to immediately detect when Status filte...
Properly enable Sub Status dropdown and remove filter icons
- Fix Sub Status dropdown to be enabled when Status filter is selected (removed options.length check from disabled condition) - Add menuTabs: [] to Lead ID, Con...
Enable Sub Status dropdown when Status is selected and remove filter icons
- Fix Sub Status dropdown to be enabled when a Status filter is selected - Remove filter icons (suppressHeaderMenuButton) from Lead ID, Contact, Status, Sub Sta...
Resolve TypeScript type errors in DropdownFloatingFilter
- Change ExtendedParams to use intersection type instead of extending IFloatingFilterParams - Use type assertion for parentFilterInstance callback parameter - M...
Resolve ESLint errors in DropdownFloatingFilter component
- Add displayName to FloatingFilterComponent - Remove unused ref parameter - Replace any types with proper TypeScript interfaces - Add ExtendedParams interface ...
Change filter values from functions to arrays for dropdown display
- Change filterParams values from functions to direct arrays - AG Grid set filters require values as arrays, not functions - This should fix dropdown filters no...
Apply 50px padding only to Lead ID column in pinned rows - Change CSS selector from first-of-type to col-id=leadID to target only Lead ID column - Prevents padding from being applied to Contact and Actions columns - Pinned rows are already integrated into main datagrid via pinnedTopRowData
Align pinned rows with main list cells
- Add 50px padding-left to first cell (Lead ID) in pinned rows for account icon alignment - Compensate for 4px red border by moving pinned row left with marginL...
Replace any type with proper LeadWithAccount interface
- Create LeadWithAccount interface extending Lead with optional accountId - Replace any type assertion with LeadWithAccount type - Fixes ESLint error: Unexpecte...
Remove incorrect useMemo wrapper from ReportsPane component
- Remove erroneous }, []); closing bracket that was causing syntax error - ReportsPane is a regular function component, not wrapped in useMemo