Skip to content

A Laravel Nova asset for Modal responses on an action.

License

Notifications You must be signed in to change notification settings

KornaNova/nova-modal-response

 
 

Repository files navigation

Nova Modal Response

MIT Licensed Latest Stable Version Total Downloads

Enabling custom modals for action responses in Laravel Nova.

Example screenshot

More info for this specific feature can be found in the Nova Documentation.

Installation

composer require markwalet/nova-modal-response

Usage

use Markwalet\NovaModalResponse\ModalResponse;

ModalResponse::text('This is way better than that small notification in the bottom right!')
    ->title('Result in a modal');

// Modals can also be manually created in Nova
use Laravel\Nova\Actions\Action;

return Action::modal('modal-response', [
    'title' => 'Result in a model',
    'body' => 'This is way better than that small notification in the bottom right!',
]);

When you want to render raw html, you can use the html parameter instead:

ModalResponse::html('<ul><li>Show this package to your friends</li><li>Contribute</li><li>???</li><li>Profit!</li></ul>');

There is also a special mode for rendering code snippets. This will surround the body with a <pre> and <code> tag but still leave escaping enabled.

ModalResponse::code(file_get_contents(__FILE__))->title('Look at me!');

Syntax highlighting is enabled by default for code and json blocks. It is using highlight.js under the hood. You can disable this by calling ->withoutSyntaxHighlighting().

If you want to show some serializable data to the client, you can do that as well:

ModalResponse::json([
    'lorem' => 'ipsum',
    'dolor' => [
        'sit',
        'amet',
    ],
]);

You can also specify the size using the size option:

ModalResponse::text('Hello world')->size('7xl');

About

A Laravel Nova asset for Modal responses on an action.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • PHP 86.5%
  • Vue 9.9%
  • JavaScript 3.0%
  • CSS 0.6%