From 043c842aefeefd63a8e166af09eb567fa433cbdd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Michal=20Kv=C3=A1=C4=8Dek?= Date: Mon, 15 Feb 2016 11:56:51 +0100 Subject: [PATCH] FEATURE #1446: add html code widget --- app/Providers/AppServiceProvider.php | 2 + app/Widgets/HtmlCode/HtmlCode.php | 64 +++++++++++++++++ .../HtmlCode/Presenters/CreateNewCode.php | 0 app/Widgets/HtmlCode/Presenters/EditCode.php | 0 app/Widgets/HtmlCode/Presenters/HtmlCode.php | 52 ++++++++++++++ .../admin/widgets/htmlCode/edit.blade.php | 20 ++++++ .../admin/widgets/htmlCode/editForm.blade.php | 68 +++++++++++++++++++ .../admin/widgets/htmlCode/new.blade.php | 10 +++ .../admin/widgets/htmlCode/newForm.blade.php | 68 +++++++++++++++++++ 9 files changed, 284 insertions(+) create mode 100644 app/Widgets/HtmlCode/HtmlCode.php create mode 100644 app/Widgets/HtmlCode/Presenters/CreateNewCode.php create mode 100644 app/Widgets/HtmlCode/Presenters/EditCode.php create mode 100644 app/Widgets/HtmlCode/Presenters/HtmlCode.php create mode 100644 resources/views/admin/widgets/htmlCode/edit.blade.php create mode 100644 resources/views/admin/widgets/htmlCode/editForm.blade.php create mode 100644 resources/views/admin/widgets/htmlCode/new.blade.php create mode 100644 resources/views/admin/widgets/htmlCode/newForm.blade.php diff --git a/app/Providers/AppServiceProvider.php b/app/Providers/AppServiceProvider.php index ac6555dc..3ac836c7 100644 --- a/app/Providers/AppServiceProvider.php +++ b/app/Providers/AppServiceProvider.php @@ -3,6 +3,7 @@ namespace App\Providers; use App\Handlers\Registrators\WidgetRegistrator; +use App\Widgets\HtmlCode\HtmlCode; use Illuminate\Support\ServiceProvider; class AppServiceProvider extends ServiceProvider @@ -50,5 +51,6 @@ class AppServiceProvider extends ServiceProvider $registrator = $this->app->make('registerWidget'); // register all available widgets + $registrator->register(HtmlCode::class); } } diff --git a/app/Widgets/HtmlCode/HtmlCode.php b/app/Widgets/HtmlCode/HtmlCode.php new file mode 100644 index 00000000..0f35e4df --- /dev/null +++ b/app/Widgets/HtmlCode/HtmlCode.php @@ -0,0 +1,64 @@ +code) || empty($request->code)) { + throw new MissingParameterException('code'); + } + + $widgetSettings = [ + 'code' => $request->code, + 'containerClass' => isset($request->containerClass) ? $request->containerClass : '' + ]; + + $widget->settings = json_encode($widgetSettings); + + return $widget; + } +} \ No newline at end of file diff --git a/app/Widgets/HtmlCode/Presenters/CreateNewCode.php b/app/Widgets/HtmlCode/Presenters/CreateNewCode.php new file mode 100644 index 00000000..e69de29b diff --git a/app/Widgets/HtmlCode/Presenters/EditCode.php b/app/Widgets/HtmlCode/Presenters/EditCode.php new file mode 100644 index 00000000..e69de29b diff --git a/app/Widgets/HtmlCode/Presenters/HtmlCode.php b/app/Widgets/HtmlCode/Presenters/HtmlCode.php new file mode 100644 index 00000000..71040ddf --- /dev/null +++ b/app/Widgets/HtmlCode/Presenters/HtmlCode.php @@ -0,0 +1,52 @@ +containerClass . '"> + ' . $settings->code . ' + '; + + return $code; + } + + /** + * Display form for creating new instance of widget + * + * @param WidgetType $type + * + * @return mixed + */ + public static function renderAddForm(WidgetType $type) + { + return view('admin.widgets.htmlCode.new', ['type' => $type]); + } + + /** + * Display form for editing already existing widget + * + * @param Widget $widget + * + * @return mixed + */ + public static function renderEditForm(Widget $widget) + { + return view('admin.widgets.htmlCode.edit', ['widget' => $widget]); + } +} \ No newline at end of file diff --git a/resources/views/admin/widgets/htmlCode/edit.blade.php b/resources/views/admin/widgets/htmlCode/edit.blade.php new file mode 100644 index 00000000..d0cda88c --- /dev/null +++ b/resources/views/admin/widgets/htmlCode/edit.blade.php @@ -0,0 +1,20 @@ +@extends('admin.layout') + +@section('pageName', @trans('widgets/htmlCode.edit', ['name' => $widget->name])) + +@section('content') +

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

+ +
+
+ @include('admin.widgets.htmlCode.editForm') + +
+
+

@lang('widgets/htmlCode.preview')

+ + @widgetPreview($widget) +
+
+@stop + diff --git a/resources/views/admin/widgets/htmlCode/editForm.blade.php b/resources/views/admin/widgets/htmlCode/editForm.blade.php new file mode 100644 index 00000000..d4280e21 --- /dev/null +++ b/resources/views/admin/widgets/htmlCode/editForm.blade.php @@ -0,0 +1,68 @@ +@if (!isset($hideMessages)) + @if (session('success')) +
+ {{ session('success') }} +
+ @endif + + @if (session('error')) +
+ {{ session('error') }} +
+ @endif +@endif + +
+ {!! csrf_field() !!} + + + + + + + + + +
\ No newline at end of file diff --git a/resources/views/admin/widgets/htmlCode/new.blade.php b/resources/views/admin/widgets/htmlCode/new.blade.php new file mode 100644 index 00000000..0a7a3265 --- /dev/null +++ b/resources/views/admin/widgets/htmlCode/new.blade.php @@ -0,0 +1,10 @@ +@extends('admin.layout') + +@section('pageName', @trans('widgets/htmlCode.new')) + +@section('content') +

@lang('widgets/htmlCode.new')

+ + @include('admin.widgets.htmlCode.newForm') +@stop + diff --git a/resources/views/admin/widgets/htmlCode/newForm.blade.php b/resources/views/admin/widgets/htmlCode/newForm.blade.php new file mode 100644 index 00000000..c2deceef --- /dev/null +++ b/resources/views/admin/widgets/htmlCode/newForm.blade.php @@ -0,0 +1,68 @@ +@if (!isset($hideMessages)) + @if (session('success')) +
+ {{ session('success') }} +
+ @endif + + @if (session('error')) +
+ {{ session('error') }} +
+ @endif +@endif + +
+ {!! csrf_field() !!} + + + + + + + + + +
\ No newline at end of file