@dskripchenko/laravel-admin 1.19.2 → 1.19.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.ru.md DELETED
@@ -1,135 +0,0 @@
1
- # dskripchenko/laravel-admin
2
-
3
- > 🌐 [English](README.md) · **Русский** · [Deutsch](README.de.md) · [中文](README.zh.md)
4
-
5
- Конструктор админ-панели для Laravel в духе Orchid — с собственным Vue 3 SPA-фронтендом.
6
-
7
- [![npm](https://img.shields.io/npm/v/@dskripchenko/laravel-admin?label=%40dskripchenko%2Flaravel-admin)](https://www.npmjs.com/package/@dskripchenko/laravel-admin)
8
- [![Packagist](https://img.shields.io/packagist/v/dskripchenko/laravel-admin)](https://packagist.org/packages/dskripchenko/laravel-admin)
9
- [![License](https://img.shields.io/packagist/l/dskripchenko/laravel-admin)](LICENSE)
10
-
11
- ```php
12
- Admin::resources([UserResource::class, ArticleResource::class]);
13
- Admin::screen([ContactScreen::class, SystemStatusScreen::class]);
14
- Admin::menu()->add(
15
- MenuNode::make('content', 'Контент')->icon('book')->children([
16
- MenuNode::resource('articles'),
17
- MenuNode::dashboard('analytics'),
18
- ]),
19
- );
20
- ```
21
-
22
- ## Что внутри
23
-
24
- - **CRUD-pipeline** — объявите Eloquent-модель как `Resource` и
25
- получите list/create/edit/view-страницы автоматически.
26
- - **Кастомные Screen'ы** — формы, отчёты, дашборды и любые non-CRUD
27
- страницы через `Admin::screen()`. State, layout, command-bar,
28
- валидация, permissions.
29
- - **Иерархическое меню** — fluent API `Admin::menu()->add(MenuNode::...)`,
30
- любая глубина, auto-resolve `resource()`/`screen()`/`dashboard()`.
31
- - **30+ типов полей** — Input/Number/Select/Combobox/DatePicker/
32
- ColorPicker/FileUpload/Wysiwyg/Markdown/TranslatableInput/Repeater/
33
- RelationSelect/Cascader/TreeSelect/Slug/KeyValue/TagsInput/...
34
- - **15+ layout'ов** — Rows/Columns/Tabs/Wizard+Step/Block/Modal/Drawer/
35
- Wrapper/Infolist/Dashboard/Accordion/View/...
36
- - **Таблицы** — sortable/searchable колонки, presets, фильтры,
37
- inline-edit, summary, saved views, group-by, polling, экспорт
38
- (CSV/XLSX/PDF).
39
- - **Dashboard** — 8 типов виджетов (Stats/Chart/RecentList/Markdown/
40
- Iframe/Table/Heatmap/Gauge), per-user layout-override'ы, drag/resize,
41
- polling.
42
- - **Auth & RBAC** — multi-guard, AdminUser, Roles, 2FA TOTP, profile,
43
- impersonation, password-reset, email-verification.
44
- - **Audit** — append-only журнал админских действий
45
- (`AuditLog` + trait `Loggable`).
46
- - **Settings** — singleton-страницы конфигурации.
47
- - **Уведомления** — bell-badge + drawer (Database notifications).
48
- - **API-токены** — Sanctum в Profile (опционально).
49
- - **Темы** — light/dark + per-user, дизайн-токены `@dskripchenko/ui`.
50
- - **i18n** — locale-resolver (5 уровней приоритета),
51
- `TranslatableField`-bridge с `dskripchenko/laravel-translatable`.
52
- - **Tenancy** — `TenantResolver` / `TenantContext` / trait
53
- `TenantScoped`. Стратегия — на стороне host'а, мы даём контракт.
54
- - **Plugins** — интерфейс `AdminPlugin`; sister-pack'и используют тот же hook.
55
- - **Тестирование** — `ResourceTestCase`, `ScreenTestCase`, trait
56
- `ActsAsAdmin`.
57
- - **OpenAPI 3.0** — генерируется из docblock-тегов `@input`/`@output`.
58
-
59
- ## Установка
60
-
61
- ```bash
62
- composer require dskripchenko/laravel-admin
63
- php artisan vendor:publish --tag=admin-config
64
- php artisan migrate
65
- ```
66
-
67
- ```js
68
- // resources/js/admin.js
69
- import { createAdminApp } from '@dskripchenko/laravel-admin'
70
- import '@dskripchenko/ui/styles/all.css'
71
- import '@dskripchenko/laravel-admin/style.css'
72
-
73
- const { app } = createAdminApp(window.__ADMIN_BOOTSTRAP__)
74
- app.mount('#admin-app')
75
- ```
76
-
77
- ```bash
78
- npm i @dskripchenko/laravel-admin @dskripchenko/ui
79
- npm run build
80
- ```
81
-
82
- Открой `/admin/login`. См. [getting-started.md](docs/ru/getting-started.md)
83
- для первого resource'а.
84
-
85
- ## Документация
86
-
87
- - [Быстрый старт](docs/ru/getting-started.md)
88
- - [Архитектура](docs/ru/architecture.md)
89
- - Концепции: [Resources](docs/ru/concepts/resources.md) ·
90
- [Screens](docs/ru/concepts/screens.md) ·
91
- [Widgets & Dashboards](docs/ru/concepts/widgets-and-dashboards.md) ·
92
- [Menu](docs/ru/concepts/menu.md) ·
93
- [Actions](docs/en/concepts/actions.md) (en) ·
94
- [Permissions](docs/en/concepts/permissions.md) (en) ·
95
- [i18n](docs/en/concepts/i18n.md) (en) ·
96
- [Tenancy](docs/en/concepts/tenancy.md) (en)
97
- - [Каталог полей](docs/en/fields-reference.md) (en)
98
- - [Каталог layout'ов](docs/en/layouts-reference.md) (en)
99
- - [API reference](docs/en/api-reference.md) (en)
100
- - [Frontend-расширение](docs/en/frontend-extension.md) (en)
101
- - [Тестирование](docs/en/testing.md) (en)
102
- - [Migration guide](docs/en/migration-guide.md) (en)
103
- - [Глоссарий](docs/ru/glossary.md)
104
-
105
- ## Стек
106
-
107
- - **PHP** ^8.5
108
- - **Laravel** ^12
109
- - **Vue** ^3.4 + TypeScript + Pinia + Vue Router
110
- - **Bundle** — `@dskripchenko/laravel-admin` ~62 KB gz (esm + cjs)
111
- - **Без vendor lock-in** для редактора/чартов — подключай свой
112
- (sister-pack-адаптеры: `quill`, `tinymce`)
113
-
114
- ## Sister-пакеты
115
-
116
- Опциональные расширения, ставь только нужные:
117
-
118
- | Пакет | Назначение |
119
- |---|---|
120
- | `dskripchenko/laravel-admin-starter` | Resources для User/Role/Audit/Settings/Translations/Blocks |
121
- | `dskripchenko/laravel-admin-tinymce` | TinyMCE WYSIWYG-адаптер |
122
- | `dskripchenko/laravel-admin-quill` | Quill WYSIWYG-адаптер |
123
- | `dskripchenko/laravel-admin-search` | ⌘K command palette + Scout suggest |
124
- | `dskripchenko/laravel-admin-media` | Медиа-библиотека (без Spatie/medialibrary) |
125
- | `dskripchenko/laravel-admin-health` | Health checks (без Spatie/laravel-health) |
126
- | `dskripchenko/laravel-admin-pulse` | Telemetry (без laravel/pulse) |
127
- | `dskripchenko/laravel-admin-jobs` | Failed jobs / batches viewer |
128
-
129
- ## Contributing
130
-
131
- См. [CONTRIBUTING.md](CONTRIBUTING.md). PR'ы welcome.
132
-
133
- ## Лицензия
134
-
135
- [MIT](LICENSE) © Denis Skripchenko
package/README.zh.md DELETED
@@ -1,130 +0,0 @@
1
- # dskripchenko/laravel-admin
2
-
3
- > 🌐 [English](README.md) · [Русский](README.ru.md) · [Deutsch](README.de.md) · **中文**
4
-
5
- 受 Orchid 启发的 Laravel 管理面板构造器,配备 Vue 3 SPA 前端。
6
-
7
- [![npm](https://img.shields.io/npm/v/@dskripchenko/laravel-admin?label=%40dskripchenko%2Flaravel-admin)](https://www.npmjs.com/package/@dskripchenko/laravel-admin)
8
- [![Packagist](https://img.shields.io/packagist/v/dskripchenko/laravel-admin)](https://packagist.org/packages/dskripchenko/laravel-admin)
9
- [![License](https://img.shields.io/packagist/l/dskripchenko/laravel-admin)](LICENSE)
10
-
11
- ```php
12
- Admin::resources([UserResource::class, ArticleResource::class]);
13
- Admin::screen([ContactScreen::class, SystemStatusScreen::class]);
14
- Admin::menu()->add(
15
- MenuNode::make('content', '内容')->icon('book')->children([
16
- MenuNode::resource('articles'),
17
- MenuNode::dashboard('analytics'),
18
- ]),
19
- );
20
- ```
21
-
22
- ## 内含功能
23
-
24
- - **CRUD 流水线** — 将 Eloquent 模型声明为 `Resource`,自动获得
25
- list/create/edit/view 屏幕。
26
- - **自定义 Screen** — 通过 `Admin::screen()` 实现非 CRUD 页面(表单、
27
- 报表、仪表板)。处理 state、layout、command-bar、验证、权限。
28
- - **层级菜单** — 流式 API `Admin::menu()->add(MenuNode::...)`,任意深
29
- 度,自动解析 `resource()`/`screen()`/`dashboard()`。
30
- - **30+ 字段类型** — Input/Number/Select/Combobox/DatePicker/
31
- ColorPicker/FileUpload/Wysiwyg/Markdown/TranslatableInput/Repeater/
32
- RelationSelect/Cascader/TreeSelect/Slug/KeyValue/TagsInput/...
33
- - **15+ 布局** — Rows/Columns/Tabs/Wizard+Step/Block/Modal/Drawer/
34
- Wrapper/Infolist/Dashboard/Accordion/View/...
35
- - **表格** — 可排序列、preset、过滤器、行内编辑、汇总、保存视图、
36
- 分组、轮询、导出(CSV/XLSX/PDF)。
37
- - **仪表板** — 8 种小部件类型(Stats/Chart/RecentList/Markdown/
38
- Iframe/Table/Heatmap/Gauge),每用户布局覆盖、拖动/调整大小、轮询。
39
- - **认证 & RBAC** — 多 guard、AdminUser、Roles、2FA TOTP、profile、
40
- 模拟、密码重置、邮箱验证。
41
- - **审计** — 管理员动作的只追加日志(`AuditLog` + `Loggable` trait)。
42
- - **设置** — 单例配置屏幕。
43
- - **通知** — 铃铛徽章 + 抽屉(Database notifications)。
44
- - **API tokens** — Profile 中的 Sanctum 集成(可选)。
45
- - **主题** — 浅色/深色 + 用户偏好,`@dskripchenko/ui` 设计 token。
46
- - **i18n** — locale 解析器(5 步优先级),与
47
- `dskripchenko/laravel-translatable` 的 `TranslatableField` 桥接。
48
- - **多租户** — `TenantResolver` / `TenantContext` / `TenantScoped`
49
- trait。策略由主机端决定;我们仅提供契约。
50
- - **插件** — `AdminPlugin` 接口;姐妹包使用相同的 hook。
51
- - **测试** — `ResourceTestCase`、`ScreenTestCase`、`ActsAsAdmin` trait。
52
- - **OpenAPI 3.0** — 从 docblock 标签 `@input`/`@output` 生成。
53
-
54
- ## 安装
55
-
56
- ```bash
57
- composer require dskripchenko/laravel-admin
58
- php artisan vendor:publish --tag=admin-config
59
- php artisan migrate
60
- ```
61
-
62
- ```js
63
- // resources/js/admin.js
64
- import { createAdminApp } from '@dskripchenko/laravel-admin'
65
- import '@dskripchenko/ui/styles/all.css'
66
- import '@dskripchenko/laravel-admin/style.css'
67
-
68
- const { app } = createAdminApp(window.__ADMIN_BOOTSTRAP__)
69
- app.mount('#admin-app')
70
- ```
71
-
72
- ```bash
73
- npm i @dskripchenko/laravel-admin @dskripchenko/ui
74
- npm run build
75
- ```
76
-
77
- 访问 `/admin/login`。第一个 resource 见
78
- [getting-started.md](docs/zh/getting-started.md)。
79
-
80
- ## 文档
81
-
82
- - [快速开始](docs/zh/getting-started.md)
83
- - [架构](docs/zh/architecture.md)
84
- - 概念: [Resources](docs/zh/concepts/resources.md) ·
85
- [Screens](docs/zh/concepts/screens.md) ·
86
- [Widgets & Dashboards](docs/zh/concepts/widgets-and-dashboards.md) ·
87
- [菜单](docs/zh/concepts/menu.md) ·
88
- [Actions](docs/en/concepts/actions.md) (en) ·
89
- [权限](docs/en/concepts/permissions.md) (en) ·
90
- [i18n](docs/en/concepts/i18n.md) (en) ·
91
- [租户](docs/en/concepts/tenancy.md) (en)
92
- - [字段参考](docs/en/fields-reference.md) (en)
93
- - [布局参考](docs/en/layouts-reference.md) (en)
94
- - [API 参考](docs/en/api-reference.md) (en)
95
- - [前端扩展](docs/en/frontend-extension.md) (en)
96
- - [测试](docs/en/testing.md) (en)
97
- - [迁移指南](docs/en/migration-guide.md) (en)
98
- - [术语表](docs/zh/glossary.md)
99
-
100
- ## 技术栈
101
-
102
- - **PHP** ^8.5
103
- - **Laravel** ^12
104
- - **Vue** ^3.4 + TypeScript + Pinia + Vue Router
105
- - **Bundle** — `@dskripchenko/laravel-admin` ~62 KB gz (esm + cjs)
106
- - **无 vendor lock-in** 用于编辑器/图表 — 自带(姐妹包适配器:
107
- `quill`、`tinymce`)
108
-
109
- ## 姐妹包
110
-
111
- 可选扩展,仅安装所需:
112
-
113
- | 包 | 用途 |
114
- |---|---|
115
- | `dskripchenko/laravel-admin-starter` | User/Role/Audit/Settings/Translations/Blocks resources |
116
- | `dskripchenko/laravel-admin-tinymce` | TinyMCE WYSIWYG 适配器 |
117
- | `dskripchenko/laravel-admin-quill` | Quill WYSIWYG 适配器 |
118
- | `dskripchenko/laravel-admin-search` | ⌘K 命令面板 + Scout suggest |
119
- | `dskripchenko/laravel-admin-media` | 媒体库(无 Spatie/medialibrary 依赖) |
120
- | `dskripchenko/laravel-admin-health` | 健康检查(无 Spatie/laravel-health 依赖) |
121
- | `dskripchenko/laravel-admin-pulse` | 遥测(无 laravel/pulse 依赖) |
122
- | `dskripchenko/laravel-admin-jobs` | Failed jobs / batches 查看器 |
123
-
124
- ## 贡献
125
-
126
- 参见 [CONTRIBUTING.md](CONTRIBUTING.md)。欢迎 PR。
127
-
128
- ## 许可证
129
-
130
- [MIT](LICENSE) © Denis Skripchenko