تم تاریک
جستوجو Search
هدف از الگوی جستوجو، ایجاد یک مرجع استاندارد برای یافتن سریع سرویسها، منابع و تنظیمات در پنل آروانکلاد است. این الگو با کاهش زمان جستوجو، کارایی کاربر در مدیریت زیرساختهای پیچیده را افزایش میدهد.
الگوهای جستوجو
در پنل آروان، جستوجو بر اساس دامنه اثر به دو نوع اصلی تقسیم میشود:
| نوع جستوجو | دامنه (Scope) | هدف اصلی |
|---|---|---|
| سراسری (Global) | کل پلتفرم آروان | ناوبری سریع بین محصولات، منابع و مستندات. |
| داخلی (Contextual) | یک صفحه یا لیست خاص | فیلتر کردن و یافتن آیتم در دادههای جاری. |
جستوجوی سراسری
این الگو به عنوان مرکز فرماندهی ناوبری عمل میکند و در تمام صفحات در دسترس است.
محل قرارگیری و دسترسی
- محل: بالای صفحه در
Headerاصلی پنل. - نمایش: ابتدا بهشکل یک آیکون ذرهبین که با کلیک یا میانبر، به یک فیلد متنی گسترش پیدا میکند.
- میانبر (Shortcut): استفاده از کلیدهای ترکیبی
Cmd + Kبرای فراخوانی سریع.

تجربه تعاملی و نتایج
- نمایش لحظهای: نتایج باید همزمان با تایپ (Real-time) ظاهر شوند.
- گروهبندی نتایج: برای جلوگیری از سردرگمی، نتایج باید در دستههای زیر تفکیک شوند:
جستوجوی داخلی
این جستوجو به عنوان یک ابزار کمکی در کنار لیستهای حجیم و جداول قرار میگیرد.
محل قرارگیری
- محل: در نزدیکی دادههای هدف، بهطور معمول در بالای لیستها یا داخل کامپوننت
Table. - نمایش: بهشکل یک فیلد متنی ثابت.

منطق عملکرد و فیلترینگ
- محدودیت دامنه: این فیلد فقط دادههای همان صفحه یا بخش را فیلتر میکند.
- ترکیب با فیلترها: جستوجوی داخلی مکمل فیلترهای پیشرفته است. اگر کاربر فیلتری (مثلا وضعیت: فعال) اعمال کرده باشد، جستوجو فقط در میان آیتمهای فعال انجام میشود.
- حذف سریع: وجود آیکون
Xدر انتهای فیلد برای پاک کردن آنی متن الزامی است.
راهنمای پیادهسازی
بایدها
- وضوح محدوده (Scope): با استفاده از
Placeholderمشخص کنید جستوجو در کجا انجام میشود (مثلا: جستوجو در لیست سرورها...). - بازخورد بارگذاری: در صورت تاخیر در پاسخ سرور، از کامپوننت Spinner در داخل فیلد استفاده کنید.
- تشخیص خطا: الگوریتم باید قابلیت تشخیص خطاهای املایی جزیی (Fuzzy Search) را داشته باشد.
نبایدها
- در جستوجوی داخلی، نتایج خارج از صفحه جاری را نمایش ندهید، این کار باعث خروج ناخواسته کاربر از جریان کاری میشود.
- صفحه نتایج را در جستوجوی سراسری خالی نگذارید، در صورت نبود نتیجه، کاربر را به پشتیبانی یا مستندات هدایت کنید (Empty State).

