*/ private const LABELS = [ Attendance::class => 'Presensi', CashAccount::class => 'Akun Kas', CashTransaction::class => 'Transaksi Kas', Category::class => 'Kategori', Customer::class => 'Pelanggan', Cutting::class => 'Cutting', CuttingMaterial::class => 'Bahan Cutting', CuttingResult::class => 'Hasil Cutting', CuttingResultPrice::class => 'Harga Hasil Cutting', Employee::class => 'Pegawai', EmployeeAdvance::class => 'Kasbon', Expense::class => 'Pengeluaran', LeaveRequest::class => 'Pengajuan Cuti', Order::class => 'Pesanan', OrderItem::class => 'Item Pesanan', Payroll::class => 'Gaji', PayrollAdjustment::class => 'Penyesuaian Gaji', PayrollPeriod::class => 'Periode Gaji', Product::class => 'Produk', ProductVariant::class => 'Varian Produk', Purchase::class => 'Belanja', PurchaseItem::class => 'Item Belanja', RawMaterial::class => 'Bahan Baku', RawMaterialPrice::class => 'Harga Bahan Baku', Rejection::class => 'Penolakan', Supplier::class => 'Supplier', SystemConfiguration::class => 'Konfigurasi Sistem', User::class => 'Pengguna', UserProfile::class => 'Profil Pengguna', \App\Settings\MarketplaceSettings::class => 'Pengaturan Marketplace', ]; public static function for(?string $modelClass): string { if ($modelClass === null) { return '-'; } return self::LABELS[$modelClass] ?? class_basename($modelClass); } /** * @return list */ public static function selectOptions(): array { return collect(self::LABELS) ->map(fn (string $label, string $class) => [ 'value' => $class, 'label' => $label, ]) ->sortBy('label') ->values() ->all(); } }