├── src ├── Console │ ├── stubs │ │ └── routes.stub │ ├── AdminLteUpdateCommand.php │ └── PackageResources │ │ ├── PackageResource.php │ │ ├── ConfigResource.php │ │ ├── TranslationsResource.php │ │ └── AuthRoutesResource.php ├── Menu │ └── Filters │ │ ├── FilterInterface.php │ │ ├── DataFilter.php │ │ ├── ActiveFilter.php │ │ ├── GateFilter.php │ │ ├── SearchFilter.php │ │ ├── ClassesFilter.php │ │ ├── HrefFilter.php │ │ └── LangFilter.php ├── Helpers │ ├── UtilsHelper.php │ ├── SidebarItemHelper.php │ ├── PreloaderHelper.php │ ├── MenuItemHelper.php │ └── NavbarItemHelper.php ├── Http │ └── Controllers │ │ ├── Controller.php │ │ └── DarkModeController.php ├── Events │ ├── BuildingMenu.php │ ├── DarkModeWasToggled.php │ └── ReadingDarkModePreference.php └── View │ └── Components │ ├── Form │ ├── Traits │ │ └── OldValueSupportTrait.php │ ├── Input.php │ ├── Select.php │ ├── Textarea.php │ ├── InputColor.php │ ├── Select2.php │ ├── Button.php │ ├── InputFile.php │ ├── DateRange.php │ ├── SelectBs.php │ ├── TextEditor.php │ ├── InputSlider.php │ ├── InputSwitch.php │ ├── InputDate.php │ └── Options.php │ └── Widget │ ├── Callout.php │ ├── Alert.php │ ├── SmallBox.php │ └── ProfileColItem.php ├── resources ├── views │ ├── partials │ │ ├── footer │ │ │ └── footer.blade.php │ │ ├── sidebar │ │ │ ├── right-sidebar.blade.php │ │ │ ├── menu-item-header.blade.php │ │ │ ├── menu-item-search-menu.blade.php │ │ │ ├── menu-item-link.blade.php │ │ │ ├── menu-item-search-form.blade.php │ │ │ ├── menu-item.blade.php │ │ │ ├── menu-item-treeview-menu.blade.php │ │ │ └── left-sidebar.blade.php │ │ ├── navbar │ │ │ ├── menu-item-fullscreen-widget.blade.php │ │ │ ├── dropdown-item.blade.php │ │ │ ├── menu-item-left-sidebar-toggler.blade.php │ │ │ ├── menu-item-right-sidebar-toggler.blade.php │ │ │ ├── menu-item-logout-link.blade.php │ │ │ ├── dropdown-item-link.blade.php │ │ │ ├── menu-item-link.blade.php │ │ │ ├── menu-item-dropdown-menu.blade.php │ │ │ ├── dropdown-item-submenu.blade.php │ │ │ ├── menu-item-search-form.blade.php │ │ │ ├── navbar.blade.php │ │ │ ├── menu-item.blade.php │ │ │ └── navbar-layout-topnav.blade.php │ │ ├── common │ │ │ ├── preloader.blade.php │ │ │ ├── brand-logo-xs.blade.php │ │ │ └── brand-logo-xl.blade.php │ │ └── cwrapper │ │ │ └── cwrapper-default.blade.php │ ├── components │ │ ├── form │ │ │ ├── button.blade.php │ │ │ ├── textarea.blade.php │ │ │ ├── input.blade.php │ │ │ ├── options.blade.php │ │ │ ├── select.blade.php │ │ │ ├── select-bs.blade.php │ │ │ ├── input-color.blade.php │ │ │ ├── input-group-component.blade.php │ │ │ ├── input-date.blade.php │ │ │ ├── text-editor.blade.php │ │ │ ├── input-file.blade.php │ │ │ ├── input-file-krajee.blade.php │ │ │ └── input-switch.blade.php │ │ ├── widget │ │ │ ├── callout.blade.php │ │ │ ├── alert.blade.php │ │ │ ├── profile-row-item.blade.php │ │ │ ├── profile-col-item.blade.php │ │ │ ├── profile-widget.blade.php │ │ │ ├── card.blade.php │ │ │ ├── progress.blade.php │ │ │ └── small-box.blade.php │ │ ├── tool │ │ │ ├── modal.blade.php │ │ │ └── datatable.blade.php │ │ └── layout │ │ │ └── navbar-darkmode-widget.blade.php │ ├── auth │ │ ├── verify.blade.php │ │ ├── passwords │ │ │ ├── email.blade.php │ │ │ ├── confirm.blade.php │ │ │ └── reset.blade.php │ │ └── auth-page.blade.php │ ├── plugins.blade.php │ └── page.blade.php └── lang │ ├── zh-CN │ ├── menu.php │ └── adminlte.php │ ├── ja │ ├── menu.php │ └── adminlte.php │ ├── fa │ ├── menu.php │ ├── iframe.php │ └── adminlte.php │ ├── la │ ├── menu.php │ └── adminlte.php │ ├── tr │ ├── menu.php │ └── adminlte.php │ ├── vi │ ├── menu.php │ └── adminlte.php │ ├── id │ ├── menu.php │ └── adminlte.php │ ├── de │ ├── menu.php │ ├── iframe.php │ └── adminlte.php │ ├── en │ ├── menu.php │ ├── iframe.php │ └── adminlte.php │ ├── pl │ ├── menu.php │ └── adminlte.php │ ├── sk │ ├── menu.php │ ├── iframe.php │ └── adminlte.php │ ├── bn │ ├── menu.php │ ├── iframe.php │ └── adminlte.php │ ├── pt-br │ ├── menu.php │ └── adminlte.php │ ├── uk │ ├── menu.php │ └── adminlte.php │ ├── fr │ ├── menu.php │ ├── iframe.php │ └── adminlte.php │ ├── ru │ ├── menu.php │ └── adminlte.php │ ├── es │ ├── menu.php │ ├── iframe.php │ └── adminlte.php │ ├── pt-pt │ ├── menu.php │ ├── iframe.php │ └── adminlte.php │ ├── it │ ├── menu.php │ ├── iframe.php │ └── adminlte.php │ ├── sr │ ├── menu.php │ └── adminlte.php │ ├── hr │ └── adminlte.php │ ├── hu │ └── adminlte.php │ ├── ar │ └── adminlte.php │ ├── ca │ └── adminlte.php │ └── nl │ └── adminlte.php ├── .editorconfig ├── routes └── web.php ├── composer.json └── LICENSE /src/Console/stubs/routes.stub: -------------------------------------------------------------------------------- 1 | 2 | Auth::routes(); 3 | -------------------------------------------------------------------------------- /resources/views/partials/footer/footer.blade.php: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /resources/views/partials/sidebar/right-sidebar.blade.php: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /resources/views/partials/navbar/menu-item-fullscreen-widget.blade.php: -------------------------------------------------------------------------------- 1 | 6 | -------------------------------------------------------------------------------- /resources/views/partials/sidebar/menu-item-header.blade.php: -------------------------------------------------------------------------------- 1 | 6 | -------------------------------------------------------------------------------- /resources/views/components/form/button.blade.php: -------------------------------------------------------------------------------- 1 | 5 | -------------------------------------------------------------------------------- /.editorconfig: -------------------------------------------------------------------------------- 1 | ; This file is for unifying the coding style for different editors and IDEs. 2 | ; More information at http://editorconfig.org 3 | 4 | root = true 5 | 6 | [*] 7 | charset = utf-8 8 | end_of_line = lf 9 | indent_size = 4 10 | indent_style = space 11 | insert_final_newline = true 12 | trim_trailing_whitespace = true 13 | 14 | [*.md] 15 | trim_trailing_whitespace = false 16 | 17 | [*.{yml,yaml}] 18 | indent_size = 2 19 | -------------------------------------------------------------------------------- /src/Menu/Filters/FilterInterface.php: -------------------------------------------------------------------------------- 1 | isSubmenu($item)) 4 | 5 | {{-- Dropdown submenu --}} 6 | @include('adminlte::partials.navbar.dropdown-item-submenu') 7 | 8 | @elseif ($navbarItemHelper->isLink($item)) 9 | 10 | {{-- Dropdown link --}} 11 | @include('adminlte::partials.navbar.dropdown-item-link') 12 | 13 | @endif 14 | -------------------------------------------------------------------------------- /src/Http/Controllers/Controller.php: -------------------------------------------------------------------------------- 1 | '主导航', 6 | 'blog' => '博客', 7 | 'pages' => '页面', 8 | 'account_settings' => '账户设置', 9 | 'profile' => '用户信息', 10 | 'change_password' => '修改密码', 11 | 'multilevel' => '多级', 12 | 'level_one' => '第一级', 13 | 'level_two' => '第二级', 14 | 'level_three' => '第三级', 15 | 'labels' => '标签', 16 | 'important' => '重要', 17 | 'warning' => '警告', 18 | 'information' => '信息', 19 | ]; 20 | -------------------------------------------------------------------------------- /resources/views/components/widget/callout.blade.php: -------------------------------------------------------------------------------- 1 |
merge(['class' => $makeCalloutClass()]) }}> 2 | 3 | {{-- Callout title --}} 4 | @if(! empty($title) || ! empty($icon)) 5 |
6 | @isset($icon) @endisset 7 | @isset($title) {{ $title }} @endisset 8 |
9 | @endif 10 | 11 | {{-- Callout content --}} 12 | {{ $slot }} 13 | 14 |
15 | -------------------------------------------------------------------------------- /resources/lang/ja/menu.php: -------------------------------------------------------------------------------- 1 | 'メインメニュー', 6 | 'blog' => 'ブログ', 7 | 'pages' => 'ページ', 8 | 'account_settings' => 'アカウント設定', 9 | 'profile' => 'プロフィール', 10 | 'change_password' => 'パスワード変更', 11 | 'multilevel' => 'マルチ階層', 12 | 'level_one' => '階層 1', 13 | 'level_two' => '階層 2', 14 | 'level_three' => '階層 3', 15 | 'labels' => 'ラベル', 16 | 'important' => '重要', 17 | 'warning' => '警告', 18 | 'information' => 'インフォメーション', 19 | ]; 20 | -------------------------------------------------------------------------------- /resources/views/components/form/textarea.blade.php: -------------------------------------------------------------------------------- 1 | @extends('adminlte::components.form.input-group-component') 2 | 3 | {{-- Set errors bag internallly --}} 4 | 5 | @php($setErrorsBag($errors ?? null)) 6 | 7 | {{-- Set input group item section --}} 8 | 9 | @section('input_group_item') 10 | 11 | {{-- Textarea --}} 12 | 15 | 16 | @overwrite 17 | -------------------------------------------------------------------------------- /src/Events/BuildingMenu.php: -------------------------------------------------------------------------------- 1 | menu = $menu; 24 | } 25 | } 26 | -------------------------------------------------------------------------------- /resources/views/components/form/input.blade.php: -------------------------------------------------------------------------------- 1 | @extends('adminlte::components.form.input-group-component') 2 | 3 | {{-- Set errors bag internallly --}} 4 | 5 | @php($setErrorsBag($errors ?? null)) 6 | 7 | {{-- Set input group item section --}} 8 | 9 | @section('input_group_item') 10 | 11 | {{-- Input --}} 12 | merge(['class' => $makeItemClass()]) }}> 15 | 16 | @overwrite 17 | -------------------------------------------------------------------------------- /resources/lang/fa/menu.php: -------------------------------------------------------------------------------- 1 | 'ناو بار اصلی', 6 | 'blog' => 'بلاگ', 7 | 'pages' => 'صفحات', 8 | 'account_settings' => 'تنظیمات اکانت', 9 | 'profile' => 'پروفایل', 10 | 'change_password' => 'تغییر رمز عبور', 11 | 'multilevel' => 'چند سطحی', 12 | 'level_one' => 'سطح ۱', 13 | 'level_two' => 'سطح ۲', 14 | 'level_three' => 'سطح ۳', 15 | 'labels' => 'برچسب ها', 16 | 'important' => 'مهم', 17 | 'warning' => 'هشدار', 18 | 'information' => 'اطلاعات', 19 | ]; 20 | -------------------------------------------------------------------------------- /resources/lang/la/menu.php: -------------------------------------------------------------------------------- 1 | 'ໜ້າຫຼັກ', 6 | 'blog' => 'blog', 7 | 'pages' => 'ໜ້າ', 8 | 'account_settings' => 'ຕັ້ງຄ່າບັນຊີ', 9 | 'profile' => 'ໂປຣຟາຍ', 10 | 'change_password' => 'ປ່ຽນລະຫັດຜ່ານ', 11 | 'multilevel' => 'ຫຼາກຫຼາຍລະດັບ', 12 | 'level_one' => 'ລະດັບທີ 1', 13 | 'level_two' => 'ລະດັບທີ 2', 14 | 'level_three' => 'ລະດັບທີ 3', 15 | 'labels' => 'ແຖບ', 16 | 'important' => 'ສຳຄັນ', 17 | 'warning' => 'ຄຳເຕືອນ', 18 | 'information' => 'ຂໍ້ມູນ', 19 | ]; 20 | -------------------------------------------------------------------------------- /resources/lang/tr/menu.php: -------------------------------------------------------------------------------- 1 | 'ANA MENÜ', 6 | 'blog' => 'Blog', 7 | 'pages' => 'Sayfalar', 8 | 'account_settings' => 'HESAP AYARLARI', 9 | 'profile' => 'Profil', 10 | 'change_password' => 'Parolanı değiştir', 11 | 'multilevel' => 'Çoklu Seviye', 12 | 'level_one' => 'Seviye 1', 13 | 'level_two' => 'Seviye 2', 14 | 'level_three' => 'Seviye 3', 15 | 'labels' => 'ETİKETLER', 16 | 'important' => 'Önemli', 17 | 'warning' => 'Uyarı', 18 | 'information' => 'Bilgi', 19 | ]; 20 | -------------------------------------------------------------------------------- /resources/lang/vi/menu.php: -------------------------------------------------------------------------------- 1 | 'ĐIỀU HƯỚNG CHÍNH', 6 | 'blog' => 'Blog', 7 | 'pages' => 'Trang', 8 | 'account_settings' => 'CÀI ĐẶT TÀI KHOẢN', 9 | 'profile' => 'Hồ sơ', 10 | 'change_password' => 'Đổi mật khẩu', 11 | 'multilevel' => 'Đa cấp', 12 | 'level_one' => 'Cấp độ 1', 13 | 'level_two' => 'Cấp độ 2', 14 | 'level_three' => 'Cấp độ 3', 15 | 'labels' => 'NHÃN', 16 | 'Important' => 'Quan trọng', 17 | 'Warning' => 'Cảnh báo', 18 | 'Information' => 'Thông tin', 19 | ]; 20 | -------------------------------------------------------------------------------- /resources/lang/id/menu.php: -------------------------------------------------------------------------------- 1 | 'NAVIGASI UTAMA', 6 | 'blog' => 'Blog', 7 | 'pages' => 'Halaman', 8 | 'account_settings' => 'PENGATURAN AKUN', 9 | 'profile' => 'Profil', 10 | 'change_password' => 'Ubah Kata Sandi', 11 | 'multilevel' => 'Multi Level', 12 | 'level_one' => 'Level 1', 13 | 'level_two' => 'Level 2', 14 | 'level_three' => 'Level 3', 15 | 'labels' => 'LABEL', 16 | 'important' => 'Penting', 17 | 'warning' => 'Peringatan', 18 | 'information' => 'Informasi', 19 | ]; 20 | -------------------------------------------------------------------------------- /resources/lang/de/menu.php: -------------------------------------------------------------------------------- 1 | 'HAUPTMENÜ', 6 | 'blog' => 'Blog', 7 | 'pages' => 'Seiten', 8 | 'account_settings' => 'KONTOEINSTELLUNGEN', 9 | 'profile' => 'Profil', 10 | 'change_password' => 'Passwort ändern', 11 | 'multilevel' => 'Multi Level', 12 | 'level_one' => 'Level 1', 13 | 'level_two' => 'Level 2', 14 | 'level_three' => 'Level 3', 15 | 'labels' => 'Beschriftungen', 16 | 'important' => 'Wichtig', 17 | 'warning' => 'Warnung', 18 | 'information' => 'Information', 19 | ]; 20 | -------------------------------------------------------------------------------- /resources/lang/en/menu.php: -------------------------------------------------------------------------------- 1 | 'MAIN NAVIGATION', 6 | 'blog' => 'Blog', 7 | 'pages' => 'Pages', 8 | 'account_settings' => 'ACCOUNT SETTINGS', 9 | 'profile' => 'Profile', 10 | 'change_password' => 'Change Password', 11 | 'multilevel' => 'Multi Level', 12 | 'level_one' => 'Level 1', 13 | 'level_two' => 'Level 2', 14 | 'level_three' => 'Level 3', 15 | 'labels' => 'LABELS', 16 | 'important' => 'Important', 17 | 'warning' => 'Warning', 18 | 'information' => 'Information', 19 | ]; 20 | -------------------------------------------------------------------------------- /resources/lang/pl/menu.php: -------------------------------------------------------------------------------- 1 | 'GŁÓWNA NAWIGACJA', 6 | 'blog' => 'Blog', 7 | 'pages' => 'Strony', 8 | 'account_settings' => 'USTAWIENIA KONTA', 9 | 'profile' => 'Profil', 10 | 'change_password' => 'Zmień hasło', 11 | 'multilevel' => 'Wielopoziomowe', 12 | 'level_one' => 'Poziom 1', 13 | 'level_two' => 'Poziom 2', 14 | 'level_three' => 'Poziom 3', 15 | 'labels' => 'ETYKIETY', 16 | 'important' => 'Ważne', 17 | 'warning' => 'Ostrzeżenie', 18 | 'information' => 'Informacja', 19 | ]; 20 | -------------------------------------------------------------------------------- /resources/lang/sk/menu.php: -------------------------------------------------------------------------------- 1 | 'HLAVNÁ NAVIGÁCIA', 6 | 'blog' => 'Blog', 7 | 'pages' => 'Stránky', 8 | 'account_settings' => 'NASTAVENIA KONTA', 9 | 'profile' => 'Profil', 10 | 'change_password' => 'Zmena hesla', 11 | 'multilevel' => 'Viac úrovňové', 12 | 'level_one' => 'Úroveň 1', 13 | 'level_two' => 'Úroveň 2', 14 | 'level_three' => 'Úroveň 3', 15 | 'labels' => 'ŠTÍTKY', 16 | 'important' => 'Dôležité', 17 | 'warning' => 'Varovanie', 18 | 'information' => 'Informácie', 19 | ]; 20 | -------------------------------------------------------------------------------- /resources/lang/bn/menu.php: -------------------------------------------------------------------------------- 1 | 'প্রধান নেভিগেশান', 6 | 'blog' => 'ব্লগ', 7 | 'pages' => 'পেজ', 8 | 'account_settings' => 'অ্যাকাউন্ট সেটিংস', 9 | 'profile' => 'প্রোফাইল', 10 | 'change_password' => 'পাসওয়ার্ড পরিবর্তন করুন', 11 | 'multilevel' => 'মাল্টি লেভেল', 12 | 'level_one' => 'লেভেল ১', 13 | 'level_two' => 'লেভেল ২', 14 | 'level_three' => 'লেভেল ৩', 15 | 'labels' => 'লেবেল', 16 | 'important' => 'গুরুত্বপূর্ণ', 17 | 'warning' => 'সতর্কতা', 18 | 'information' => 'তথ্য', 19 | ]; 20 | -------------------------------------------------------------------------------- /resources/lang/pt-br/menu.php: -------------------------------------------------------------------------------- 1 | 'Navegação Principal', 6 | 'blog' => 'Blog', 7 | 'pages' => 'Página', 8 | 'account_settings' => 'Configurações da Conta', 9 | 'profile' => 'Perfil', 10 | 'change_password' => 'Mudar Senha', 11 | 'multilevel' => 'Multinível', 12 | 'level_one' => 'Nível 1', 13 | 'level_two' => 'Nível 2', 14 | 'level_three' => 'Nível 3', 15 | 'labels' => 'Etiquetas', 16 | 'Important' => 'Importante', 17 | 'Warning' => 'Aviso', 18 | 'Information' => 'Informação', 19 | ]; 20 | -------------------------------------------------------------------------------- /resources/lang/uk/menu.php: -------------------------------------------------------------------------------- 1 | 'ГОЛОВНЕ МЕНЮ', 6 | 'blog' => 'Блог', 7 | 'pages' => 'Сторінки', 8 | 'account_settings' => 'НАЛАШТУВАННЯ ПРОФІЛЮ', 9 | 'profile' => 'Профіль', 10 | 'change_password' => 'Змінити пароль', 11 | 'multilevel' => 'Багаторівневе меню', 12 | 'level_one' => 'Рівень 1', 13 | 'level_two' => 'Рівень 2', 14 | 'level_three' => 'Рівень 3', 15 | 'labels' => 'Мітки', 16 | 'important' => 'Важливо', 17 | 'warning' => 'Увага', 18 | 'information' => 'Інформація', 19 | ]; 20 | -------------------------------------------------------------------------------- /resources/lang/fr/menu.php: -------------------------------------------------------------------------------- 1 | 'MENU PRINCIPALE', 6 | 'blog' => 'Blog', 7 | 'pages' => 'Pages', 8 | 'account_settings' => 'PARAMÈTRES DU COMPTE', 9 | 'profile' => 'Profil', 10 | 'change_password' => 'Change Password', 11 | 'multilevel' => 'Multi niveau', 12 | 'level_one' => 'Niveau 1', 13 | 'level_two' => 'Niveau 2', 14 | 'level_three' => 'Niveau 3', 15 | 'labels' => 'LABELS', 16 | 'important' => 'Important', 17 | 'warning' => 'Avertissement', 18 | 'information' => 'Informations', 19 | ]; 20 | -------------------------------------------------------------------------------- /resources/lang/ru/menu.php: -------------------------------------------------------------------------------- 1 | 'ГЛАВНОЕ МЕНЮ', 6 | 'blog' => 'Блог', 7 | 'pages' => 'Страницы', 8 | 'account_settings' => 'НАСТРОЙКИ ПРОФИЛЯ', 9 | 'profile' => 'Профиль', 10 | 'change_password' => 'Изменить пароль', 11 | 'multilevel' => 'Многоуровневое меню', 12 | 'level_one' => 'Уровень 1', 13 | 'level_two' => 'Уровень 2', 14 | 'level_three' => 'Уровень 3', 15 | 'labels' => 'Метки', 16 | 'important' => 'Важно', 17 | 'warning' => 'Внимание', 18 | 'information' => 'Информация', 19 | ]; 20 | -------------------------------------------------------------------------------- /resources/lang/es/menu.php: -------------------------------------------------------------------------------- 1 | 'MENU PRINCIPAL', 6 | 'blog' => 'Blog', 7 | 'pages' => 'Páginas', 8 | 'account_settings' => 'AJUSTES DE LA CUENTA', 9 | 'profile' => 'Perfil', 10 | 'change_password' => 'Cambiar Contraseña', 11 | 'multilevel' => 'Multi Nivel', 12 | 'level_one' => 'Nivel 1', 13 | 'level_two' => 'Nivel 2', 14 | 'level_three' => 'Nivel 3', 15 | 'labels' => 'ETIQUETAS', 16 | 'important' => 'Importante', 17 | 'warning' => 'Advertencia', 18 | 'information' => 'Información', 19 | ]; 20 | -------------------------------------------------------------------------------- /resources/lang/pt-pt/menu.php: -------------------------------------------------------------------------------- 1 | 'Navegação Principal', 6 | 'blog' => 'Blog', 7 | 'pages' => 'Página', 8 | 'account_settings' => 'Configurações da Conta', 9 | 'profile' => 'Perfil', 10 | 'change_password' => 'Mudar Palavra-passe', 11 | 'multilevel' => 'Multinível', 12 | 'level_one' => 'Nível 1', 13 | 'level_two' => 'Nível 2', 14 | 'level_three' => 'Nível 3', 15 | 'labels' => 'Etiquetas', 16 | 'Important' => 'Importante', 17 | 'Warning' => 'Aviso', 18 | 'Information' => 'Informação', 19 | ]; 20 | -------------------------------------------------------------------------------- /resources/lang/it/menu.php: -------------------------------------------------------------------------------- 1 | 'MENU PRINCIPALE', 6 | 'blog' => 'Blog', 7 | 'pages' => 'Pagine', 8 | 'account_settings' => 'IMPOSTAZIONI ACCOUNT', 9 | 'profile' => 'Profilo', 10 | 'change_password' => 'Modifica Password', 11 | 'multilevel' => 'Multi Livello', 12 | 'level_one' => 'Livello 1', 13 | 'level_two' => 'Livello 2', 14 | 'level_three' => 'Livello 3', 15 | 'labels' => 'ETICHETTE', 16 | 'important' => 'Importante', 17 | 'warning' => 'Avvertimento', 18 | 'information' => 'Informazione', 19 | ]; 20 | -------------------------------------------------------------------------------- /src/Events/DarkModeWasToggled.php: -------------------------------------------------------------------------------- 1 | darkMode = $ctrl; 24 | } 25 | } 26 | -------------------------------------------------------------------------------- /resources/lang/sr/menu.php: -------------------------------------------------------------------------------- 1 | 'GLAVNA NAVIGACIJA', 6 | 'blog' => 'Blog', 7 | 'pages' => 'Strane', 8 | 'account_settings' => 'PODEŠAVANJA NALOGA', 9 | 'profile' => 'Profil', 10 | 'change_password' => 'Promena lozinke', 11 | 'multilevel' => 'Više nivoa', 12 | 'level_one' => 'Nivo 1', 13 | 'level_two' => 'Nivo 2', 14 | 'level_three' => 'Nivo 3', 15 | 'labels' => 'OZNAKE', 16 | 'important' => 'Važno', 17 | 'warning' => 'Upozorenje', 18 | 'information' => 'Informacije', 19 | 'menu' => 'MENI', 20 | 'users' => 'Korisnici', 21 | ]; 22 | -------------------------------------------------------------------------------- /src/Events/ReadingDarkModePreference.php: -------------------------------------------------------------------------------- 1 | darkMode = $ctrl; 24 | } 25 | } 26 | -------------------------------------------------------------------------------- /resources/lang/zh-CN/adminlte.php: -------------------------------------------------------------------------------- 1 | '姓名', 6 | 'email' => '邮箱', 7 | 'password' => '密码', 8 | 'retype_password' => '重输密码', 9 | 'remember_me' => '记住我', 10 | 'register' => '注册', 11 | 'register_a_new_membership' => '注册新用户', 12 | 'i_forgot_my_password' => '忘记密码', 13 | 'i_already_have_a_membership' => '已经有账户', 14 | 'sign_in' => '登录', 15 | 'log_out' => '退出', 16 | 'toggle_navigation' => '切换导航', 17 | 'login_message' => '请先登录', 18 | 'register_message' => '注册新用户', 19 | 'password_reset_message' => '重置密码', 20 | 'reset_password' => '重置密码', 21 | 'send_password_reset_link' => '发送密码重置链接', 22 | ]; 23 | -------------------------------------------------------------------------------- /resources/views/components/form/options.blade.php: -------------------------------------------------------------------------------- 1 | {{-- Empty option --}} 2 | @if(isset($emptyOption)) 3 | 4 | 7 | 8 | {{-- Placeholder option --}} 9 | @elseif(isset($placeholder)) 10 | 11 | 14 | 15 | @endif 16 | 17 | {{-- Other options --}} 18 | @foreach($options as $key => $value) 19 | 20 | 25 | 26 | @endforeach 27 | -------------------------------------------------------------------------------- /resources/views/partials/navbar/menu-item-left-sidebar-toggler.blade.php: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /resources/views/components/widget/alert.blade.php: -------------------------------------------------------------------------------- 1 |
merge(['class' => $makeAlertClass()]) }}> 2 | 3 | {{-- Dismiss button --}} 4 | @isset($dismissable) 5 | 8 | @endisset 9 | 10 | {{-- Alert header --}} 11 | @if(! empty($title) || ! empty($icon)) 12 |
13 | @if(! empty($icon)) 14 | 15 | @endif 16 | 17 | @if(! empty($title)) 18 | {{ $title }} 19 | @endif 20 |
21 | @endif 22 | 23 | {{-- Alert content --}} 24 | {{ $slot }} 25 | 26 |
27 | -------------------------------------------------------------------------------- /resources/views/partials/navbar/menu-item-right-sidebar-toggler.blade.php: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /resources/lang/en/iframe.php: -------------------------------------------------------------------------------- 1 | 'Close', 17 | 'btn_close_active' => 'Close Active', 18 | 'btn_close_all' => 'Close All', 19 | 'btn_close_all_other' => 'Close Everything Else', 20 | 'tab_empty' => 'No tab selected!', 21 | 'tab_home' => 'Home', 22 | 'tab_loading' => 'Tab is loading', 23 | 24 | ]; 25 | -------------------------------------------------------------------------------- /resources/lang/fa/iframe.php: -------------------------------------------------------------------------------- 1 | 'بستن', 17 | 'btn_close_active' => 'بستن فعال', 18 | 'btn_close_all' => 'بستن همه', 19 | 'btn_close_all_other' => 'بستن همه چیز دیگر', 20 | 'tab_empty' => 'هیچ تب ای انتخاب نشده است', 21 | 'tab_home' => 'خانه', 22 | 'tab_loading' => 'تب در حال بارگیری است', 23 | ]; 24 | -------------------------------------------------------------------------------- /resources/views/partials/sidebar/menu-item-search-menu.blade.php: -------------------------------------------------------------------------------- 1 |
  • 2 | 3 |
    4 |
    5 | 6 | {{-- Search input --}} 7 | 11 | 12 | {{-- Search button --}} 13 |
    14 | 17 |
    18 | 19 |
    20 |
    21 | 22 |
  • 23 | -------------------------------------------------------------------------------- /resources/lang/it/iframe.php: -------------------------------------------------------------------------------- 1 | 'Chiudi', 17 | 'btn_close_active' => 'Chiudi scheda', 18 | 'btn_close_all' => 'Chiudi tutto', 19 | 'btn_close_all_other' => 'Chiudi tutto il resto', 20 | 'tab_empty' => 'Nessuna scheda selezionata!', 21 | 'tab_home' => 'Home', 22 | 'tab_loading' => 'Caricamento scheda', 23 | ]; 24 | -------------------------------------------------------------------------------- /resources/lang/sk/iframe.php: -------------------------------------------------------------------------------- 1 | 'Zavrieť', 17 | 'btn_close_active' => 'Zavrieť aktívne', 18 | 'btn_close_all' => 'Zavrieť všetky', 19 | 'btn_close_all_other' => 'Zavrieť všetky ostatné', 20 | 'tab_empty' => 'Nie je vybraný tab!', 21 | 'tab_home' => 'Domov', 22 | 'tab_loading' => 'Tab sa načítava', 23 | 24 | ]; 25 | -------------------------------------------------------------------------------- /resources/lang/de/iframe.php: -------------------------------------------------------------------------------- 1 | 'Schließen', 17 | 'btn_close_active' => 'Aktive schließen', 18 | 'btn_close_all' => 'Alle schließen', 19 | 'btn_close_all_other' => 'Alle anderen schließen', 20 | 'tab_empty' => 'Kein Tab ausgewählt!', 21 | 'tab_home' => 'Home', 22 | 'tab_loading' => 'Tab wird geladen', 23 | 24 | ]; 25 | -------------------------------------------------------------------------------- /resources/lang/es/iframe.php: -------------------------------------------------------------------------------- 1 | 'Cerrar', 17 | 'btn_close_active' => 'Cerrar Activa', 18 | 'btn_close_all' => 'Cerrar Todas', 19 | 'btn_close_all_other' => 'Cerrar Las Demás', 20 | 'tab_empty' => 'Ninguna pestaña seleccionada!', 21 | 'tab_home' => 'Inicio', 22 | 'tab_loading' => 'Cargando pestaña', 23 | 24 | ]; 25 | -------------------------------------------------------------------------------- /resources/lang/hr/adminlte.php: -------------------------------------------------------------------------------- 1 | 'Ime', 6 | 'email' => 'Email', 7 | 'password' => 'Lozinka', 8 | 'retype_password' => 'Ponovljena lozinka', 9 | 'remember_me' => 'Zapamti me', 10 | 'register' => 'Novi korisnik', 11 | 'register_a_new_membership' => 'Registracija', 12 | 'i_forgot_my_password' => 'Zaboravljena zaporka', 13 | 'i_already_have_a_membership' => 'Već imam korisnički račun', 14 | 'sign_in' => 'Prijava', 15 | 'log_out' => 'Odjava', 16 | 'toggle_navigation' => 'Pregled navigacije', 17 | 'login_message' => 'Prijava', 18 | 'register_message' => 'Registracija', 19 | 'password_reset_message' => 'Nova lozinka', 20 | 'reset_password' => 'Nova lozinka', 21 | 'send_password_reset_link' => 'Pošalji novi zahtjev lozinke', 22 | ]; 23 | -------------------------------------------------------------------------------- /resources/lang/bn/iframe.php: -------------------------------------------------------------------------------- 1 | 'বন্ধ করুন', 17 | 'btn_close_active' => 'একটিভ গুলো বন্ধ করুন', 18 | 'btn_close_all' => 'সব বন্ধ করুন', 19 | 'btn_close_all_other' => 'অন্য সবকিছু বন্ধ করুন', 20 | 'tab_empty' => 'কোন ট্যাব নির্বাচন করা হয়নি!', 21 | 'tab_home' => 'হোম', 22 | 'tab_loading' => 'ট্যাব লোড হচ্ছে', 23 | 24 | ]; 25 | -------------------------------------------------------------------------------- /resources/lang/fr/iframe.php: -------------------------------------------------------------------------------- 1 | 'Fermer', 17 | 'btn_close_active' => 'Fermer Actif', 18 | 'btn_close_all' => 'Tout fermer', 19 | 'btn_close_all_other' => 'Fermer tout le reste', 20 | 'tab_empty' => 'Aucun onglet sélectionné !', 21 | 'tab_home' => 'Accueil', 22 | 'tab_loading' => 'Onglet en cours de chargement', 23 | 24 | ]; 25 | -------------------------------------------------------------------------------- /resources/lang/pt-pt/iframe.php: -------------------------------------------------------------------------------- 1 | 'Fechar', 17 | 'btn_close_active' => 'Fechar Ativo', 18 | 'btn_close_all' => 'Fechar Todos', 19 | 'btn_close_all_other' => 'Fechar Outros', 20 | 'tab_empty' => 'Nenhum separador selecionado!', 21 | 'tab_home' => 'Página Inicial', 22 | 'tab_loading' => 'A carregar separador', 23 | 24 | ]; 25 | -------------------------------------------------------------------------------- /resources/views/auth/verify.blade.php: -------------------------------------------------------------------------------- 1 | @extends('adminlte::auth.auth-page', ['authType' => 'login']) 2 | 3 | @section('auth_header', __('adminlte::adminlte.verify_message')) 4 | 5 | @section('auth_body') 6 | 7 | @if(session('resent')) 8 | 11 | @endif 12 | 13 | {{ __('adminlte::adminlte.verify_check_your_email') }} 14 | {{ __('adminlte::adminlte.verify_if_not_recieved') }}, 15 | 16 |
    17 | @csrf 18 | 21 |
    22 | 23 | @stop 24 | -------------------------------------------------------------------------------- /resources/lang/la/adminlte.php: -------------------------------------------------------------------------------- 1 | 'ຊື່', 6 | 'email' => 'ອີເມວ', 7 | 'password' => 'ລະຫັດຜ່ານ', 8 | 'retype_password' => 'ພິມລະຫັດຜ່ານອີກຄັ້ງ', 9 | 'remember_me' => 'ຈື່ຂ້ອຍໄວ້', 10 | 'register' => 'ລົງທະບຽນ', 11 | 'register_a_new_membership' => 'ລົງທະບຽນສະມາຊິກໃໝ່', 12 | 'i_forgot_my_password' => 'ຂ້ອຍລືມລະຫັດຜ່ານ', 13 | 'i_already_have_a_membership' => 'ຂ້ອຍເປັນສະມາຊິກແລ້ວ', 14 | 'sign_in' => 'ລົງຊື່', 15 | 'log_out' => 'ລົງຊື່ອອກ', 16 | 'toggle_navigation' => 'ປຸ່ມນຳທາງ', 17 | 'login_message' => 'ລົງຊື່ເຂົ້າໃຊ້ເພື່ອເລີ່ມເຊສຊັ້ນ', 18 | 'register_message' => 'ລົງທະບຽນສະມາຊິກໃໝ່', 19 | 'password_reset_message' => 'ລະຫັດລີເຊັດຂໍ້ຄວາມ', 20 | 'reset_password' => 'ລີເຊັດຂໍ້ຄວາມ', 21 | 'send_password_reset_link' => 'ສົ່ງລິ້ງລີເຊັດລະຫັດຜ່ານ', 22 | ]; 23 | -------------------------------------------------------------------------------- /resources/lang/hu/adminlte.php: -------------------------------------------------------------------------------- 1 | 'Teljes név', 5 | 'email' => 'Email', 6 | 'password' => 'Jelszó', 7 | 'retype_password' => 'Jelszó újra', 8 | 'remember_me' => 'Emlékezz rám', 9 | 'register' => 'Regisztráció', 10 | 'register_a_new_membership' => 'Regisztrálás új tagként', 11 | 'i_forgot_my_password' => 'Elfelejtetem a jelszavam', 12 | 'i_already_have_a_membership' => 'Már tag vagyok', 13 | 'sign_in' => 'Belépés', 14 | 'log_out' => 'Kilépés', 15 | 'toggle_navigation' => 'Lenyíló navigáció', 16 | 'login_message' => 'Belépés a munkamenet elkezdéséhez', 17 | 'register_message' => 'Regisztrálás új tagként', 18 | 'password_reset_message' => 'Jelszó visszaállítása', 19 | 'reset_password' => 'Jelszó visszaállítása', 20 | 'send_password_reset_link' => 'Jelszó visszaállítás link küldése', 21 | ]; 22 | -------------------------------------------------------------------------------- /resources/lang/vi/adminlte.php: -------------------------------------------------------------------------------- 1 | 'Tên đầy đủ', 6 | 'email' => 'Email', 7 | 'password' => 'Mật khẩu', 8 | 'retype_password' => 'Nhập lại mật khẩu', 9 | 'remember_me' => 'Nhớ tôi', 10 | 'register' => 'Đăng ký', 11 | 'register_a_new_membership' => 'Đăng ký thành viên mới', 12 | 'i_forgot_my_password' => 'Tôi quên mật khẩu của tôi', 13 | 'i_already_have_a_membership' => 'Tôi đã là thành viên', 14 | 'sign_in' => 'Đăng nhập', 15 | 'log_out' => 'Đăng xuất', 16 | 'toggle_navigation' => 'Chuyển đổi điều hướng', 17 | 'login_message' => 'Đăng nhập để bắt đầu phiên của bạn', 18 | 'register_message' => 'Đăng ký thành viên mới', 19 | 'password_reset_message' => 'Đặt lại mật khẩu', 20 | 'reset_password' => 'Đặt lại mật khẩu', 21 | 'send_password_reset_link' => 'Gửi liên kết đặt lại mật khẩu', 22 | ]; 23 | -------------------------------------------------------------------------------- /resources/lang/ar/adminlte.php: -------------------------------------------------------------------------------- 1 | 'الاسم الثلاثي', 5 | 'email' => 'البريد الإلكتروني', 6 | 'password' => 'كلمة السر', 7 | 'retype_password' => 'أعد إدخال كلمة السر', 8 | 'remember_me' => 'ذكرني', 9 | 'register' => 'تسجيل جديد', 10 | 'register_a_new_membership' => 'تسجيل عضوية جديدة', 11 | 'i_forgot_my_password' => 'نسيت كلمة السر؟', 12 | 'i_already_have_a_membership' => 'هذا الحساب لديه عضوية سابقة', 13 | 'sign_in' => 'تسجيل الدخول', 14 | 'log_out' => 'تسجيل خروج', 15 | 'toggle_navigation' => 'القائمة الجانبية', 16 | 'login_message' => 'يجب تسجيل الدخول', 17 | 'register_message' => 'تم تسجيل العضوية الجديدة ', 18 | 'password_reset_message' => 'تم إعادة تعيين كلمة المرور', 19 | 'reset_password' => 'إعادة تعيين كلمة السر', 20 | 'send_password_reset_link' => 'إرسال رابط إعادة تعيين كلمة السر', 21 | ]; 22 | -------------------------------------------------------------------------------- /resources/lang/uk/adminlte.php: -------------------------------------------------------------------------------- 1 | 'Повне і\'мя', 6 | 'email' => 'Пошта', 7 | 'password' => 'Пароль', 8 | 'retype_password' => 'Підтвердження пароля', 9 | 'remember_me' => 'Запам\'ятати мене', 10 | 'register' => 'Реєстрація', 11 | 'register_a_new_membership' => 'Реєстрація нового користувача', 12 | 'i_forgot_my_password' => 'Відновлення пароля', 13 | 'i_already_have_a_membership' => 'Я вже зареєстрований', 14 | 'sign_in' => 'Вхід', 15 | 'log_out' => 'Вихід', 16 | 'toggle_navigation' => 'Переключити навігацію', 17 | 'login_message' => 'Вхід до системи', 18 | 'register_message' => 'Реєстрація нового користувача', 19 | 'password_reset_message' => 'Відновлення пароля', 20 | 'reset_password' => 'Відновлення пароля', 21 | 'send_password_reset_link' => 'Відправити посилання для відновлення пароля', 22 | 23 | ]; 24 | -------------------------------------------------------------------------------- /resources/views/partials/sidebar/menu-item-link.blade.php: -------------------------------------------------------------------------------- 1 | 24 | -------------------------------------------------------------------------------- /resources/lang/ru/adminlte.php: -------------------------------------------------------------------------------- 1 | 'Полное имя', 6 | 'email' => 'Почта', 7 | 'password' => 'Пароль', 8 | 'retype_password' => 'Подтверждение пароля', 9 | 'remember_me' => 'Запомнить меня', 10 | 'register' => 'Регистрация', 11 | 'register_a_new_membership' => 'Регистрация нового пользователя', 12 | 'i_forgot_my_password' => 'Восстановление пароля', 13 | 'i_already_have_a_membership' => 'Я уже зарегистрирован', 14 | 'sign_in' => 'Вход', 15 | 'log_out' => 'Выход', 16 | 'toggle_navigation' => 'Переключить навигацию', 17 | 'login_message' => 'Вход в систему', 18 | 'register_message' => 'Регистрация нового пользователя', 19 | 'password_reset_message' => 'Восстановление пароля', 20 | 'reset_password' => 'Восстановление пароля', 21 | 'send_password_reset_link' => 'Отправить ссылку для восстановления пароля', 22 | 23 | ]; 24 | -------------------------------------------------------------------------------- /resources/lang/it/adminlte.php: -------------------------------------------------------------------------------- 1 | 'Nome completo', 6 | 'email' => 'Email', 7 | 'password' => 'Password', 8 | 'retype_password' => 'Ripeti password', 9 | 'remember_me' => 'Ricordami', 10 | 'register' => 'Registrazione', 11 | 'register_a_new_membership' => 'Registra un nuovo abbonamento', 12 | 'i_forgot_my_password' => 'Ho dimenticato la password', 13 | 'i_already_have_a_membership' => 'Ho già un abbonamento', 14 | 'sign_in' => 'Accedi', 15 | 'log_out' => 'Logout', 16 | 'toggle_navigation' => 'Attiva la navigazione', 17 | 'login_message' => 'Accedi per iniziare la tua sessione', 18 | 'register_message' => 'Registra un nuovo abbonamento', 19 | 'password_reset_message' => 'Resetta la password', 20 | 'reset_password' => 'Resetta la password', 21 | 'send_password_reset_link' => 'Invia link di reset della password', 22 | ]; 23 | -------------------------------------------------------------------------------- /resources/views/partials/navbar/menu-item-logout-link.blade.php: -------------------------------------------------------------------------------- 1 | @php( $logout_url = View::getSection('logout_url') ?? config('adminlte.logout_url', 'logout') ) 2 | 3 | @if (config('adminlte.use_route_url', false)) 4 | @php( $logout_url = $logout_url ? route($logout_url) : '' ) 5 | @else 6 | @php( $logout_url = $logout_url ? url($logout_url) : '' ) 7 | @endif 8 | 9 | -------------------------------------------------------------------------------- /resources/lang/ca/adminlte.php: -------------------------------------------------------------------------------- 1 | 'Nom complet', 5 | 'email' => 'Email', 6 | 'password' => 'Contrasenya', 7 | 'retype_password' => 'Confirmar la contrasenya', 8 | 'remember_me' => 'Recordar-me', 9 | 'register' => 'Registrar-se', 10 | 'register_a_new_membership' => 'Crear un nou compte', 11 | 'i_forgot_my_password' => 'He oblidat la meva contrasenya', 12 | 'i_already_have_a_membership' => 'Ja tinc un compte', 13 | 'sign_in' => 'Accedir', 14 | 'log_out' => 'Sortir', 15 | 'toggle_navigation' => 'Commutar la navegació', 16 | 'login_message' => 'Autenticar-se per a iniciar sessió', 17 | 'register_message' => 'Crear un nou compte', 18 | 'password_reset_message' => 'Restablir la contrasenya', 19 | 'reset_password' => 'Restablir la contrasenya', 20 | 'send_password_reset_link' => 'Enviar enllaç de restabliment de contrasenya', 21 | ]; 22 | -------------------------------------------------------------------------------- /routes/web.php: -------------------------------------------------------------------------------- 1 | name('darkmode.toggle'); 24 | } 25 | -------------------------------------------------------------------------------- /resources/views/partials/sidebar/menu-item-search-form.blade.php: -------------------------------------------------------------------------------- 1 |
  • 2 | 3 |
    4 | {{ csrf_field() }} 5 | 6 |
    7 | 8 | {{-- Search input --}} 9 | 14 | 15 | {{-- Search button --}} 16 |
    17 | 20 |
    21 | 22 |
    23 |
    24 | 25 |
  • 26 | -------------------------------------------------------------------------------- /resources/views/partials/navbar/dropdown-item-link.blade.php: -------------------------------------------------------------------------------- 1 |
  • 2 | 3 | 6 | 7 | {{-- Icon (optional) --}} 8 | @isset($item['icon']) 9 | 12 | @endisset 13 | 14 | {{-- Text --}} 15 | {{ $item['text'] }} 16 | 17 | {{-- Label (optional) --}} 18 | @isset($item['label']) 19 | 20 | {{ $item['label'] }} 21 | 22 | @endisset 23 | 24 | 25 | 26 |
  • 27 | -------------------------------------------------------------------------------- /resources/views/partials/navbar/menu-item-link.blade.php: -------------------------------------------------------------------------------- 1 | 27 | -------------------------------------------------------------------------------- /resources/lang/nl/adminlte.php: -------------------------------------------------------------------------------- 1 | 'Volledige naam', 6 | 'email' => 'E-mailadres', 7 | 'password' => 'Wachtwoord', 8 | 'retype_password' => 'Wachtwoord nogmaals invoeren', 9 | 'remember_me' => 'Ingelogd blijven', 10 | 'register' => 'Registreren', 11 | 'register_a_new_membership' => 'Registreer een nieuw lidmaatschap', 12 | 'i_forgot_my_password' => 'Ik ben mijn wachtwoord vergeten', 13 | 'i_already_have_a_membership' => 'Ik heb al een lidmaatschap', 14 | 'sign_in' => 'Inloggen', 15 | 'log_out' => 'Uitloggen', 16 | 'toggle_navigation' => 'Schakel navigatie', 17 | 'login_message' => 'Log in om je sessie te starten', 18 | 'register_message' => 'Registreer een nieuw lidmaatschap', 19 | 'password_reset_message' => 'Wachtwoord herstellen', 20 | 'reset_password' => 'Wachtwoord herstellen', 21 | 'send_password_reset_link' => 'Verzend link voor wachtwoordherstel', 22 | ]; 23 | -------------------------------------------------------------------------------- /resources/views/partials/sidebar/menu-item.blade.php: -------------------------------------------------------------------------------- 1 | @inject('sidebarItemHelper', 'JeroenNoten\LaravelAdminLte\Helpers\SidebarItemHelper') 2 | 3 | @if ($sidebarItemHelper->isHeader($item)) 4 | 5 | {{-- Header --}} 6 | @include('adminlte::partials.sidebar.menu-item-header') 7 | 8 | @elseif ($sidebarItemHelper->isLegacySearch($item) || $sidebarItemHelper->isCustomSearch($item)) 9 | 10 | {{-- Search form --}} 11 | @include('adminlte::partials.sidebar.menu-item-search-form') 12 | 13 | @elseif ($sidebarItemHelper->isMenuSearch($item)) 14 | 15 | {{-- Search menu --}} 16 | @include('adminlte::partials.sidebar.menu-item-search-menu') 17 | 18 | @elseif ($sidebarItemHelper->isSubmenu($item)) 19 | 20 | {{-- Treeview menu --}} 21 | @include('adminlte::partials.sidebar.menu-item-treeview-menu') 22 | 23 | @elseif ($sidebarItemHelper->isLink($item)) 24 | 25 | {{-- Link --}} 26 | @include('adminlte::partials.sidebar.menu-item-link') 27 | 28 | @endif 29 | -------------------------------------------------------------------------------- /resources/views/components/form/select.blade.php: -------------------------------------------------------------------------------- 1 | @extends('adminlte::components.form.input-group-component') 2 | 3 | {{-- Set errors bag internallly --}} 4 | 5 | @php($setErrorsBag($errors ?? null)) 6 | 7 | {{-- Set input group item section --}} 8 | 9 | @section('input_group_item') 10 | 11 | {{-- Select --}} 12 | 16 | 17 | @overwrite 18 | 19 | {{-- Support to auto select the old submitted values --}} 20 | 21 | @if($errors->any() && $enableOldSupport) 22 | @push('js') 23 | 37 | @endpush 38 | @endif 39 | -------------------------------------------------------------------------------- /resources/views/partials/common/preloader.blade.php: -------------------------------------------------------------------------------- 1 | @inject('preloaderHelper', 'JeroenNoten\LaravelAdminLte\Helpers\PreloaderHelper') 2 | 3 |
    4 | 5 | @hasSection('preloader') 6 | 7 | {{-- Use a custom preloader content --}} 8 | @yield('preloader') 9 | 10 | @else 11 | 12 | {{-- Use the default preloader content --}} 13 | {{ config('adminlte.preloader.img.alt', 'AdminLTE Preloader Image') }} 19 | 20 | @endif 21 | 22 |
    23 | -------------------------------------------------------------------------------- /composer.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "jeroennoten/laravel-adminlte", 3 | "description": "Easy AdminLTE integration with Laravel", 4 | "keywords": ["laravel", "adminlte", "admin", "administrator"], 5 | "license": "MIT", 6 | "authors": [ 7 | { 8 | "name": "Jeroen Noten", 9 | "email": "jeroennoten@me.com" 10 | } 11 | ], 12 | "autoload": { 13 | "psr-4": { 14 | "JeroenNoten\\LaravelAdminLte\\": "src/" 15 | } 16 | }, 17 | "autoload-dev": { 18 | "classmap": [ 19 | "tests/TestCase.php", 20 | "tests/Console/CommandTestCase.php" 21 | ] 22 | }, 23 | "extra": { 24 | "laravel": { 25 | "providers": [ 26 | "JeroenNoten\\LaravelAdminLte\\AdminLteServiceProvider" 27 | ] 28 | } 29 | }, 30 | "require": { 31 | "laravel/framework": ">=8.0", 32 | "php": ">=7.3", 33 | "almasaeed2010/adminlte": "3.2.*" 34 | }, 35 | "require-dev": { 36 | "phpunit/phpunit": ">=9.1", 37 | "orchestra/testbench": ">=6.0" 38 | } 39 | } 40 | -------------------------------------------------------------------------------- /resources/lang/ja/adminlte.php: -------------------------------------------------------------------------------- 1 | '氏名', 6 | 'email' => 'メールアドレス', 7 | 'password' => 'パスワード', 8 | 'retype_password' => 'もう一度入力', 9 | 'remember_me' => '認証状態を保持する', 10 | 'register' => '登録する', 11 | 'register_a_new_membership' => 'アカウントを登録する', 12 | 'i_forgot_my_password' => 'パスワードを忘れた', 13 | 'i_already_have_a_membership' => 'すでにアカウントを持っている', 14 | 'sign_in' => 'ログイン', 15 | 'log_out' => 'ログアウト', 16 | 'toggle_navigation' => 'ナビゲーションを開閉', 17 | 'login_message' => 'ログイン画面', 18 | 'register_message' => 'アカウントを登録する', 19 | 'password_reset_message' => 'パスワードをリセットする', 20 | 'reset_password' => 'パスワードをリセットする', 21 | 'send_password_reset_link' => 'パスワードリセットリンクを送信する。', 22 | 'verify_message' => 'あなたのアカウントは認証が必要です。', 23 | 'verify_email_sent' => 'あなたのメールアドレスに認証用のリンクを送信しました。', 24 | 'verify_check_your_email' => '続行する前に、認証用リンクについてメールを確認してください。', 25 | 'verify_if_not_recieved' => 'メールが届かない場合', 26 | 'verify_request_another' => 'ここをクリックしてもう一度送信する', 27 | ]; 28 | -------------------------------------------------------------------------------- /resources/views/components/widget/profile-row-item.blade.php: -------------------------------------------------------------------------------- 1 |
    merge(['class' => "p-0 col-{$size}"]) }}> 2 | 3 | 4 | 5 | {{-- Icon --}} 6 | @isset($icon) 7 | 8 | @endisset 9 | 10 | {{-- Header --}} 11 | @isset($title) 12 | @if(! empty($url) && $urlTarget === 'title') 13 | {{ $title }} 14 | @else 15 | {{ $title }} 16 | @endif 17 | @endisset 18 | 19 | {{-- Text --}} 20 | @isset($text) 21 | 23 | @if(! empty($url) && $urlTarget === 'text') 24 | {{ $text }} 25 | @else 26 | {{ $text }} 27 | @endif 28 | 29 | @endisset 30 | 31 | 32 | 33 |
    34 | -------------------------------------------------------------------------------- /src/View/Components/Form/Traits/OldValueSupportTrait.php: -------------------------------------------------------------------------------- 1 | enableOldSupport ? old($errorKey, $default) : $default; 28 | } 29 | } 30 | -------------------------------------------------------------------------------- /resources/views/partials/navbar/menu-item-dropdown-menu.blade.php: -------------------------------------------------------------------------------- 1 | 32 | -------------------------------------------------------------------------------- /src/View/Components/Form/Input.php: -------------------------------------------------------------------------------- 1 | enableOldSupport = isset($enableOldSupport); 25 | } 26 | 27 | /** 28 | * Get the view / contents that represent the component. 29 | * 30 | * @return \Illuminate\View\View|string 31 | */ 32 | public function render() 33 | { 34 | return view('adminlte::components.form.input'); 35 | } 36 | } 37 | -------------------------------------------------------------------------------- /src/View/Components/Form/Select.php: -------------------------------------------------------------------------------- 1 | enableOldSupport = isset($enableOldSupport); 25 | } 26 | 27 | /** 28 | * Get the view / contents that represent the component. 29 | * 30 | * @return \Illuminate\View\View|string 31 | */ 32 | public function render() 33 | { 34 | return view('adminlte::components.form.select'); 35 | } 36 | } 37 | -------------------------------------------------------------------------------- /resources/views/partials/sidebar/menu-item-treeview-menu.blade.php: -------------------------------------------------------------------------------- 1 | 30 | -------------------------------------------------------------------------------- /src/Menu/Filters/DataFilter.php: -------------------------------------------------------------------------------- 1 | compileData($item['data']); 18 | } 19 | 20 | return $item; 21 | } 22 | 23 | /** 24 | * Compile an array of HTML data attributes into a data string. 25 | * 26 | * @param array $dataArray Array of HTML data attributes 27 | * @return string 28 | */ 29 | protected function compileData($dataArray) 30 | { 31 | $compiled = []; 32 | 33 | foreach ($dataArray as $key => $value) { 34 | $compiled[] = "data-{$key}=\"{$value}\""; 35 | } 36 | 37 | return implode(' ', $compiled); 38 | } 39 | } 40 | -------------------------------------------------------------------------------- /src/View/Components/Form/Textarea.php: -------------------------------------------------------------------------------- 1 | enableOldSupport = isset($enableOldSupport); 25 | } 26 | 27 | /** 28 | * Get the view / contents that represent the component. 29 | * 30 | * @return \Illuminate\View\View|string 31 | */ 32 | public function render() 33 | { 34 | return view('adminlte::components.form.textarea'); 35 | } 36 | } 37 | -------------------------------------------------------------------------------- /resources/views/partials/navbar/dropdown-item-submenu.blade.php: -------------------------------------------------------------------------------- 1 | 32 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | The MIT License (MIT) 2 | 3 | Copyright (c) 2016 Jeroen Noten 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in 13 | all copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 21 | THE SOFTWARE. 22 | -------------------------------------------------------------------------------- /src/Menu/Filters/ActiveFilter.php: -------------------------------------------------------------------------------- 1 | activeChecker = $activeChecker; 25 | } 26 | 27 | /** 28 | * Transforms a menu item. Check if an item is active based on the current 29 | * requested URL and compile it's active property. 30 | * 31 | * @param array $item A menu item 32 | * @return array 33 | */ 34 | public function transform($item) 35 | { 36 | if (! MenuItemHelper::isHeader($item)) { 37 | $item['active'] = $this->activeChecker->isActive($item); 38 | } 39 | 40 | return $item; 41 | } 42 | } 43 | -------------------------------------------------------------------------------- /resources/views/partials/sidebar/left-sidebar.blade.php: -------------------------------------------------------------------------------- 1 | 28 | -------------------------------------------------------------------------------- /resources/views/components/widget/profile-col-item.blade.php: -------------------------------------------------------------------------------- 1 |
    merge(['class' => "col-{$size}"]) }}> 2 | 3 |
    4 | 5 | {{-- Icon --}} 6 | @isset($icon) 7 | 8 | @endisset 9 | 10 | {{-- Header --}} 11 | @isset($title) 12 |
    13 | @if(! empty($url) && $urlTarget === 'title') 14 | {{ $title }} 15 | @else 16 | {{ $title }} 17 | @endif 18 |
    19 | @endisset 20 | 21 | {{-- Text --}} 22 | @isset($text) 23 |

    24 | 26 | @if(! empty($url) && $urlTarget === 'text') 27 | {{ $text }} 28 | @else 29 | {{ $text }} 30 | @endif 31 | 32 |

    33 | @endisset 34 | 35 |
    36 | 37 |
    38 | -------------------------------------------------------------------------------- /resources/views/plugins.blade.php: -------------------------------------------------------------------------------- 1 | @foreach(config('adminlte.plugins') as $pluginName => $plugin) 2 | 3 | {{-- Check whether the plugin is active --}} 4 | 5 | @php 6 | $plugSection = View::getSection('plugins.' . ($plugin['name'] ?? $pluginName)); 7 | $isPlugActive = $plugin['active'] 8 | ? ! isset($plugSection) || $plugSection 9 | : ! empty($plugSection); 10 | @endphp 11 | 12 | {{-- When the plugin is active, include its files --}} 13 | 14 | @if($isPlugActive) 15 | @foreach($plugin['files'] as $file) 16 | 17 | {{-- Setup the file location --}} 18 | 19 | @php 20 | if (! empty($file['asset'])) { 21 | $file['location'] = asset($file['location']); 22 | } 23 | @endphp 24 | 25 | {{-- Check the requested file type --}} 26 | 27 | @if($file['type'] == $type && $type == 'css') 28 | 29 | @elseif($file['type'] == $type && $type == 'js') 30 | 31 | @endif 32 | 33 | @endforeach 34 | @endif 35 | 36 | @endforeach 37 | -------------------------------------------------------------------------------- /resources/views/partials/common/brand-logo-xs.blade.php: -------------------------------------------------------------------------------- 1 | @inject('layoutHelper', 'JeroenNoten\LaravelAdminLte\Helpers\LayoutHelper') 2 | 3 | @php( $dashboard_url = View::getSection('dashboard_url') ?? config('adminlte.dashboard_url', 'home') ) 4 | 5 | @if (config('adminlte.use_route_url', false)) 6 | @php( $dashboard_url = $dashboard_url ? route($dashboard_url) : '' ) 7 | @else 8 | @php( $dashboard_url = $dashboard_url ? url($dashboard_url) : '' ) 9 | @endif 10 | 11 | isLayoutTopnavEnabled()) 13 | class="navbar-brand {{ config('adminlte.classes_brand') }}" 14 | @else 15 | class="brand-link {{ config('adminlte.classes_brand') }}" 16 | @endif> 17 | 18 | {{-- Small brand logo --}} 19 | {{ config('adminlte.logo_img_alt', 'AdminLTE') }} 23 | 24 | {{-- Brand text --}} 25 | 26 | {!! config('adminlte.logo', 'AdminLTE') !!} 27 | 28 | 29 | 30 | -------------------------------------------------------------------------------- /resources/views/partials/cwrapper/cwrapper-default.blade.php: -------------------------------------------------------------------------------- 1 | @inject('layoutHelper', 'JeroenNoten\LaravelAdminLte\Helpers\LayoutHelper') 2 | @inject('preloaderHelper', 'JeroenNoten\LaravelAdminLte\Helpers\preloaderHelper') 3 | 4 | @if($layoutHelper->isLayoutTopnavEnabled()) 5 | @php( $def_container_class = 'container' ) 6 | @else 7 | @php( $def_container_class = 'container-fluid' ) 8 | @endif 9 | 10 | {{-- Default Content Wrapper --}} 11 |
    12 | 13 | {{-- Preloader Animation (cwrapper mode) --}} 14 | @if($preloaderHelper->isPreloaderEnabled('cwrapper')) 15 | @include('adminlte::partials.common.preloader') 16 | @endif 17 | 18 | {{-- Content Header --}} 19 | @hasSection('content_header') 20 |
    21 |
    22 | @yield('content_header') 23 |
    24 |
    25 | @endif 26 | 27 | {{-- Main Content --}} 28 |
    29 |
    30 | @stack('content') 31 | @yield('content') 32 |
    33 |
    34 | 35 |
    36 | -------------------------------------------------------------------------------- /resources/views/partials/common/brand-logo-xl.blade.php: -------------------------------------------------------------------------------- 1 | @inject('layoutHelper', 'JeroenNoten\LaravelAdminLte\Helpers\LayoutHelper') 2 | 3 | @php( $dashboard_url = View::getSection('dashboard_url') ?? config('adminlte.dashboard_url', 'home') ) 4 | 5 | @if (config('adminlte.use_route_url', false)) 6 | @php( $dashboard_url = $dashboard_url ? route($dashboard_url) : '' ) 7 | @else 8 | @php( $dashboard_url = $dashboard_url ? url($dashboard_url) : '' ) 9 | @endif 10 | 11 | isLayoutTopnavEnabled()) 13 | class="navbar-brand logo-switch {{ config('adminlte.classes_brand') }}" 14 | @else 15 | class="brand-link logo-switch {{ config('adminlte.classes_brand') }}" 16 | @endif> 17 | 18 | {{-- Small brand logo --}} 19 | {{ config('adminlte.logo_img_alt', 'AdminLTE') }} 22 | 23 | {{-- Large brand logo --}} 24 | {{ config('adminlte.logo_img_alt', 'AdminLTE') }} 27 | 28 | 29 | -------------------------------------------------------------------------------- /resources/views/components/tool/modal.blade.php: -------------------------------------------------------------------------------- 1 |
    merge(['class' => $makeModalClass(), 'id' => $id]) }} 2 | @isset($staticBackdrop) data-backdrop="static" data-keyboard="false" @endisset> 3 | 4 |
    5 | 34 |
    35 | 36 |
    37 | -------------------------------------------------------------------------------- /resources/lang/pl/adminlte.php: -------------------------------------------------------------------------------- 1 | 'Imię i nazwisko', 6 | 'email' => 'Email', 7 | 'password' => 'Hasło', 8 | 'retype_password' => 'Powtórz hasło', 9 | 'remember_me' => 'Zapamiętaj mnie', 10 | 'register' => 'Zarejestruj', 11 | 'register_a_new_membership' => 'Załóż nowe konto', 12 | 'i_forgot_my_password' => 'Zapomniałem hasła', 13 | 'i_already_have_a_membership' => 'Mam już konto', 14 | 'sign_in' => 'Zaloguj', 15 | 'log_out' => 'Wyloguj', 16 | 'toggle_navigation' => 'Przełącz nawigację', 17 | 'login_message' => 'Zaloguj się aby uzyskać dostęp do panelu', 18 | 'register_message' => 'Załóż nowe konto', 19 | 'password_reset_message' => 'Resetuj hasło', 20 | 'reset_password' => 'Resetuj hasło', 21 | 'send_password_reset_link' => 'Wyślij link do resetowania hasła', 22 | 'verify_message' => 'Twoje konto wymaga weryfikacji', 23 | 'verify_email_sent' => 'Na Twój adres email został wysłany nowy link weryfikacyjny.', 24 | 'verify_check_your_email' => 'Zanim przejdziesz dalej, sprawdź pocztę email pod kątem linku weryfikacyjnego.', 25 | 'verify_if_not_recieved' => 'Jeśli nie otrzymałeś emaila', 26 | 'verify_request_another' => 'kliknij tutaj, aby poprosić o inny', 27 | 'confirm_password_message' => 'Aby kontynuować, proszę potwierdzić swoje hasło.', 28 | ]; 29 | -------------------------------------------------------------------------------- /resources/lang/pt-br/adminlte.php: -------------------------------------------------------------------------------- 1 | 'Nome completo', 6 | 'email' => 'Email', 7 | 'password' => 'Senha', 8 | 'retype_password' => 'Repita a senha', 9 | 'remember_me' => 'Lembrar-me', 10 | 'register' => 'Registrar', 11 | 'register_a_new_membership' => 'Registrar um novo membro', 12 | 'i_forgot_my_password' => 'Esqueci minha senha', 13 | 'i_already_have_a_membership' => 'Já sou um membro', 14 | 'sign_in' => 'Entrar', 15 | 'log_out' => 'Sair', 16 | 'toggle_navigation' => 'Trocar navegação', 17 | 'login_message' => 'Entre para iniciar uma nova sessão', 18 | 'register_message' => 'Registrar um novo membro', 19 | 'password_reset_message' => 'Recuperar senha', 20 | 'reset_password' => 'Recuperar senha', 21 | 'send_password_reset_link' => 'Enviar link de recuperação de senha', 22 | 'verify_message' => 'Sua conta precisa ser verificada', 23 | 'verify_email_sent' => 'Um novo link de verificação foi enviado para o seu email.', 24 | 'verify_check_your_email' => 'Antes de continuar, por favor verifique seu email com o link de confirmação.', 25 | 'verify_if_not_recieved' => 'caso não tenha recebido o email', 26 | 'verify_request_another' => 'clique aqui para solicitar um novo', 27 | 'confirm_password_message' => 'Por favor, confirme sua senha para continuar.', 28 | ]; 29 | -------------------------------------------------------------------------------- /resources/lang/id/adminlte.php: -------------------------------------------------------------------------------- 1 | 'Nama lengkap', 6 | 'email' => 'Email', 7 | 'password' => 'Kata sandi', 8 | 'retype_password' => 'Ketik ulang kata sandi', 9 | 'remember_me' => 'Ingat Saya', 10 | 'register' => 'Daftar', 11 | 'register_a_new_membership' => 'Daftar sebagai anggota baru', 12 | 'i_forgot_my_password' => 'Saya lupa kata sandi', 13 | 'i_already_have_a_membership' => 'Saya telah menjadi anggota', 14 | 'sign_in' => 'Masuk', 15 | 'log_out' => 'Keluar', 16 | 'toggle_navigation' => 'Toggle navigasi', 17 | 'login_message' => 'Masuk untuk memulai sesi Anda', 18 | 'register_message' => 'Daftar sebagai anggota baru', 19 | 'password_reset_message' => 'Atur Ulang Kata Sandi', 20 | 'reset_password' => 'Atur Ulang Kata Sandi', 21 | 'send_password_reset_link' => 'Kirim Tautan Atur Ulang Kata Sandi', 22 | 'verify_message' => 'Akun Anda membutuhkan verifikasi', 23 | 'verify_email_sent' => 'Tautan verifikasi baru telah dikirimkan ke email Anda.', 24 | 'verify_check_your_email' => 'Sebelum melanjutkan, periksa email Anda untuk tautan verifikasi.', 25 | 'verify_if_not_recieved' => 'Jika Anda tidak menerima email', 26 | 'verify_request_another' => 'klik disini untuk meminta ulang', 27 | 'confirm_password_message' => 'Konfirmasi kata sandi Anda untuk melanjutkan', 28 | ]; 29 | -------------------------------------------------------------------------------- /resources/lang/fa/adminlte.php: -------------------------------------------------------------------------------- 1 | 'نام', 6 | 'email' => 'ایمیل', 7 | 'password' => 'رمز عبور', 8 | 'retype_password' => 'تکرار رمز عبور', 9 | 'remember_me' => 'مرا به یاد داشته باش', 10 | 'register' => 'ثبت نام', 11 | 'register_a_new_membership' => 'ایجاد یک عضویت جدید', 12 | 'i_forgot_my_password' => 'رمز عبور را فراموش کرده ام', 13 | 'i_already_have_a_membership' => 'قبلا ثبت نام کرده ام', 14 | 'sign_in' => 'ورود', 15 | 'log_out' => 'خروج', 16 | 'toggle_navigation' => 'نمایش/مخفی کردن منو', 17 | 'login_message' => 'وارد شوید', 18 | 'register_message' => 'ثبت نام', 19 | 'password_reset_message' => 'بازنشانی رمز عبور', 20 | 'reset_password' => 'بازنشانی رمز عبور', 21 | 'send_password_reset_link' => 'ارسال لینک بازنشانی رمز عبور', 22 | 'verify_message' => 'حساب شما نیاز به تایید دارد', 23 | 'verify_email_sent' => 'لینک تایید جدید به آدرس ایمیل شما ارسال گردید', 24 | 'verify_check_your_email' => 'قبل از ادامه, لطفاٌ ایمیل خود را برای لینک تایید بررسی کنید', 25 | 'verify_if_not_recieved' => 'اگر ایمیل را دریافت نکردید', 26 | 'verify_request_another' => 'برای درخواست دیگری اینجا کلیک کنید', 27 | 'confirm_password_message' => 'لطفاٌ, برای ادامه رمز عبور خود را تایید نمایید', 28 | 'remember_me_hint' => 'من را به طور نامحدود یا تا زمانی که به صورت دستی از سیستم خارج شوم، احراز هویت کن', 29 | ]; 30 | -------------------------------------------------------------------------------- /resources/lang/sr/adminlte.php: -------------------------------------------------------------------------------- 1 | 'Ime i prezime', 6 | 'email' => 'Email', 7 | 'password' => 'Lozinka', 8 | 'retype_password' => 'Ponovo unesite lozinku', 9 | 'remember_me' => 'Zapamti me', 10 | 'register' => 'Registrujte se', 11 | 'register_a_new_membership' => 'Registrujte nov nalog', 12 | 'i_forgot_my_password' => 'Zaboravili ste lozinku?', 13 | 'i_already_have_a_membership' => 'Već imate nalog', 14 | 'sign_in' => 'Ulogujte se', 15 | 'log_out' => 'Izlogujte se', 16 | 'toggle_navigation' => 'Uključi/isključi navigaciju', 17 | 'login_message' => 'Molimo ulogujte se', 18 | 'register_message' => 'Registrujte nov nalog', 19 | 'password_reset_message' => 'Resetujte lozinku', 20 | 'reset_password' => 'Resetujte lozinku', 21 | 'send_password_reset_link' => 'Pošaljite link za ponovno postavljanje lozinke', 22 | 'verify_message' => 'Potrebna je verifikacija vašeg naloga', 23 | 'verify_email_sent' => 'Nov link za verifikaciju je poslat na vašu adresu e-pošte.', 24 | 'verify_check_your_email' => 'Pre nego što nastavite, potražite link za verifikaciju u svojoj e-pošti.', 25 | 'verify_if_not_recieved' => 'Ako niste dobili email', 26 | 'verify_request_another' => 'kliknite ovde da biste zatražili još jedan', 27 | 'confirm_password_message' => 'Molimo vas da potvrdite lozinku da biste nastavili', 28 | ]; 29 | -------------------------------------------------------------------------------- /resources/lang/pt-pt/adminlte.php: -------------------------------------------------------------------------------- 1 | 'Nome completo', 6 | 'email' => 'Email', 7 | 'password' => 'Palavra-passe', 8 | 'retype_password' => 'Repita a palavra-passe', 9 | 'remember_me' => 'Lembrar-me', 10 | 'register' => 'Registar', 11 | 'register_a_new_membership' => 'Registar um novo membro', 12 | 'i_forgot_my_password' => 'Esqueci-me da palavra-passe', 13 | 'i_already_have_a_membership' => 'Já sou membro', 14 | 'sign_in' => 'Entrar', 15 | 'log_out' => 'Sair', 16 | 'toggle_navigation' => 'Alternar navegação', 17 | 'login_message' => 'Entre para iniciar nova sessão', 18 | 'register_message' => 'Registar um novo membro', 19 | 'password_reset_message' => 'Recuperar palavra-passe', 20 | 'reset_password' => 'Recuperar palavra-passe', 21 | 'send_password_reset_link' => 'Enviar link de recuperação de palavra-passe', 22 | 'verify_message' => 'A sua conta precisa ser verificada', 23 | 'verify_email_sent' => 'Um novo link de verificação foi enviado para o seu email.', 24 | 'verify_check_your_email' => 'Antes de continuar, por favor verifique o seu email com o link de confirmação.', 25 | 'verify_if_not_recieved' => 'caso não tenha recebido o email', 26 | 'verify_request_another' => 'clique aqui para solicitar um novo', 27 | 'confirm_password_message' => 'Por favor, confirme a sua palavra-passe para continuar.', 28 | ]; 29 | -------------------------------------------------------------------------------- /resources/views/components/form/select-bs.blade.php: -------------------------------------------------------------------------------- 1 | @extends('adminlte::components.form.input-group-component') 2 | 3 | {{-- Set errors bag internallly --}} 4 | 5 | @php($setErrorsBag($errors ?? null)) 6 | 7 | {{-- Set input group item section --}} 8 | 9 | @section('input_group_item') 10 | 11 | {{-- Select --}} 12 | 16 | 17 | @overwrite 18 | 19 | {{-- Add plugin initialization and configuration code --}} 20 | 21 | @push('js') 22 | 37 | @endpush 38 | 39 | {{-- Set of CSS workarounds for the plugin --}} 40 | {{-- NOTE: this may change with newer plugin versions --}} 41 | 42 | @once 43 | @push('css') 44 | 52 | @endpush 53 | @endonce 54 | -------------------------------------------------------------------------------- /resources/lang/tr/adminlte.php: -------------------------------------------------------------------------------- 1 | 'Ad ve Soyadı', 6 | 'email' => 'E-Posta Adresi', 7 | 'password' => 'Parola', 8 | 'retype_password' => 'Yeniden Parola', 9 | 'remember_me' => 'Beni Hatırla', 10 | 'register' => 'Kaydol', 11 | 'register_a_new_membership' => 'Yeni üye kaydı', 12 | 'i_forgot_my_password' => 'Parolamı unuttum', 13 | 'i_already_have_a_membership' => 'Zaten üye kaydım var', 14 | 'sign_in' => 'Giriş Yap', 15 | 'log_out' => 'Çıkış Yap', 16 | 'toggle_navigation' => 'Ana menüyü aç/kapa', 17 | 'login_message' => 'Oturumunuzu devam ettirmek için giriş yapmalısınız', 18 | 'register_message' => 'Yeni üye kaydı oluştur', 19 | 'password_reset_message' => 'Parola Sıfırlama', 20 | 'reset_password' => 'Parola Sıfırlama', 21 | 'send_password_reset_link' => 'Parola Sıfırlama Linki Gönder', 22 | 'verify_message' => 'Hesabınızın doğrulanmaya ihtiyacı var', 23 | 'verify_email_sent' => 'Hesap doğrulama linki E-posta adresinize gönderildi.', 24 | 'verify_check_your_email' => 'İşlemlere devam etmeden önce doğrulama linki için e-posta adresinizi kontrol edin.', 25 | 'verify_if_not_recieved' => 'Eğer doğrulama e-postası adresinize ulaşmadıysa', 26 | 'verify_request_another' => 'buraya tıklayarak yeni bir doğrulama linki talep edebilirsiniz', 27 | 'confirm_password_message' => 'Devam etmek için lütfen parolanızı doğrulayın.', 28 | 29 | ]; 30 | -------------------------------------------------------------------------------- /resources/views/partials/navbar/menu-item-search-form.blade.php: -------------------------------------------------------------------------------- 1 | 37 | -------------------------------------------------------------------------------- /resources/lang/en/adminlte.php: -------------------------------------------------------------------------------- 1 | 'Full name', 6 | 'email' => 'Email', 7 | 'password' => 'Password', 8 | 'retype_password' => 'Retype password', 9 | 'remember_me' => 'Remember Me', 10 | 'register' => 'Register', 11 | 'register_a_new_membership' => 'Register a new membership', 12 | 'i_forgot_my_password' => 'I forgot my password', 13 | 'i_already_have_a_membership' => 'I already have a membership', 14 | 'sign_in' => 'Sign In', 15 | 'log_out' => 'Log Out', 16 | 'toggle_navigation' => 'Toggle navigation', 17 | 'login_message' => 'Sign in to start your session', 18 | 'register_message' => 'Register a new membership', 19 | 'password_reset_message' => 'Reset Password', 20 | 'reset_password' => 'Reset Password', 21 | 'send_password_reset_link' => 'Send Password Reset Link', 22 | 'verify_message' => 'Your account needs a verification', 23 | 'verify_email_sent' => 'A fresh verification link has been sent to your email address.', 24 | 'verify_check_your_email' => 'Before proceeding, please check your email for a verification link.', 25 | 'verify_if_not_recieved' => 'If you did not receive the email', 26 | 'verify_request_another' => 'click here to request another', 27 | 'confirm_password_message' => 'Please, confirm your password to continue.', 28 | 'remember_me_hint' => 'Keep me authenticated indefinitely or until I manually logout', 29 | ]; 30 | -------------------------------------------------------------------------------- /resources/lang/sk/adminlte.php: -------------------------------------------------------------------------------- 1 | 'Celé meno', 6 | 'email' => 'Email', 7 | 'password' => 'Heslo', 8 | 'retype_password' => 'Zopakujte heslo', 9 | 'remember_me' => 'Zapamätať si ma', 10 | 'register' => 'Registrovať', 11 | 'register_a_new_membership' => 'Registrovať nový účet', 12 | 'i_forgot_my_password' => 'Zabudol som heslo', 13 | 'i_already_have_a_membership' => 'Už mám účet', 14 | 'sign_in' => 'Prihlásiť', 15 | 'log_out' => 'Odhlásiť', 16 | 'toggle_navigation' => 'Prepnúť navigáciu', 17 | 'login_message' => 'Pre pokračovanie sa prihláste', 18 | 'register_message' => 'Registrovať nový účet', 19 | 'password_reset_message' => 'Obnoviť heslo', 20 | 'reset_password' => 'Obnoviť heslo', 21 | 'send_password_reset_link' => 'Zaslať odkaz na obnovenie hesla', 22 | 'verify_message' => 'Váš účet je potrebné overiť', 23 | 'verify_email_sent' => 'Na vašu emailovú adresu bol odoslaný nový odkaz na overenie účtu.', 24 | 'verify_check_your_email' => 'Pred tým, než budete pokračovať, skontrolujte svoju emailovú adresu pre overovací odkaz.', 25 | 'verify_if_not_recieved' => 'V prípade, že ste email neobdržali', 26 | 'verify_request_another' => 'kliknite sem pre obdržanie ďalšieho', 27 | 'confirm_password_message' => 'Pre pokračovanie prosím potvrďte svoje heslo.', 28 | 'remember_me_hint' => 'Udržiavať prihlásenie bez obmedzenia, alebo kým sa neodhlásim', 29 | ]; 30 | -------------------------------------------------------------------------------- /resources/lang/de/adminlte.php: -------------------------------------------------------------------------------- 1 | 'Vollständiger Name', 6 | 'email' => 'E-Mail', 7 | 'password' => 'Passwort', 8 | 'retype_password' => 'Passwort bestätigen', 9 | 'remember_me' => 'Angemeldet bleiben', 10 | 'register' => 'Registrieren', 11 | 'register_a_new_membership' => 'Ein neues Konto registrieren', 12 | 'i_forgot_my_password' => 'Ich habe mein Passwort vergessen', 13 | 'i_already_have_a_membership' => 'Ich bin bereits registriert', 14 | 'sign_in' => 'Anmelden', 15 | 'log_out' => 'Abmelden', 16 | 'toggle_navigation' => 'Navigation umschalten', 17 | 'login_message' => 'Bitte melden Sie sich an, um auf den geschützten Bereich zuzugreifen', 18 | 'register_message' => 'Bitte füllen Sie das Formular aus, um ein neues Konto zu registrieren', 19 | 'password_reset_message' => 'Bitte geben Sie Ihre E-Mail Adresse ein, um Ihr Passwort zurückzusetzen', 20 | 'reset_password' => 'Passwort zurücksetzen', 21 | 'send_password_reset_link' => 'Link zur Passwortwiederherstellung senden', 22 | 'verify_message' => 'Ihr Account muss noch bestätigt werden', 23 | 'verify_email_sent' => 'Es wurde ein neuer Bestätigungslink an Ihre E-Mail Adresse gesendet.', 24 | 'verify_check_your_email' => 'Bevor Sie fortfahren, überprüfen Sie bitte Ihre E-Mail auf einen Bestätigungslink.', 25 | 'verify_if_not_recieved' => 'Wenn Sie die E-Mail nicht empfangen haben', 26 | 'verify_request_another' => 'klicken Sie hier, um eine neue E-Mail anzufordern', 27 | ]; 28 | -------------------------------------------------------------------------------- /resources/lang/bn/adminlte.php: -------------------------------------------------------------------------------- 1 | 'সম্পূর্ণ নাম', 6 | 'email' => 'ইমেইল', 7 | 'password' => 'পাসওয়ার্ড', 8 | 'retype_password' => 'পাসওয়ার্ড পুনরায় টাইপ করুন', 9 | 'remember_me' => 'মনে রাখুন', 10 | 'register' => 'নিবন্ধন করুন', 11 | 'register_a_new_membership' => 'মেম্বারশিপ নিবন্ধন করুন', 12 | 'i_forgot_my_password' => 'পাসওয়ার্ড ভুলে গেছি', 13 | 'i_already_have_a_membership' => 'মেম্বারশিপ নিবন্ধন করা আছে', 14 | 'sign_in' => 'সাইন ইন করুন', 15 | 'log_out' => 'লগ আউট', 16 | 'toggle_navigation' => 'নেভিগেশন টগল করুন', 17 | 'login_message' => 'আপনার সেশন শুরু করতে সাইন ইন করুন', 18 | 'register_message' => 'মেম্বারশিপ নিবন্ধন করুন', 19 | 'password_reset_message' => 'পাসওয়ার্ড পুনরায় সেট করুন', 20 | 'reset_password' => 'পাসওয়ার্ড পুনরায় সেট', 21 | 'send_password_reset_link' => 'পাসওয়ার্ড রিসেট লিঙ্ক পাঠান', 22 | 'verify_message' => 'আপনার অ্যাকাউন্টের একটি ভেরিফিকেশন প্রয়োজন', 23 | 'verify_email_sent' => 'একটি নতুন ভেরিফিকেশন লিঙ্ক আপনার ইমেইলে পাঠানো হয়েছে', 24 | 'verify_check_your_email' => 'এগিয়ে যাওয়ার আগে, অনুগ্রহ করে একটি ভেরিফিকেশন লিঙ্কের জন্য আপনার ইমেল চেক করুন', 25 | 'verify_if_not_recieved' => 'আপনি যদি ইমেল না পেয়ে থাকেন ', 26 | 'verify_request_another' => 'নতুন ভেরিফিকেশন লিঙ্কের জন্য এখানে ক্লিক করুন', 27 | 'confirm_password_message' => 'অনুগ্রহ করে, চালিয়ে যেতে আপনার পাসওয়ার্ড নিশ্চিত করুন', 28 | 'remember_me_hint' => 'অনির্দিষ্টকালের জন্য বা আমি ম্যানুয়ালি লগআউট না হওয়া পর্যন্ত আমাকে সাইন ইন রাখুন', 29 | ]; 30 | -------------------------------------------------------------------------------- /resources/lang/es/adminlte.php: -------------------------------------------------------------------------------- 1 | 'Nombre completo', 6 | 'email' => 'Email', 7 | 'password' => 'Contraseña', 8 | 'retype_password' => 'Confirmar la contraseña', 9 | 'remember_me' => 'Recordarme', 10 | 'register' => 'Registrarse', 11 | 'register_a_new_membership' => 'Crear una nueva cuenta', 12 | 'i_forgot_my_password' => 'Olvidé mi contraseña', 13 | 'i_already_have_a_membership' => 'Ya tengo una cuenta', 14 | 'sign_in' => 'Acceder', 15 | 'log_out' => 'Salir', 16 | 'toggle_navigation' => 'Alternar barra de navegación', 17 | 'login_message' => 'Autenticarse para iniciar sesión', 18 | 'register_message' => 'Crear una nueva cuenta', 19 | 'password_reset_message' => 'Restablecer la contraseña', 20 | 'reset_password' => 'Restablecer la contraseña', 21 | 'send_password_reset_link' => 'Enviar enlace para restablecer la contraseña', 22 | 'verify_message' => 'Tu cuenta necesita una verificación', 23 | 'verify_email_sent' => 'Se ha enviado un nuevo enlace de verificación a su correo electrónico.', 24 | 'verify_check_your_email' => 'Antes de continuar, busque en su correo electrónico un enlace de verificación.', 25 | 'verify_if_not_recieved' => 'Si no has recibido el correo electrónico', 26 | 'verify_request_another' => 'haga clic aquí para solicitar otro', 27 | 'confirm_password_message' => 'Por favor, confirme su contraseña para continuar.', 28 | 'remember_me_hint' => 'Mantenerme autenticado indefinidamente o hasta cerrar la sesión manualmente', 29 | ]; 30 | -------------------------------------------------------------------------------- /src/View/Components/Form/InputColor.php: -------------------------------------------------------------------------------- 1 | value' pairs, where the key should be an existing configuration 12 | * property of the plugin. 13 | * 14 | * @var array 15 | */ 16 | public $config; 17 | 18 | /** 19 | * Create a new component instance. 20 | * Note this component requires the 'Bootstrap Colorpicker' plugin. 21 | * 22 | * @return void 23 | */ 24 | public function __construct( 25 | $name, $id = null, $label = null, $igroupSize = null, $labelClass = null, 26 | $fgroupClass = null, $igroupClass = null, $disableFeedback = null, 27 | $errorKey = null, $config = [], $enableOldSupport = null 28 | ) { 29 | parent::__construct( 30 | $name, $id, $label, $igroupSize, $labelClass, $fgroupClass, 31 | $igroupClass, $disableFeedback, $errorKey 32 | ); 33 | 34 | $this->config = is_array($config) ? $config : []; 35 | $this->enableOldSupport = isset($enableOldSupport); 36 | } 37 | 38 | /** 39 | * Get the view / contents that represent the component. 40 | * 41 | * @return \Illuminate\View\View|string 42 | */ 43 | public function render() 44 | { 45 | return view('adminlte::components.form.input-color'); 46 | } 47 | } 48 | -------------------------------------------------------------------------------- /resources/views/components/widget/profile-widget.blade.php: -------------------------------------------------------------------------------- 1 |
    merge(['class' => $makeCardClass()]) }}> 2 | 3 | {{-- Profile header --}} 4 |
    5 | 6 | {{-- User image --}} 7 |
    8 | @if(isset($img)) 9 | User avatar: {{ $name }} 10 | @elseif($layoutType === 'modern') 11 |
    12 | 13 |
    14 | @elseif($layoutType === 'classic') 15 |
    16 | 17 |
    18 | @endisset 19 |
    20 | 21 | {{-- User name --}} 22 | @isset($name) 23 |

    {{ $name }}

    24 | @endisset 25 | 26 | {{-- User description --}} 27 | @isset($desc) 28 |
    {{ $desc }}
    29 | @endisset 30 | 31 |
    32 | 33 | {{-- Profile footer / Profile Items --}} 34 | @if(! $slot->isEmpty()) 35 |
    36 |
    {{ $slot }}
    37 |
    38 | @endif 39 | 40 |
    41 | -------------------------------------------------------------------------------- /resources/views/components/form/input-color.blade.php: -------------------------------------------------------------------------------- 1 | @extends('adminlte::components.form.input-group-component') 2 | 3 | {{-- Set errors bag internallly --}} 4 | 5 | @php($setErrorsBag($errors ?? null)) 6 | 7 | {{-- Set input group item section --}} 8 | 9 | @section('input_group_item') 10 | 11 | {{-- Input Color --}} 12 | merge(['class' => $makeItemClass()]) }}> 14 | 15 | @overwrite 16 | 17 | {{-- Add plugin initialization and configuration code --}} 18 | 19 | @push('js') 20 | 54 | @endpush 55 | -------------------------------------------------------------------------------- /src/View/Components/Form/Select2.php: -------------------------------------------------------------------------------- 1 | value' 11 | * pairs, where the key should be an existing configuration property of 12 | * the select2 plugin. 13 | * 14 | * @var array 15 | */ 16 | public $config; 17 | 18 | /** 19 | * Create a new component instance. 20 | * Note this component requires the 'select2' plugin and the 'bootstrap4' 21 | * css theme. 22 | * 23 | * @return void 24 | */ 25 | public function __construct( 26 | $name, $id = null, $label = null, $igroupSize = null, $labelClass = null, 27 | $fgroupClass = null, $igroupClass = null, $disableFeedback = null, 28 | $errorKey = null, $config = [], $enableOldSupport = null 29 | ) { 30 | parent::__construct( 31 | $name, $id, $label, $igroupSize, $labelClass, $fgroupClass, 32 | $igroupClass, $disableFeedback, $errorKey 33 | ); 34 | 35 | $this->config = is_array($config) ? $config : []; 36 | $this->config['theme'] = 'bootstrap4'; 37 | $this->enableOldSupport = isset($enableOldSupport); 38 | } 39 | 40 | /** 41 | * Get the view / contents that represent the component. 42 | * 43 | * @return \Illuminate\View\View|string 44 | */ 45 | public function render() 46 | { 47 | return view('adminlte::components.form.select2'); 48 | } 49 | } 50 | -------------------------------------------------------------------------------- /resources/lang/fr/adminlte.php: -------------------------------------------------------------------------------- 1 | 'Nom', 6 | 'email' => 'Email', 7 | 'password' => 'Mot de passe', 8 | 'retype_password' => 'Entrez à nouveau le mot de passe', 9 | 'remember_me' => 'Se souvenir de moi', 10 | 'register' => 'Enregistrement', 11 | 'register_a_new_membership' => 'Enregistrer un nouveau membre', 12 | 'i_forgot_my_password' => 'J\'ai oublié mon mot de passe', 13 | 'i_already_have_a_membership' => 'J\'ai déjà un compte', 14 | 'sign_in' => 'Connexion', 15 | 'log_out' => 'Déconnexion', 16 | 'toggle_navigation' => 'Basculer la navigation', 17 | 'login_message' => 'Connectez-vous pour commencer une session', 18 | 'register_message' => 'Enregistrement d\'un nouveau membre', 19 | 'password_reset_message' => 'Réinitialisation du mot de passe', 20 | 'reset_password' => 'Réinitialisation du mot de passe', 21 | 'send_password_reset_link' => 'Envoi de la réinitialisation du mot de passe', 22 | 'verify_message' => 'Votre compte a besoin d\'une vérification', 23 | 'verify_email_sent' => 'Un nouveau lien de vérification a été envoyé à votre adresse e-mail.', 24 | 'verify_check_your_email' => 'Avant de continuer, veuillez vérifier votre e-mail pour un lien de vérification.', 25 | 'verify_if_not_recieved' => 'Si vous n\'avez pas reçu l\'e-mail', 26 | 'verify_request_another' => 'cliquez ici pour en demander un autre', 27 | 'confirm_password_message' => 'Veuillez confirmer votre mot de passe pour continuer.', 28 | 'remember_me_hint' => 'Gardez-moi authentifié indéfiniment ou jusqu\'à ce que je me déconnecte manuellement', 29 | ]; 30 | -------------------------------------------------------------------------------- /src/Menu/Filters/GateFilter.php: -------------------------------------------------------------------------------- 1 | isAuthorized($item)) { 22 | $item['restricted'] = true; 23 | } 24 | 25 | return $item; 26 | } 27 | 28 | /** 29 | * Check if a menu item is authorized to be shown for the current user. 30 | * 31 | * @param array $item A menu item 32 | * @return bool 33 | */ 34 | protected function isAuthorized($item) 35 | { 36 | // Check if there are any permission defined for the item. 37 | 38 | if (empty($item['can'])) { 39 | return true; 40 | } 41 | 42 | // Read the extra arguments (a db model instance can be used). 43 | 44 | $args = ! empty($item['model']) ? $item['model'] : []; 45 | 46 | // Check if the current user can perform the configured permissions. 47 | 48 | if (is_string($item['can']) || is_array($item['can'])) { 49 | return Gate::any($item['can'], $args); 50 | } 51 | 52 | return true; 53 | } 54 | } 55 | -------------------------------------------------------------------------------- /src/View/Components/Form/Button.php: -------------------------------------------------------------------------------- 1 | label = UtilsHelper::applyHtmlEntityDecoder($label); 49 | $this->type = $type; 50 | $this->theme = $theme; 51 | $this->icon = $icon; 52 | } 53 | 54 | /** 55 | * Get the view / contents that represent the component. 56 | * 57 | * @return \Illuminate\View\View|string 58 | */ 59 | public function render() 60 | { 61 | return view('adminlte::components.form.button'); 62 | } 63 | } 64 | -------------------------------------------------------------------------------- /resources/views/partials/navbar/navbar.blade.php: -------------------------------------------------------------------------------- 1 | @inject('layoutHelper', 'JeroenNoten\LaravelAdminLte\Helpers\LayoutHelper') 2 | 3 | 43 | -------------------------------------------------------------------------------- /src/Menu/Filters/SearchFilter.php: -------------------------------------------------------------------------------- 1 | defMethod; 49 | } 50 | 51 | // Setup the search bar input name attribute. 52 | 53 | if (empty($item['input_name'])) { 54 | $item['input_name'] = $this->defName; 55 | } 56 | 57 | return $item; 58 | } 59 | } 60 | -------------------------------------------------------------------------------- /resources/views/partials/navbar/menu-item.blade.php: -------------------------------------------------------------------------------- 1 | @inject('navbarItemHelper', 'JeroenNoten\LaravelAdminLte\Helpers\NavbarItemHelper') 2 | 3 | @if ($navbarItemHelper->isSearch($item)) 4 | 5 | {{-- Search form --}} 6 | @include('adminlte::partials.navbar.menu-item-search-form') 7 | 8 | @elseif ($navbarItemHelper->isNotification($item)) 9 | 10 | {{-- Notification link --}} 11 | 22 | 23 | @elseif ($navbarItemHelper->isFullscreen($item)) 24 | 25 | {{-- Fullscreen toggle widget --}} 26 | @include('adminlte::partials.navbar.menu-item-fullscreen-widget') 27 | 28 | @elseif ($navbarItemHelper->isDarkmode($item)) 29 | 30 | {{-- Darkmode toggle widget --}} 31 | 37 | 38 | @elseif ($navbarItemHelper->isSubmenu($item)) 39 | 40 | {{-- Dropdown menu --}} 41 | @include('adminlte::partials.navbar.menu-item-dropdown-menu') 42 | 43 | @elseif ($navbarItemHelper->isLink($item)) 44 | 45 | {{-- Link --}} 46 | @include('adminlte::partials.navbar.menu-item-link') 47 | 48 | @endif 49 | -------------------------------------------------------------------------------- /resources/views/page.blade.php: -------------------------------------------------------------------------------- 1 | @extends('adminlte::master') 2 | 3 | @inject('layoutHelper', 'JeroenNoten\LaravelAdminLte\Helpers\LayoutHelper') 4 | @inject('preloaderHelper', 'JeroenNoten\LaravelAdminLte\Helpers\PreloaderHelper') 5 | 6 | @section('adminlte_css') 7 | @stack('css') 8 | @yield('css') 9 | @stop 10 | 11 | @section('classes_body', $layoutHelper->makeBodyClasses()) 12 | 13 | @section('body_data', $layoutHelper->makeBodyData()) 14 | 15 | @section('body') 16 |
    17 | 18 | {{-- Preloader Animation (fullscreen mode) --}} 19 | @if($preloaderHelper->isPreloaderEnabled()) 20 | @include('adminlte::partials.common.preloader') 21 | @endif 22 | 23 | {{-- Top Navbar --}} 24 | @if($layoutHelper->isLayoutTopnavEnabled()) 25 | @include('adminlte::partials.navbar.navbar-layout-topnav') 26 | @else 27 | @include('adminlte::partials.navbar.navbar') 28 | @endif 29 | 30 | {{-- Left Main Sidebar --}} 31 | @if(!$layoutHelper->isLayoutTopnavEnabled()) 32 | @include('adminlte::partials.sidebar.left-sidebar') 33 | @endif 34 | 35 | {{-- Content Wrapper --}} 36 | @empty($iFrameEnabled) 37 | @include('adminlte::partials.cwrapper.cwrapper-default') 38 | @else 39 | @include('adminlte::partials.cwrapper.cwrapper-iframe') 40 | @endempty 41 | 42 | {{-- Footer --}} 43 | @hasSection('footer') 44 | @include('adminlte::partials.footer.footer') 45 | @endif 46 | 47 | {{-- Right Control Sidebar --}} 48 | @if($layoutHelper->isRightSidebarEnabled()) 49 | @include('adminlte::partials.sidebar.right-sidebar') 50 | @endif 51 | 52 |
    53 | @stop 54 | 55 | @section('adminlte_js') 56 | @stack('js') 57 | @yield('js') 58 | @stop 59 | -------------------------------------------------------------------------------- /resources/views/components/form/input-group-component.blade.php: -------------------------------------------------------------------------------- 1 | {{-- Setup the input group component structure --}} 2 | 3 |
    4 | 5 | {{-- Input label --}} 6 | @isset($label) 7 | 10 | @endisset 11 | 12 | {{-- Input group --}} 13 |
    14 | 15 | {{-- Input prepend slot --}} 16 | @isset($prependSlot) 17 |
    {{ $prependSlot }}
    18 | @endisset 19 | 20 | {{-- Input group item --}} 21 | @yield('input_group_item') 22 | 23 | {{-- Input append slot --}} 24 | @isset($appendSlot) 25 |
    {{ $appendSlot }}
    26 | @endisset 27 | 28 |
    29 | 30 | {{-- Error feedback --}} 31 | @if($isInvalid()) 32 | 33 | {{ $errors->first($errorKey) }} 34 | 35 | @endif 36 | 37 | {{-- Bottom slot --}} 38 | @isset($bottomSlot) 39 | {{ $bottomSlot }} 40 | @endisset 41 | 42 |
    43 | 44 | {{-- Extra style customization for invalid input groups --}} 45 | 46 | @once 47 | @push('css') 48 | 64 | @endpush 65 | @endonce 66 | -------------------------------------------------------------------------------- /src/View/Components/Form/InputFile.php: -------------------------------------------------------------------------------- 1 | legend = $legend; 38 | $this->placeholder = $placeholder; 39 | } 40 | 41 | /** 42 | * Make the class attribute for the input group item. Note we overwrite 43 | * the method of the parent class. 44 | * 45 | * @return string 46 | */ 47 | public function makeItemClass() 48 | { 49 | $classes = ['custom-file-input']; 50 | 51 | if ($this->isInvalid()) { 52 | $classes[] = 'is-invalid'; 53 | } 54 | 55 | return implode(' ', $classes); 56 | } 57 | 58 | /** 59 | * Get the view / contents that represent the component. 60 | * 61 | * @return \Illuminate\View\View|string 62 | */ 63 | public function render() 64 | { 65 | return view('adminlte::components.form.input-file'); 66 | } 67 | } 68 | -------------------------------------------------------------------------------- /resources/views/components/form/input-date.blade.php: -------------------------------------------------------------------------------- 1 | @extends('adminlte::components.form.input-group-component') 2 | 3 | {{-- Set errors bag internallly --}} 4 | 5 | @php($setErrorsBag($errors ?? null)) 6 | 7 | {{-- Set input group item section --}} 8 | 9 | @section('input_group_item') 10 | 11 | {{-- Input Date --}} 12 | merge(['class' => $makeItemClass()]) }}> 14 | 15 | @overwrite 16 | 17 | {{-- Add plugin initialization and configuration code --}} 18 | 19 | @push('js') 20 | 34 | @endpush 35 | 36 | {{-- Register Javascript utility class for this component --}} 37 | 38 | @once 39 | @push('js') 40 | 66 | @endpush 67 | @endonce 68 | -------------------------------------------------------------------------------- /src/View/Components/Widget/Callout.php: -------------------------------------------------------------------------------- 1 | theme = $theme; 48 | $this->icon = $icon; 49 | $this->title = UtilsHelper::applyHtmlEntityDecoder($title); 50 | $this->titleClass = $titleClass; 51 | } 52 | 53 | /** 54 | * Make the class attribute for the callout item. 55 | * 56 | * @return string 57 | */ 58 | public function makeCalloutClass() 59 | { 60 | $classes = ['callout']; 61 | 62 | if (! empty($this->theme)) { 63 | $classes[] = "callout-{$this->theme}"; 64 | } 65 | 66 | return implode(' ', $classes); 67 | } 68 | 69 | /** 70 | * Get the view / contents that represent the component. 71 | * 72 | * @return \Illuminate\View\View|string 73 | */ 74 | public function render() 75 | { 76 | return view('adminlte::components.widget.callout'); 77 | } 78 | } 79 | -------------------------------------------------------------------------------- /resources/views/auth/passwords/email.blade.php: -------------------------------------------------------------------------------- 1 | @extends('adminlte::auth.auth-page', ['authType' => 'login']) 2 | 3 | @php 4 | $passEmailUrl = View::getSection('password_email_url') ?? config('adminlte.password_email_url', 'password/email'); 5 | 6 | if (config('adminlte.use_route_url', false)) { 7 | $passEmailUrl = $passEmailUrl ? route($passEmailUrl) : ''; 8 | } else { 9 | $passEmailUrl = $passEmailUrl ? url($passEmailUrl) : ''; 10 | } 11 | @endphp 12 | 13 | @section('auth_header', __('adminlte::adminlte.password_reset_message')) 14 | 15 | @section('auth_body') 16 | 17 | @if(session('status')) 18 |
    19 | {{ session('status') }} 20 |
    21 | @endif 22 | 23 |
    24 | @csrf 25 | 26 | {{-- Email field --}} 27 |
    28 | 30 | 31 |
    32 |
    33 | 34 |
    35 |
    36 | 37 | @error('email') 38 | 39 | {{ $message }} 40 | 41 | @enderror 42 |
    43 | 44 | {{-- Send reset link button --}} 45 | 49 |
    50 | 51 | @stop 52 | -------------------------------------------------------------------------------- /resources/views/components/form/text-editor.blade.php: -------------------------------------------------------------------------------- 1 | @extends('adminlte::components.form.input-group-component') 2 | 3 | {{-- Set errors bag internallly --}} 4 | 5 | @php($setErrorsBag($errors ?? null)) 6 | 7 | {{-- Set input group item section --}} 8 | 9 | @section('input_group_item') 10 | 11 | {{-- Summernote Textarea --}} 12 | 15 | 16 | @overwrite 17 | 18 | {{-- Add plugin initialization and configuration code --}} 19 | 20 | @push('js') 21 | 44 | @endpush 45 | 46 | {{-- Setup the font size of the plugin when using sm/lg sizes --}} 47 | {{-- NOTE: this may change with newer plugin versions --}} 48 | 49 | @once 50 | @push('css') 51 | 73 | @endpush 74 | @endonce 75 | -------------------------------------------------------------------------------- /src/View/Components/Form/DateRange.php: -------------------------------------------------------------------------------- 1 | value' pairs, where the key should be an existing configuration 12 | * property of the plugin. 13 | * 14 | * @var array 15 | */ 16 | public $config; 17 | 18 | /** 19 | * Enables a default set of ranges option. The string value, if any, will 20 | * be used as the initial date range. The available values are: 'Today', 21 | * 'Yesterday', 'Last 7 Days', 'Last 30 Days', 'This Month' or 'Last Month'. 22 | * 23 | * @var bool|string 24 | */ 25 | public $enableDefaultRanges; 26 | 27 | /** 28 | * Create a new component instance. 29 | * Note this component requires the 'DateRangePicker' and 'Moment' plugins. 30 | * 31 | * @return void 32 | */ 33 | public function __construct( 34 | $name, $id = null, $label = null, $igroupSize = null, $labelClass = null, 35 | $fgroupClass = null, $igroupClass = null, $disableFeedback = null, 36 | $errorKey = null, $config = [], $enableDefaultRanges = null, 37 | $enableOldSupport = null 38 | ) { 39 | parent::__construct( 40 | $name, $id, $label, $igroupSize, $labelClass, $fgroupClass, 41 | $igroupClass, $disableFeedback, $errorKey 42 | ); 43 | 44 | $this->config = is_array($config) ? $config : []; 45 | $this->enableDefaultRanges = $enableDefaultRanges; 46 | $this->enableOldSupport = isset($enableOldSupport); 47 | } 48 | 49 | /** 50 | * Get the view / contents that represent the component. 51 | * 52 | * @return \Illuminate\View\View|string 53 | */ 54 | public function render() 55 | { 56 | return view('adminlte::components.form.date-range'); 57 | } 58 | } 59 | -------------------------------------------------------------------------------- /src/Helpers/SidebarItemHelper.php: -------------------------------------------------------------------------------- 1 | makeClasses($item); 19 | 20 | if (MenuItemHelper::isSubmenu($item)) { 21 | $item['submenu_class'] = $this->makeSubmenuClasses($item); 22 | } 23 | 24 | return $item; 25 | } 26 | 27 | /** 28 | * Make the HTML classes string attribute for a menu item. 29 | * 30 | * @param array $item A menu item 31 | * @return string 32 | */ 33 | protected function makeClasses($item) 34 | { 35 | $classes = []; 36 | 37 | // Add custom classes (from menu item configuration). 38 | 39 | if (! empty($item['classes'])) { 40 | $classes[] = $item['classes']; 41 | } 42 | 43 | // When the item is active, add the "active" class too. 44 | 45 | if (! empty($item['active'])) { 46 | $classes[] = 'active'; 47 | } 48 | 49 | return implode(' ', $classes); 50 | } 51 | 52 | /** 53 | * Make the HTML classes string for the submenu of an item. 54 | * 55 | * @param array $item A menu item 56 | * @return string 57 | */ 58 | protected function makeSubmenuClasses($item) 59 | { 60 | $classes = []; 61 | 62 | // Add the "menu-open" class when a sidebar submenu is active. Note we 63 | // need to add the class to sidebar submenu items only. 64 | 65 | if (SidebarItemHelper::isValidItem($item) && $item['active']) { 66 | $classes[] = 'menu-open'; 67 | } 68 | 69 | return implode(' ', $classes); 70 | } 71 | } 72 | -------------------------------------------------------------------------------- /src/Helpers/PreloaderHelper.php: -------------------------------------------------------------------------------- 1 | sessionKey => ! $this->isEnabled()]); 27 | 28 | // Dispatch an event to notify this situation. This way, a listener may 29 | // read the new dark mode preference using the controller, and update 30 | // that preference on a database or another tool for persist data. 31 | 32 | event(new DarkModeWasToggled($this)); 33 | } 34 | 35 | /** 36 | * Check if the dark mode is currently enabled or not. 37 | * 38 | * @return bool 39 | */ 40 | public function isEnabled() 41 | { 42 | // First, check if dark mode preference is available on the session. 43 | 44 | if (! is_null(session($this->sessionKey, null))) { 45 | return session($this->sessionKey); 46 | } 47 | 48 | // Otherwise, fallback to the default package configuration preference. 49 | 50 | return (bool) config('adminlte.layout_dark_mode', false); 51 | } 52 | 53 | /** 54 | * Enables the dark mode. 55 | * 56 | * @return void 57 | */ 58 | public function enable() 59 | { 60 | session([$this->sessionKey => true]); 61 | } 62 | 63 | /** 64 | * Disables the dark mode. 65 | * 66 | * @return void 67 | */ 68 | public function disable() 69 | { 70 | session([$this->sessionKey => false]); 71 | } 72 | } 73 | -------------------------------------------------------------------------------- /resources/views/components/form/input-file.blade.php: -------------------------------------------------------------------------------- 1 | @extends('adminlte::components.form.input-group-component') 2 | 3 | {{-- Set errors bag internallly --}} 4 | 5 | @php($setErrorsBag($errors ?? null)) 6 | 7 | {{-- Set input group item section --}} 8 | 9 | @section('input_group_item') 10 | 11 |
    12 | 13 | {{-- Custom file input --}} 14 | merge(['class' => $makeItemClass()]) }}> 16 | 17 | {{-- Custom file label --}} 18 | 22 | 23 |
    24 | 25 | @overwrite 26 | 27 | {{-- Add the plugin initialization code --}} 28 | 29 | @once 30 | @push('js') 31 | 38 | @endpush 39 | @endonce 40 | 41 | {{-- Setup the height and font size of the plugin when using sm/lg sizes --}} 42 | {{-- NOTE: this may change with newer plugin or Bootstrap versions --}} 43 | 44 | @once 45 | @push('css') 46 | 77 | @endpush 78 | @endonce 79 | -------------------------------------------------------------------------------- /src/Menu/Filters/HrefFilter.php: -------------------------------------------------------------------------------- 1 | makeHref($item); 19 | } 20 | 21 | return $item; 22 | } 23 | 24 | /** 25 | * Make and return the href HTML attribute for a menu item. 26 | * 27 | * @param array $item A menu item 28 | * @return string 29 | */ 30 | protected function makeHref($item) 31 | { 32 | // If url attribute is available, use it to make the href property. 33 | // Otherwise, check if route attribute is available. 34 | 35 | if (! empty($item['url'])) { 36 | return url($item['url']); 37 | } elseif (! empty($item['route'])) { 38 | return $this->makeHrefFromRouteAttr($item['route']); 39 | } 40 | 41 | // When url and route are not available, return a default value. 42 | 43 | return '#'; 44 | } 45 | 46 | /** 47 | * Make and return the href HTML attribute fom the route attribute of a 48 | * menu item. 49 | * 50 | * @param mixed $routeAttr The route attribute of a menu item 51 | * @return string 52 | */ 53 | protected function makeHrefFromRouteAttr($routeAttr) 54 | { 55 | $routeName = $routeParams = null; 56 | 57 | // Check type of the route attribute. 58 | 59 | if (is_array($routeAttr)) { 60 | $routeName = $routeAttr[0] ?? null; 61 | $routeParams = is_array($routeAttr[1]) ? $routeAttr[1] : null; 62 | } elseif (is_string($routeAttr)) { 63 | $routeName = $routeAttr; 64 | } 65 | 66 | return $routeName ? route($routeName, $routeParams) : '#'; 67 | } 68 | } 69 | -------------------------------------------------------------------------------- /src/Helpers/MenuItemHelper.php: -------------------------------------------------------------------------------- 1 | merge(['class' => $makeCardClass()]) }}> 2 | 3 | {{-- Card header --}} 4 | @if(! $isCardHeaderEmpty(isset($toolsSlot))) 5 |
    6 | 7 | {{-- Title --}} 8 |

    9 | @isset($icon)@endisset 10 | @isset($title){{ $title }}@endisset 11 |

    12 | 13 | {{-- Tools --}} 14 |
    15 | 16 | {{-- Extra tools slot --}} 17 | @isset($toolsSlot) 18 | {{ $toolsSlot }} 19 | @endisset 20 | 21 | {{-- Default tools --}} 22 | @isset($maximizable) 23 | 24 | @endisset 25 | 26 | @if($collapsible === 'collapsed') 27 | 28 | @elseif(isset($collapsible)) 29 | 30 | @endif 31 | 32 | @isset($removable) 33 | 34 | @endisset 35 | 36 |
    37 | 38 |
    39 | @endif 40 | 41 | {{-- Card body --}} 42 | @if(! $slot->isEmpty()) 43 |
    44 | {{ $slot }} 45 |
    46 | @endif 47 | 48 | {{-- Card footer --}} 49 | @isset($footerSlot) 50 |
    51 | {{ $footerSlot }} 52 |
    53 | @endisset 54 | 55 | {{-- Card overlay --}} 56 | @if($disabled) 57 |
    58 | 59 |
    60 | @endif 61 | 62 | 63 | -------------------------------------------------------------------------------- /resources/views/components/tool/datatable.blade.php: -------------------------------------------------------------------------------- 1 | {{-- Table --}} 2 | 3 |
    4 | 5 | merge(['class' => $makeTableClass()]) }}> 6 | 7 | {{-- Table head --}} 8 | 9 | 10 | @foreach($heads as $th) 11 | 16 | @endforeach 17 | 18 | 19 | 20 | {{-- Table body --}} 21 | {{ $slot }} 22 | 23 | {{-- Table footer --}} 24 | @isset($withFooter) 25 | 26 | 27 | @foreach($heads as $th) 28 | 29 | @endforeach 30 | 31 | 32 | @endisset 33 | 34 |
    14 | {{ is_array($th) ? ($th['label'] ?? '') : $th }} 15 |
    {{ is_array($th) ? ($th['label'] ?? '') : $th }}
    35 | 36 |
    37 | 38 | {{-- Add plugin initialization and configuration code --}} 39 | 40 | @push('js') 41 | 48 | @endpush 49 | 50 | {{-- Add CSS styling for beautify option --}} 51 | 52 | @isset($beautify) 53 | @push('css') 54 | 60 | @endpush 61 | @endisset 62 | 63 | {{-- Improve CSS styling when using responsive extension --}} 64 | 65 | @if(! empty($config['responsive'])) 66 | @once 67 | @push('css') 68 | 76 | @endpush 77 | @endonce 78 | @endif 79 | -------------------------------------------------------------------------------- /resources/views/components/form/input-file-krajee.blade.php: -------------------------------------------------------------------------------- 1 | {{-- 2 | Note: we don't extends the 'input-group-component' blade layout as we have done 3 | with other form components. The reason is that the underlying Krajee file input 4 | plugin already generates an 'input-group' structure and will conflict with the 5 | one provided by the mentioned layout. So instead, we define a new layout. 6 | --}} 7 | 8 | {{-- Set errors bag internallly --}} 9 | 10 | @php($setErrorsBag($errors ?? null)) 11 | 12 | {{-- Create the form group layout --}} 13 | 14 |
    15 | 16 | {{-- Input label --}} 17 | @isset($label) 18 | 21 | @endisset 22 | 23 | {{-- Krajee file input --}} 24 | merge(['class' => $makeItemClass()]) }}> 26 | 27 | {{-- Error feedback --}} 28 | @if($isInvalid()) 29 | 30 | {{ $errors->first($errorKey) }} 31 | 32 | @endif 33 | 34 |
    35 | 36 | {{-- Add the plugin initialization code --}} 37 | 38 | @push('js') 39 | 70 | @endpush 71 | -------------------------------------------------------------------------------- /src/Console/AdminLteUpdateCommand.php: -------------------------------------------------------------------------------- 1 | Outdated layout views at %s 31 | 32 | We detected that the package layout views were previously published and they 33 | differs from the ones currently available. Note this package may not work 34 | correctly if you do not update those views manually in order to include the 35 | latest changes. In the particular case you have recently changed those views 36 | to include own customizations, then you can ignore this warning. Please, 37 | refer to next link for more instructions on how to update the views: 38 | https://github.com/jeroennoten/Laravel-AdminLTE/wiki/Updating'; 39 | 40 | /** 41 | * Execute the console command. 42 | * 43 | * @return void 44 | */ 45 | public function handle() 46 | { 47 | $options = ['--force' => true, '--only' => ['assets']]; 48 | 49 | $this->call('adminlte:install', $options); 50 | 51 | // When the layout views were previously published and they differs 52 | // from the package default ones, alarm the user to notify that those 53 | // views may require a manual update. 54 | 55 | $layoutViewsRes = new LayoutViewsResource(); 56 | 57 | if ($layoutViewsRes->exists() && ! $layoutViewsRes->installed()) { 58 | $msg = sprintf($this->layoutViewsWarn, $layoutViewsRes->target); 59 | $this->info($msg); 60 | } 61 | } 62 | } 63 | -------------------------------------------------------------------------------- /resources/views/components/widget/progress.blade.php: -------------------------------------------------------------------------------- 1 |
    merge(['class' => $makeProgressClass()]) }}> 2 | 3 | {{-- Progress bar --}} 4 |
    7 | 8 | {{-- Progress bar label --}} 9 | @isset($withLabel) 10 | {{ $value }}% 11 | @else 12 | {{ $value }}% Progress 13 | @endisset 14 | 15 |
    16 | 17 |
    18 | 19 | {{-- Register Javascript utility class for this component --}} 20 | 21 | @once 22 | @push('js') 23 | 84 | @endpush 85 | @endonce 86 | -------------------------------------------------------------------------------- /src/Console/PackageResources/PackageResource.php: -------------------------------------------------------------------------------- 1 | messages[$key])) { 84 | return null; 85 | } 86 | 87 | return $this->messages[$key]; 88 | } 89 | } 90 | -------------------------------------------------------------------------------- /src/View/Components/Form/SelectBs.php: -------------------------------------------------------------------------------- 1 | value' pairs, where the key should be an existing configuration 12 | * property of the bootstrap-select plugin. 13 | * 14 | * @var array 15 | */ 16 | public $config; 17 | 18 | /** 19 | * Create a new component instance. 20 | * Note this component requires the 'bootstrap-select' plugin. 21 | * 22 | * @return void 23 | */ 24 | public function __construct( 25 | $name, $id = null, $label = null, $igroupSize = null, $labelClass = null, 26 | $fgroupClass = null, $igroupClass = null, $disableFeedback = null, 27 | $errorKey = null, $config = [], $enableOldSupport = null 28 | ) { 29 | parent::__construct( 30 | $name, $id, $label, $igroupSize, $labelClass, $fgroupClass, 31 | $igroupClass, $disableFeedback, $errorKey 32 | ); 33 | 34 | $this->config = is_array($config) ? $config : []; 35 | $this->enableOldSupport = isset($enableOldSupport); 36 | } 37 | 38 | /** 39 | * Make the class attribute for the input group item. Note we overwrite 40 | * the method of the parent class. 41 | * 42 | * @return string 43 | */ 44 | public function makeItemClass() 45 | { 46 | $classes = ['form-control']; 47 | 48 | if ($this->isInvalid()) { 49 | $classes[] = 'is-invalid'; 50 | } 51 | 52 | // The next workaround setups the plugin when using sm/lg sizes. 53 | // Note: this may change with newer plugin versions. 54 | 55 | if (isset($this->size) && in_array($this->size, ['sm', 'lg'])) { 56 | $classes[] = "form-control-{$this->size}"; 57 | $classes[] = 'p-0'; 58 | } 59 | 60 | return implode(' ', $classes); 61 | } 62 | 63 | /** 64 | * Get the view / contents that represent the component. 65 | * 66 | * @return \Illuminate\View\View|string 67 | */ 68 | public function render() 69 | { 70 | return view('adminlte::components.form.select-bs'); 71 | } 72 | } 73 | -------------------------------------------------------------------------------- /resources/views/components/layout/navbar-darkmode-widget.blade.php: -------------------------------------------------------------------------------- 1 | {{-- Navbar darkmode widget --}} 2 | 3 | 10 | 11 | {{-- Add Javascript listener for the click event --}} 12 | 13 | @once 14 | @push('js') 15 | 74 | @endpush 75 | @endonce 76 | -------------------------------------------------------------------------------- /src/View/Components/Form/TextEditor.php: -------------------------------------------------------------------------------- 1 | value' 11 | * pairs, where the key should be an existing configuration property of 12 | * the plugin. 13 | * 14 | * @var array 15 | */ 16 | public $config; 17 | 18 | /** 19 | * Create a new component instance. 20 | * Note this component requires the 'Summernote' plugin. 21 | * TODO: the append/prepend addon slots are not supported. 22 | * 23 | * @return void 24 | */ 25 | public function __construct( 26 | $name, $id = null, $label = null, $igroupSize = null, $labelClass = null, 27 | $fgroupClass = null, $igroupClass = null, $disableFeedback = null, 28 | $errorKey = null, $config = [], $enableOldSupport = null 29 | ) { 30 | parent::__construct( 31 | $name, $id, $label, $igroupSize, $labelClass, $fgroupClass, 32 | $igroupClass, $disableFeedback, $errorKey 33 | ); 34 | 35 | $this->config = is_array($config) ? $config : []; 36 | $this->enableOldSupport = isset($enableOldSupport); 37 | 38 | // Setup the default plugin width option. 39 | 40 | $this->config['width'] = $this->config['width'] ?? 'inherit'; 41 | } 42 | 43 | /** 44 | * Make the class attribute for the "input-group" element. Note we overwrite 45 | * the method of the parent class. 46 | * 47 | * @return string 48 | */ 49 | public function makeInputGroupClass() 50 | { 51 | $classes = ['input-group']; 52 | 53 | if (isset($this->size) && in_array($this->size, ['sm', 'lg'])) { 54 | $classes[] = "input-group-{$this->size}"; 55 | } 56 | 57 | if ($this->isInvalid()) { 58 | $classes[] = 'adminlte-invalid-itegroup'; 59 | } 60 | 61 | if (isset($this->igroupClass)) { 62 | $classes[] = $this->igroupClass; 63 | } 64 | 65 | return implode(' ', $classes); 66 | } 67 | 68 | /** 69 | * Get the view / contents that represent the component. 70 | * 71 | * @return \Illuminate\View\View|string 72 | */ 73 | public function render() 74 | { 75 | return view('adminlte::components.form.text-editor'); 76 | } 77 | } 78 | -------------------------------------------------------------------------------- /src/Console/PackageResources/ConfigResource.php: -------------------------------------------------------------------------------- 1 | description = 'The package configuration file with default options'; 20 | $this->source = CommandHelper::getPackagePath('config/adminlte.php'); 21 | $this->target = config_path('adminlte.php'); 22 | $this->required = true; 23 | 24 | // Fill the set of installation messages. 25 | 26 | $this->messages = [ 27 | 'install' => 'Do you want to publish the package config file?', 28 | 'overwrite' => 'Config file was already published. Want to replace it?', 29 | 'success' => 'Configuration file published successfully', 30 | ]; 31 | } 32 | 33 | /** 34 | * Installs or publishes the resource. 35 | * 36 | * @return void 37 | */ 38 | public function install() 39 | { 40 | // Copy the configuration file to the target file. 41 | 42 | File::ensureDirectoryExists(File::dirname($this->target)); 43 | File::copy($this->source, $this->target); 44 | } 45 | 46 | /** 47 | * Uninstalls the resource. 48 | * 49 | * @return void 50 | */ 51 | public function uninstall() 52 | { 53 | // Delete the published configuration file. When file does not exists, 54 | // we consider the config file as uninstalled. 55 | 56 | if (File::isFile($this->target)) { 57 | File::delete($this->target); 58 | } 59 | } 60 | 61 | /** 62 | * Checks whether the resource already exists in the target location. 63 | * 64 | * @return bool 65 | */ 66 | public function exists() 67 | { 68 | return File::isFile($this->target); 69 | } 70 | 71 | /** 72 | * Checks whether the resource is correctly installed, i.e. if the source 73 | * items matches with the items available at the target location. 74 | * 75 | * @return bool 76 | */ 77 | public function installed() 78 | { 79 | return CommandHelper::compareFiles($this->source, $this->target); 80 | } 81 | } 82 | -------------------------------------------------------------------------------- /resources/views/components/form/input-switch.blade.php: -------------------------------------------------------------------------------- 1 | @extends('adminlte::components.form.input-group-component') 2 | 3 | {{-- Set errors bag internallly --}} 4 | 5 | @php($setErrorsBag($errors ?? null)) 6 | 7 | {{-- Set input group item section --}} 8 | 9 | @section('input_group_item') 10 | 11 | {{-- Input Switch --}} 12 | merge(['class' => $makeItemClass(), 'value' => 'true']) }}> 14 | 15 | @overwrite 16 | 17 | {{-- Add plugin initialization and configuration code --}} 18 | 19 | @push('js') 20 | 41 | @endpush 42 | 43 | {{-- Setup the height/font of the plugin when using sm/lg sizes --}} 44 | {{-- NOTE: this may change with newer plugin versions --}} 45 | 46 | @once 47 | @push('css') 48 | 79 | @endpush 80 | @endonce 81 | -------------------------------------------------------------------------------- /src/Menu/Filters/LangFilter.php: -------------------------------------------------------------------------------- 1 | itemProperties = ['header', 'text', 'label']; 22 | } 23 | 24 | /** 25 | * Transforms a menu item. Makes the translations on the expected item 26 | * properties. 27 | * 28 | * @param array $item A menu item 29 | * @return array 30 | */ 31 | public function transform($item) 32 | { 33 | // Translate the expected menu item properties. 34 | 35 | foreach ($this->itemProperties as $prop) { 36 | // Check if the property exists in the item. 37 | 38 | if (empty($item[$prop])) { 39 | continue; 40 | } 41 | 42 | // Check if the property value is valid to be translated. 43 | 44 | if (is_array($item[$prop])) { 45 | $params = $item[$prop][1] ?? []; 46 | $params = is_array($params) ? $params : []; 47 | $item[$prop] = $this->getTranslation($item[$prop][0], $params); 48 | } elseif (is_string($item[$prop])) { 49 | $item[$prop] = $this->getTranslation($item[$prop]); 50 | } 51 | } 52 | 53 | return $item; 54 | } 55 | 56 | /** 57 | * Gets the translation for a given key. 58 | * 59 | * @param string $key The key to translate 60 | * @param array $params The additional translation parameters 61 | * @return string 62 | */ 63 | protected function getTranslation($key, $params = []) 64 | { 65 | // Check for a translation. Note we first check if translations are 66 | // available in a "menu.php" file, then we check for translations in 67 | // the published language resources (under the adminlte namespace). 68 | 69 | if (Lang::has("menu.{$key}")) { 70 | return Lang::get("menu.{$key}", $params); 71 | } elseif (Lang::has("adminlte::menu.{$key}")) { 72 | return Lang::get("adminlte::menu.{$key}", $params); 73 | } 74 | 75 | // When there is no translation available, return the original key. 76 | 77 | return $key; 78 | } 79 | } 80 | -------------------------------------------------------------------------------- /resources/views/partials/navbar/navbar-layout-topnav.blade.php: -------------------------------------------------------------------------------- 1 | @inject('layoutHelper', 'JeroenNoten\LaravelAdminLte\Helpers\LayoutHelper') 2 | 3 | 60 | -------------------------------------------------------------------------------- /src/Console/PackageResources/TranslationsResource.php: -------------------------------------------------------------------------------- 1 | description = 'The default package translations files'; 21 | $this->source = CommandHelper::getPackagePath('resources/lang'); 22 | $this->target = App::langPath().'/vendor/adminlte'; 23 | $this->required = true; 24 | 25 | // Fill the set of installation messages. 26 | 27 | $this->messages = [ 28 | 'install' => 'Do you want to publish the package translations?', 29 | 'overwrite' => 'Translations were already published. Want to replace?', 30 | 'success' => 'Translation files published successfully', 31 | ]; 32 | } 33 | 34 | /** 35 | * Installs or publishes the resource. 36 | * 37 | * @return void 38 | */ 39 | public function install() 40 | { 41 | // Copy the translation files to the target folder. 42 | 43 | CommandHelper::copyDirectory($this->source, $this->target, true, true); 44 | } 45 | 46 | /** 47 | * Uninstalls the resource. 48 | * 49 | * @return void 50 | */ 51 | public function uninstall() 52 | { 53 | // Remove the translation files from the target folder. When 54 | // translations does not exists, we consider they as uninstalled. 55 | 56 | if (File::isDirectory($this->target)) { 57 | File::deleteDirectory($this->target); 58 | } 59 | } 60 | 61 | /** 62 | * Checks whether the resource already exists in the target location. 63 | * 64 | * @return bool 65 | */ 66 | public function exists() 67 | { 68 | return File::isDirectory($this->target); 69 | } 70 | 71 | /** 72 | * Checks whether the resource is correctly installed, i.e. if the source 73 | * items matches with the items available at the target location. 74 | * 75 | * @return bool 76 | */ 77 | public function installed() 78 | { 79 | return (bool) CommandHelper::compareDirectories( 80 | $this->source, 81 | $this->target, 82 | true 83 | ); 84 | } 85 | } 86 | -------------------------------------------------------------------------------- /src/View/Components/Form/InputSlider.php: -------------------------------------------------------------------------------- 1 | value' pairs, where the key should be an existing configuration 12 | * property of the plugin. 13 | * 14 | * @var array 15 | */ 16 | public $config; 17 | 18 | /** 19 | * The slider color. One of the available html colors. 20 | * 21 | * @var string 22 | */ 23 | public $color; 24 | 25 | /** 26 | * Create a new component instance. 27 | * Note this component requires the 'bootstrap-slider' plugin. 28 | * 29 | * @return void 30 | */ 31 | public function __construct( 32 | $name, $id = null, $label = null, $igroupSize = null, $labelClass = null, 33 | $fgroupClass = null, $igroupClass = null, $disableFeedback = null, 34 | $errorKey = null, $config = [], $color = null, $enableOldSupport = null 35 | ) { 36 | parent::__construct( 37 | $name, $id, $label, $igroupSize, $labelClass, $fgroupClass, 38 | $igroupClass, $disableFeedback, $errorKey 39 | ); 40 | 41 | $this->config = is_array($config) ? $config : []; 42 | $this->enableOldSupport = isset($enableOldSupport); 43 | $this->color = $color; 44 | 45 | // Set a default plugin 'id' option. 46 | 47 | $this->config['id'] = $this->config['id'] ?? "{$this->id}-slider"; 48 | } 49 | 50 | /** 51 | * Make the class attribute for the "input-group" element. Note we overwrite 52 | * the method of the parent class. 53 | * 54 | * @return string 55 | */ 56 | public function makeInputGroupClass() 57 | { 58 | $classes = ['input-group']; 59 | 60 | if (isset($this->size) && in_array($this->size, ['sm', 'lg'])) { 61 | $classes[] = "input-group-{$this->size}"; 62 | } 63 | 64 | if ($this->isInvalid()) { 65 | $classes[] = 'adminlte-invalid-islgroup'; 66 | } 67 | 68 | if (isset($this->igroupClass)) { 69 | $classes[] = $this->igroupClass; 70 | } 71 | 72 | return implode(' ', $classes); 73 | } 74 | 75 | /** 76 | * Get the view / contents that represent the component. 77 | * 78 | * @return \Illuminate\View\View|string 79 | */ 80 | public function render() 81 | { 82 | return view('adminlte::components.form.input-slider'); 83 | } 84 | } 85 | -------------------------------------------------------------------------------- /src/View/Components/Form/InputSwitch.php: -------------------------------------------------------------------------------- 1 | value' pairs, where the key should be an existing configuration 12 | * property of the plugin. 13 | * 14 | * @var array 15 | */ 16 | public $config; 17 | 18 | /** 19 | * Create a new component instance. 20 | * Note this component requires the 'Bootstrap Switch' plugin. 21 | * 22 | * @return void 23 | */ 24 | public function __construct( 25 | $name, $id = null, $label = null, $igroupSize = null, $labelClass = null, 26 | $fgroupClass = null, $igroupClass = null, $disableFeedback = null, 27 | $errorKey = null, $config = [], $isChecked = null, 28 | $enableOldSupport = null 29 | ) { 30 | parent::__construct( 31 | $name, $id, $label, $igroupSize, $labelClass, $fgroupClass, 32 | $igroupClass, $disableFeedback, $errorKey 33 | ); 34 | 35 | $this->config = is_array($config) ? $config : []; 36 | 37 | if (isset($isChecked)) { 38 | $this->config['state'] = ! empty($isChecked); 39 | } 40 | 41 | $this->enableOldSupport = isset($enableOldSupport); 42 | } 43 | 44 | /** 45 | * Make the class attribute for the "input-group" element. Note we overwrite 46 | * the method of the parent class. 47 | * 48 | * @return string 49 | */ 50 | public function makeInputGroupClass() 51 | { 52 | $classes = ['input-group']; 53 | 54 | if (isset($this->size) && in_array($this->size, ['sm', 'lg'])) { 55 | $classes[] = "input-group-{$this->size}"; 56 | } 57 | 58 | if ($this->isInvalid()) { 59 | $classes[] = 'adminlte-invalid-iswgroup'; 60 | } 61 | 62 | if (isset($this->igroupClass)) { 63 | $classes[] = $this->igroupClass; 64 | } 65 | 66 | return implode(' ', $classes); 67 | } 68 | 69 | /** 70 | * Make the class attribute for the input group item. Note we overwrite 71 | * the method of the parent class. 72 | * 73 | * @return string 74 | */ 75 | public function makeItemClass() 76 | { 77 | $classes = []; 78 | 79 | if ($this->isInvalid()) { 80 | $classes[] = 'is-invalid'; 81 | } 82 | 83 | return implode(' ', $classes); 84 | } 85 | 86 | /** 87 | * Get the view / contents that represent the component. 88 | * 89 | * @return \Illuminate\View\View|string 90 | */ 91 | public function render() 92 | { 93 | return view('adminlte::components.form.input-switch'); 94 | } 95 | } 96 | -------------------------------------------------------------------------------- /src/View/Components/Widget/Alert.php: -------------------------------------------------------------------------------- 1 | 'fas fa-bolt', 17 | 'light' => 'far fa-lightbulb', 18 | 'primary' => 'fas fa-bell', 19 | 'secondary' => 'fas fa-tag', 20 | 'info' => 'fas fa-info-circle', 21 | 'success' => 'fas fa-check-circle', 22 | 'warning' => 'fas fa-exclamation-triangle', 23 | 'danger' => 'fas fa-ban', 24 | ]; 25 | 26 | /** 27 | * The alert icon (a Font Awesome icon). 28 | * 29 | * @var string 30 | */ 31 | public $icon; 32 | 33 | /** 34 | * The alert theme (dark, light, primary, secondary, info, success, warning 35 | * or danger). 36 | * 37 | * @var string 38 | */ 39 | public $theme; 40 | 41 | /** 42 | * The alert title. 43 | * 44 | * @var string 45 | */ 46 | public $title; 47 | 48 | /** 49 | * Indicates if the alert is dismissable. 50 | * 51 | * @var bool|mixed 52 | */ 53 | public $dismissable; 54 | 55 | /** 56 | * Create a new component instance. 57 | * 58 | * @return void 59 | */ 60 | public function __construct( 61 | $theme = null, $icon = null, $title = null, $dismissable = null 62 | ) { 63 | $this->theme = $theme; 64 | $this->icon = $icon; 65 | $this->title = UtilsHelper::applyHtmlEntityDecoder($title); 66 | $this->dismissable = $dismissable; 67 | 68 | // When a theme is provided, use the default theme icon if no other 69 | // icon is provided. 70 | 71 | if (! isset($icon) && ! empty($theme)) { 72 | $this->icon = $this->icons[$theme]; 73 | } 74 | } 75 | 76 | /** 77 | * Make the class attribute for the alert item. 78 | * 79 | * @return string 80 | */ 81 | public function makeAlertClass() 82 | { 83 | $classes = ['alert']; 84 | 85 | if (! empty($this->theme)) { 86 | $classes[] = "alert-{$this->theme}"; 87 | } else { 88 | $classes[] = 'border'; 89 | } 90 | 91 | if (! empty($this->dismissable)) { 92 | $classes[] = 'alert-dismissable'; 93 | } 94 | 95 | return implode(' ', $classes); 96 | } 97 | 98 | /** 99 | * Get the view / contents that represent the component. 100 | * 101 | * @return \Illuminate\View\View|string 102 | */ 103 | public function render() 104 | { 105 | return view('adminlte::components.widget.alert'); 106 | } 107 | } 108 | -------------------------------------------------------------------------------- /resources/views/components/widget/small-box.blade.php: -------------------------------------------------------------------------------- 1 |
    merge(['class' => $makeBoxClass()]) }}> 2 | 3 | {{-- Box title and description --}} 4 |
    5 | @isset($title) 6 |

    {{ $title }}

    7 | @endisset 8 | 9 | @isset($text) 10 |
    {{ $text }}
    11 | @endisset 12 |
    13 | 14 | {{-- Box icon --}} 15 | @isset($icon) 16 |
    17 | 18 |
    19 | @endisset 20 | 21 | {{-- Box link --}} 22 | @isset($url) 23 | 24 | 25 | @if(! empty($urlText)) 26 | {{ $urlText }} 27 | @endif 28 | 29 | 30 | 31 | @endisset 32 | 33 | {{-- Box overlay --}} 34 |
    35 | 36 |
    37 | 38 |
    39 | 40 | {{-- Register Javascript utility class for this component --}} 41 | 42 | @once 43 | @push('js') 44 | 112 | @endpush 113 | @endonce 114 | -------------------------------------------------------------------------------- /src/View/Components/Form/InputDate.php: -------------------------------------------------------------------------------- 1 | 'fas fa-clock', 16 | 'date' => 'fas fa-calendar-alt', 17 | 'up' => 'fas fa-arrow-up', 18 | 'down' => 'fas fa-arrow-down', 19 | 'previous' => 'fas fa-chevron-left', 20 | 'next' => 'fas fa-chevron-right', 21 | 'today' => 'fas fa-calendar-check-o', 22 | 'clear' => 'fas fa-trash', 23 | 'close' => 'fas fa-times', 24 | ]; 25 | 26 | /** 27 | * The default set of buttons for the Tempus Dominus plugin configuration. 28 | * 29 | * @var array 30 | */ 31 | protected $buttons = [ 32 | 'showClose' => true, 33 | ]; 34 | 35 | /** 36 | * The Tempus Dominus plugin configuration parameters. Array with 37 | * 'key => value' pairs, where the key should be an existing configuration 38 | * property of the plugin. 39 | * 40 | * @var array 41 | */ 42 | public $config; 43 | 44 | /** 45 | * Create a new component instance. 46 | * Note this component requires the 'Tempus Dominus' plugin. 47 | * 48 | * @return void 49 | */ 50 | public function __construct( 51 | $name, $id = null, $label = null, $igroupSize = null, $labelClass = null, 52 | $fgroupClass = null, $igroupClass = null, $disableFeedback = null, 53 | $errorKey = null, $config = [], $enableOldSupport = null 54 | ) { 55 | parent::__construct( 56 | $name, $id, $label, $igroupSize, $labelClass, $fgroupClass, 57 | $igroupClass, $disableFeedback, $errorKey 58 | ); 59 | 60 | $this->enableOldSupport = isset($enableOldSupport); 61 | $this->config = is_array($config) ? $config : []; 62 | 63 | // Setup the default plugin icons option. 64 | 65 | $this->config['icons'] = $this->config['icons'] ?? $this->icons; 66 | 67 | // Setup the default plugin buttons option. 68 | 69 | $this->config['buttons'] = $this->config['buttons'] ?? $this->buttons; 70 | } 71 | 72 | /** 73 | * Make the class attribute for the input group item. Note we overwrite 74 | * the method of the parent class. 75 | * 76 | * @return string 77 | */ 78 | public function makeItemClass() 79 | { 80 | $classes = ['form-control', 'datetimepicker']; 81 | 82 | if ($this->isInvalid()) { 83 | $classes[] = 'is-invalid'; 84 | } 85 | 86 | return implode(' ', $classes); 87 | } 88 | 89 | /** 90 | * Get the view / contents that represent the component. 91 | * 92 | * @return \Illuminate\View\View|string 93 | */ 94 | public function render() 95 | { 96 | return view('adminlte::components.form.input-date'); 97 | } 98 | } 99 | -------------------------------------------------------------------------------- /src/View/Components/Form/Options.php: -------------------------------------------------------------------------------- 1 | value' pairs. 13 | * 14 | * @var array 15 | */ 16 | public $options; 17 | 18 | /** 19 | * The list of selected option keys. 20 | * 21 | * @var array 22 | */ 23 | public $selected; 24 | 25 | /** 26 | * The list of disabled option keys. 27 | * 28 | * @var array 29 | */ 30 | public $disabled; 31 | 32 | /** 33 | * Whether to use strict comparison between the option keys and the keys of 34 | * the selected/disabled options. 35 | * 36 | * @var bool 37 | */ 38 | public $strict; 39 | 40 | /** 41 | * Whether to add a selectable empty option to the list of options. If the 42 | * value is a string, it will be used as the option label, otherwise no 43 | * label will be available for the empty option. 44 | * 45 | * @var bool|string 46 | */ 47 | public $emptyOption; 48 | 49 | /** 50 | * Whether to add a placeholder (non-selectable option) to the list of 51 | * options. If the value is a string, it will be used as the placeholder 52 | * label, otherwise no label will be available for the placeholder. 53 | * 54 | * @var bool|string 55 | */ 56 | public $placeholder; 57 | 58 | /** 59 | * Create a new component instance. 60 | */ 61 | public function __construct( 62 | $options, $selected = null, $disabled = null, 63 | $strict = null, $emptyOption = null, $placeholder = null 64 | ) { 65 | $this->options = Arr::wrap($options); 66 | $this->selected = Arr::wrap($selected); 67 | $this->disabled = Arr::wrap($disabled); 68 | $this->strict = isset($strict); 69 | $this->emptyOption = UtilsHelper::applyHtmlEntityDecoder($emptyOption); 70 | $this->placeholder = UtilsHelper::applyHtmlEntityDecoder($placeholder); 71 | } 72 | 73 | /** 74 | * Determines if an option's key is on selected state. 75 | * 76 | * @param string $key The option's key. 77 | * @return bool 78 | */ 79 | public function isSelected($key) 80 | { 81 | return in_array($key, $this->selected, $this->strict); 82 | } 83 | 84 | /** 85 | * Determines if an option's key is on disabled state. 86 | * 87 | * @param string $key The option's key. 88 | * @return bool 89 | */ 90 | public function isDisabled($key) 91 | { 92 | return in_array($key, $this->disabled, $this->strict); 93 | } 94 | 95 | /** 96 | * Get the view / contents that represent the component. 97 | * 98 | * @return \Illuminate\View\View|string 99 | */ 100 | public function render() 101 | { 102 | return view('adminlte::components.form.options'); 103 | } 104 | } 105 | -------------------------------------------------------------------------------- /src/View/Components/Widget/SmallBox.php: -------------------------------------------------------------------------------- 1 | title = UtilsHelper::applyHtmlEntityDecoder($title); 72 | $this->text = UtilsHelper::applyHtmlEntityDecoder($text); 73 | $this->icon = $icon; 74 | $this->theme = $theme; 75 | $this->url = $url; 76 | $this->urlText = UtilsHelper::applyHtmlEntityDecoder($urlText); 77 | $this->loading = $loading; 78 | } 79 | 80 | /** 81 | * Make the box class. 82 | * 83 | * @return string 84 | */ 85 | public function makeBoxClass() 86 | { 87 | $classes = ['small-box']; 88 | 89 | if (isset($this->theme)) { 90 | $classes[] = "bg-{$this->theme}"; 91 | } 92 | 93 | return implode(' ', $classes); 94 | } 95 | 96 | /** 97 | * Make the loading overlay class. 98 | * 99 | * @return string 100 | */ 101 | public function makeOverlayClass() 102 | { 103 | $classes = ['overlay']; 104 | 105 | if (! isset($this->loading)) { 106 | $classes[] = 'd-none'; 107 | } 108 | 109 | return implode(' ', $classes); 110 | } 111 | 112 | /** 113 | * Get the view / contents that represent the component. 114 | * 115 | * @return \Illuminate\View\View|string 116 | */ 117 | public function render() 118 | { 119 | return view('adminlte::components.widget.small-box'); 120 | } 121 | } 122 | -------------------------------------------------------------------------------- /src/Console/PackageResources/AuthRoutesResource.php: -------------------------------------------------------------------------------- 1 | description = 'The set of routes for the Laravel/UI auth scaffolding'; 20 | $this->source = CommandHelper::getStubPath('routes.stub'); 21 | $this->target = base_path('routes/web.php'); 22 | $this->required = false; 23 | 24 | // Fill the installation messages. 25 | 26 | $this->messages = [ 27 | 'install' => 'Do you want to publish the Laravel/UI auth routes?', 28 | 'overwrite' => 'The auth routes were already published. Want to publish again?', 29 | 'success' => 'Auth routes published successfully', 30 | ]; 31 | } 32 | 33 | /** 34 | * Installs or publishes the resource. 35 | * 36 | * @return void 37 | */ 38 | public function install() 39 | { 40 | // If the routes already exists, we won't publish they again. 41 | 42 | if ($this->exists()) { 43 | return; 44 | } 45 | 46 | // Get the set of routes to be published. 47 | 48 | $routes = File::get($this->source); 49 | 50 | // Add the routes to the web routes file. 51 | 52 | File::ensureDirectoryExists(File::dirname($this->target)); 53 | File::append($this->target, $routes); 54 | } 55 | 56 | /** 57 | * Uninstalls the resource. 58 | * 59 | * @return void 60 | */ 61 | public function uninstall() 62 | { 63 | // Get the set of routes to be removed. 64 | 65 | $routes = File::get($this->source); 66 | 67 | // If the target routes file exists, then remove the auth routes. 68 | // Otherwise, we consider the routes as uninstalled. 69 | 70 | if (File::isFile($this->target)) { 71 | $targetContent = File::get($this->target); 72 | $targetContent = str_replace($routes, '', $targetContent); 73 | File::put($this->target, $targetContent); 74 | } 75 | } 76 | 77 | /** 78 | * Checks whether the resource already exists in the target location. 79 | * 80 | * @return bool 81 | */ 82 | public function exists() 83 | { 84 | $routes = File::get($this->source); 85 | 86 | // Check whether the target routes file exists and contains the 87 | // expected routes. 88 | 89 | return File::isFile($this->target) 90 | && (strpos(File::get($this->target), $routes) !== false); 91 | } 92 | 93 | /** 94 | * Checks whether the resource is correctly installed, i.e. if the source 95 | * items matches with the items available at the target location. 96 | * 97 | * @return bool 98 | */ 99 | public function installed() 100 | { 101 | return $this->exists(); 102 | } 103 | } 104 | -------------------------------------------------------------------------------- /resources/views/auth/auth-page.blade.php: -------------------------------------------------------------------------------- 1 | @extends('adminlte::master') 2 | 3 | @php 4 | $authType = $authType ?? 'login'; 5 | $dashboardUrl = View::getSection('dashboard_url') ?? config('adminlte.dashboard_url', 'home'); 6 | 7 | if (config('adminlte.use_route_url', false)) { 8 | $dashboardUrl = $dashboardUrl ? route($dashboardUrl) : ''; 9 | } else { 10 | $dashboardUrl = $dashboardUrl ? url($dashboardUrl) : ''; 11 | } 12 | 13 | $bodyClasses = "{$authType}-page"; 14 | 15 | if (! empty(config('adminlte.layout_dark_mode', null))) { 16 | $bodyClasses .= ' dark-mode'; 17 | } 18 | @endphp 19 | 20 | @section('adminlte_css') 21 | @stack('css') 22 | @yield('css') 23 | @stop 24 | 25 | @section('classes_body'){{ $bodyClasses }}@stop 26 | 27 | @section('body') 28 |
    29 | 30 | {{-- Logo --}} 31 | 57 | 58 | {{-- Card Box --}} 59 |
    60 | 61 | {{-- Card Header --}} 62 | @hasSection('auth_header') 63 |
    64 |

    65 | @yield('auth_header') 66 |

    67 |
    68 | @endif 69 | 70 | {{-- Card Body --}} 71 |
    72 | @yield('auth_body') 73 |
    74 | 75 | {{-- Card Footer --}} 76 | @hasSection('auth_footer') 77 | 80 | @endif 81 | 82 |
    83 | 84 |
    85 | @stop 86 | 87 | @section('adminlte_js') 88 | @stack('js') 89 | @yield('js') 90 | @stop 91 | -------------------------------------------------------------------------------- /resources/views/auth/passwords/confirm.blade.php: -------------------------------------------------------------------------------- 1 | @extends('adminlte::master') 2 | 3 | @section('adminlte_css') 4 | @yield('css') 5 | @stop 6 | 7 | @section('classes_body', 'lockscreen') 8 | 9 | @php 10 | $passResetUrl = View::getSection('password_reset_url') ?? config('adminlte.password_reset_url', 'password/reset'); 11 | $dashboardUrl = View::getSection('dashboard_url') ?? config('adminlte.dashboard_url', 'home'); 12 | 13 | if (config('adminlte.use_route_url', false)) { 14 | $passResetUrl = $passResetUrl ? route($passResetUrl) : ''; 15 | $dashboardUrl = $dashboardUrl ? route($dashboardUrl) : ''; 16 | } else { 17 | $passResetUrl = $passResetUrl ? url($passResetUrl) : ''; 18 | $dashboardUrl = $dashboardUrl ? url($dashboardUrl) : ''; 19 | } 20 | @endphp 21 | 22 | @section('body') 23 |
    24 | 25 | {{-- Lockscreen logo --}} 26 | 32 | 33 | {{-- Lockscreen user name --}} 34 |
    35 | {{ isset(Auth::user()->name) ? Auth::user()->name : Auth::user()->email }} 36 |
    37 | 38 | {{-- Lockscreen item --}} 39 |
    40 | @if(config('adminlte.usermenu_image')) 41 |
    42 | {{ Auth::user()->name }} 43 |
    44 | @endif 45 | 46 |
    48 | @csrf 49 | 50 |
    51 | 54 | 55 |
    56 | 59 |
    60 |
    61 |
    62 |
    63 | 64 | {{-- Password error alert --}} 65 | @error('password') 66 | 69 | @enderror 70 | 71 | {{-- Help block --}} 72 |
    73 | {{ __('adminlte::adminlte.confirm_password_message') }} 74 |
    75 | 76 | {{-- Additional links --}} 77 | 82 | 83 |
    84 | @stop 85 | 86 | @section('adminlte_js') 87 | @stack('js') 88 | @yield('js') 89 | @stop 90 | -------------------------------------------------------------------------------- /src/Helpers/NavbarItemHelper.php: -------------------------------------------------------------------------------- 1 | 'login']) 2 | 3 | @php 4 | $passResetUrl = View::getSection('password_reset_url') ?? config('adminlte.password_reset_url', 'password/reset'); 5 | 6 | if (config('adminlte.use_route_url', false)) { 7 | $passResetUrl = $passResetUrl ? route($passResetUrl) : ''; 8 | } else { 9 | $passResetUrl = $passResetUrl ? url($passResetUrl) : ''; 10 | } 11 | @endphp 12 | 13 | @section('auth_header', __('adminlte::adminlte.password_reset_message')) 14 | 15 | @section('auth_body') 16 |
    17 | @csrf 18 | 19 | {{-- Token field --}} 20 | 21 | 22 | {{-- Email field --}} 23 |
    24 | 26 | 27 |
    28 |
    29 | 30 |
    31 |
    32 | 33 | @error('email') 34 | 35 | {{ $message }} 36 | 37 | @enderror 38 |
    39 | 40 | {{-- Password field --}} 41 |
    42 | 44 | 45 |
    46 |
    47 | 48 |
    49 |
    50 | 51 | @error('password') 52 | 53 | {{ $message }} 54 | 55 | @enderror 56 |
    57 | 58 | {{-- Password confirmation field --}} 59 |
    60 | 63 | 64 |
    65 |
    66 | 67 |
    68 |
    69 | 70 | @error('password_confirmation') 71 | 72 | {{ $message }} 73 | 74 | @enderror 75 |
    76 | 77 | {{-- Confirm password reset button --}} 78 | 82 |
    83 | @stop 84 | -------------------------------------------------------------------------------- /src/View/Components/Widget/ProfileColItem.php: -------------------------------------------------------------------------------- 1 | title = UtilsHelper::applyHtmlEntityDecoder($title); 82 | $this->text = UtilsHelper::applyHtmlEntityDecoder($text); 83 | $this->textTooltip = UtilsHelper::applyHtmlEntityDecoder($textTooltip); 84 | $this->icon = $icon; 85 | $this->size = $size; 86 | $this->badge = $badge; 87 | $this->url = $url; 88 | $this->urlTarget = $urlTarget; 89 | } 90 | 91 | /** 92 | * Make the text wrapper class. 93 | * 94 | * @return string 95 | */ 96 | public function makeTextWrapperClass() 97 | { 98 | $classes = []; 99 | 100 | if (isset($this->badge)) { 101 | $badgeMode = str_starts_with($this->badge, 'pill-') 102 | ? 'badge-pill' 103 | : 'badge'; 104 | 105 | $badgeTheme = str_replace('pill-', '', $this->badge); 106 | $classes[] = "{$badgeMode} bg-{$badgeTheme}"; 107 | } 108 | 109 | return implode(' ', $classes); 110 | } 111 | 112 | /** 113 | * Get the view / contents that represent the component. 114 | * 115 | * @return \Illuminate\View\View|string 116 | */ 117 | public function render() 118 | { 119 | return view('adminlte::components.widget.profile-col-item'); 120 | } 121 | } 122 | --------------------------------------------------------------------------------