تنظیمات Panel Kit
فایل config/dornica-panel-kit.php تنظیمات رابط کاربری پنل را نگه میدارد. این فایل routeهای داخلی پنل، table generator، theme، behavior بخش Settings UI و پیشفرض کامپوننتهای رابط کاربری را کنترل میکند.
اگر یک همکار جدید بخواهد ظاهر یا رفتار کلی پنل را تغییر دهد، معمولاً بعد از dornica-app.php سراغ این فایل میآید.
default_guard
'default_guard' => config('dornica-app.default_guard'),
Panel Kit به صورت پیشفرض guard خود را از dornica-app میگیرد. این کار باعث میشود لایه UI و هسته برنامه روی یک guard مشترک کار کنند.
routes
'routes' => [
'dashboard' => 'user.dashboard.index',
],
routeهای داخلی مورد استفاده Panel Kit در این بخش تعریف میشوند.
| کلید | توضیح |
|---|---|
dashboard | route اصلی dashboard که در redirectها و بعضی بخشهای داخلی استفاده میشود |
table_generator
'table_generator' => [
'default_driver' => Driver::MODEL,
'pagination_page_sizes' => [10, 20, 50, 100],
'default_operation' => '=',
'api_connections' => [],
],
تنظیمات کلی Table Generator را نگه میدارد.
| کلید | توضیح |
|---|---|
default_driver | driver پیشفرض جدولها |
default_body_centered | اگر فعال شود، سلولهای body به صورت پیشفرض centered میشوند |
pagination_page_sizes | اندازههای قابل انتخاب برای صفحهبندی |
view | blade پیشفرض نمایش جدول |
default_operation | operator پیشفرض فیلترها |
api_connections | اتصالهای قابل استفاده برای جدولهای API-based |
table_generator.default_driver
مقدار پیشفرض package برابر Driver::MODEL است. یعنی Table Generator ابتدا برای جدولهایی طراحی شده که مستقیماً روی modelها کار میکنند.
table_generator.api_connections
'api_connections' => [
/*
'gateway1' => [
'driver' => Dornica\PanelKit\Generator\Table\Enums\API\Driver::DORAPI,
'base_url' => 'https://api.dornica.net/v1',
'headers' => [
'X-Auth-Key' => '...',
],
],
*/
],
اگر جدول از API خارجی یا API داخلی پروژه داده میگیرد، connectionهای reusable در این بخش تعریف میشوند.
current_theme
'current_theme' => 'default',
theme فعال پنل را تعیین میکند. default package از theme پیشفرض خودش استفاده میکند.
theme.assets
'theme' => [
'assets' => [
'favicon' => 'vendor/dornica/panel-kit/images/default/favicon.ico',
'default_logo' => 'vendor/dornica/panel-kit/images/default/default.png',
'css' => [],
'js' => [],
'pre_scripts' => [],
'additional_blades' => [],
],
],
این بخش assetها و hookهای نمایشی پنل را نگه میدارد.
| کلید | توضیح |
|---|---|
favicon | آیکن پنل |
default_logo | لوگوی پیشفرض |
css | فایلهای CSS اضافه |
js | فایلهای JavaScript اضافه |
pre_scripts | اسکریپتهایی که قبل از اسکریپتهای اصلی load میشوند |
additional_blades | bladeهای اضافه برای تزریق در layout |
default package این ساختار را آماده میگذارد، اما بیشتر آرایههای تزریقی را خالی نگه میدارد تا پروژه فقط موارد مورد نیاز خودش را اضافه کند.
validation
'validation' => [
'enable_number_separator' => false,
'enable_rtl_date_fix' => false,
'rtl_locales' => ['fa', 'ar', 'he'],
],
بهبودهای مربوط به نمایش validation messageها در رابط کاربری را کنترل میکند.
| کلید | توضیح |
|---|---|
enable_number_separator | جداکننده هزارگان در messageهای validation |
enable_rtl_date_fix | اصلاح نمایش تاریخ در زبانهای RTL |
rtl_locales | localeهایی که RTL در نظر گرفته میشوند |
setting_ui
'setting_ui' => [
'updated_format_date' => 'Y-m-d H:i:s',
'sidebar_sort' => 9999,
'components' => [
'image_picker' => [
'radius' => 100,
'showPopup' => true,
'width' => '45px',
'height' => '45px',
'fit' => 'cover',
],
],
],
تنظیمات UI مربوط به ماژول Settings را نگه میدارد.
| کلید | توضیح |
|---|---|
updated_format_date | فرمت نمایش آخرین زمان بهروزرسانی |
sidebar_sort | sort آیتم level 1 مربوط به Settings در sidebar |
components.image_picker | تنظیمات پیشفرض image picker در Settings UI |
default package برای sidebar_sort مقدار 9999 را در نظر گرفته تا Settings به صورت طبیعی در انتهای آیتمهای اصلی قرار بگیرد، مگر اینکه پروژه عمداً آن را تغییر دهد.
components
'components' => [
'number_input' => [
'text_align' => 'right',
],
'date_pickers' => [
'text_align' => 'right',
'allow_typing' => false,
'auto_close' => true,
],
'text_area' => [
'auto_sizing' => false,
'trim' => false,
],
'modal' => [
'closable' => true,
],
],
این بخش پیشفرض project-wide کامپوننتهای UI را مشخص میکند. بیشتر این مقدارها را میتوان در هر کامپوننت به صورت موردی override کرد، اما این فایل رفتار پیشفرض کل پنل را تعیین میکند.
گروههای اصلی:
| بخش | کاربرد |
|---|---|
number_input | رفتار پیشفرض Number Input |
date_pickers | تنظیمات Datetime Picker و Datetime Range Picker |
select | رفتار Select و MultiSelect |
data_item | مقدار پیشفرض Data Item |
file_picker | tooltipهای File Picker |
image_picker | tooltipهای Image Picker |
table | تنظیمات ظاهری Table |
map | محدودیتها و boundaryهای Map |
text_area | auto sizing و trim |
modal | قابل بسته شدن بودن Modal |
نکات عملی
- برای مرتبسازی dashboard از route macro
sort()روی خود route استفاده میشود، نه از این فایل. - برای مرتبسازی level 1 آیتم Settings در sidebar از
setting_ui.sidebar_sortاستفاده میشود. - اگر asset سفارشی اضافه میکنید، مسیرها را در همین config نگه دارید تا رفتار پنل قابل پیگیری بماند.