¨4.0.1¨
This commit is contained in:
@@ -15,6 +15,7 @@ class PageTabs extends Tabs
|
||||
->add($this->seo());
|
||||
}
|
||||
|
||||
|
||||
private function general()
|
||||
{
|
||||
return tap(new Tab('general', trans('page::pages.tabs.general')), function (Tab $tab) {
|
||||
@@ -25,6 +26,7 @@ class PageTabs extends Tabs
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
private function seo()
|
||||
{
|
||||
return tap(new Tab('seo', trans('page::pages.tabs.seo')), function (Tab $tab) {
|
||||
|
||||
@@ -21,6 +21,7 @@ class CreatePagesTable extends Migration
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Reverse the migrations.
|
||||
*
|
||||
|
||||
@@ -25,6 +25,7 @@ class CreatePageTranslationsTable extends Migration
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Reverse the migrations.
|
||||
*
|
||||
|
||||
@@ -3,6 +3,7 @@
|
||||
namespace Modules\Page\Entities;
|
||||
|
||||
use Modules\Admin\Ui\AdminTable;
|
||||
use Illuminate\Http\JsonResponse;
|
||||
use Modules\Support\Eloquent\Model;
|
||||
use Modules\Meta\Eloquent\HasMetaData;
|
||||
use Modules\Support\Eloquent\Sluggable;
|
||||
@@ -49,6 +50,13 @@ class Page extends Model
|
||||
*/
|
||||
protected $slugAttribute = 'name';
|
||||
|
||||
|
||||
public static function urlForPage($id)
|
||||
{
|
||||
return static::select('slug')->firstOrNew(['id' => $id])->url();
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Perform any actions required after the model boots.
|
||||
*
|
||||
@@ -59,10 +67,6 @@ class Page extends Model
|
||||
static::addActiveGlobalScope();
|
||||
}
|
||||
|
||||
public static function urlForPage($id)
|
||||
{
|
||||
return static::select('slug')->firstOrNew(['id' => $id])->url();
|
||||
}
|
||||
|
||||
public function url()
|
||||
{
|
||||
@@ -73,10 +77,11 @@ class Page extends Model
|
||||
return localized_url(locale(), $this->slug);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Get table data for the resource
|
||||
*
|
||||
* @return \Illuminate\Http\JsonResponse
|
||||
* @return JsonResponse
|
||||
*/
|
||||
public function table()
|
||||
{
|
||||
|
||||
@@ -2,12 +2,14 @@
|
||||
|
||||
namespace Modules\Page\Http\Controllers;
|
||||
|
||||
use Illuminate\Http\Response;
|
||||
|
||||
class HomeController
|
||||
{
|
||||
/**
|
||||
* Display a listing of the resource.
|
||||
*
|
||||
* @return \Illuminate\Http\Response
|
||||
* @return Response
|
||||
*/
|
||||
public function index()
|
||||
{
|
||||
|
||||
@@ -2,6 +2,7 @@
|
||||
|
||||
namespace Modules\Page\Http\Controllers;
|
||||
|
||||
use Illuminate\Http\Response;
|
||||
use Modules\Page\Entities\Page;
|
||||
use Modules\Media\Entities\File;
|
||||
|
||||
@@ -11,7 +12,8 @@ class PageController
|
||||
* Display page for the slug.
|
||||
*
|
||||
* @param string $slug
|
||||
* @return \Illuminate\Http\Response
|
||||
*
|
||||
* @return Response
|
||||
*/
|
||||
public function show($slug)
|
||||
{
|
||||
|
||||
@@ -15,6 +15,7 @@ class SavePageRequest extends Request
|
||||
*/
|
||||
protected $availableAttributes = 'page::attributes';
|
||||
|
||||
|
||||
/**
|
||||
* Get the validation rules that apply to the request.
|
||||
*
|
||||
@@ -30,6 +31,7 @@ class SavePageRequest extends Request
|
||||
];
|
||||
}
|
||||
|
||||
|
||||
private function getSlugRules()
|
||||
{
|
||||
$rules = $this->route()->getName() === 'admin.pages.update'
|
||||
|
||||
@@ -23,6 +23,7 @@ class PageServiceProvider extends ServiceProvider
|
||||
$this->registerPageRoute();
|
||||
}
|
||||
|
||||
|
||||
private function registerPageRoute()
|
||||
{
|
||||
$this->app->booted(function () {
|
||||
|
||||
3
Modules/Page/Resources/assets/admin/js/main.js
Normal file
3
Modules/Page/Resources/assets/admin/js/main.js
Normal file
@@ -0,0 +1,3 @@
|
||||
import tinyMce from "@admin/js/wysiwyg";
|
||||
|
||||
tinyMce();
|
||||
@@ -16,3 +16,9 @@
|
||||
@endsection
|
||||
|
||||
@include('page::admin.pages.partials.shortcuts')
|
||||
|
||||
@push('globals')
|
||||
@vite([
|
||||
'Modules/Page/Resources/assets/admin/js/main.js',
|
||||
])
|
||||
@endpush
|
||||
|
||||
@@ -18,3 +18,9 @@
|
||||
@endsection
|
||||
|
||||
@include('page::admin.pages.partials.shortcuts')
|
||||
|
||||
@push('globals')
|
||||
@vite([
|
||||
'Modules/Page/Resources/assets/admin/js/main.js',
|
||||
])
|
||||
@endpush
|
||||
|
||||
@@ -24,7 +24,7 @@
|
||||
@endcomponent
|
||||
|
||||
@push('scripts')
|
||||
<script>
|
||||
<script type="module">
|
||||
new DataTable('#pages-table .table', {
|
||||
columns: [
|
||||
{ data: 'checkbox', orderable: false, searchable: false, width: '3%' },
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
@endpush
|
||||
|
||||
@push('scripts')
|
||||
<script>
|
||||
<script type="module">
|
||||
keypressAction([
|
||||
{ key: 'b', route: "{{ route('admin.pages.index') }}" },
|
||||
]);
|
||||
|
||||
@@ -8,6 +8,12 @@ Route::get('pages', [
|
||||
'middleware' => 'can:admin.pages.index',
|
||||
]);
|
||||
|
||||
Route::get('pages/index/table', [
|
||||
'as' => 'admin.pages.table',
|
||||
'uses' => 'PageController@table',
|
||||
'middleware' => 'can:admin.pages.index',
|
||||
]);
|
||||
|
||||
Route::get('pages/create', [
|
||||
'as' => 'admin.pages.create',
|
||||
'uses' => 'PageController@create',
|
||||
|
||||
Reference in New Issue
Block a user