83 lines
3.7 KiB
Markdown
83 lines
3.7 KiB
Markdown
# گزارش جای خالی کارتهای داشبورد
|
|
|
|
## خلاصه
|
|
|
|
در داشبورد فعلی بعضی اسلاتها `Quick Access` دارند اما خود کارت رندر نمیشود.
|
|
علت اصلی این است که wrapper اسلات را میسازد، ولی بعضی کامپوننتها وقتی دادهی کافی ندارند `return null` میکنند.
|
|
|
|
## کارتهای خالی فعلی
|
|
|
|
### 1) `sensorValuesList`
|
|
- **ردیف:** `sensorMonitoring`
|
|
- **جای کارت:** ستون چپ ردیف سنسور
|
|
- **Route:** `/solid-sensor`
|
|
- **وضعیت:** فقط دکمه `دسترسی سریع` دیده میشود، خود کارت خالی است
|
|
- **علت فنی:** اگر `data.sensors.length === 0` باشد، کامپوننت رندر نمیشود
|
|
- **مرجع:** `src/views/dashboards/farm/SensorValuesList.tsx:30`
|
|
|
|
### 2) `sensorRadarChart`
|
|
- **ردیف:** `sensorMonitoring`
|
|
- **جای کارت:** ستون راست ردیف سنسور
|
|
- **Route:** `/solid-sensor`
|
|
- **وضعیت:** فقط دکمه `دسترسی سریع` دیده میشود، خود کارت خالی است
|
|
- **علت فنی:** اگر `data.series.length === 0` باشد، کامپوننت رندر نمیشود
|
|
- **مرجع:** `src/views/dashboards/farm/SensorRadarChart.tsx:30`
|
|
|
|
### 3) `sensorComparisonChart`
|
|
- **ردیف:** `sensorCharts`
|
|
- **جای کارت:** ستون بزرگ سمت چپ
|
|
- **Route:** `/solid-sensor`
|
|
- **وضعیت:** فقط دکمه `دسترسی سریع` دیده میشود، خود کارت خالی است
|
|
- **علت فنی:** اگر `data.series.length === 0` باشد، کامپوننت رندر نمیشود
|
|
- **مرجع:** `src/views/dashboards/farm/SensorComparisonChart.tsx:33`
|
|
|
|
## کارتهایی که ممکن است در شرایط خاص خالی شوند
|
|
|
|
اینها در HTML ارسالی شما فعلاً دیده میشوند، ولی در صورت خالی بودن داده میتوانند ناپدید شوند:
|
|
|
|
### `waterNeedPrediction`
|
|
- **شرط خالی شدن:** `series.length === 0`
|
|
- **مرجع:** `src/views/dashboards/farm/WaterNeedPrediction.tsx:37`
|
|
|
|
### `soilMoistureHeatmap`
|
|
- **شرط خالی شدن:** `series.length === 0`
|
|
- **مرجع:** `src/views/dashboards/farm/SoilMoistureHeatmap.tsx:37`
|
|
|
|
### `yieldPredictionChart`
|
|
- **شرط خالی شدن:** `series.length === 0`
|
|
- **مرجع:** `src/views/dashboards/farm/YieldPredictionChart.tsx:57`
|
|
|
|
### `recommendationsList`
|
|
- **شرط خالی شدن:** `recommendations.length === 0`
|
|
- **مرجع:** `src/views/dashboards/farm/RecommendationsList.tsx:32`
|
|
|
|
## دلیل اینکه فقط آیکن دیده میشود
|
|
|
|
Wrapper همیشه این دکمه را رندر میکند:
|
|
- `src/views/dashboards/farm/FarmDashboardWrapper.tsx:921`
|
|
|
|
اما خود کارت از اینجا `null` برمیگرداند:
|
|
- `src/views/dashboards/farm/FarmDashboardWrapper.tsx:478`
|
|
|
|
یعنی:
|
|
- اسلات گرید وجود دارد
|
|
- دکمه quick access وجود دارد
|
|
- ولی محتوای کارت به خاطر دادهی خالی رندر نمیشود
|
|
|
|
## نتیجه نهایی
|
|
|
|
بر اساس HTML فعلی، **سه جای خالی قطعی** در داشبورد وجود دارد:
|
|
|
|
1. `sensorValuesList`
|
|
2. `sensorRadarChart`
|
|
3. `sensorComparisonChart`
|
|
|
|
## پیشنهاد اصلاح
|
|
|
|
بهترین اصلاح این است که بهجای `return null`:
|
|
|
|
- یک empty state واقعی داخل کارت نمایش داده شود
|
|
- یا در `FarmDashboardWrapper` وقتی دادهی کارت خالی است، اصلاً `Quick Access` هم رندر نشود
|
|
|
|
اگر خواستی، قدم بعدی را هم انجام میدهم و همین سه کارت خالی را با `empty state card` درست میکنم.
|