Upgrade boilerplate
This commit is contained in:
@@ -7,6 +7,12 @@
|
||||
@include('components.number', ['name' => 'price_list_values[' . $index . '][quantity]', 'value' => $price_list_value['quantity'] ?? null, 'required' => true, 'meta' => "step = '.01'"])
|
||||
</td>
|
||||
<td>
|
||||
@include('components.money', ['name' => 'price_list_values[' . $index . '][price]', 'value' => $price_list_value['price'] ?? null, 'required' => true])
|
||||
@include('components.money', ['name' => 'price_list_values[' . $index . '][price]', 'value' => $price_list_value['price'] ?? null, 'required' => true, 'class' => 'price'])
|
||||
</td>
|
||||
<td>
|
||||
@include('components.select', ['name' => 'price_list_values[' . $index . '][tax_id]', 'list' => $taxes ?? [], 'value' => $price_list_value['tax_id'] ?? null, 'required' => true, 'class' => 'tax'])
|
||||
</td>
|
||||
<td>
|
||||
@include('components.money', ['name' => 'price_list_values[' . $index . '][price_taxed]', 'value' => $price_list_value['price_taxed'] ?? null, 'required' => true, 'class' => 'price_taxed'])
|
||||
</td>
|
||||
</tr>
|
||||
@@ -1,36 +0,0 @@
|
||||
@extends('layout.index', [
|
||||
'title' => __('products.title'),
|
||||
'subtitle' => __('products.title'),
|
||||
'breadcrumb' => [__('products.title')]
|
||||
])
|
||||
|
||||
@section('content')
|
||||
<form action="{{ route('Shop.Products') }}" method="GET">
|
||||
|
||||
<div class="row">
|
||||
|
||||
<div class="col-md-offset-2 col-md-8">
|
||||
|
||||
<div class="box box-info">
|
||||
<div class="box-body">
|
||||
<div class="col-md-6">
|
||||
<h3>{{ name }}</h3>
|
||||
<h4>
|
||||
{{ $product.section.name }}<br>
|
||||
</h4>
|
||||
</div>
|
||||
<div class="col-md-6 text-right">
|
||||
<h2>{{ $prix_total }} €</h2>
|
||||
<h4>{{ $residence['type_produit']['name'] }}</h4>
|
||||
</div>
|
||||
|
||||
<div class="col-md-12">
|
||||
@include('Hestimmo.modules.Lot.partials.carousel')
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
|
||||
@endsection
|
||||
@@ -27,7 +27,9 @@
|
||||
<tr>
|
||||
<th>Code</th>
|
||||
<th>Seuil</th>
|
||||
<th>Prix Unit.</th>
|
||||
<th>Unit. HT</th>
|
||||
<th>TVA</th>
|
||||
<th>Unit. TTC</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
@@ -58,11 +60,49 @@
|
||||
$.get("{{ route('Admin.Shop.PriceListValues.addPrice') }}/" + index, function(data) {
|
||||
$("#prices-table").append(data);
|
||||
})
|
||||
handlePrices();
|
||||
})
|
||||
}
|
||||
|
||||
function handle_prices() {
|
||||
$('.price').change(function() {
|
||||
$col_tax = $(this).parent().parent().find('.tax')();
|
||||
tax_selected = $col_tax.find('select option:selected').text();
|
||||
price_taxed = $(this).val() * (1 + (tax_selected / 100));
|
||||
price_taxed = price_taxed.toFixed(2);
|
||||
$(this).parent().parent().find('.price_taxed').val(price_taxed);
|
||||
})
|
||||
}
|
||||
|
||||
function handle_taxes() {
|
||||
$('.tax').change(function() {
|
||||
tax_selected = $(this).text();
|
||||
price = $(this).parent().parent().find('.price').val();
|
||||
price_taxed = price * (1 + (tax_selected / 100));
|
||||
price_taxed = price_taxed.toFixed(2);
|
||||
$(this).parent().parent().find('.price_taxed').val(price_taxed);
|
||||
})
|
||||
}
|
||||
|
||||
function handle_prices_taxed() {
|
||||
$('.price_taxed').change(function() {
|
||||
$col_tax = $(this).parent().parent().find('.tax')();
|
||||
tax_selected = $col_tax.find('select option:selected').text();
|
||||
price = $(this).val() / (1 + (tax_selected / 100));
|
||||
price = price.toFixed(2);
|
||||
$(this).parent().parent().find('.price').val(price);
|
||||
})
|
||||
}
|
||||
|
||||
function handlePrices() {
|
||||
handle_prices();
|
||||
handle_taxes();
|
||||
handle_prices_taxed();
|
||||
}
|
||||
|
||||
$(function() {
|
||||
handleAddPrice();
|
||||
handlePrices();
|
||||
});
|
||||
|
||||
</script>
|
||||
|
||||
@@ -3,10 +3,7 @@
|
||||
<tr>
|
||||
@foreach ($prices as $price)
|
||||
<td>
|
||||
{{ $price['quantity'] ?? null }}
|
||||
</td>
|
||||
<td>
|
||||
{{ $price['price'] ?? null }}
|
||||
{{ $price['quantity'] ?? null }} : {{ $price['price'] ?? null }} €
|
||||
</td>
|
||||
@endforeach
|
||||
</tr>
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="{{ App::getLocale() }}">
|
||||
<html lang="{{ App::getLocale() }}" dir="@lang('boilerplate::layout.direction')">
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
||||
@@ -7,22 +7,23 @@
|
||||
<meta name="robots" content="noindex, nofollow">
|
||||
<meta name="csrf-token" content="{{ csrf_token() }}">
|
||||
<title>{{ $title ?? '' }} | {{ config('app.name') }}</title>
|
||||
<link rel="stylesheet" href="{{ mix('/adminlte.min.css', '/assets/vendor/boilerplate') }}">
|
||||
<link rel="stylesheet" href="{{ mix('/css/app.css') }}">
|
||||
<link rel="stylesheet" href="/assets/fonts/glyphicons/glyphicons.min.css">
|
||||
<link rel="shortcut icon" href="{{ config('boilerplate.theme.favicon') ?? mix('favicon.svg', '/assets/vendor/boilerplate') }}">
|
||||
@stack('plugin-css')
|
||||
<link rel="stylesheet" href="{{ mix('/plugins/fontawesome/fontawesome.min.css', '/assets/vendor/boilerplate') }}">
|
||||
<link rel="stylesheet" href="{{ mix('/adminlte.min.css', '/assets/vendor/boilerplate') }}">
|
||||
<link rel="preconnect" href="https://fonts.gstatic.com">
|
||||
<link href="https://fonts.googleapis.com/css2?family=Source+Sans+Pro:ital,wght@0,300;0,400;0,700;1,400&display=swap" rel="stylesheet">
|
||||
<link rel="stylesheet" href="/assets/fonts/glyphicons/glyphicons.min.css">
|
||||
@stack('css')
|
||||
<link rel="stylesheet" href="/assets/css/main.min.css?{{ time() }}">
|
||||
</head>
|
||||
<body class="layout-fixed layout-navbar-fixed sidebar-mini">
|
||||
<body class="layout-fixed layout-navbar-fixed sidebar-mini{{ setting('darkmode', false) && config('boilerplate.theme.darkmode') ? ' dark-mode accent-light' : '' }}{{ setting('sidebar-collapsed', false) ? ' sidebar-collapse' : '' }}">
|
||||
<div class="wrapper">
|
||||
|
||||
@include('layout.header')
|
||||
@include('boilerplate::layout.mainsidebar')
|
||||
|
||||
<div class="content-wrapper" id="content-wrapper">
|
||||
<div class="content-wrapper">
|
||||
@include('layout.contentheader')
|
||||
<section class="content" id="content">
|
||||
<section class="content">
|
||||
<div class="container-fluid">
|
||||
@yield('content')
|
||||
</div>
|
||||
@@ -43,19 +44,23 @@
|
||||
<div class="control-sidebar-bg"></div>
|
||||
</div>
|
||||
|
||||
<script src="{{ mix('/js/app.js') }}"></script>
|
||||
<script src="/assets/plugins/adminlte/adminlte.min.js"></script>
|
||||
<script src="{{ mix('/bootstrap.min.js', '/assets/vendor/boilerplate') }}"></script>
|
||||
<script src="{{ mix('/admin-lte.min.js', '/assets/vendor/boilerplate') }}"></script>
|
||||
<script src="{{ mix('/boilerplate.min.js', '/assets/vendor/boilerplate') }}"></script>
|
||||
|
||||
<script src="/assets/js/main.min.js?{{ time() }}"></script>
|
||||
|
||||
@include('load.layout.nicescroll')
|
||||
|
||||
<script>
|
||||
// initScroll('.sidebar');
|
||||
$('.sidebar').addClass('overflow-hidden');
|
||||
$('.sidebar').addClass('overflow-y');
|
||||
|
||||
$.ajaxSetup({headers: {'X-CSRF-TOKEN': '{{ csrf_token() }}'}});
|
||||
|
||||
// bootbox.setLocale('{{ App::getLocale() }}');
|
||||
bootbox.setLocale('{{ App::getLocale() }}');
|
||||
|
||||
var bpRoutes = {
|
||||
settings: "{{ route('boilerplate.settings', null, false) }}",
|
||||
}
|
||||
|
||||
var session = {
|
||||
keepalive: "{{ route('boilerplate.keepalive', null, false) }}",
|
||||
@@ -66,8 +71,6 @@
|
||||
|
||||
</script>
|
||||
|
||||
<script src="{{ asset('/assets/plugins/boilerplate.js') }}"></script>
|
||||
|
||||
@if(Session::has('growl'))
|
||||
<script>
|
||||
$(function() {
|
||||
|
||||
@@ -4,7 +4,6 @@
|
||||
<script>
|
||||
function initScroll(selector, options) {
|
||||
var selector = (typeof(selector) == 'undefined') ? '.nicescrollable' : selector;
|
||||
|
||||
var options = (typeof(options) == 'undefined') ? '' : options;
|
||||
|
||||
$(selector).niceScroll(options);
|
||||
|
||||
@@ -9,6 +9,7 @@
|
||||
<title>{{ $title }} | {{ config('app.name') }}</title>
|
||||
<link rel="stylesheet" href="{{ mix('/plugins/fontawesome/fontawesome.min.css', '/assets/vendor/boilerplate') }}">
|
||||
<link rel="stylesheet" href="{{ mix('/adminlte.min.css', '/assets/vendor/boilerplate') }}">
|
||||
<link rel="shortcut icon" href="{{ config('boilerplate.theme.favicon') ?? mix('favicon.svg', '/assets/vendor/boilerplate') }}">
|
||||
<link rel="preconnect" href="https://fonts.gstatic.com">
|
||||
<link href="https://fonts.googleapis.com/css2?family=Source+Sans+Pro:ital,wght@0,300;0,400;0,700;1,400&display=swap" rel="stylesheet">
|
||||
</head>
|
||||
|
||||
@@ -14,13 +14,28 @@
|
||||
<button type="submit" class="btn btn-primary mb-3">@lang('boilerplate::auth.login.signin')</button>
|
||||
</div>
|
||||
{!! Form::close() !!}
|
||||
<p class="mb-1 text-sm">
|
||||
<a href="{{ route('boilerplate.password.request') }}">@lang('boilerplate::auth.login.forgotpassword')</a><br>
|
||||
</p>
|
||||
@if(config('boilerplate.auth.register'))
|
||||
<p class="mb-0 text-sm">
|
||||
<a href="{{ route('boilerplate.register') }}" class="text-center">@lang('boilerplate::auth.login.register')</a>
|
||||
</p>
|
||||
@endif
|
||||
<div class="d-flex justify-content-between align-items-start">
|
||||
<div>
|
||||
<p class="mb-1 text-sm">
|
||||
<a href="{{ route('boilerplate.password.request') }}">@lang('boilerplate::auth.login.forgotpassword')</a><br>
|
||||
</p>
|
||||
@if(config('boilerplate.auth.register'))
|
||||
<p class="mb-0 text-sm">
|
||||
<a href="{{ route('boilerplate.register') }}" class="text-center">@lang('boilerplate::auth.login.register')</a>
|
||||
</p>
|
||||
@endif
|
||||
</div>
|
||||
@if(config('boilerplate.locale.switch', false))
|
||||
<div class="dropdown-wrapper">
|
||||
<div class="form-group">
|
||||
<select class="form-control form-control-sm" onchange="if (this.value) window.location.href=this.value">
|
||||
@foreach(collect(config('boilerplate.locale.languages'))->map(function($e){return $e['label'];})->toArray() as $lang => $label)
|
||||
<option value="{{ route('boilerplate.lang.switch', $lang) }}" {{ $lang === App::getLocale() ? 'selected' : '' }}>{{ $label }}</option>
|
||||
@endforeach
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
@endif
|
||||
</div>
|
||||
@endcomponent
|
||||
@endsection
|
||||
|
||||
@@ -1,14 +1,14 @@
|
||||
<div class="card{{ isset($tabs) ? ($outline ? ' card-outline card-outline-tabs' : ' card-tabs') : ($outline ? ' card-outline' : '') }} card-{{ $color ?? config('boilerplate.theme.card.default_color', 'info') }} bg-{{ $bgColor ?? 'white' }}{{ $collapsed ? ' collapsed-card' : '' }}{{ !empty($class) ? ' '.$class : '' }}"{!! empty($attributes) ? '' : ' '.$attributes !!}>
|
||||
<div class="card{{ isset($tabs) ? ($outline ? ' card-outline card-outline-tabs' : ' card-tabs') : ($outline ? ' card-outline' : '') }} card-{{ $color ?? config('boilerplate.theme.card.default_color', 'info') }}{{ ($bgColor ?? null) ? ' bg-'.$bgColor : '' }}{{ $collapsed ? ' collapsed-card' : '' }}{{ !empty($class) ? ' '.$class : '' }}"{!! empty($attributes) ? '' : ' '.$attributes !!}>
|
||||
@if($title ?? false || $header ?? false || $tools ?? false || $maximize || $reduce || $close)
|
||||
<div class="card-header{{ isset($tabs) ? ($outline ? ' p-0' : ' p-0 pt-1') : '' }} border-bottom-0">
|
||||
@if($header ?? false)
|
||||
{{ $header }}
|
||||
{!! $header !!}
|
||||
@else
|
||||
<h3 class="card-title">@lang($title ?? '')</h3>
|
||||
@if($tools ?? false || $maximize || $reduce || $close)
|
||||
<div class="card-tools">
|
||||
@isset($tools)
|
||||
{{ $tools ?? '' }}
|
||||
{!! $tools ?? '' !!}
|
||||
@endisset
|
||||
@if($maximize)
|
||||
<button type="button" class="btn btn-tool" data-card-widget="maximize"><i class="fas fa-expand"></i></button>
|
||||
@@ -26,6 +26,6 @@
|
||||
@endif
|
||||
<div class="card-body{{ $title ?? false ? ($outline ? ' pt-0' : '') : '' }}">{{ $slot }}</div>
|
||||
@isset($footer)
|
||||
<div class="card-footer">{{ $footer }}</div>
|
||||
<div class="card-footer">{!! $footer !!}</div>
|
||||
@endisset
|
||||
</div>
|
||||
|
||||
@@ -4,9 +4,9 @@
|
||||
The name attribute has not been set
|
||||
</code>
|
||||
@else
|
||||
<div class="form-group">
|
||||
<div class="form-group{{ isset($groupClass) ? ' '.$groupClass : '' }}"{{ isset($groupId) ? ' id="'.$groupId.'"' : '' }}>
|
||||
@isset($label)
|
||||
{{ Form::label($name, __($label)) }}
|
||||
{!! Form::label($name, __($label)) !!}
|
||||
@endisset
|
||||
@if($prepend || $prependText || $append || $appendText)
|
||||
<div class="input-group">
|
||||
@@ -21,13 +21,13 @@
|
||||
</div>
|
||||
@endif
|
||||
@if($type === 'password')
|
||||
{{ Form::password($name, array_merge(['class' => 'form-control'.$errors->first($name,' is-invalid').(isset($class) ? ' '.$class : '')], $attributes)) }}
|
||||
{!! Form::password($name, array_merge(['class' => 'form-control'.$errors->first($name,' is-invalid').(isset($class) ? ' '.$class : '')], $attributes)) !!}
|
||||
@elseif($type === 'file')
|
||||
{{ Form::file($name, array_merge(['class' => 'form-control-file'.$errors->first($name,' is-invalid').(isset($class) ? ' '.$class : '')], $attributes)) }}
|
||||
{!! Form::file($name, array_merge(['class' => 'form-control-file'.$errors->first($name,' is-invalid').(isset($class) ? ' '.$class : '')], $attributes)) !!}
|
||||
@elseif($type === 'select')
|
||||
{{ Form::select($name, $options ?? [], old($name, $value ?? ''), array_merge(['class' => 'form-control'.$errors->first($name,' is-invalid').(isset($class) ? ' '.$class : '')], $attributes)) }}
|
||||
{!! Form::select($name, $options ?? [], old($name, $value ?? ''), array_merge(['class' => 'form-control'.$errors->first($name,' is-invalid').(isset($class) ? ' '.$class : '')], $attributes)) !!}
|
||||
@else
|
||||
{{ Form::{$type ?? 'text'}($name, old($name, $value ?? ''), array_merge(['class' => 'form-control'.$errors->first($name,' is-invalid').(isset($class) ? ' '.$class : '')], $attributes)) }}
|
||||
{!! Form::{$type ?? 'text'}($name, old($name, $value ?? ''), array_merge(['class' => 'form-control'.$errors->first($name,' is-invalid').(isset($class) ? ' '.$class : '')], $attributes)) !!}
|
||||
@endif
|
||||
@if($append || $appendText)
|
||||
<div class="input-group-append">
|
||||
|
||||
@@ -1,18 +1,21 @@
|
||||
@if(empty($name))
|
||||
<code>
|
||||
<x-boilerplate::select2>
|
||||
The name attribute has not been set
|
||||
</code>
|
||||
<code><x-boilerplate::select2> The name attribute has not been set</code>
|
||||
@else
|
||||
<div class="form-group">
|
||||
@isset($label)
|
||||
{{ Form::label($name, __($label)) }}
|
||||
@endisset
|
||||
<select id="{{ $id }}" name="{{ $name }}" class="form-control{{ $errors->first($name,' is-invalid') }}{{ isset($class) ? ' '.$class : '' }}"{!! !empty($attributes) ? ' '.$attributes : '' !!}>
|
||||
<select id="{{ $id }}" name="{{ $name }}" class="form-control{{ $errors->first($name,' is-invalid') }}{{ isset($class) ? ' '.$class : '' }}"{!! !empty($attributes) ? ' '.$attributes : '' !!} style="visibility:hidden;height:1rem">
|
||||
@if(!isset($multiple))
|
||||
<option></option>
|
||||
@endif
|
||||
@if(!empty($options) && is_array($options))
|
||||
@foreach($options as $k => $v)
|
||||
<option value="{{ $k }}"{{ collect($selected ?? [])->contains($k) ? ' selected' : '' }}>{{ $v }}</option>
|
||||
@endforeach
|
||||
@else
|
||||
{{ $slot }}
|
||||
@endisset
|
||||
</select>
|
||||
@if($help ?? false)
|
||||
<small class="form-text text-muted">@lang($help)</small>
|
||||
@@ -28,10 +31,10 @@
|
||||
$('#{{ $id }}').select2({
|
||||
placeholder: '{{ $placeholder ?? '—' }}',
|
||||
allowClear: {{ $allowClear }},
|
||||
language: "{{ config('boilerplate.app.locale') }}",
|
||||
language: "{{ App::getLocale() }}",
|
||||
direction: "@lang('boilerplate::layout.direction')",
|
||||
minimumInputLength: {{ $minimumInputLength ?? 0 }},
|
||||
minimumResultsForSearch: {{ $minimumResultsForSearch ?? 0 }},
|
||||
minimumResultsForSearch: {{ $minimumResultsForSearch ?? 10 }},
|
||||
width: '100%',
|
||||
@isset($ajax)
|
||||
ajax: {
|
||||
|
||||
@@ -1,4 +1,7 @@
|
||||
<textarea id="{{ $id }}"{!! !empty($attributes) ? ' '.$attributes : '' !!}></textarea>
|
||||
@if(empty($name))
|
||||
<code><x-boilerplate::tinymce>The name attribute has not been set</code>
|
||||
@else
|
||||
<textarea id="{{ $id }}"{!! !empty($attributes) ? ' '.$attributes : '' !!} style="visibility:hidden">{!! $value ?? $slot ?? '' !!}</textarea>
|
||||
@if($hasMediaManager)
|
||||
@include('boilerplate-media-manager::load.tinymce')
|
||||
@else
|
||||
@@ -6,4 +9,5 @@
|
||||
@endif
|
||||
@push('js')
|
||||
<script>$(function(){$('#{{ $id }}').tinymce({})});</script>
|
||||
@endpush
|
||||
@endpush
|
||||
@endif
|
||||
@@ -1,7 +1,7 @@
|
||||
@extends('boilerplate::layout.index', [
|
||||
'title' => __('boilerplate::layout.dashboard'),
|
||||
'subtitle' => 'Plugins demo',
|
||||
'breadcrumb' => ['Plugins demo']]
|
||||
'subtitle' => 'Components & plugins demo',
|
||||
'breadcrumb' => ['Components & plugins demo']]
|
||||
)
|
||||
|
||||
@section('content')
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
<div class="container-fluid">
|
||||
<div class="row mb-2 align-items-end">
|
||||
<div class="col-sm-6">
|
||||
<h1 class="m-0 text-dark">
|
||||
<h1 class="m-0">
|
||||
{{ $title }}
|
||||
@if(isset($subtitle))
|
||||
<small class="font-weight-light ml-1 text-md">{{ $subtitle }}</small>
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
<nav class="main-header navbar navbar-expand navbar-{{ config('boilerplate.theme.navbar.bg') }} navbar-{{ config('boilerplate.theme.navbar.type') }} {{ config('boilerplate.theme.navbar.border') ? "" : "border-bottom-0" }}">
|
||||
<nav class="main-header navbar navbar-expand{{ config('boilerplate.theme.navbar.bg') === 'white' ? '' : ' navbar-'.config('boilerplate.theme.navbar.bg') }} navbar-{{ setting('darkmode', false) && config('boilerplate.theme.darkmode') ? 'dark' : config('boilerplate.theme.navbar.type') }} {{ config('boilerplate.theme.navbar.border') ? "" : "border-bottom-0" }}" data-type="{{ config('boilerplate.theme.navbar.type') }}">
|
||||
<div class="navbar-left d-flex">
|
||||
<ul class="nav navbar-nav">
|
||||
<li class="nav-item">
|
||||
@@ -8,26 +8,60 @@
|
||||
</li>
|
||||
</ul>
|
||||
@foreach(app('boilerplate.navbar.items')->getItems('left') as $view)
|
||||
{!! $view !!}
|
||||
{!! $view !!}
|
||||
@endforeach
|
||||
</div>
|
||||
<div class="navbar-right ml-auto d-flex">
|
||||
@foreach(app('boilerplate.navbar.items')->getItems('right') as $view)
|
||||
{!! $view !!}
|
||||
{!! $view !!}
|
||||
@endforeach
|
||||
<ul class="nav navbar-nav">
|
||||
@if(config('boilerplate.locale.switch', false))
|
||||
<li class="nav-item dropdown">
|
||||
<a class="nav-link dropdown-toggle px-2" data-toggle="dropdown" href="#" aria-expanded="false">
|
||||
{{ Config::get('boilerplate.locale.languages.'.App::getLocale().'.label') }}
|
||||
</a>
|
||||
<div class="dropdown-menu dropdown-menu-right" style="left: inherit; right: 0px;">
|
||||
@foreach(collect(config('boilerplate.locale.languages'))->map(function($e){return $e['label'];})->toArray() as $lang => $label)
|
||||
@if ($lang !== App::getLocale())
|
||||
<a href="{{ route('boilerplate.lang.switch', $lang) }}" class="dropdown-item">
|
||||
{{ $label }}
|
||||
</a>
|
||||
@endif
|
||||
@endforeach
|
||||
</div>
|
||||
</li>
|
||||
@endif
|
||||
@if(config('boilerplate.theme.navbar.user.visible'))
|
||||
<li class="nav-item">
|
||||
<a href="{{ route('boilerplate.user.profile') }}" class="nav-link d-flex align-items-center">
|
||||
<img src="{{ Auth::user()->avatar_url }}" class="avatar-img img-circle bg-gray mr-2 elevation-{{ config('boilerplate.theme.navbar.user.shadow') }}" alt="{{ Auth::user()->name }}" height="32">
|
||||
{{ Auth::user()->name }}
|
||||
<a href="{{ route('boilerplate.user.profile') }}" class="nav-link d-flex align-items-center px-2">
|
||||
<img src="{{ Auth::user()->avatar_url }}" class="avatar-img img-circle bg-gray mr-0 mr-md-2 elevation-{{ config('boilerplate.theme.navbar.user.shadow') }}" alt="{{ Auth::user()->name }}" height="32">
|
||||
<span class="d-none d-md-block">{{ Auth::user()->name }}</span>
|
||||
</a>
|
||||
</li>
|
||||
@endif
|
||||
@if(config('boilerplate.theme.darkmode', false))
|
||||
<li class="nav-item">
|
||||
<a class="nav-link px-2" data-widget="darkmode" href="#" role="button">
|
||||
@if(setting('darkmode', false))
|
||||
<i class="fas fa-fw fa-sun"></i>
|
||||
@else
|
||||
<i class="far fa-moon"></i>
|
||||
@endif
|
||||
</a>
|
||||
</li>
|
||||
@endif
|
||||
@if(config('boilerplate.theme.fullscreen', false))
|
||||
<li class="nav-item">
|
||||
<a class="nav-link px-2" data-widget="fullscreen" href="#" role="button">
|
||||
<i class="fas fa-fw fa-expand-arrows-alt"></i>
|
||||
</a>
|
||||
</li>
|
||||
@endif
|
||||
<li class="nav-item">
|
||||
{!! Form::open(['route' => 'boilerplate.logout', 'method' => 'post', 'id' => 'logout-form']) !!}
|
||||
<button type="submit" class="btn nav-link d-flex align-items-center logout px-2" data-question="{{ __('boilerplate::layout.logoutconfirm') }}" data-toggle="tooltip" title="{{ __('boilerplate::layout.logout') }}">
|
||||
<span class="fa fa-power-off hidden-xs pr-1"></span>
|
||||
<button type="submit" class="btn nav-link d-flex align-items-center logout px-2" data-question="{{ __('boilerplate::layout.logoutconfirm') }}">
|
||||
<span class="fa fa-fw fa-power-off hidden-xs pr-1"></span>
|
||||
</button>
|
||||
{!! Form::close() !!}
|
||||
</li>
|
||||
|
||||
@@ -7,13 +7,15 @@
|
||||
<meta name="robots" content="noindex, nofollow">
|
||||
<meta name="csrf-token" content="{{ csrf_token() }}">
|
||||
<title>{{ $title }} | {{ config('app.name') }}</title>
|
||||
@stack('css')
|
||||
<link rel="shortcut icon" href="{{ config('boilerplate.theme.favicon') ?? mix('favicon.svg', '/assets/vendor/boilerplate') }}">
|
||||
@stack('plugin-css')
|
||||
<link rel="stylesheet" href="{{ mix('/plugins/fontawesome/fontawesome.min.css', '/assets/vendor/boilerplate') }}">
|
||||
<link rel="stylesheet" href="{{ mix('/adminlte.min.css', '/assets/vendor/boilerplate') }}">
|
||||
<link rel="preconnect" href="https://fonts.gstatic.com">
|
||||
<link href="https://fonts.googleapis.com/css2?family=Source+Sans+Pro:ital,wght@0,300;0,400;0,700;1,400&display=swap" rel="stylesheet">
|
||||
@stack('css')
|
||||
</head>
|
||||
<body class="layout-fixed layout-navbar-fixed sidebar-mini">
|
||||
<body class="layout-fixed layout-navbar-fixed sidebar-mini{{ setting('darkmode', false) && config('boilerplate.theme.darkmode') ? ' dark-mode accent-light' : '' }}{{ setting('sidebar-collapsed', false) ? ' sidebar-collapse' : '' }}">
|
||||
<div class="wrapper">
|
||||
@include('boilerplate::layout.header')
|
||||
@include('boilerplate::layout.mainsidebar')
|
||||
@@ -42,24 +44,23 @@
|
||||
<script>
|
||||
$.ajaxSetup({headers: {'X-CSRF-TOKEN': '{{ csrf_token() }}'}});
|
||||
bootbox.setLocale('{{ App::getLocale() }}');
|
||||
var bpRoutes = {
|
||||
settings: "{{ route('boilerplate.settings', null, false) }}",
|
||||
}
|
||||
var session = {
|
||||
keepalive: "{{ route('boilerplate.keepalive', null, false) }}",
|
||||
expire: {{ time() + config('session.lifetime') * 60 }},
|
||||
lifetime: {{ config('session.lifetime') * 60 }},
|
||||
id: "{{ session()->getId() }}"
|
||||
}
|
||||
</script>
|
||||
@if(Session::has('growl'))
|
||||
<script>
|
||||
$(function() {
|
||||
@if(is_array(Session::get('growl')))
|
||||
growl("{!! Session::get('growl')[0] !!}", "{{ Session::get('growl')[1] }}");
|
||||
@else
|
||||
growl("{{Session::get('growl')}}");
|
||||
@endif
|
||||
});
|
||||
</script>
|
||||
@if(is_array(Session::get('growl')))
|
||||
growl("{!! Session::get('growl')[0] !!}", "{{ Session::get('growl')[1] }}");
|
||||
@else
|
||||
growl("{{Session::get('growl')}}");
|
||||
@endif
|
||||
@endif
|
||||
</script>
|
||||
@stack('js')
|
||||
</body>
|
||||
</html>
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
<aside class="main-sidebar {{ config('boilerplate.theme.sidebar.border') ? 'border-right' : ''}} sidebar-{{ config('boilerplate.theme.sidebar.type') }}-{{ config('boilerplate.theme.sidebar.links.bg') }} elevation-{{ config('boilerplate.theme.sidebar.shadow') }}">
|
||||
<aside class="main-sidebar sidebar-{{ config('boilerplate.theme.sidebar.type') }}-{{ config('boilerplate.theme.sidebar.links.bg') }} elevation-{{ config('boilerplate.theme.sidebar.shadow') }}">
|
||||
<a href="{{ route('boilerplate.dashboard') }}" class="brand-link {{ !empty(config('boilerplate.theme.sidebar.brand.bg')) ? 'bg-'.config('boilerplate.theme.sidebar.brand.bg') : ''}}">
|
||||
<span class="brand-logo bg-{{ config('boilerplate.theme.sidebar.brand.logo.bg') }} elevation-{{ config('boilerplate.theme.sidebar.brand.logo.shadow') }}">
|
||||
{!! config('boilerplate.theme.sidebar.brand.logo.icon') !!}
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
@once
|
||||
@push('css')
|
||||
@push('plugin-css')
|
||||
<link rel="stylesheet" href="{{ mix('/plugins/codemirror/codemirror.min.css', '/assets/vendor/boilerplate') }}">
|
||||
<link rel="stylesheet" href="/assets/vendor/boilerplate/plugins/codemirror/theme/{{ $theme ?? 'storm' }}.css">
|
||||
@endpush
|
||||
@php
|
||||
$default = [
|
||||
@@ -28,13 +29,6 @@
|
||||
<script src="/assets/vendor/boilerplate/plugins/codemirror/{{ $script }}"></script>
|
||||
@endforeach
|
||||
@endif
|
||||
<script>$.fn.codemirror.defaults.theme='{{ $theme ?? 'storm' }}';</script>
|
||||
@endpush
|
||||
@isset($theme)
|
||||
@push('css')
|
||||
<link rel="stylesheet" href="/assets/vendor/boilerplate/plugins/codemirror/theme/{{ $theme }}.css">
|
||||
@endpush
|
||||
@push('js')
|
||||
<script>$.fn.codemirror.defaults.theme='{{ $theme }}';</script>
|
||||
@endpush
|
||||
@endisset
|
||||
@endonce
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
@once
|
||||
@push('css')
|
||||
@push('plugin-css')
|
||||
<link rel="stylesheet" href="{!! mix('/plugins/datatables/datatables.min.css', '/assets/vendor/boilerplate') !!}">
|
||||
@endpush
|
||||
@push('js')
|
||||
|
||||
@@ -1,29 +1,25 @@
|
||||
@once
|
||||
@push('css')
|
||||
<link rel="stylesheet" href="{!! mix('/plugins/datepicker/datepicker.min.css', '/assets/vendor/boilerplate') !!}">
|
||||
@push('plugin-css')
|
||||
<link rel="stylesheet" href="{!! mix('/plugins/datepicker/datetimepicker.min.css', '/assets/vendor/boilerplate') !!}">
|
||||
@endpush
|
||||
@push('js')
|
||||
@include('boilerplate::load.moment')
|
||||
<script src="{!! mix('/plugins/datepicker/datepicker.min.js', '/assets/vendor/boilerplate') !!}"></script>
|
||||
<script src="{!! mix('/plugins/datepicker/datetimepicker.min.js', '/assets/vendor/boilerplate') !!}"></script>
|
||||
<script>
|
||||
$.fn.datetimepicker.Constructor.Default = $.extend({}, $.fn.datetimepicker.Constructor.Default, {
|
||||
locale: "{{ config('boilerplate.app.locale') }}",
|
||||
locale: "{{ App::getLocale() }}",
|
||||
icons: $.extend({}, $.fn.datetimepicker.Constructor.Default.icons, {
|
||||
time: "far fa-clock",
|
||||
date: "far fa-calendar-alt",
|
||||
up: "fa fa-chevron-up",
|
||||
down: "fa fa-chevron-down"
|
||||
time: 'far fa-clock',
|
||||
date: 'far fa-calendar',
|
||||
up: 'fas fa-arrow-up',
|
||||
down: 'fas fa-arrow-down',
|
||||
previous: 'fas fa-chevron-left',
|
||||
next: 'fas fa-chevron-right',
|
||||
today: 'far fa-calendar-check',
|
||||
clear: 'fas fa-trash',
|
||||
close: 'fas fa-times'
|
||||
})
|
||||
});
|
||||
$.fn.daterangepicker.defaultOptions = {
|
||||
locale: {
|
||||
"applyLabel": "@lang('boilerplate::daterangepicker.applyLabel')",
|
||||
"cancelLabel": "@lang('boilerplate::daterangepicker.cancelLabel')",
|
||||
"fromLabel": "@lang('boilerplate::daterangepicker.fromLabel')",
|
||||
"toLabel": "@lang('boilerplate::daterangepicker.toLabel')",
|
||||
"customRangeLabel": "@lang('boilerplate::daterangepicker.customRangeLabel')",
|
||||
}
|
||||
};
|
||||
</script>
|
||||
@endpush
|
||||
@endonce
|
||||
@@ -1,5 +1,5 @@
|
||||
@once
|
||||
@push('css')
|
||||
@push('plugin-css')
|
||||
<link rel="stylesheet" href="{!! mix('/plugins/fileinput/bootstrap-fileinput.min.css', '/assets/vendor/boilerplate') !!}">
|
||||
@endpush
|
||||
@push('js')
|
||||
@@ -7,8 +7,8 @@
|
||||
<script src="/assets/vendor/boilerplate/plugins/fileinput/themes/fas/theme.min.js"></script>
|
||||
<script>$.fn.fileinput.defaults = $.extend({}, $.fn.fileinput.defaults, $.fn.fileinputThemes.fas);</script>
|
||||
@if(App::getLocale() !== 'en')
|
||||
<script src="/assets/vendor/boilerplate/plugins/fileinput/locales/{{ config('boilerplate.app.locale') }}.js"></script>
|
||||
<script>$.fn.fileinput.defaults.language='{{ config('boilerplate.app.locale') }}';</script>
|
||||
<script src="/assets/vendor/boilerplate/plugins/fileinput/locales/{{ App::getLocale() }}.js"></script>
|
||||
<script>$.fn.fileinput.defaults.language='{{ App::getLocale() }}';</script>
|
||||
@endif
|
||||
@endpush
|
||||
@endonce
|
||||
@@ -1,5 +1,5 @@
|
||||
@once
|
||||
@push('css')
|
||||
@push('plugin-css')
|
||||
<link rel="stylesheet" href="{!! mix('/plugins/fullcalendar/main.min.css', '/assets/vendor/boilerplate') !!}">
|
||||
@endpush
|
||||
@push('js')
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
@once
|
||||
<script src="{!! mix('/plugins/moment/moment-with-locales.min.js', '/assets/vendor/boilerplate') !!}"></script>
|
||||
<script>moment.locale('{{ config('boilerplate.app.locale') }}');</script>
|
||||
<script>moment.locale('{{ App::getLocale() }}');</script>
|
||||
@endonce
|
||||
@@ -1,10 +1,10 @@
|
||||
@once
|
||||
@push('css')
|
||||
@push('plugin-css')
|
||||
<link rel="stylesheet" href="{!! mix('/plugins/select2/select2.min.css', '/assets/vendor/boilerplate') !!}">
|
||||
@endpush
|
||||
@push('js')
|
||||
<script src="{!! mix('/plugins/select2/select2.full.min.js', '/assets/vendor/boilerplate') !!}"></script>
|
||||
<script src="{!! mix('/plugins/select2/i18n/'.config('boilerplate.app.locale').'.js', '/assets/vendor/boilerplate') !!}"></script>
|
||||
<script>$.extend(true,$.fn.select2.defaults,{language:'{{ config('boilerplate.app.locale') }}',direction:'@lang('boilerplate::layout.direction')'});</script>
|
||||
<script src="{!! mix('/plugins/select2/i18n/'.App::getLocale().'.js', '/assets/vendor/boilerplate') !!}"></script>
|
||||
<script>$.extend(true,$.fn.select2.defaults,{language:'{{ App::getLocale()}}',direction:'@lang('boilerplate::layout.direction')'});$(document).on('select2:open',(e)=>{let t = $(e.target);if(t && t.length){let id=t[0].id||t[0].name;document.querySelector(`input[aria-controls*='${id}']`).focus();}});</script>
|
||||
@endpush
|
||||
@endonce
|
||||
@@ -3,12 +3,12 @@
|
||||
<script src="{!! mix('/plugins/tinymce/tinymce.min.js', '/assets/vendor/boilerplate') !!}"></script>
|
||||
<script>
|
||||
tinymce.defaultSettings = {
|
||||
plugins: "autoresize fullscreen codemirror link lists table media image imagetools paste customalign stickytoolbar",
|
||||
plugins: "autoresize fullscreen codemirror link lists table media image imagetools paste customalign",
|
||||
toolbar: "undo redo | styleselect | bold italic underline | customalignleft aligncenter customalignright | link media image | bullist numlist | table | code fullscreen",
|
||||
contextmenu: "link image imagetools table spellchecker bold italic underline",
|
||||
sticky_toolbar_container: '.tox-editor-header',
|
||||
toolbar_drawer: "sliding",
|
||||
sticky_offset: $('nav.main-header').outerHeight(),
|
||||
toolbar_sticky: true,
|
||||
toolbar_sticky_offset: $('nav.main-header').outerHeight(),
|
||||
codemirror: { config: { theme: 'storm' } },
|
||||
menubar: false,
|
||||
removed_menuitems: 'newdocument',
|
||||
@@ -27,9 +27,14 @@
|
||||
args.content = args.content.replace(/\s(class|style|type|start)=("(.*?)"|(\w*))/gi, ''); // Unwanted attributes
|
||||
args.content = args.content.replace(/<(p|a|div|span|strike|strong|i|u)[^>]*?>(\s| |<br\/>|\r|\n)*?<\/(p|a|div|span|strike|strong|i|u)>/gi, ''); // Empty tags
|
||||
},
|
||||
skin : "boilerplate",
|
||||
@if(config('boilerplate.app.locale') !== 'en')
|
||||
language: '{{ config('boilerplate.app.locale') }}'
|
||||
@if(setting('darkmode', false) && config('boilerplate.theme.darkmode'))
|
||||
skin : "boilerplate-dark",
|
||||
content_css: 'boilerplate-dark',
|
||||
@else
|
||||
skin : "oxide",
|
||||
@endif
|
||||
@if(App::getLocale() !== 'en')
|
||||
language: '{{ App::getLocale() }}'
|
||||
@endif
|
||||
};
|
||||
</script>
|
||||
|
||||
@@ -38,16 +38,12 @@
|
||||
@foreach($row as $key => $value)
|
||||
<td class="{{ $key == 'date' ? 'text-left' : 'text-center' }}">
|
||||
@if ($key == 'date')
|
||||
<a href="{{ route('boilerplate.logs.show', [$date]) }}">
|
||||
<span class="badge badge-pill badge-info">
|
||||
{{ \Carbon\Carbon::createFromFormat('Y-m-d', $value)->isoFormat(__('boilerplate::date.Ymd')) }}
|
||||
</span>
|
||||
</a>
|
||||
{{ \Carbon\Carbon::createFromFormat('Y-m-d', $value)->isoFormat(__('boilerplate::date.Ymd')) }}
|
||||
@elseif ($value == 0)
|
||||
<span class="badge badge-pill level-empty">{{ $value }}</span>
|
||||
<span class="text-muted">.</span>
|
||||
@else
|
||||
<a href="{{ route('boilerplate.logs.filter', [$date, $key]) }}">
|
||||
<span class="badge badge-pill level-{{ $key }}">{{ $value }}</span>
|
||||
<span class="text-{{ $key }} text-bold">{{ $value }}</span>
|
||||
</a>
|
||||
@endif
|
||||
</td>
|
||||
|
||||
@@ -13,7 +13,7 @@
|
||||
|
||||
@section('content')
|
||||
<div class="row">
|
||||
<div class="col-12 py-2 sticky-toolbar">
|
||||
<div class="col-12 pb-3">
|
||||
<a href="{{ route('boilerplate.logs.list') }}" class="btn btn-default">
|
||||
<span class="far fa-arrow-alt-circle-left text-muted"></span>
|
||||
</a>
|
||||
@@ -28,127 +28,79 @@
|
||||
</span>
|
||||
</span>
|
||||
</div>
|
||||
<div class="col-12">
|
||||
<div class="col-3">
|
||||
@component('boilerplate::card', ['title' => __('boilerplate::logs.show.levels'), 'color' => 'info'])
|
||||
@include('boilerplate::logs._partials.levels')
|
||||
@endcomponent
|
||||
@component('boilerplate::card', ['title' => __('boilerplate::logs.show.loginfo'), 'color' => 'warning'])
|
||||
@include('boilerplate::logs._partials.informations')
|
||||
@endcomponent
|
||||
</div>
|
||||
<div class="col-9">
|
||||
@component('boilerplate::card', ['title' => ucfirst(__('boilerplate::logs.show.file', ['date' => $date]))])
|
||||
<div class="row">
|
||||
<div class="col-md-2">
|
||||
@include('boilerplate::logs._partials.menu')
|
||||
</div>
|
||||
<div class="col-md-10">
|
||||
<div class="card no-shadow">
|
||||
<div class="card-header bg-gray font-weight-bold py-1">
|
||||
{{ __('boilerplate::logs.show.loginfo') }}
|
||||
</div>
|
||||
<div class="card-body py-1 px-0">
|
||||
<div class="table-responsive">
|
||||
<table class="table no-border table-sm mb-0">
|
||||
<tbody>
|
||||
<tr class="border-bottom">
|
||||
<td class="pl-2">{{ __('boilerplate::logs.show.filepath') }}</td>
|
||||
<td colspan="7">{{ $log->getPath() }}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="pl-2">{{ __('boilerplate::logs.show.logentries') }}</td>
|
||||
<td>
|
||||
<span class="badge badge-pill badge-secondary">{{ $entries->total() }}</span>
|
||||
</td>
|
||||
<td>{{ __('boilerplate::logs.show.size') }}</td>
|
||||
<td>
|
||||
<span class="badge badge-pill badge-secondary">{{ $log->size() }}</span>
|
||||
</td>
|
||||
<td>{{ __('boilerplate::logs.show.createdat') }}</td>
|
||||
<td>
|
||||
<span class="badge badge-pill badge-secondary">
|
||||
{{ $log->createdAt()->isoFormat(__('boilerplate::date.YmdHis')) }}
|
||||
</span>
|
||||
</td>
|
||||
<td>{{ __('boilerplate::logs.show.updatedat') }}</td>
|
||||
<td>
|
||||
<span class="badge badge-pill badge-secondary">
|
||||
{{ $log->updatedAt()->isoFormat(__('boilerplate::date.YmdHis')) }}
|
||||
</span>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@if ($entries->hasPages())
|
||||
<div class="d-flex justify-content-between text-sm align-items-center mb-3">
|
||||
<span class="text-sm text-muted ">
|
||||
{{ __('boilerplate::logs.show.page', ['current' => $entries->currentPage(), 'last' => $entries->lastPage()]) }}
|
||||
<div class="table-responsive">
|
||||
<table id="entries" class="table table-sm">
|
||||
<thead>
|
||||
<tr class="text-center">
|
||||
<th>{{ __('boilerplate::logs.show.env') }}</th>
|
||||
<th style="width: 120px;">{{ __('boilerplate::logs.show.level') }}</th>
|
||||
<th style="width: 65px;">{{ __('boilerplate::logs.show.time') }}</th>
|
||||
<th>{{ __('boilerplate::logs.show.header') }}</th>
|
||||
<th></th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
@foreach($entries as $key => $entry)
|
||||
<tr class="{{ $key %2 ? 'even' : 'odd' }}">
|
||||
<td class="px-2">
|
||||
<span class="badge badge-pill bg-purple">
|
||||
{{ $entry->env }}
|
||||
</span>
|
||||
{!! $entries->render() !!}
|
||||
</div>
|
||||
@endif
|
||||
|
||||
<div class="table-responsive">
|
||||
<table id="entries" class="table table-hover table-sm border-left border-right">
|
||||
<thead class="bg-gray">
|
||||
<tr class="text-center">
|
||||
<th>{{ __('boilerplate::logs.show.env') }}</th>
|
||||
<th style="width: 120px;">{{ __('boilerplate::logs.show.level') }}</th>
|
||||
<th style="width: 65px;">{{ __('boilerplate::logs.show.time') }}</th>
|
||||
<th>{{ __('boilerplate::logs.show.header') }}</th>
|
||||
<th></th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
@foreach($entries as $key => $entry)
|
||||
<tr class="{{ $key %2 ? 'even' : 'odd' }}">
|
||||
<td class="px-2">
|
||||
<span class="badge badge-pill bg-purple">
|
||||
{{ $entry->env }}
|
||||
</span>
|
||||
</td>
|
||||
<td class="px-2">
|
||||
<span class="badge badge-pill level-{{ $entry->level }}">
|
||||
{!! $entry->level() !!}
|
||||
</span>
|
||||
</td>
|
||||
<td class="px-2">
|
||||
<span class="badge badge-pill bg-secondary">
|
||||
{{ $entry->datetime->format('H:i:s') }}
|
||||
</span>
|
||||
</td>
|
||||
<td class="text-sm">
|
||||
{{ $entry->header }}
|
||||
</td>
|
||||
<td class="text-right px-2">
|
||||
@if ($entry->hasStack())
|
||||
<a class="btn btn-xs btn-default" role="button" data-toggle="collapse" href="#log-stack-{{ $key }}" aria-expanded="false" aria-controls="log-stack-{{ $key }}">
|
||||
Stack
|
||||
</a>
|
||||
@endif
|
||||
</td>
|
||||
</tr>
|
||||
@if ($entry->hasStack())
|
||||
<tr>
|
||||
<td colspan="5" class="stack">
|
||||
<div class="stack-content collapse" id="log-stack-{{ $key }}">
|
||||
{!! preg_replace('`#([0-9]*)\s`', "<br /><strong>#$1</strong> ", $entry->stack()) !!}
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
@endif
|
||||
@endforeach
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
|
||||
@if ($entries->hasPages())
|
||||
<div class="panel-footer d-flex justify-content-between align-items-center text-sm">
|
||||
<span class="pull-right small text-muted mtm">
|
||||
{{ __('boilerplate::logs.show.page', ['current' => $entries->currentPage(), 'last' => $entries->lastPage()]) }}
|
||||
</td>
|
||||
<td class="px-2">
|
||||
<span class="badge badge-pill level-{{ $entry->level }}">
|
||||
{!! $entry->level() !!}
|
||||
</span>
|
||||
{!! $entries->render() !!}
|
||||
</div>
|
||||
</td>
|
||||
<td class="px-2">
|
||||
<span class="badge badge-pill bg-secondary">
|
||||
{{ $entry->datetime->format('H:i:s') }}
|
||||
</span>
|
||||
</td>
|
||||
<td class="text-sm">
|
||||
{{ $entry->header }}
|
||||
</td>
|
||||
<td class="text-right px-2">
|
||||
@if ($entry->hasStack())
|
||||
<a class="btn btn-xs btn-default" role="button" data-toggle="collapse" href="#log-stack-{{ $key }}" aria-expanded="false" aria-controls="log-stack-{{ $key }}">
|
||||
Stack
|
||||
</a>
|
||||
@endif
|
||||
</td>
|
||||
</tr>
|
||||
@if ($entry->hasStack())
|
||||
<tr class="log-stack {{ $key %2 ? 'even' : 'odd' }}">
|
||||
<td colspan="5" class="stack">
|
||||
<div class="stack-content collapse" id="log-stack-{{ $key }}">
|
||||
{!! preg_replace('`#([0-9]*)\s`', "<br /><strong>#$1</strong> ", $entry->stack()) !!}
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
@endif
|
||||
</div>
|
||||
@endforeach
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
|
||||
@if ($entries->hasPages())
|
||||
<div class="panel-footer d-flex justify-content-between align-items-center text-sm">
|
||||
<span class="pull-right small text-muted mtm">
|
||||
{{ __('boilerplate::logs.show.page', ['current' => $entries->currentPage(), 'last' => $entries->lastPage()]) }}
|
||||
</span>
|
||||
{!! $entries->render() !!}
|
||||
</div>
|
||||
@endif
|
||||
|
||||
@slot('footer')
|
||||
<div class="text-muted text-right small">
|
||||
{!! __('boilerplate::logs.vendor') !!}
|
||||
|
||||
@@ -1,182 +1,3 @@
|
||||
@push('css')
|
||||
<style>
|
||||
.table>tbody>tr.even>td {
|
||||
background: #F7F7F7;
|
||||
}
|
||||
|
||||
.table>tbody>tr.even>td:hover {
|
||||
background: #F0F0F0;
|
||||
}
|
||||
|
||||
.table>tbody>tr>td.stack {
|
||||
padding: 0;
|
||||
}
|
||||
|
||||
.stack-content {
|
||||
padding: 0 20px 10px;
|
||||
background-color: #FFF;
|
||||
color: #666;
|
||||
font-family: consolas,sans-serif;
|
||||
font-size: 11px;
|
||||
}
|
||||
|
||||
.info-box.level {
|
||||
display: block;
|
||||
padding: 0;
|
||||
margin-bottom: 15px;
|
||||
min-height: 70px;
|
||||
background: #fff;
|
||||
width: 100%;
|
||||
box-shadow: 0 1px 1px rgba(0,0,0,0.1);
|
||||
border-radius: 2px;
|
||||
}
|
||||
|
||||
.info-box.level .info-box-text,
|
||||
.info-box.level .info-box-number,
|
||||
.info-box.level .info-box-icon > i {
|
||||
text-shadow: 0 1px 1px rgba(0, 0, 0, 0.3);
|
||||
}
|
||||
|
||||
.info-box.level .info-box-text {
|
||||
display: block;
|
||||
font-size: 14px;
|
||||
white-space: nowrap;
|
||||
overflow: hidden;
|
||||
text-overflow: ellipsis;
|
||||
}
|
||||
|
||||
.info-box.level .info-box-content {
|
||||
padding: 5px 10px;
|
||||
margin-left: 70px;
|
||||
}
|
||||
|
||||
.info-box.level .info-box-number {
|
||||
display: block;
|
||||
font-weight: bold;
|
||||
font-size: 18px;
|
||||
}
|
||||
|
||||
.info-box.level .info-box-icon {
|
||||
border-radius: 2px 0 0 2px;
|
||||
display: block;
|
||||
float: left;
|
||||
height: 70px; width: 70px;
|
||||
text-align: center;
|
||||
font-size: 40px;
|
||||
line-height: 70px;
|
||||
background: rgba(0,0,0,0.2);
|
||||
}
|
||||
|
||||
.info-box.level .progress {
|
||||
background: rgba(0,0,0,0.2);
|
||||
margin: 5px -10px 5px -10px;
|
||||
height: 2px;
|
||||
}
|
||||
|
||||
.info-box.level .progress .progress-bar {
|
||||
background: #fff;
|
||||
}
|
||||
|
||||
.info-box.level-empty {
|
||||
opacity: .6;
|
||||
-webkit-filter: grayscale(1);
|
||||
-moz-filter: grayscale(1);
|
||||
-ms-filter: grayscale(1);
|
||||
filter: grayscale(1);
|
||||
-webkit-transition: all 0.2s ease-in-out;
|
||||
-moz-transition: all 0.2s ease-in-out;
|
||||
-o-transition: all 0.2s ease-in-out;
|
||||
transition: all 0.2s ease-in-out;
|
||||
-webkit-transition-property: -webkit-filter, opacity;
|
||||
-moz-transition-property: -moz-filter, opacity;
|
||||
-o-transition-property: filter, opacity;
|
||||
transition-property: -webkit-filter, -moz-filter, -o-filter, filter, opacity;
|
||||
}
|
||||
|
||||
.info-box.level-empty:hover {
|
||||
opacity: 1;
|
||||
-webkit-filter: grayscale(0);
|
||||
-moz-filter: grayscale(0);
|
||||
-ms-filter: grayscale(0);
|
||||
filter: grayscale(0);
|
||||
}
|
||||
|
||||
.level {
|
||||
padding: 2px 6px;
|
||||
text-shadow: 0 1px 1px rgba(0, 0, 0, 0.3);
|
||||
border-radius: 2px;
|
||||
font-size: .9em;
|
||||
font-weight: 600;
|
||||
}
|
||||
|
||||
.badge.level-all,
|
||||
.badge.level-emergency,
|
||||
.badge.level-alert,
|
||||
.badge.level-critical,
|
||||
.badge.level-error,
|
||||
.badge.level-warning,
|
||||
.badge.level-notice,
|
||||
.badge.level-info,
|
||||
.badge.level-debug,
|
||||
.level, .level i,
|
||||
.info-box.level-all,
|
||||
.info-box.level-emergency,
|
||||
.info-box.level-alert,
|
||||
.info-box.level-critical,
|
||||
.info-box.level-error,
|
||||
.info-box.level-warning,
|
||||
.info-box.level-notice,
|
||||
.info-box.level-info,
|
||||
.info-box.level-debug {
|
||||
color: #FFF;
|
||||
}
|
||||
|
||||
.label-env {
|
||||
font-size: .85em;
|
||||
}
|
||||
|
||||
.badge.level-all, .level.level-all, .info-box.level-all {
|
||||
background-color: #8A8A8A;
|
||||
}
|
||||
|
||||
.badge.level-emergency, .level.level-emergency, .info-box.level-emergency {
|
||||
background-color: #B71C1C;
|
||||
}
|
||||
|
||||
.badge.level-alert, .level.level-alert, .info-box.level-alert {
|
||||
background-color: #D32F2F;
|
||||
}
|
||||
|
||||
.badge.level-critical, .level.level-critical, .info-box.level-critical {
|
||||
background-color: #F44336;
|
||||
}
|
||||
|
||||
.badge.level-error, .level.level-error, .info-box.level-error {
|
||||
background-color: #FF5722;
|
||||
}
|
||||
|
||||
.badge.level-warning, .level.level-warning, .info-box.level-warning {
|
||||
background-color: #FF9100;
|
||||
}
|
||||
|
||||
.badge.level-notice, .level.level-notice, .info-box.level-notice {
|
||||
background-color: #4CAF50;
|
||||
}
|
||||
|
||||
.badge.level-info, .level.level-info, .info-box.level-info {
|
||||
background-color: #1976D2;
|
||||
}
|
||||
|
||||
.badge.level-debug, .level.level-debug, .info-box.level-debug {
|
||||
background-color: #90CAF9;
|
||||
}
|
||||
|
||||
.badge.level-empty, .level.level-empty {
|
||||
background-color: #D1D1D1;
|
||||
}
|
||||
|
||||
.badge.label-env, .label.label-env {
|
||||
background-color: #6A1B9A;
|
||||
}
|
||||
</style>
|
||||
<link rel="stylesheet" href="{{ mix('logviewer.min.css', 'assets/vendor/boilerplate') }}">
|
||||
@endpush
|
||||
@@ -1,8 +1,9 @@
|
||||
<div class="row">
|
||||
<div class="col-md-6">
|
||||
@include('boilerplate::plugins.demo.select2')
|
||||
@include('boilerplate::plugins.demo.datepicker')
|
||||
@include('boilerplate::plugins.demo.datetimepicker')
|
||||
@include('boilerplate::plugins.demo.icheck')
|
||||
@include('boilerplate::plugins.demo.daterangepicker')
|
||||
@include('boilerplate::plugins.demo.codemirror')
|
||||
@include('boilerplate::plugins.demo.fileinput')
|
||||
@include('boilerplate::plugins.demo.tabs')
|
||||
|
||||
@@ -1,24 +1,7 @@
|
||||
@include('boilerplate::load.codemirror', ['theme' => 'storm'])
|
||||
|
||||
@push('js')
|
||||
<script>
|
||||
$(function () {
|
||||
$('#code').codemirror();
|
||||
})
|
||||
</script>
|
||||
@endpush
|
||||
|
||||
@component('boilerplate::card', ['color' => 'warning', 'title' => 'CodeMirror'])
|
||||
Usage :
|
||||
<pre>
|
||||
@include('boilerplate::load.codemirror', ['theme' => 'storm'])
|
||||
@push('js')
|
||||
<script>
|
||||
var myCode = $('#code').codemirror();
|
||||
// To get the value : myCode.getValue();
|
||||
</script>
|
||||
@endpush</pre>
|
||||
<textarea id="code"><h1>CodeMirror demo</h1>
|
||||
<pre><x-boilerplate::codemirror name="code"><php echo "My code"; ?></x-boilerplate::codemirror></pre>
|
||||
<x-boilerplate::codemirror name="code"><h1>CodeMirror demo</h1>
|
||||
<style>
|
||||
.color {
|
||||
color: red;
|
||||
@@ -29,10 +12,11 @@
|
||||
alert('demo');
|
||||
});
|
||||
</script>
|
||||
</textarea>
|
||||
|
||||
</x-boilerplate::codemirror>
|
||||
@slot('footer')
|
||||
<div class="small text-muted text-right">
|
||||
<a href="https://sebastienheyd.github.io/boilerplate/components/codemirror" target="_blank">component</a> /
|
||||
<a href="https://sebastienheyd.github.io/boilerplate/plugins/codemirror" target="_blank">plugin</a> /
|
||||
<a href="https://codemirror.net/" target="_blank">CodeMirror</a>
|
||||
</div>
|
||||
@endslot
|
||||
|
||||
@@ -58,6 +58,7 @@
|
||||
|
||||
@slot('footer')
|
||||
<div class="small text-muted text-right">
|
||||
<a href="https://sebastienheyd.github.io/boilerplate/plugins/datatables" target="_blank">plugin</a> /
|
||||
<a href="https://datatables.net/manual/index">datatables</a>
|
||||
</div>
|
||||
@endslot
|
||||
|
||||
@@ -2,143 +2,50 @@
|
||||
<div class="row mb-3">
|
||||
<div class="col-12">
|
||||
Usage :
|
||||
<pre>
|
||||
<div class="icheck-primary d-inline">
|
||||
<input type="checkbox" id="checkboxPrimary1">
|
||||
<label for="checkboxPrimary1"></label>
|
||||
</div></pre>
|
||||
<pre><x-boilerplate::icheck name="checkbox" label="My checkbox" /></pre>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col-sm-6">
|
||||
<div class="form-group clearfix">
|
||||
<div class="icheck-primary d-inline">
|
||||
<input type="checkbox" id="checkboxPrimary1" checked>
|
||||
<label for="checkboxPrimary1">
|
||||
</label>
|
||||
</div>
|
||||
<div class="icheck-primary d-inline">
|
||||
<input type="checkbox" id="checkboxPrimary2">
|
||||
<label for="checkboxPrimary2">
|
||||
</label>
|
||||
</div>
|
||||
<div class="icheck-primary d-inline">
|
||||
<input type="checkbox" id="checkboxPrimary3" disabled>
|
||||
<label for="checkboxPrimary3">
|
||||
Primary checkbox
|
||||
</label>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-sm-6 d-flex">
|
||||
<x-boilerplate::icheck name="c1" label="" class="mb-0" checked />
|
||||
<x-boilerplate::icheck name="c1" label="" class="mb-0" />
|
||||
<x-boilerplate::icheck name="c1" label="Primary checkbox" class="mb-0" disabled />
|
||||
</div>
|
||||
<div class="col-sm-6">
|
||||
<div class="form-group clearfix">
|
||||
<div class="icheck-primary d-inline">
|
||||
<input type="radio" id="radioPrimary1" name="r1" checked>
|
||||
<label for="radioPrimary1">
|
||||
</label>
|
||||
</div>
|
||||
<div class="icheck-primary d-inline">
|
||||
<input type="radio" id="radioPrimary2" name="r1">
|
||||
<label for="radioPrimary2">
|
||||
</label>
|
||||
</div>
|
||||
<div class="icheck-primary d-inline">
|
||||
<input type="radio" id="radioPrimary3" name="r1" disabled>
|
||||
<label for="radioPrimary3">
|
||||
Primary radio
|
||||
</label>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-sm-6 d-flex">
|
||||
<x-boilerplate::icheck name="r1" type="radio" label="" class="mb-0" checked />
|
||||
<x-boilerplate::icheck name="r1" type="radio" label="" class="mb-0" />
|
||||
<x-boilerplate::icheck name="r1" type="radio" label="Primary radio" class="mb-0" disabled />
|
||||
</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col-sm-6">
|
||||
<div class="form-group clearfix">
|
||||
<div class="icheck-danger d-inline">
|
||||
<input type="checkbox" checked id="checkboxDanger1">
|
||||
<label for="checkboxDanger1">
|
||||
</label>
|
||||
</div>
|
||||
<div class="icheck-danger d-inline">
|
||||
<input type="checkbox" id="checkboxDanger2">
|
||||
<label for="checkboxDanger2">
|
||||
</label>
|
||||
</div>
|
||||
<div class="icheck-danger d-inline">
|
||||
<input type="checkbox" disabled id="checkboxDanger3">
|
||||
<label for="checkboxDanger3">
|
||||
Danger checkbox
|
||||
</label>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-sm-6 d-flex">
|
||||
<x-boilerplate::icheck color="danger" name="c2" label="" class="mb-0" checked />
|
||||
<x-boilerplate::icheck color="danger" name="c2" label="" class="mb-0" />
|
||||
<x-boilerplate::icheck color="danger" name="c2" label="Danger checkbox" class="mb-0" disabled />
|
||||
</div>
|
||||
<div class="col-sm-6">
|
||||
<div class="form-group clearfix">
|
||||
<div class="icheck-danger d-inline">
|
||||
<input type="radio" name="r2" checked id="radioDanger1">
|
||||
<label for="radioDanger1">
|
||||
</label>
|
||||
</div>
|
||||
<div class="icheck-danger d-inline">
|
||||
<input type="radio" name="r2" id="radioDanger2">
|
||||
<label for="radioDanger2">
|
||||
</label>
|
||||
</div>
|
||||
<div class="icheck-danger d-inline">
|
||||
<input type="radio" name="r2" disabled id="radioDanger3">
|
||||
<label for="radioDanger3">
|
||||
Danger radio
|
||||
</label>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-sm-6 d-flex">
|
||||
<x-boilerplate::icheck color="danger" name="r2" type="radio" label="" class="mb-0" checked />
|
||||
<x-boilerplate::icheck color="danger" name="r2" type="radio" label="" class="mb-0" />
|
||||
<x-boilerplate::icheck color="danger" name="r2" type="radio" label="Danger radio" class="mb-0" disabled />
|
||||
</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col-sm-6">
|
||||
<div class="form-group clearfix">
|
||||
<div class="icheck-success d-inline">
|
||||
<input type="checkbox" checked id="checkboxSuccess1">
|
||||
<label for="checkboxSuccess1">
|
||||
</label>
|
||||
</div>
|
||||
<div class="icheck-success d-inline">
|
||||
<input type="checkbox" id="checkboxSuccess2">
|
||||
<label for="checkboxSuccess2">
|
||||
</label>
|
||||
</div>
|
||||
<div class="icheck-success d-inline">
|
||||
<input type="checkbox" disabled id="checkboxSuccess3">
|
||||
<label for="checkboxSuccess3">
|
||||
Success checkbox
|
||||
</label>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-sm-6 d-flex">
|
||||
<x-boilerplate::icheck color="success" name="c3" label="" class="mb-0" checked />
|
||||
<x-boilerplate::icheck color="success" name="c3" label="" class="mb-0" />
|
||||
<x-boilerplate::icheck color="success" name="c3" label="Danger checkbox" class="mb-0" disabled />
|
||||
</div>
|
||||
<div class="col-sm-6">
|
||||
<div class="form-group clearfix">
|
||||
<div class="icheck-success d-inline">
|
||||
<input type="radio" name="r3" checked id="radioSuccess1">
|
||||
<label for="radioSuccess1">
|
||||
</label>
|
||||
</div>
|
||||
<div class="icheck-success d-inline">
|
||||
<input type="radio" name="r3" id="radioSuccess2">
|
||||
<label for="radioSuccess2">
|
||||
</label>
|
||||
</div>
|
||||
<div class="icheck-success d-inline">
|
||||
<input type="radio" name="r3" disabled id="radioSuccess3">
|
||||
<label for="radioSuccess3">
|
||||
Success radio
|
||||
</label>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-sm-6 d-flex">
|
||||
<x-boilerplate::icheck color="success" name="r3" type="radio" label="" class="mb-0" checked />
|
||||
<x-boilerplate::icheck color="success" name="r3" type="radio" label="" class="mb-0" />
|
||||
<x-boilerplate::icheck color="success" name="r3" type="radio" label="Danger radio" class="mb-0" disabled />
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@slot('footer')
|
||||
<div class="text-right small text-muted">
|
||||
<a href="https://bantikyan.github.io/icheck-bootstrap/">iCheck Bootstrap</a>
|
||||
<a href="https://sebastienheyd.github.io/boilerplate/components/icheck" target="_blank">component</a> /
|
||||
<a href="https://bantikyan.github.io/icheck-bootstrap/" target="_blank">iCheck</a>
|
||||
</div>
|
||||
@endslot
|
||||
@endcomponent
|
||||
@@ -1,81 +1,22 @@
|
||||
@include('boilerplate::load.select2')
|
||||
|
||||
@push('js')
|
||||
<script>
|
||||
$(function() {
|
||||
$(".select2").select2();
|
||||
});
|
||||
</script>
|
||||
@endpush
|
||||
|
||||
@component('boilerplate::card', ['color' => 'primary', 'title' => 'Select 2'])
|
||||
@php($options = ['Alabama', 'Alaska', 'Arizona', 'California', 'Delaware', 'Florida', 'Iowa', 'Oregon', 'Minnesota', 'Tennessee', 'Texas'])
|
||||
@component('boilerplate::card', ['color' => 'primary', 'title' => 'Select2'])
|
||||
<div class="row">
|
||||
<div class="col-12">
|
||||
Usage :
|
||||
<pre>
|
||||
@include('boilerplate::load.select2')
|
||||
@push('js')
|
||||
<script>
|
||||
$('.select2').select2();
|
||||
</script>
|
||||
@endpush</pre>
|
||||
<pre><x-boilerplate::select2 name="example" label="Example" :options="['Opt 1', 'Opt 2']" /></pre>
|
||||
</div>
|
||||
<div class="col-md-6">
|
||||
<div class="form-group">
|
||||
<label>Minimal</label>
|
||||
<select class="form-control select2" style="width: 100%;">
|
||||
<option selected="selected">Alabama</option>
|
||||
<option>Alaska</option>
|
||||
<option>California</option>
|
||||
<option>Delaware</option>
|
||||
<option>Tennessee</option>
|
||||
<option>Texas</option>
|
||||
<option>Washington</option>
|
||||
</select>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label>Disabled</label>
|
||||
<select class="form-control select2" disabled="disabled" style="width: 100%;">
|
||||
<option selected="selected">Alabama</option>
|
||||
<option>Alaska</option>
|
||||
<option>California</option>
|
||||
<option>Delaware</option>
|
||||
<option>Tennessee</option>
|
||||
<option>Texas</option>
|
||||
<option>Washington</option>
|
||||
</select>
|
||||
</div>
|
||||
@component('boilerplate::components.select2', ['label' => 'Minimal', 'name' => 'select2_dminimal', 'selected' => 1, 'options' => $options, 'allow-clear' => 'true', 'minimum-results-for-search' => 5])@endcomponent
|
||||
</div>
|
||||
<div class="col-md-6">
|
||||
<div class="form-group">
|
||||
<label>Multiple</label>
|
||||
<select class="form-control select2" multiple="multiple" data-placeholder="Multiple select" style="width: 100%;">
|
||||
<option>Alabama</option>
|
||||
<option>Alaska</option>
|
||||
<option>California</option>
|
||||
<option selected>Delaware</option>
|
||||
<option>Tennessee</option>
|
||||
<option selected>Texas</option>
|
||||
<option>Washington</option>
|
||||
</select>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label>Disabled Result</label>
|
||||
<select class="form-control select2" style="width: 100%;">
|
||||
<option selected="selected">Alabama</option>
|
||||
<option>Alaska</option>
|
||||
<option disabled="disabled">California (disabled)</option>
|
||||
<option>Delaware</option>
|
||||
<option>Tennessee</option>
|
||||
<option>Texas</option>
|
||||
<option>Washington</option>
|
||||
</select>
|
||||
</div>
|
||||
@component('boilerplate::components.select2', ['label' => 'Multiple', 'name' => 'select2_multiple', 'selected' => [1,3], 'options' => $options, 'multiple' => true])@endcomponent
|
||||
</div>
|
||||
</div>
|
||||
@slot('footer')
|
||||
<div class="small text-muted text-right">
|
||||
<a href="https://select2.github.io/">select2</a>
|
||||
<div class="text-right small text-muted">
|
||||
<a href="https://sebastienheyd.github.io/boilerplate/components/select2" target="_blank">component</a> /
|
||||
<a href="https://sebastienheyd.github.io/boilerplate/plugins/select2" target="_blank">plugin</a> /
|
||||
<a href="https://select2.github.io/" target="_blank">select2</a>
|
||||
</div>
|
||||
@endslot
|
||||
@endcomponent
|
||||
|
||||
@@ -1,16 +1,16 @@
|
||||
@component('boilerplate::card', ['color' => 'info', 'title' => 'TinyMCE'])
|
||||
Usage :
|
||||
<pre>
|
||||
@include('boilerplate::load.tinymce')
|
||||
@push('js')
|
||||
<script>
|
||||
$('#tiny').tinymce({});
|
||||
</script>
|
||||
@endpush</pre>
|
||||
@component('boilerplate::tinymce') @endcomponent
|
||||
Usage :
|
||||
<pre><x-boilerplate::tinymce name="tinymce">
|
||||
<h2>TinyMCE demo</h2><p>Lorem ipsum dolor sit amet.</p>
|
||||
</x-boilerplate::tinymce></pre>
|
||||
@component('boilerplate::tinymce', ['name' => 'tinymce'])
|
||||
<h2>TinyMCE demo</h2><p>Lorem ipsum dolor sit amet.</p>
|
||||
@endcomponent()
|
||||
@slot('footer')
|
||||
<div class="text-muted small text-right">
|
||||
<a href="https://www.tiny.cloud/docs/" target="_blank">tinyMCE</a>
|
||||
<div class="text-right small text-muted">
|
||||
<a href="https://sebastienheyd.github.io/boilerplate/components/tinymce" target="_blank">component</a> /
|
||||
<a href="https://sebastienheyd.github.io/boilerplate/plugins/tinymce" target="_blank">plugin</a> /
|
||||
<a href="https://www.tiny.cloud/docs/" target="_blank">TinyMCE</a>
|
||||
</div>
|
||||
@endslot
|
||||
@endcomponent
|
||||
|
||||
@@ -21,16 +21,47 @@
|
||||
</span>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="row">
|
||||
<div class="col-md-6">
|
||||
@component('boilerplate::card', ['color' => 'orange'])
|
||||
<div class="d-flex flex-column flex-md-row">
|
||||
<div id="avatar-wrapper">
|
||||
<img src="{{ $user->avatar_url }}" class="avatar-img" alt="avatar" />
|
||||
</div>
|
||||
<div class="mt-3 mt-md-0 pl-md-3">
|
||||
<span class="info-box-text">
|
||||
<p class="mb-0"><strong class="h3">{{ $user->name }}</strong></p>
|
||||
<p class="">{{ $user->getRolesList() }}</p>
|
||||
</span>
|
||||
<span class="info-box-more">
|
||||
<p>
|
||||
<a href="mailto:{{ $user->email }}" class="btn btn-default">
|
||||
<span class="far fa-fw fa-envelope"></span> {{ $user->email }}
|
||||
</a>
|
||||
</p>
|
||||
<p class="mb-0 text-muted">
|
||||
{{ __('boilerplate::users.profile.subscribedsince', [
|
||||
'date' => $user->created_at->isoFormat(__('boilerplate::date.lFdY')),
|
||||
'since' => $user->created_at->diffForHumans()]) }}
|
||||
</p>
|
||||
</span>
|
||||
</div>
|
||||
</div>
|
||||
@endcomponent
|
||||
@component('boilerplate::card', ['title' => __('boilerplate::users.informations')])
|
||||
@if(Auth::user()->id !== $user->id)
|
||||
@component('boilerplate::select2', ['name' => 'active', 'label' => 'boilerplate::users.status', 'minimum-results-for-search' => '-1'])
|
||||
<option value="1" @if (old('active', $user->active) == '1') selected="selected" @endif>@lang('boilerplate::users.active')</option>
|
||||
<option value="0" @if (old('active', $user->active) == '0') selected="selected" @endif>@lang('boilerplate::users.inactive')</option>
|
||||
@endcomponent
|
||||
@endif
|
||||
<div class="row">
|
||||
<div class="col-md-6">
|
||||
@if(Auth::user()->id !== $user->id)
|
||||
@component('boilerplate::select2', ['name' => 'active', 'label' => 'boilerplate::users.status', 'minimum-results-for-search' => '-1'])
|
||||
<option value="1" @if (old('active', $user->active) == '1') selected="selected" @endif>@lang('boilerplate::users.active')</option>
|
||||
<option value="0" @if (old('active', $user->active) == '0') selected="selected" @endif>@lang('boilerplate::users.inactive')</option>
|
||||
@endcomponent
|
||||
@endif
|
||||
</div>
|
||||
<div class="col-md-6">
|
||||
@component('boilerplate::input', ['name' => 'email', 'label' => 'boilerplate::users.email', 'value' => $user->email])@endcomponent
|
||||
</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col-md-6">
|
||||
@component('boilerplate::input', ['name' => 'first_name', 'label' => 'boilerplate::users.firstname', 'value' => $user->first_name])@endcomponent
|
||||
@@ -39,7 +70,7 @@
|
||||
@component('boilerplate::input', ['name' => 'last_name', 'label' => 'boilerplate::users.lastname', 'value' => $user->last_name])@endcomponent
|
||||
</div>
|
||||
</div>
|
||||
@component('boilerplate::input', ['name' => 'email', 'label' => 'boilerplate::users.email', 'value' => $user->email])@endcomponent
|
||||
|
||||
@endcomponent
|
||||
</div>
|
||||
<div class="col-md-6">
|
||||
|
||||
@@ -154,3 +154,7 @@
|
||||
});
|
||||
</script>
|
||||
@endpush
|
||||
|
||||
@push('css')
|
||||
<style>.img-circle { border:1px solid #CCC }</style>
|
||||
@endpush
|
||||
|
||||
Reference in New Issue
Block a user