larapid
1.0.0
A simple free alternative for Laravel Nova.
composer require internexus/larapid
php artisan vendor:publish --tag=larapid
<?phpnamespace AppProviders;use AppEntitiesUserEntity;use IlluminateSupportServiceProvider;use InternexusLarapidFacadesLarapid;class LarapidServiceProvider extends ServiceProvider
{public function register()
{
Larapid::entities([
UserEntity::class,
]);
}
}<?phpnamespace AppEntities;use AppModelsUser;use InternexusLarapidEntitiesEntity;use InternexusLarapidFieldsEmail;use InternexusLarapidFieldsPassword;use InternexusLarapidFieldsText;class UserEntity extends Entity
{public static $model = User::class;public static $title = 'Usuários';public function fields() {return [
Text::make('Nome', 'name')->rules('required'),
Email::make('E-mail', 'email')->rules('required|email|max:255'),
Password::make('Senha', 'password')->rules('required|min:6|max:255'),
];
}
}Text::make('Label', 'column')Date::make('Created at', 'created_at')Datetime::make('Created at', 'created_at')Boolean::make('Public')Email::make('E-mail')Password::make('Password')Url::make('Url')Money::make('Price')Number::make('Price')->min(10)->max(100)Select::make('Status')->options([1 => 'Approved', 2 => 'Cancelled'])Textarea::make('Content')Media::make('Featured image', 'media_id')
->accept(['jpg', 'png'])
->maxSize(100000) // in bytes ->minDimension(100, 100)
->maxDimension(1920, 1080)HasMany::make('User posts', 'user_id', PostEntity::class, 'posts')BelongsTo::make('User role', 'role_id', UserEntity::class)help(string $text)
readOnly()
placeholder(string $placeholder)
rules(array $rules)
creationRules(array $rules)
updateRules(array $rules)
showOnIndex()
showOnDetail()
showOnCreating()
showOnUpdating()
hideFromIndex()
hideFromDetail()
hideWhenCreating()
hideWhenUpdating()
onlyOnIndex()
onlyOnDetail()
onlyOnForms()
exceptOnForms()
sortable()
searchable()
fieldsForIndex()
fieldsForDetail()
fieldsForCreating()
fieldsForUpdating()
enableEditing()
enableDetail()
enableDeleting()
beforeSaving()
afterCreated()
afterUpdated()
redirectAfterCreate(Model $model)
redirectAfterUpdate(Model $model)
redirectAfterDelete(Model $model)