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 @@ + + +
+ +{{$extension->getDescription()}}
+ + +