پرش به مطلب اصلی

تنظیمات 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 در این بخش تعریف می‌شوند.

کلیدتوضیح
dashboardroute اصلی dashboard که در redirectها و بعضی بخش‌های داخلی استفاده می‌شود

table_generator

'table_generator' => [
'default_driver' => Driver::MODEL,
'pagination_page_sizes' => [10, 20, 50, 100],
'default_operation' => '=',
'api_connections' => [],
],

تنظیمات کلی Table Generator را نگه می‌دارد.

کلیدتوضیح
default_driverdriver پیش‌فرض جدول‌ها
default_body_centeredاگر فعال شود، سلول‌های body به صورت پیش‌فرض centered می‌شوند
pagination_page_sizesاندازه‌های قابل انتخاب برای صفحه‌بندی
viewblade پیش‌فرض نمایش جدول
default_operationoperator پیش‌فرض فیلترها
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_bladesbladeهای اضافه برای تزریق در 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_localeslocaleهایی که 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_sortsort آیتم 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_pickertooltipهای File Picker
image_pickertooltipهای Image Picker
tableتنظیمات ظاهری Table
mapمحدودیت‌ها و boundaryهای Map
text_areaauto sizing و trim
modalقابل بسته شدن بودن Modal

نکات عملی

  • برای مرتب‌سازی dashboard از route macro sort() روی خود route استفاده می‌شود، نه از این فایل.
  • برای مرتب‌سازی level 1 آیتم Settings در sidebar از setting_ui.sidebar_sort استفاده می‌شود.
  • اگر asset سفارشی اضافه می‌کنید، مسیرها را در همین config نگه دارید تا رفتار پنل قابل پیگیری بماند.