From 7788a598f4906f363c02e1aacf579f8515433aa7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Michal=20Kv=C3=A1=C4=8Dek?= Date: Tue, 22 Mar 2016 15:53:23 +0100 Subject: [PATCH] FEATURE: *in progress* working on menu widgets --- .../Contracts/MenuExtensionHandler.php | 10 +- app/Widgets/Menu/Extensions/URL.php | 29 ++++- app/Widgets/Menu/Menu.php | 28 +---- app/Widgets/Menu/Presenters/Menu.php | 19 ++- resources/lang/en/widgets/menu.php | 4 +- .../en/widgets/tvorba-menu-od-petera.html | 114 ++++++++++++++++++ .../views/admin/widgets/menu/edit.blade.php | 20 +++ .../widgets/menu/extensions/url.blade.php | 17 +++ .../views/admin/widgets/menu/form.blade.php | 97 +++++++++++++++ .../views/admin/widgets/menu/new.blade.php | 10 ++ 10 files changed, 317 insertions(+), 31 deletions(-) create mode 100644 resources/lang/en/widgets/tvorba-menu-od-petera.html create mode 100644 resources/views/admin/widgets/menu/edit.blade.php create mode 100644 resources/views/admin/widgets/menu/extensions/url.blade.php create mode 100644 resources/views/admin/widgets/menu/form.blade.php create mode 100644 resources/views/admin/widgets/menu/new.blade.php diff --git a/app/Widgets/Contracts/MenuExtensionHandler.php b/app/Widgets/Contracts/MenuExtensionHandler.php index bf4cd89d..e15a68f5 100644 --- a/app/Widgets/Contracts/MenuExtensionHandler.php +++ b/app/Widgets/Contracts/MenuExtensionHandler.php @@ -3,5 +3,13 @@ namespace App\Widgets\Contracts; interface MenuExtensionHandler { - public static function getPossibleValues(); + public function getName(); + public function getDescription(); + public function getId(); + + public function getPossibleValues(); + + public function getFormExtensionTemplate(); + + public function save(); } \ No newline at end of file diff --git a/app/Widgets/Menu/Extensions/URL.php b/app/Widgets/Menu/Extensions/URL.php index 913e0592..d53179f6 100644 --- a/app/Widgets/Menu/Extensions/URL.php +++ b/app/Widgets/Menu/Extensions/URL.php @@ -4,8 +4,33 @@ namespace App\Widgets\Menu\Extensions; use App\Widgets\Contracts\MenuExtensionHandler; class URL implements MenuExtensionHandler { - public static function getPossibleValues() + public function getPossibleValues() { - // TODO: Implement getPossibleValues() method. + return '*'; + } + + public function getId() + { + return 'url'; + } + + public function getName() + { + return trans('widgets/menu.extensionURL'); + } + + public function getDescription() + { + return trans('widgets/menu.extensionURLDescription'); + } + + public function getFormExtensionTemplate() + { + return 'admin.widgets.menu.extensions.url'; + } + + public function save() + { + // TODO: Implement save() method. } } \ No newline at end of file diff --git a/app/Widgets/Menu/Menu.php b/app/Widgets/Menu/Menu.php index 902cd5ae..84d01e30 100644 --- a/app/Widgets/Menu/Menu.php +++ b/app/Widgets/Menu/Menu.php @@ -3,9 +3,9 @@ namespace App\Widgets\Menu; use App\Http\Requests\Request; use App\Widgets\Contracts\WidgetRenderer; -use App\Widgets\Widget; +use App\Widgets\NonInstallableWidget; -class Menu extends Widget +class Menu extends NonInstallableWidget { /** * Name getter @@ -14,7 +14,7 @@ class Menu extends Widget */ public static function getName() { - return 'widgets/menu.name'; + return 'widgets/menu.widgetName'; } /** @@ -24,7 +24,7 @@ class Menu extends Widget */ public static function getDescription() { - return 'widgets/menu.description'; + return 'widgets/menu.widgetDescription'; } /** @@ -45,24 +45,6 @@ class Menu extends Widget */ public static function save(\App\Models\Widget $widget, Request $request) { - // TODO: Implement save() method. - } - - /** - * Function for installing given widget - * - * @return mixed - */ - public static function install() - { - // TODO: Implement install() method. - } - - /** - * Function for uninstalling widget - */ - public static function uninstall() - { - // TODO: Implement uninstall() method. + return $widget; } } \ No newline at end of file diff --git a/app/Widgets/Menu/Presenters/Menu.php b/app/Widgets/Menu/Presenters/Menu.php index c3e431d2..13bb1275 100644 --- a/app/Widgets/Menu/Presenters/Menu.php +++ b/app/Widgets/Menu/Presenters/Menu.php @@ -4,6 +4,7 @@ namespace App\Widgets\Menu\Presenters; use App\Models\Widget; use App\Models\WidgetType; use App\Widgets\Contracts\WidgetRenderer; +use Illuminate\Support\Facades\App; class Menu implements WidgetRenderer { @@ -18,7 +19,7 @@ class Menu implements WidgetRenderer */ public static function render($settings) { - // TODO: Implement render() method. + return json_encode($settings); } /** @@ -30,7 +31,16 @@ class Menu implements WidgetRenderer */ public static function renderAddForm(WidgetType $type) { - // TODO: Implement renderAddForm() method. + $extensions = App::make('registerMenuExtension') + ->get(); + + $widget = new Widget(); + + return view('admin.widgets.menu.new', [ + 'type' => $type, + 'widget' => $widget, + 'extensions' => $extensions + ]); } /** @@ -42,6 +52,9 @@ class Menu implements WidgetRenderer */ public static function renderEditForm(Widget $widget) { - // TODO: Implement renderEditForm() method. + $extensions = App::make('registerMenuExtension') + ->get(); + + return view('admin.widgets.menu.edit', ['widget' => $widget]); } } \ No newline at end of file diff --git a/resources/lang/en/widgets/menu.php b/resources/lang/en/widgets/menu.php index fe78a0f5..854dc151 100644 --- a/resources/lang/en/widgets/menu.php +++ b/resources/lang/en/widgets/menu.php @@ -1,5 +1,5 @@ 'Menu', - 'description' => 'User defined menu' + 'widgetName' => 'Menu', + 'widgetDescription' => 'User defined menu' ]; \ No newline at end of file diff --git a/resources/lang/en/widgets/tvorba-menu-od-petera.html b/resources/lang/en/widgets/tvorba-menu-od-petera.html new file mode 100644 index 00000000..e99b9c0d --- /dev/null +++ b/resources/lang/en/widgets/tvorba-menu-od-petera.html @@ -0,0 +1,114 @@ + + + + + + + + +
+ ​ +
+
+ + pridaj + polozku +
+
+printni model do conosoly + + + \ No newline at end of file diff --git a/resources/views/admin/widgets/menu/edit.blade.php b/resources/views/admin/widgets/menu/edit.blade.php new file mode 100644 index 00000000..3685072f --- /dev/null +++ b/resources/views/admin/widgets/menu/edit.blade.php @@ -0,0 +1,20 @@ +@extends('admin.layout') + +@section('pageName', @trans('widgets/menu.edit', ['name' => $widget->name])) + +@section('content') +

@lang('widgets/menu.edit', ['name' => $widget->name])

+ +
+
+ @include('admin.widgets.menu.form', ['formAction' => route('widgets.postEdit', ['id' => $widget->id])]) + +
+
+

@lang('widgets/menu.preview')

+ + @widgetPreview($widget) +
+
+@stop + diff --git a/resources/views/admin/widgets/menu/extensions/url.blade.php b/resources/views/admin/widgets/menu/extensions/url.blade.php new file mode 100644 index 00000000..447ce7f4 --- /dev/null +++ b/resources/views/admin/widgets/menu/extensions/url.blade.php @@ -0,0 +1,17 @@ + + + + + \ No newline at end of file diff --git a/resources/views/admin/widgets/menu/form.blade.php b/resources/views/admin/widgets/menu/form.blade.php new file mode 100644 index 00000000..a8afd180 --- /dev/null +++ b/resources/views/admin/widgets/menu/form.blade.php @@ -0,0 +1,97 @@ +@if (!isset($hideMessages)) + @if (session('success')) +
+ {{ session('success') }} +
+ @endif + + @if (session('error')) +
+ {{ session('error') }} +
+ @endif +@endif + +
+ {!! csrf_field() !!} + + + + + + + +
+ + + + +
+ @foreach($extensions as $extension) +
+

{{$extension->getName()}}

+

{{$extension->getDescription()}}

+ + +
+ @endforeach +
+ +@section('javascripts') + +@stop \ No newline at end of file diff --git a/resources/views/admin/widgets/menu/new.blade.php b/resources/views/admin/widgets/menu/new.blade.php new file mode 100644 index 00000000..cc9e5e70 --- /dev/null +++ b/resources/views/admin/widgets/menu/new.blade.php @@ -0,0 +1,10 @@ +@extends('admin.layout') + +@section('pageName', @trans('widgets/menu.new')) + +@section('content') +

@lang('widgets/menu.new')

+ + @include('admin.widgets.menu.form', ['formAction' => route('widgets.postNew', ['type' => $type])]) +@stop +