Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/becklyn/becklynradbundle

RAD related functionality for usage in Symfony.
https://github.com/becklyn/becklynradbundle

php symfony symfony-bundle

Last synced: 2 days ago
JSON representation

RAD related functionality for usage in Symfony.

Awesome Lists containing this project

README

        

Becklyn Rad Bundle
==================

This bundle provides RAD related functionality for the usage in Symfony.

> **`becklyn/rad-bundle <= v7` is deprecated and was replaced by [`becklyn/rad v8+`](https://github.com/Becklyn/rad)**

AJAX Protocol
=============

This bundle uses a default AJAX protocol, that is used in the `AjaxResponseBuilder` and can be used for your
project. The ajax call will always return an error 200, as it shouldn't flood the error tracking (with error 400
AJAX request).

The protocol looks like this:

```typescript
interface AjaxResponse
{
/**
* Whether the call succeeded.
*/
ok: boolean;

/**
* Any string status, like "ok" or "invalid-id" that
* you can react to in your code (if you need to).
*/
status: string;

/**
* The response data.
*/
data: Record | Array;

/**
* A redirect target, where the AJAX handler should
* redirect to.
*/
redirect?: string;

/**
* A toast message with optional type and action target.
*/
message?: {
text: string;
impact: "positive" | "negative" | "neutral";
action?: {
label: string;
url: string;
};
};
}
```

There is a corresponding fetch client implementation in [`mojave`](https://github.com/Becklyn/mojave) that can be used.
This type above is also available as generic TypeScript type in `mojave`.

Form Extensions
---------------

This bundle automatically adds several form extensions.

### Collection Labels Extension

This extension adds three additional optional labels for `Collection` form fields:

* `empty_message` is displayed if there is no entry.
* `entry_add_label` is the label of the "add entry" button.
* `entry_remove_label` is the label of every "remove entry" button.