first upload all files

This commit is contained in:
NW
2023-06-11 13:14:03 +01:00
parent f14dbc52b5
commit c08b36d1b6
1705 changed files with 106852 additions and 0 deletions

View File

@@ -0,0 +1,53 @@
import 'nestable2';
window.admin.removeSubmitButtonOffsetOn('#image');
$('#type').on('change', (e) => {
$('.link-field').addClass('hide');
$(`.${e.currentTarget.value}-field`).removeClass('hide');
});
$('.dd').nestable({ maxDepth: 15 });
$('.dd').on('change', () => {
$.ajax({
type: 'PUT',
url: route('admin.menus.items.order.update'),
contentType: 'application/json; charset=utf-8',
data: JSON.stringify($('.dd').nestable('serialize')[0]),
success() {
success(trans('menu::messages.menu_items_order_updated'));
},
error(xhr) {
error(xhr.responseJSON.message);
},
});
});
let id;
let confirmationModal = $('#confirmation-modal');
$('.delete-menu-item').on('click', (e) => {
id = $(e.currentTarget).closest('.dd-item').data('id');
confirmationModal.modal('show');
});
confirmationModal.find('form').on('submit', (e) => {
e.preventDefault();
confirmationModal.modal('hide');
$.ajax({
type: 'DELETE',
url: route('admin.menus.items.destroy', id),
success() {
success(trans('menu::messages.menu_item_deleted'));
$(`.dd-item[data-id="${id}"]`).fadeOut();
},
error(xhr) {
error(xhr.responseJSON.message);
},
});
});

View File

@@ -0,0 +1,205 @@
#menu-create-form .box-body,
#menu-edit-form .box-body {
padding-bottom: 5px;
}
#menu-edit-form .box-body {
.dd {
padding-bottom: 15px;
}
}
.menu-item-actions {
float: left;
display: inline-block;
margin-top: 3px;
margin-left: 6px;
}
.menu-item-actions .btn:last-child {
margin-right: 10px;
}
.delete-menu-item {
float: left;
}
.edit-menu-item {
float: left;
}
.dd {
position: relative;
display: block;
margin: 0;
padding: 0;
list-style: none;
font-size: 13px;
line-height: 29px;
}
.dd-list {
display: block;
position: relative;
margin: 0;
padding: 0;
list-style: none;
.dd-list {
padding-left: 25px;
clear: both;
}
.btn {
background: transparent;
color: #555555;
padding: 6px;
}
.dd-expand,
.dd-collapse {
margin-top: 10px;
color: #555555;
&:focus {
outline: 0;
}
}
}
.dd-collapsed .dd-list {
display: none;
}
.dd-item,
.dd-item-root,
.dd-empty,
.dd-placeholder {
display: block;
position: relative;
margin: 0;
padding: 0;
min-height: 20px;
font-size: 13px;
line-height: 20px;
}
.dd-handle-root,
.dd-handle {
font-family: "Roboto", sans-serif;
font-weight: 400;
font-size: 15px;
display: block;
margin: 5px 0;
padding: 8px 10px;
color: #333;
text-decoration: none;
border: 1px solid #d9d9d9;
background: #fafafa;
-webkit-border-radius: 3px;
border-radius: 3px;
box-sizing: border-box;
-moz-box-sizing: border-box;
}
.dd-handle:hover {
color: #333;
background: #fff;
cursor: move;
}
.dd-item-root > .btn {
display: none;
}
.dd-item-root > button,
.dd-item > button {
display: block;
position: relative;
cursor: pointer;
float: right;
width: 25px;
height: 20px;
margin: 5px 0;
padding: 0;
text-indent: 100%;
white-space: nowrap;
overflow: hidden;
border: 0;
background: transparent;
font-size: 12px;
line-height: 1;
text-align: center;
font-weight: bold;
}
.dd-item-root > button:before,
.dd-item > button:before {
content: '+';
display: block;
position: absolute;
width: 100%;
text-align: center;
text-indent: 0;
font-size: 20px;
line-height: 9px;
}
.dd-item-root > button[data-action="collapse"]:before,
.dd-item > button[data-action="collapse"]:before {
content: '-';
font-size: 20px;
line-height: 9px;
}
.dd-placeholder,
.dd-empty {
margin: 5px 0;
padding: 0;
min-height: 30px !important;
background: #f2fbff !important;
border: 1px dashed #b6bcbf;
box-sizing: border-box;
-moz-box-sizing: border-box;
}
.dd-empty {
border: 1px dashed #bbb;
min-height: 100px;
background-color: #e5e5e5;
background-image: -webkit-linear-gradient(45deg, #ffffff 25%, transparent 25%, transparent 75%, #ffffff 75%, #ffffff), -webkit-linear-gradient(45deg, #ffffff 25%, transparent 25%, transparent 75%, #ffffff 75%, #ffffff);
background-image: -moz-linear-gradient(45deg, #ffffff 25%, transparent 25%, transparent 75%, #ffffff 75%, #ffffff), -moz-linear-gradient(45deg, #ffffff 25%, transparent 25%, transparent 75%, #ffffff 75%, #ffffff);
background-image: linear-gradient(45deg, #ffffff 25%, transparent 25%, transparent 75%, #ffffff 75%, #ffffff), linear-gradient(45deg, #ffffff 25%, transparent 25%, transparent 75%, #ffffff 75%, #ffffff);
background-size: 60px 60px;
background-position: 0 0, 30px 30px;
}
.dd-dragel {
position: absolute;
pointer-events: none;
z-index: 9999;
}
.dd-dragel > .dd-item .dd-handle {
margin-top: 0;
}
.dd-dragel .dd-handle {
-webkit-box-shadow: 2px 4px 6px 0 rgba(0, 0, 0, 0.1);
box-shadow: 2px 4px 6px 0 rgba(0, 0, 0, 0.1);
}
.dd-hover > .dd-handle {
background: #2196f3 !important;
}
@media only screen and (min-width: 700px) {
.dd {
float: left;
width: 100%;
+ .dd {
margin-left: 2%;
}
}
}

View File

@@ -0,0 +1,14 @@
<?php
return [
'name' => 'Name',
'type' => 'Type',
'url' => 'URL',
'icon' => 'Icon',
'category_id' => 'Category',
'page_id' => 'Page',
'parent_id' => 'Parent Menu Item',
'target' => 'Target',
'is_fluid' => 'Fluid Menu',
'is_active' => 'Status',
];

View File

@@ -0,0 +1,30 @@
<?php
return [
'menu_item' => 'Menu Item',
'back_to_menu_edit_page' => 'Back to Menu Edit Page',
'tabs' => [
'group' => [
'menu_item_information' => 'Menu Item Information',
],
'general' => 'General',
'image' => 'Image',
],
'form' => [
'types' => [
'category' => 'Category',
'page' => 'Page',
'url' => 'URL',
],
'targets' => [
'_self' => 'Same Tab',
'_blank' => 'New Tab',
],
'select_category' => 'Select Category',
'select_page' => 'Select Page',
'select_parent' => 'Select Parent',
'background_image' => 'Background Image',
'full_width_menu' => 'This is a full width menu',
'enable_the_menu_item' => 'Enable the menu item',
],
];

View File

@@ -0,0 +1,13 @@
<?php
return [
'menu' => 'Menu',
'menus' => 'Menus',
'table' => [
'name' => 'Name',
],
'form' => [
'please_save_the_menu_first' => 'Please save the menu first to add menu items.',
'enable_the_menu' => 'Enable the menu',
],
];

View File

@@ -0,0 +1,6 @@
<?php
return [
'menu_item_deleted' => 'Menu item has been deleted.',
'menu_items_order_updated' => 'Menu items order has been updated.',
];

View File

@@ -0,0 +1,16 @@
<?php
return [
'menus' => [
'index' => 'Index Menus',
'create' => 'Create Menus',
'edit' => 'Edit Menus',
'destroy' => 'Delete Menus',
],
'menu_items' => [
'index' => 'Index Menu Items',
'create' => 'Create Menu Items',
'edit' => 'Edit Menu Items',
'destroy' => 'Delete Menu Items',
],
];

View File

@@ -0,0 +1,5 @@
<?php
return [
'menus' => 'Menus',
];

View File

@@ -0,0 +1,19 @@
@extends('admin::layout')
@component('admin::components.page.header')
@slot('title', trans('admin::resource.create', ['resource' => trans('menu::menu_items.menu_item')]))
<li><a href="{{ route('admin.menus.index') }}">{{ trans('menu::menus.menus') }}</a></li>
<li><a href="{{ route('admin.menus.edit', $menuId) }}">{{ trans('admin::resource.edit', ['resource' => trans('menu::menus.menu')]) }}</a></li>
<li class="active">{{ trans('admin::resource.create', ['resource' => trans('menu::menu_items.menu_item')]) }}</li>
@endcomponent
@section('content')
<form method="POST" action="{{ route('admin.menus.items.store', $menuId) }}" class="form-horizontal" id="menu-item-create-form" novalidate>
{{ csrf_field() }}
{!! $tabs->render(compact('menuId', 'menuItem')) !!}
</form>
@endsection
@include('menu::admin.menu_items.partials.shortcuts')

View File

@@ -0,0 +1,20 @@
@extends('admin::layout')
@component('admin::components.page.header')
@slot('title', trans('admin::resource.edit', ['resource' => trans('menu::menu_items.menu_item')]))
@slot('subtitle', $menuItem->title)
<li><a href="{{ route('admin.menus.edit', $menuId) }}">{{ trans('admin::resource.edit', ['resource' => trans('menu::menus.menu')]) }}</a></li>
<li class="active">{{ trans('admin::resource.edit', ['resource' => trans('menu::menu_items.menu_item')]) }}</li>
@endcomponent
@section('content')
<form method="POST" action="{{ route('admin.menus.items.update', [$menuId, $menuItem]) }}" class="form-horizontal" id="menu-item-edit-form" novalidate>
{{ csrf_field() }}
{{ method_field('put') }}
{!! $tabs->render(compact('menuId', 'menuItem')) !!}
</form>
@endsection
@include('menu::admin.menu_items.partials.shortcuts')

View File

@@ -0,0 +1,14 @@
@push('shortcuts')
<dl class="dl-horizontal">
<dt><code>b</code></dt>
<dd>{{ trans('menu::menu_items.back_to_menu_edit_page') }}</dd>
</dl>
@endpush
@push('scripts')
<script>
keypressAction([
{ key: 'b', route: "{{ route('admin.menus.edit', $menuId) }}" },
]);
</script>
@endpush

View File

@@ -0,0 +1,24 @@
<div class="row">
<div class="col-md-8">
{{ Form::text('name', trans('menu::attributes.name'), $errors, $menuItem, ['required' => true]) }}
{{ Form::select('type', trans('menu::attributes.type'), $errors, trans('menu::menu_items.form.types'), $menuItem, ['required' => true]) }}
<div class="link-field category-field {{ old('type', $menuItem->type ?? 'category') !== 'category' ? 'hide' :'' }}">
{{ Form::select('category_id', trans('menu::attributes.category_id'), $errors, $categories, $menuItem, ['required' => true]) }}
</div>
<div class="link-field page-field {{ old('type', $menuItem->type) !== 'page' ? 'hide' :'' }}">
{{ Form::select('page_id', trans('menu::attributes.page_id'), $errors, $pages, $menuItem, ['required' => true]) }}
</div>
<div class="link-field url-field {{ old('type', $menuItem->type) !== 'url' ? 'hide' :'' }}">
{{ Form::text('url', trans('menu::attributes.url'), $errors, $menuItem, ['required' => true]) }}
</div>
{{ Form::text('icon', trans('menu::attributes.icon'), $errors, $menuItem) }}
{{ Form::checkbox('is_fluid', trans('menu::attributes.is_fluid'), trans('menu::menu_items.form.full_width_menu'), $errors, $menuItem) }}
{{ Form::select('target', trans('menu::attributes.target'), $errors, trans('menu::menu_items.form.targets'), $menuItem) }}
{{ Form::select('parent_id', trans('menu::attributes.parent_id'), $errors, $parentMenuItems, $menuItem) }}
{{ Form::checkbox('is_active', trans('menu::attributes.is_active'), trans('menu::menu_items.form.enable_the_menu_item'), $errors, $menuItem) }}
</div>
</div>

View File

@@ -0,0 +1,5 @@
@include('media::admin.image_picker.single', [
'title' => trans('menu::menu_items.form.background_image'),
'inputName' => 'files[background_image]',
'file' => $menuItem->backgroundImage,
])

View File

@@ -0,0 +1,18 @@
@extends('admin::layout')
@component('admin::components.page.header')
@slot('title', trans('admin::resource.create', ['resource' => trans('menu::menus.menu')]))
<li><a href="{{ route('admin.menus.index') }}">{{ trans('menu::menus.menus') }}</a></li>
<li class="active">{{ trans('admin::resource.create', ['resource' => trans('menu::menus.menu')]) }}</li>
@endcomponent
@section('content')
<form method="POST" action="{{ route('admin.menus.store') }}" class="form-horizontal" id="menu-create-form" novalidate>
{{ csrf_field() }}
@include('menu::admin.menus.form.fields')
</form>
@endsection
@include('menu::admin.menus.partials.shortcuts')

View File

@@ -0,0 +1,27 @@
@extends('admin::layout')
@component('admin::components.page.header')
@slot('title', trans('admin::resource.edit', ['resource' => trans('menu::menus.menu')]))
@slot('subtitle', $menu->title)
<li><a href="{{ route('admin.menus.index') }}">{{ trans('menu::menus.menus') }}</a></li>
<li class="active">{{ trans('admin::resource.edit', ['resource' => trans('menu::menus.menu')]) }}</li>
@endcomponent
@section('content')
<form method="POST" action="{{ route('admin.menus.update', $menu) }}" class="form-horizontal" id="menu-edit-form" novalidate>
{{ csrf_field() }}
{{ method_field('put') }}
@include('menu::admin.menus.form.fields')
</form>
@endsection
@push('globals')
<script>
FleetCart.langs['menu::messages.menu_item_deleted'] = '{{ trans('menu::messages.menu_item_deleted') }}';
FleetCart.langs['menu::messages.menu_items_order_updated'] = '{{ trans('menu::messages.menu_items_order_updated') }}';
</script>
@endpush
@include('menu::admin.menus.partials.shortcuts')

View File

@@ -0,0 +1,46 @@
<div class="row">
@hasAccess('admin.menu_items.index')
<div class="col-md-6">
@if ($menu->exists)
@hasAccess('admin.menu_items.create')
<div class="btn-group pull-right m-b-15">
<a href="{{ route('admin.menus.items.create', $menu) }}" class="btn btn-primary">
{{ trans('admin::resource.create', ['resource' => trans('menu::menu_items.menu_item')]) }}
</a>
</div>
@endHasAccess
@hasAccess('admin.menu_items.edit')
<div class="box box-primary overflow-hidden">
<div class="box-body">
<div class="dd">
@include('menu::admin.menus.form.menu_items_list')
</div>
</div>
</div>
@endHasAccess
@else
<div class="alert alert-info">
{{ trans('menu::menus.form.please_save_the_menu_first') }}
</div>
@endif
</div>
@endHasAccess
<div class="col-md-6">
<div class="box box-primary">
<div class="box-body">
{{ Form::text('name', trans('menu::attributes.name'), $errors, $menu, ['required' => true]) }}
{{ Form::checkbox('is_active', trans('menu::attributes.is_active'), trans('menu::menus.form.enable_the_menu'), $errors, $menu) }}
<div class="form-group">
<div class="col-md-offset-3 col-md-9">
<button type="submit" class="btn btn-primary" data-loading>
{{ trans('admin::admin.buttons.save') }}
</button>
</div>
</div>
</div>
</div>
</div>
</div>

View File

@@ -0,0 +1,23 @@
<ol class="dd-list">
@foreach ($menuItems as $menuItem)
<li class="dd-item" data-id="{{ $menuItem->id }}">
@if (! $menuItem->is_root)
<div class="menu-item-actions btn-group" role="group">
<a href="{{ route('admin.menus.items.edit', [$menu->id, $menuItem->id]) }}" class="btn edit-menu-item ">
<i class="fa fa-pencil"></i>
</a>
<button type="button" class="btn delete-menu-item" data-action="{{ route('admin.menus.items.destroy', [$menu->id, $menuItem->id]) }}">
<i class="fa fa-times"></i>
</button>
</div>
@endif
<div class="{{ $menuItem->is_root ? 'dd-handle-root' : 'dd-handle' }}">{{ $menuItem->name }}</div>
@if (count($menuItem->items) !== 0)
@include('menu::admin.menus.form.menu_items_list', ['menuItems' => $menuItem->items])
@endif
</li>
@endforeach
</ol>

View File

@@ -0,0 +1,49 @@
@extends('admin::layout')
@component('admin::components.page.header')
@slot('title', trans('menu::menus.menus'))
<li class="active">{{ trans('menu::menus.menu') }}</li>
@endcomponent
@component('admin::components.page.index_table')
@slot('buttons', ['create'])
@slot('resource', 'menus')
@slot('name', trans('menu::menus.menu'))
@slot('thead')
<tr>
@include('admin::partials.table.select_all')
<th>{{ trans('admin::admin.table.id') }}</th>
<th>{{ trans('menu::menus.table.name') }}</th>
<th>{{ trans('admin::admin.table.status') }}</th>
<th data-sort>{{ trans('admin::admin.table.created') }}</th>
</tr>
@endslot
@endcomponent
@push('shortcuts')
<dl class="dl-horizontal">
<dt><code>c</code></dt>
<dd>{{ trans('admin::resource.create', ['resource' => trans('menu::menus.menu')]) }}</dd>
</dl>
@endpush
@push('scripts')
<script>
keypressAction([
{ key: 'c', route: "{{ route('admin.menus.create') }}" },
]);
new DataTable('#menus-table .table', {
columns: [
{ data: 'checkbox', orderable: false, searchable: false, width: '3%' },
{ data: 'id', width: '5%' },
{ data: 'name', name: 'translations.name', orderable: false, defaultContent: '' },
{ data: 'status', name: 'is_active', searchable: false },
{ data: 'created', name: 'created_at' },
]
});
</script>
@endpush

View File

@@ -0,0 +1,25 @@
@push('shortcuts')
@isset($menu)
<dl class="dl-horizontal">
<dt><code>c</code></dt>
<dd>{{ trans('admin::resource.create', ['resource' => trans('menu::menu_items.menu_item')]) }}</dd>
</dl>
@endisset
<dl class="dl-horizontal">
<dt><code>b</code></dt>
<dd>{{ trans('admin::admin.shortcuts.back_to_index', ['name' => trans('menu::menus.menu')]) }}</dd>
</dl>
@endpush
@push('scripts')
<script>
keypressAction([
@isset($menu)
{ key: 'c', route: "{{ route('admin.menus.items.create', $menu) }}" },
@endisset
{ key: 'b', route: "{{ route('admin.menus.index') }}" },
]);
</script>
@endpush