承接 laravilt/actions 相关项目开发

从需求分析到上线部署,全程专人跟进,保证项目质量与交付效率

邮箱:yvsm@zunyunkeji.com | QQ:316430983 | 微信:yvsm316

laravilt/actions

最新稳定版本:1.0.6

Composer 安装命令:

composer require laravilt/actions

包简介

Complete action system with modal support, authorization, and Inertia.js integration. Build interactive UI components with buttons, links, and icon buttons. Includes confirmation modals, custom forms, and secure token-based execution.

README 文档

README

Actions

Laravilt Actions

Latest Stable Version License Downloads Dependabot Updates PHP Code Styling Tests

Complete action system with modal support, authorization, and Inertia.js integration for Laravilt. Build interactive UI components with buttons, links, and icon buttons. Includes confirmation modals, custom forms, password protection, and secure token-based execution.

Features

  • 🎨 Multiple Variants - Button, link, and icon button styles
  • 🔒 Authorization - Closure-based authorization with record-level checks
  • 📊 Modal Support - Confirmation modals, custom forms, slide-overs
  • 🎯 Flexible Configuration - Colors, icons, sizes, tooltips
  • 🔗 URL Handling - External URLs, internal actions, new tab support
  • Inertia Integration - Seamless Vue 3 integration
  • 📤 Export/Import - Excel/CSV export and import with Laravel Excel
  • 🔄 Soft Delete Support - Built-in restore and force delete actions

Action Types

Type Description
Action Standard action button
BulkAction Action for multiple selected records
ViewAction Navigate to view page
EditAction Navigate to edit page
DeleteAction Soft delete record
CreateAction Navigate to create page
ReplicateAction Duplicate a record
RestoreAction Restore soft-deleted record
ForceDeleteAction Permanently delete record
ExportAction Export data to Excel/CSV
ImportAction Import data from Excel/CSV
DeleteBulkAction Bulk soft delete
RestoreBulkAction Bulk restore
ForceDeleteBulkAction Bulk permanent delete

Colors

->color('primary')  // Blue
->color('secondary') // Gray
->color('success')   // Green
->color('danger')    // Red
->color('warning')   // Yellow
->color('info')      // Light blue

Modal Types

// Confirmation modal
->requiresConfirmation()
->modalHeading('Delete User')
->modalDescription('Are you sure?')

// Form modal
->schema([
    TextInput::make('reason')->required(),
])

// Slide-over
->slideOver()

Installation

composer require laravilt/actions

The package will automatically register its service provider.

Quick Start

use Laravilt\Actions\Action;

$action = Action::make('delete')
    ->label('Delete')
    ->icon('trash-2')
    ->color('danger')
    ->requiresConfirmation()
    ->modalHeading('Delete User')
    ->modalDescription('Are you sure?')
    ->action(function ($record) {
        $record->delete();
    });

Export & Import

use Laravilt\Actions\ExportAction;
use Laravilt\Actions\ImportAction;

// Export with custom exporter class
ExportAction::make()
    ->exporter(UserExporter::class)
    ->fileName('users.xlsx');

// Import with custom importer class
ImportAction::make()
    ->importer(UserImporter::class);

Soft Delete Actions

use Laravilt\Actions\DeleteAction;
use Laravilt\Actions\RestoreAction;
use Laravilt\Actions\ForceDeleteAction;

// Auto-hidden for trashed records
DeleteAction::make();

// Auto-visible only for trashed records
RestoreAction::make();
ForceDeleteAction::make();

Replicate Action

use Laravilt\Actions\ReplicateAction;

ReplicateAction::make()
    ->excludeAttributes(['slug', 'published_at'])
    ->beforeReplicaSaved(fn ($replica) => $replica->name .= ' (Copy)')
    ->afterReplicaSaved(fn ($replica) => /* post-save logic */);

Generator Commands

# Generate an action class
php artisan make:action ExportUserAction

# Generate an exporter class for ExportAction
php artisan laravilt:exporter UserExporter
php artisan laravilt:exporter CustomerExporter --model=Customer

# Generate an importer class for ImportAction
php artisan laravilt:importer UserImporter
php artisan laravilt:importer CustomerImporter --model=Customer

Documentation

Configuration

Publish the config file:

php artisan vendor:publish --tag="laravilt-actions-config"

Assets

Publish the plugin assets:

php artisan vendor:publish --tag="laravilt-actions-assets"

Testing

composer test

Code Style

composer format

Static Analysis

composer analyse

License

The MIT License (MIT). Please see License File for more information.

统计信息

  • 总下载量: 424
  • 月度下载量: 0
  • 日度下载量: 0
  • 收藏数: 0
  • 点击次数: 1
  • 依赖项目数: 4
  • 推荐数: 0

GitHub 信息

  • Stars: 0
  • Watchers: 0
  • Forks: 0
  • 开发语言: HTML

其他信息

  • 授权协议: MIT
  • 更新时间: 2025-11-12