almosoft/widgetmanager

:Widget manager for backpackforlaravel

v1.0.36 2021-08-24 12:37 UTC

README

Latest Version on Packagist Total Downloads

Simple widget manager for backpackforlaravel.

Image Image

Installation

Via Composer

composer require almosoft/widgetmanager
php artisan almosoft:widgetmanager:install

During installation your current dashboard view will be replaced with standard dashboard view from backpack.

After install you need to fix adminlte js. Adminlte fix

Manual Installation

composer require almosoft/widgetmanager
php artisan migrate
php artisan db:seed --class=almosoft\widgetmanager\database\seeds\WidgetLayoutsSeeder
  • Add menus to sidebar:
php artisan backpack:base:add-sidebar-content "<li><a href='{{ backpack_url('widget') }}'><i class='fa fa-square-o'></i> <span>{{ trans('almosoft::base.Widgets') }}</span></a></li>"
php artisan backpack:base:add-sidebar-content "<li><a href='{{ backpack_url('widgetlayout') }}'><i class='fa fa-square-o'></i> <span>{{ trans('almosoft::base.Widgetboard_Layouts') }}</span></a></li>"
php artisan backpack:base:add-sidebar-content "<li><a href='{{ backpack_url('widgetboard') }}'><i class='fa fa-square-o'></i> <span>{{ trans('almosoft::base.Widgetboards') }}</span></a></li>"
php artisan backpack:base:add-sidebar-content "<li><a href='{{ backpack_url('widgetboardwidget') }}'><i class='fa fa-square-o'></i> <span>{{ trans('almosoft::base.Widgetboard-Widgets') }}</span></a></li>"
  • Publish WidgetBodyController controller:
php artisan vendor:publish --provider="almosoft\widgetmanager\widgetmanagerServiceProvider" --tag="widgetmanager.widgetbodycontroller"
  • Publish assets:
php artisan vendor:publish --provider="almosoft\widgetmanager\widgetmanagerServiceProvider" --tag="widgetmanager.assets"
  • Publish config:
php artisan vendor:publish --provider="almosoft\widgetmanager\widgetmanagerServiceProvider" --tag="widgetmanager.config"
  • Publish views (optionally):
php artisan vendor:publish --provider="almosoft\widgetmanager\widgetmanagerServiceProvider" --tag="widgetmanager.views"
  • Publish languages (optionally):
php artisan vendor:publish --provider="almosoft\widgetmanager\widgetmanagerServiceProvider" --tag="widgetmanager.langs"
  • Update autoloader:
composer dump-autoload

Usage

Add widgetboard to dashboard view (resources/views/vendor/backpack/base/dashboard.blade.php)

<div id="widgetboard">
    {!! widgetmanager::GetWidgetBoard('system widgetboard') !!}
</div>

Or single widget:

{!! widgetmanager::GetWidget('widget name') !!}

If dashboard view is missing, you need to publish it from backpackforlaravel:

php artisan vendor:publish --provider="Backpack\Base\BaseServiceProvider" --tag="views"
  • Add widgets from Widgets menu;

If image is not showing, probabaly you need to create storage link:

php artisan storage:link
  • Add functions for widgets in WidgetBodyController, which returns body of widget;
  • Optionally add footer functions: Function name=BodyFunction+Footer for static widgets in WidgetBodyController, which returns footer of widget;
  • Add widgets to widgetboard from main dashboard;

Important

AdminLTE has error with box-refresh as described in AdminLTE issue 1976, but not fixed in version 2.4.8 yet. Fixed file adminlte.js copy to your public\vendor\adminlte\dist\js\ directory.

php artisan vendor:publish --provider="almosoft\widgetmanager\widgetmanagerServiceProvider" --tag="widgetmanager.adminltefix" --force

Change log

Please see the changelog for more information on what has changed recently.

Testing


Contributing

Please see contributing.md for details and a todolist.

Security

If you discover any security related issues, please email author email instead of using the issue tracker.

Credits

License

license. Please see the license file for more information.