work on ui part

This commit is contained in:
Deepak Singh Gusain 2021-12-31 18:27:34 +05:30
parent de746ed6b8
commit 7f3b71c0c0
36 changed files with 2506 additions and 2266 deletions

View File

@ -23,6 +23,7 @@
"dependencies": {
"laravel-echo": "^1.11.3",
"laravel-vue-pagination": "^2.3.1",
"moment": "^2.29.1",
"pusher-js": "^7.0.3",
"vee-validate": "^2.2.15"
}

View File

@ -5,7 +5,8 @@ import Vue from 'vue';
import VeeValidate from 'vee-validate';
import './bootstrap';
import Echo from 'laravel-echo';
import pagination from 'laravel-vue-pagination'
import pagination from 'laravel-vue-pagination';
import moment from 'moment';
/**
* Lang imports.
@ -45,6 +46,7 @@ window.eventBus = new Vue();
window.VeeValidate = VeeValidate;
window.Pusher = require('pusher-js');
window.Echo = Echo;
Vue.prototype.moment = moment;
/**
* Global components.

View File

@ -147,6 +147,7 @@ export default {
});
Echo.channel('notification').listen('.update-notification', (e) => {
console.log(e);
this.notifications.forEach((notification)=>{
if(notification.order_id == e.id){
notification.order.status = e.status;

View File

@ -261,7 +261,7 @@
}
tbody td {
color: rgba(255, 255, 255, 0.8);
border-bottom: 1px solid $seprator;
}
}
}
@ -316,10 +316,10 @@
}
ul{
li{
a:link{
a{
color: rgba(255,255,255,.8);
&:hover{
color: #0041FF;
color: #fff;
}
}
@ -461,6 +461,7 @@
}
.sale-container {
.sale{
.sale-section {
.secton-title {
color: rgba(255,255,255,.8);
@ -477,6 +478,7 @@
}
}
}
}
.summary-comment-container {
.comment-container {

View File

@ -760,7 +760,7 @@ body {
margin-bottom: 0;
margin-left: 0px;
padding: 0px;
margin-top: 35px;
margin-top: 16px;
}
.page-title {
@ -813,3 +813,63 @@ body {
width: 100%;
}
}
@media only screen and (max-width: 411px){
.content-container {
.content {
.page-header {
.control-group {
width: 385px;
display: block;
margin-bottom: 0;
margin-left: 0px;
padding: 0px;
margin-top: 16px;
}
}
}
}
}
@media only screen and (max-width: 385px){
.content-container {
.content {
.page-header {
.control-group {
width: 350px;
display: block;
margin-bottom: 0;
margin-left: 0px;
padding: 0px;
margin-top: 16px;
}
}
}
}
}
@media only screen and (max-width: 320px){
.content-container {
.content {
.page-header {
.control-group {
width: 295px;
display: block;
margin-bottom: 0;
margin-left: 0px;
padding: 0px;
margin-top: 16px;
}
}
}
}
}

View File

@ -1,6 +1,12 @@
.sale-container {
.sale{
display: flex;
column-gap: 20px;
.sale-section {
font-size: 16px;
width: 50%;
.secton-title {
font-size: 18px;
@ -32,6 +38,7 @@
}
}
}
}
.table {
.qty-row {
@ -120,3 +127,28 @@
margin-left: 2px;
}
}
@media only screen and (max-width: 768px){
.sale-container {
.sale{
display: block;
.sale-section {
width: 100%;
}
}
.summary-comment-container{
.comment-container{
width: 100%;
form{
.control-group{
width: 100%;
}
}
}
}
}
}

View File

@ -598,6 +598,7 @@ return [
'save' => 'Save',
'cancel' => 'Cancel',
'saved-inventory-message' => 'Product inventory saved successfully.',
'image-size' => 'Image resolution should be like 640px X 640px'
],
'attributes' => [
@ -700,6 +701,8 @@ return [
'image' => 'Image',
'filterable-attributes' => 'Filterable Attributes',
'attributes' => 'Attributes',
'image-size' => 'Image resolution should be like 300px X 168px',
'image-size-logo' => 'Image resolution should be like 20px X 20px'
],
],
@ -878,6 +881,8 @@ return [
'maintenance-mode' => 'Maintenance Mode',
'maintenance-mode-text' => 'Message',
'allowed-ips' => 'Allowed IPs',
'logo-size' => 'Image resolution should be like 192px X 50px',
'favicon-size' => 'Image resolution should be like 16px X 16px'
],
'sliders' => [
@ -898,6 +903,7 @@ return [
'delete-fail' => 'Slider item successfully deleted',
'expired-at' => 'Expire Date',
'sort-order' => 'Sort Order',
'image-size' => 'Image resolution should be like 1920px X 550px'
],
'tax-categories' => [
@ -1558,6 +1564,9 @@ return [
'set-order-status' => 'Set the order status after creating the invoice to',
'generate-invoice-applicable' => 'Applicable if automatic generate invoice is enabled',
'records-found' => 'Record(s) found',
'logo-size' => 'Image resolution should be like 112px X 41px',
'favicon-size' => 'Image resolution should be like 16px X 16px',
'invoice-logo-size' => 'Image resolution should be like 192px X 50px'
],
],

View File

@ -100,6 +100,8 @@
@php echo str_replace($key, 'Image', $message[0]); @endphp
@endforeach
</span>
<span class="control-info mt-10">{{ __('admin::app.catalog.categories.image-size') }}</span>
</div>
{!! view_render_event('bagisto.admin.catalog.category.create_form_accordian.description_images.controls.after') !!}

View File

@ -20,6 +20,8 @@
@endphp
@endforeach
</span>
<span class="control-info mt-10">{{ __('admin::app.catalog.products.image-size') }}</span>
</div>
{!! view_render_event('bagisto.admin.catalog.product.edit_form_accordian.images.controls.after', ['product' => $product]) !!}

View File

@ -7,7 +7,10 @@
@if (core()->getConfigData('general.design.admin_logo.logo_image', core()->getCurrentChannelCode()))
<img src="{{ \Illuminate\Support\Facades\Storage::url(core()->getConfigData('general.design.admin_logo.logo_image', core()->getCurrentChannelCode())) }}" alt="{{ config('app.name') }}" style="height: 40px; width: 110px;"/>
@else
<img src="{{ asset('vendor/webkul/ui/assets/images/logo.png') }}" alt="{{ config('app.name') }}"/>
<default-image
light-theme-image-url="{{ asset('vendor/webkul/ui/assets/images/logo.png') }}"
dark-theme-image-url="{{ asset('vendor/webkul/ui/assets/images/logo_light.png') }}"
></default-image>
@endif
</a>
</div>
@ -38,42 +41,6 @@
read-all-title="{{ __('admin::app.notification.read-all') }}">
</notification>
<div class="profile-info">
@php
$allLocales = core()->getAllLocales()->pluck('name', 'code');
$currentLocaleCode = core()->getRequestedLocaleCode('admin_locale');
@endphp
<div class="dropdown-toggle">
<div style="display: inline-block; vertical-align: middle;">
<span class="name">
{{ __('admin::app.datagrid.locale') }}
</span>
<span class="role">
{{ $allLocales[$currentLocaleCode] }}
</span>
</div>
<i class="icon arrow-down-icon active"></i>
</div>
<div class="dropdown-list bottom-right">
<div class="dropdown-container">
<ul>
@foreach ($allLocales as $code => $name)
<li>
<a href="{{ url()->current() . '?' . http_build_query(array_merge(request()->all(), ['admin_locale' => $code])) }}">
{{ $name }}
</a>
</li>
@endforeach
</ul>
</div>
</div>
</div>
<div class="profile-info">
<div class="dropdown-toggle">
<div style="display: inline-block; vertical-align: middle;">
@ -94,9 +61,6 @@
<div class="dropdown-container">
<label>{{ __('admin::app.layouts.account-title') }}</label>
<ul>
<li>
<a href="{{ route('shop.home.index') }}" target="_blank">{{ __('admin::app.layouts.visit-shop') }}</a>
</li>
<li>
<a href="{{ route('admin.account.edit') }}">{{ __('admin::app.layouts.my-account') }}</a>
</li>

View File

@ -31,6 +31,7 @@
<accordian :title="'{{ __('admin::app.sales.orders.order-and-account') }}'" :active="true">
<div slot="body">
<div class="sale">
<div class="sale-section">
<div class="secton-title">
<span>{{ __('admin::app.sales.orders.order-info') }}</span>
@ -106,13 +107,13 @@
</div>
</div>
</div>
</div>
</div>
</accordian>
<accordian :title="'{{ __('admin::app.sales.orders.address') }}'" :active="true">
<div slot="body">
<div class="sale">
<div class="sale-section">
<div class="secton-title">
<span>{{ __('admin::app.sales.orders.billing-address') }}</span>
@ -138,13 +139,13 @@
</div>
</div>
@endif
</div>
</div>
</accordian>
<accordian :title="'{{ __('admin::app.sales.orders.payment-and-shipping') }}'" :active="true">
<div slot="body">
<div class="sale">
<div class="sale-section">
<div class="secton-title">
<span>{{ __('admin::app.sales.orders.payment-info') }}</span>
@ -217,12 +218,14 @@
</div>
@endif
</div>
</div>
</accordian>
<accordian :title="'{{ __('admin::app.sales.orders.products-ordered') }}'" :active="true">
<div slot="body">
<div class="table">
<div class="table-responsive">
<table>
<thead>
<tr>
@ -271,7 +274,7 @@
</tbody>
</table>
</div>
</div>
</div>
</accordian>

View File

@ -40,7 +40,7 @@
<div class="sale-container">
<accordian :title="'{{ __('admin::app.sales.orders.order-and-account') }}'" :active="true">
<div slot="body">
<div class="sale">
<div class="sale-section">
<div class="secton-title">
<span>{{ __('admin::app.sales.orders.order-info') }}</span>
@ -128,22 +128,22 @@
{!! view_render_event('sales.invoice.customer_email.after', ['order' => $order]) !!}
</div>
</div>
</div>
</div>
</accordian>
@if ($order->billing_address || $order->shipping_address)
<accordian :title="'{{ __('admin::app.sales.orders.address') }}'" :active="true">
<div slot="body" style="display: flex; overflow:auto;">
<div slot="body">
<div class="sale">
@if ($order->billing_address)
<div class="sale-section">
<div class="secton-title" style="width: 380px;">
<div class="secton-title" >
<span>{{ __('admin::app.sales.orders.billing-address') }}</span>
</div>
<div class="section-content" style="width: 380px;">
<div class="section-content">
@include ('admin::sales.address', ['address' => $order->billing_address])
{!! view_render_event('sales.invoice.billing_address.after', ['order' => $order]) !!}
@ -152,12 +152,12 @@
@endif
@if ($order->shipping_address)
<div class="sale-section" style="margin: 0 0 0 300px;">
<div class="secton-title" style="width: 400px;">
<div class="sale-section">
<div class="secton-title">
<span>{{ __('admin::app.sales.orders.shipping-address') }}</span>
</div>
<div class="section-content" style="width: 400px;">
<div class="section-content">
@include ('admin::sales.address', ['address' => $order->shipping_address])
{!! view_render_event('sales.invoice.shipping_address.after', ['order' => $order]) !!}
@ -165,6 +165,7 @@
</div>
@endif
</div>
</div>
</accordian>
@endif
@ -172,6 +173,7 @@
<div slot="body">
<div class="table">
<div class="table-responsive">
<table>
<thead>
<tr>
@ -227,6 +229,7 @@
</tbody>
</table>
</div>
</div>
<table class="sale-summary">
<tr>

View File

@ -64,6 +64,7 @@
<accordian :title="'{{ __('admin::app.sales.orders.order-and-account') }}'" :active="true">
<div slot="body">
<div class="sale">
<div class="sale-section">
<div class="secton-title">
<span>{{ __('admin::app.sales.orders.order-info') }}</span>
@ -153,6 +154,7 @@
{!! view_render_event('sales.order.customer_group.after', ['order' => $order]) !!}
</div>
</div>
</div>
</div>
</accordian>
@ -160,7 +162,7 @@
@if ($order->billing_address || $order->shipping_address)
<accordian :title="'{{ __('admin::app.sales.orders.address') }}'" :active="true">
<div slot="body">
<div class="sale">
@if($order->billing_address)
<div class="sale-section">
<div class="secton-title">
@ -188,7 +190,7 @@
</div>
</div>
@endif
</div>
</div>
</accordian>
@endif
@ -196,6 +198,7 @@
<accordian :title="'{{ __('admin::app.sales.orders.payment-and-shipping') }}'" :active="true">
<div slot="body">
<div class="sale">
<div class="sale-section">
<div class="secton-title">
<span>{{ __('admin::app.sales.orders.payment-info') }}</span>
@ -272,12 +275,13 @@
</div>
@endif
</div>
</div>
</accordian>
<accordian :title="'{{ __('admin::app.sales.orders.products-ordered') }}'" :active="true">
<div slot="body">
<div class="table">
<div class="table-responsive">
<table>
<thead>
<tr>
@ -357,6 +361,8 @@
@endforeach
</table>
</div>
</div>
<div class="summary-comment-container">
<div class="comment-container">

View File

@ -30,7 +30,7 @@
<accordian :title="'{{ __('admin::app.sales.orders.order-and-account') }}'" :active="true">
<div slot="body">
<div class="sale">
<div class="sale-section">
<div class="secton-title">
<span>{{ __('admin::app.sales.orders.order-info') }}</span>
@ -106,7 +106,7 @@
</div>
</div>
</div>
</div>
</div>
</accordian>
@ -114,6 +114,7 @@
<accordian :title="'{{ __('admin::app.sales.orders.address') }}'" :active="true">
<div slot="body">
<div class="sale">
@if ($order->billing_address)
<div class="sale-section">
<div class="secton-title">
@ -141,14 +142,14 @@
</div>
</div>
@endif
</div>
</div>
</accordian>
@endif
<accordian :title="'{{ __('admin::app.sales.orders.payment-and-shipping') }}'" :active="true">
<div slot="body">
<div class="sale">
<div class="sale-section">
<div class="secton-title">
<span>{{ __('admin::app.sales.orders.payment-info') }}</span>
@ -205,6 +206,7 @@
</div>
</div>
</div>
</div>
</accordian>
<accordian :title="'{{ __('admin::app.sales.orders.products-ordered') }}'" :active="true">
@ -225,6 +227,7 @@
<script type="text/x-template" id="refund-items-template">
<div>
<div class="table">
<div class="table-responsive">
<table>
<thead>
<tr>
@ -314,6 +317,7 @@
</tbody>
</table>
</div>
</div>
<div style="width: 100%; display: inline-block">
<button type="button" class="btn btn-lg btn-primary" style="float: right" @click="updateQty">

View File

@ -27,7 +27,7 @@
<accordian :title="'{{ __('admin::app.sales.orders.order-and-account') }}'" :active="true">
<div slot="body">
<div class="sale">
<div class="sale-section">
<div class="secton-title">
<span>{{ __('admin::app.sales.orders.order-info') }}</span>
@ -103,14 +103,14 @@
</div>
</div>
</div>
</div>
</div>
</accordian>
@if ($order->billing_address || $order->shipping_address)
<accordian :title="'{{ __('admin::app.sales.orders.address') }}'" :active="true">
<div slot="body">
<div class="sale">
@if ($order->billing_address)
<div class="sale-section">
<div class="secton-title">
@ -138,14 +138,14 @@
</div>
</div>
@endif
</div>
</div>
</accordian>
@endif
<accordian :title="'{{ __('admin::app.sales.orders.payment-and-shipping') }}'" :active="true">
<div slot="body">
<div class="sale">
<div class="sale-section">
<div class="secton-title">
<span>{{ __('admin::app.sales.orders.payment-info') }}</span>
@ -202,12 +202,14 @@
</div>
</div>
</div>
</div>
</accordian>
<accordian :title="'{{ __('admin::app.sales.orders.products-ordered') }}'" :active="true">
<div slot="body">
<div class="table">
<div class="table-responsive">
<table>
<thead>
<tr>
@ -266,6 +268,8 @@
</table>
</div>
</div>
<table class="sale-summary">
<tr>
<td>{{ __('admin::app.sales.orders.subtotal') }}</td>

View File

@ -30,7 +30,7 @@
<accordian :title="'{{ __('admin::app.sales.orders.order-and-account') }}'" :active="true">
<div slot="body">
<div class="sale">
<div class="sale-section">
<div class="secton-title">
<span>{{ __('admin::app.sales.orders.order-info') }}</span>
@ -106,13 +106,13 @@
</div>
</div>
</div>
</div>
</div>
</accordian>
<accordian :title="'{{ __('admin::app.sales.orders.address') }}'" :active="true">
<div slot="body">
<div class="sale">
<div class="sale-section">
<div class="secton-title">
<span>{{ __('admin::app.sales.orders.billing-address') }}</span>
@ -138,13 +138,13 @@
</div>
</div>
@endif
</div>
</div>
</accordian>
<accordian :title="'{{ __('admin::app.sales.orders.payment-and-shipping') }}'" :active="true">
<div slot="body">
<div class="sale">
<div class="sale-section">
<div class="secton-title">
<span>{{ __('admin::app.sales.orders.payment-info') }}</span>
@ -211,6 +211,7 @@
</div>
</div>
</div>
</div>
</accordian>
<accordian :title="'{{ __('admin::app.sales.orders.products-ordered') }}'" :active="true">
@ -230,7 +231,6 @@
@push('scripts')
<script type="text/x-template" id="order-item-list-template">
<div>
<div class="control-group" :class="[errors.has('shipment[source]') ? 'has-error' : '']">
<label for="shipment[source]" class="required">{{ __('admin::app.sales.shipments.source') }}</label>
@ -250,7 +250,7 @@
</div>
<div class="table">
<div class="table-responsive">
<table>
<thead>
<tr>
@ -342,7 +342,7 @@
</table>
</div>
</div>
</div>
</script>
<script>

View File

@ -26,7 +26,7 @@
<accordian :title="'{{ __('admin::app.sales.orders.order-and-account') }}'" :active="true">
<div slot="body">
<div class="sale">
<div class="sale-section">
<div class="secton-title">
<span>{{ __('admin::app.sales.orders.order-info') }}</span>
@ -102,14 +102,14 @@
</div>
</div>
</div>
</div>
</div>
</accordian>
@if ($order->billing_address || $order->shipping_address)
<accordian :title="'{{ __('admin::app.sales.orders.address') }}'" :active="true">
<div slot="body">
<div class="sale">
@if ($order->billing_address)
<div class="sale-section">
<div class="secton-title">
@ -137,14 +137,14 @@
</div>
</div>
@endif
</div>
</div>
</accordian>
@endif
<accordian :title="'{{ __('admin::app.sales.orders.payment-and-shipping') }}'" :active="true">
<div slot="body">
<div class="sale">
<div class="sale-section">
<div class="secton-title">
<span>{{ __('admin::app.sales.orders.payment-info') }}</span>
@ -233,12 +233,14 @@
</div>
</div>
</div>
</div>
</accordian>
<accordian :title="'{{ __('admin::app.sales.orders.products-ordered') }}'" :active="true">
<div slot="body">
<div class="table">
<div class="table-responsive">
<table>
<thead>
<tr>
@ -273,10 +275,9 @@
</tbody>
</table>
</div>
</div>
</div>
</accordian>
</div>
</div>
</div>

View File

@ -24,8 +24,8 @@
<accordian :title="'{{ __('admin::app.sales.transactions.transaction-data') }}'" :active="true">
<div slot="body">
<div class="sale-section">
<div class="sale">
<div class="sale-section" style="width:100%">
<div class="secton-title">
<span>{{ __('admin::app.sales.transactions.transaction-data') }}</span>
</div>
@ -100,6 +100,8 @@
</div>
</div>
</div>
</div>
</accordian>
<accordian :title="'{{ __('admin::app.sales.transactions.transaction-details') }}'" :active="true">
@ -108,7 +110,8 @@
$transData = json_decode(json_encode(json_decode($transaction['data'])), true);
@endphp
<div class="sale-section">
<div class="sale">
<div class="sale-section" style="width: 100%;">
<div class="secton-title">
<span>{{ __('admin::app.sales.transactions.transaction-details') }}</span>
</div>
@ -129,6 +132,8 @@
</div>
</div>
</div>
</accordian>
</div>

View File

@ -168,12 +168,16 @@
<label>{{ __('admin::app.settings.channels.logo') }}</label>
<image-wrapper :button-label="'{{ __('admin::app.catalog.products.add-image-btn-title') }}'" input-name="logo" :multiple="false"></image-wrapper>
<span class="control-info mt-10">{{ __('admin::app.settings.channels.logo-size') }}</span>
</div>
<div class="control-group">
<label>{{ __('admin::app.settings.channels.favicon') }}</label>
<image-wrapper :button-label="'{{ __('admin::app.catalog.products.add-image-btn-title') }}'" input-name="logo" :multiple="false"></image-wrapper>
<span class="control-info mt-10">{{ __('admin::app.settings.channels.favicon-size') }}</span>
</div>
</div>

View File

@ -205,12 +205,16 @@
<label>{{ __('admin::app.settings.channels.logo') }}</label>
<image-wrapper :button-label="'{{ __('admin::app.catalog.products.add-image-btn-title') }}'" input-name="logo" :multiple="false" :images='"{{ $channel->logo_url }}"'></image-wrapper>
<span class="control-info mt-10">{{ __('admin::app.settings.channels.logo-size') }}</span>
</div>
<div class="control-group">
<label>{{ __('admin::app.settings.channels.favicon') }}</label>
<image-wrapper :button-label="'{{ __('admin::app.catalog.products.add-image-btn-title') }}'" input-name="favicon" :multiple="false" :images='"{{ $channel->favicon_url }}"'></image-wrapper>
<span class="control-info mt-10">{{ __('admin::app.settings.channels.favicon-size') }}</span>
</div>
</div>

View File

@ -83,6 +83,7 @@
<div class="control-group {!! $errors->has('image.*') ? 'has-error' : '' !!}">
<label class="required">{{ __('admin::app.catalog.categories.image') }}</label>
<span class="control-info mt-10">{{ __('admin::app.settings.sliders.image-size') }}</span>
<image-wrapper :button-label="'{{ __('admin::app.settings.sliders.image') }}'" input-name="image" :multiple="false"></image-wrapper>

View File

@ -86,6 +86,7 @@
<div class="control-group {!! $errors->has('image.*') ? 'has-error' : '' !!}">
<label class="required">{{ __('admin::app.catalog.categories.image') }}</label>
<span class="control-info mt-10">{{ __('admin::app.settings.sliders.image-size') }}</span>
<image-wrapper :button-label="'{{ __('admin::app.settings.sliders.image') }}'" input-name="image" :multiple="false" :images='"{{ Storage::url($slider->path) }}"'></image-wrapper>

View File

@ -64,7 +64,7 @@ class NotificationController extends Controller
if(isset($params) && $params != NULL){
$searchResults = $this->notificationRepository->getParamsData($params);
}else{
$searchResults = $this->notificationRepository->with('order')->latest()->paginate(5);
$searchResults = $this->notificationRepository->with('order')->latest()->paginate(10);
}
return [

View File

@ -46,7 +46,8 @@ class Order
public function updateOrder($order)
{
$orderArray =[
'id' => $order->id
'id' => $order->id,
'status' => $order->status
];
event(new UpdateOrderNotification($orderArray));

View File

@ -28,17 +28,17 @@ class NotificationRepository extends Repository
$qry->whereHas('order',function ($q) use ($params) {
$q->where(['status' => $params['status']]);
});
})->where('order_id',$params['id'])->with('order')->paginate(5) : $this->model->where('order_id',$params['id'])->with('order')->paginate(5) ;
})->where('order_id',$params['id'])->with('order')->paginate(10) : $this->model->where('order_id',$params['id'])->with('order')->paginate(10) ;
}elseif (isset($params['status'])) {
return $params['status'] != 'All' ? $this->model->where(function($qry)use ($params){
$qry->whereHas('order',function ($q) use ($params) {
$q->where(['status' => $params['status']]);
});
})->with('order')->paginate(5): $this->model->with('order')->latest()->paginate(5);
})->with('order')->paginate(10): $this->model->with('order')->latest()->paginate(10);
}elseif(isset($params['limit'])){
return $this->model->limit($params['limit'])->with('order')->latest()->paginate(5);
return $this->model->limit($params['limit'])->with('order')->latest()->paginate(10);
}elseif(isset($params['id'])){
return $this->model->where('order_id',$params['id'])->with('order')->paginate(5);
return $this->model->where('order_id',$params['id'])->with('order')->paginate(10);
}
return [];

View File

@ -307,6 +307,8 @@ class OrderRepository extends Repository
*/
public function updateOrderStatus($order, $orderState = null)
{
Event::dispatch('sales.order.update-status.before', $order);
if (! empty($orderState)) {
$status = $orderState;
} else {
@ -325,6 +327,8 @@ class OrderRepository extends Repository
$order->status = $status;
$order->save();
Event::dispatch('sales.order.update-status.after', $order);
}
/**

View File

@ -13,6 +13,7 @@ import ImageWrapper from "./components/image/image-wrapper";
import Modal from "./components/modal";
import OverlayLoader from "./components/overlay-loader";
import SwatchPicker from "./components/swatch-picker";
import DefaultImage from "./components/default-image";
import Tab from "./components/tabs/tab";
import Tabs from "./components/tabs/tabs";
import TimeComponent from "./components/time";
@ -57,6 +58,7 @@ Vue.component("swatch-picker", SwatchPicker);
Vue.directive("debounce", Debounce);
Vue.component("overlay-loader", OverlayLoader);
Vue.component("multiselect", Multiselect);
Vue.component("default-image", DefaultImage);
/* filter section */
Vue.filter("truncate", function(value, limit, trail) {

View File

@ -1,6 +1,7 @@
<template>
<div class="table" v-if="isDataLoaded" :key="dataGridIndex">
<div class="grid-container">
<div class="grid-top">
<div class="datagrid-filters">
<div class="filter-left">
<div
@ -106,7 +107,7 @@
</div>
<div class="datagrid-filters" id="datagrid-filters">
<div class="filter-left">
<div class="">
<div class="search-filter">
<input
type="search"
@ -400,6 +401,8 @@
</div>
</div>
</div>
</div>
<div class="filtered-tags">
<span
@ -429,6 +432,7 @@
</span>
</div>
<div class="table-responsive">
<table class="table">
<thead v-if="massActionsToggle">
<tr
@ -680,6 +684,8 @@
</table>
</div>
</div>
<div
class="pagination shop mt-50"
v-if="

View File

@ -0,0 +1,13 @@
<template>
<img :src="this.$root.isDarkMode ? darkThemeImageUrl: lightThemeImageUrl"/>
</template>
<script>
export default {
props: [
'lightThemeImageUrl',
'darkThemeImageUrl'
],
};
</script>

View File

@ -1243,6 +1243,14 @@ modal {
left: 10%;
margin-left: 0px;
}
.control-group {
width: 100%;
.control {
width: 100%;
}
}
}
.label {

View File

@ -1,71 +1,70 @@
@import 'main/mixins';
@import "main/mixins";
.grid-container {
display: block;
width: 100%;
}
.datagrid-filters {
display: inline-flex;
width: 100%;
justify-content: space-between;
.grid-top {
display: grid;
grid-template-rows: auto auto auto;
row-gap: 8px;
align-items: center;
margin-bottom: 20px;
.filter-left {
float: left;
}
.datagrid-filters {
display: grid;
grid-template-columns: auto auto;
column-gap: 10px;
.filter-right {
float: right;
.grid-right {
justify-self: end;
display: grid;
grid-template-columns: auto auto;
column-gap: 10px;
align-items: end;
}
.dropdown-filters {
display: inline-block;
&.per-page {
margin-right: 10px;
.control-group {
label {
width: auto;
float: left;
margin-top: 7px;
margin-right: 10px;
flex: auto;
}
.control {
width: auto;
width: 100%;
margin: 0;
flex: 1;
}
}
}
}
}
}
}
.records-count-container {
float: right;
padding: 10px;
}
@media only screen and (max-width: 1192px) {
.datagrid-filters {
margin-bottom: unset;
.filter-left {
margin-bottom: 10px;
}
display: grid;
grid-template-columns: auto auto;
column-gap: 10px;
align-items: end;
.filter-right {
margin-bottom: 10px;
}
}
}
justify-self: end;
display: grid;
grid-template-columns: auto auto;
column-gap: 10px;
align-items: end;
@media only screen and (max-width: 720px) {
.datagrid-filters {
.dropdown-filters {
margin-bottom: 5px;
.control-group{
.control{
margin-bottom: 0px;
}
}
}
}
}
@ -78,51 +77,52 @@
}
.search-filter {
border-radius: 3px;
height: 36px;
max-width: 300px;
.control {
font-size: 15px;
border: 2px solid $control-border-color;
border: 1px solid $control-border-color;
border-right: none;
border-top-left-radius: 3px;
border-bottom-left-radius: 3px;
height: 36px;
width: 280px;
width: calc(100% - 36px);
padding-left: 10px;
-webkit-appearance: none;
}
&:hover {
box-shadow: 0px 0px 0px 1px $selection-color;
}
.contorl:focus {
border-color: $brand-color;
}
.icon-wrapper {
border: 2px solid $control-border-color;
border: 1px solid $control-border-color;
border-radius: 3px;
border-top-left-radius: 0px;
border-bottom-left-radius: 0px;
height: 36px;
width: 36px;
padding: 3px;
padding: 5px;
float: right;
}
}
@media only screen and (max-width: 720px) {
.search-filter {
.control {
width: 100px;
}
}
}
.grid-dropdown-header {
display: inline-flex;
justify-content: space-between;
align-items: center;
height: 36px;
width: 200px;
border: 2px solid $control-border-color;
width: 100%;
min-width: 200px;
border: 1px solid $control-border-color;
border-radius: 3px;
color: #8e8e8e;
background-color: $white-color;
padding: 0px 5px 0px 5px;
.arrow-icon-down {
@ -139,8 +139,14 @@
li {
.control-group {
margin-bottom: 15px;
display: block;
.control{
margin-bottom: 15px;
}
}
}
}
.apply-filter {
@ -148,6 +154,11 @@
width: 100%;
}
}
.filter-advance{
display: flex;
justify-content: space-between;
}
.filter-tag {
display: flex;
@ -160,36 +171,44 @@
margin-right: 20px;
.wrapper {
margin-left: 10px;
padding: 5px 10px 5px 10px;
margin-left: 4px;
padding: 5px 10px 5px 16px;
display: flex;
flex-direction: row;
align-items: center;
background: #e7e7e7;
background: #E7E7E7;
border: 1px solid #E7E7E7;
font-size: 14px;
height: 40px;
color: #000311;
letter-spacing: -0.22px;
@include border-radius(2px);
@include border-radius(24px);
.icon.cross-icon {
margin-left: 10px;
cursor: pointer;
}
&:hover {
background: $white-color;
border: 1px solid #E7E7E7;
}
}
}
.rtl {
.search-filter {
.control {
padding-right: 10px;
border-left: 0;
border-right: 2px solid #c7c7c7;
border-right: 1px solid #C7C7C7;
border-top-right-radius: 3px;
border-bottom-right-radius: 3px;
border-top-left-radius: 0;
border-bottom-left-radius: 0;
}
.icon-wrapper {
float: left;
border-top-right-radius: 0px;
@ -197,19 +216,26 @@
border-top-left-radius: 3px;
border-bottom-left-radius: 3px;
}
&:hover {
box-shadow: 0px 0px 0px 1px $selection-color;
}
}
.dropdown-filters {
display: inline-block;
&.per-page {
margin-left: 10px;
margin-right: 10px;
}
}
.filtered-tags {
.filter-tag {
.wrapper,
.cross-icon {
margin-right: 10px;
@ -217,9 +243,39 @@
}
}
}
}
.records-count-container {
float: left;
padding: 10px;
@media only screen and (max-width: 1040px) {
.grid-container {
.grid-top{
.datagrid-filters {
grid-template-columns: 100%;
row-gap: 0px;
.search-filter{
max-width: 100% !important;
}
.filter-left {
display: grid;
grid-template-columns: 49.5% 49%;
column-gap: 5px;
}
.filter-right {
display: grid;
grid-template-columns: 49.5% 49%;
column-gap: 5px;
width: 100%;
}
}
}
}
.grid-dropdown-header {
min-width: 122px;
}
}

View File

@ -31,8 +31,8 @@
<div class="grid-container">
<div class="grid-top">
<div class="datagrid-filters">
<div class="datagrid-filters">
<div class="filter-left">
@if (isset($results['extraFilters']['channels']))
<div class="dropdown-filters per-page">
@ -96,12 +96,11 @@
</div>
<div class="datagrid-filters" id="datagrid-filters">
<div class="filter-left">
<div>
<div class="search-filter">
<input type="search" id="search-field" class="control"
placeholder="{{ __('ui::app.datagrid.search') }}" v-model="searchValue"
v-on:keyup.enter="searchCollection(searchValue)"/>
<div class="icon-wrapper">
<span class="icon search-icon search-btn"
v-on:click="searchCollection(searchValue)"></span>
@ -244,7 +243,8 @@
</div>
</div>
</div>
</div>
<div class="filter-advance">
<div class="filtered-tags">
<span class="filter-tag" v-if="filters.length > 0" v-for="filter in filters" style="text-transform: capitalize;">
<span v-if="filter.column == 'perPage'">perPage</span>

View File

@ -103,7 +103,7 @@ return [
'slider-path' => 'Slider Path',
'category-logo' => 'Category logo',
'product-policy' => 'Product Policy',
'update-meta-data' => 'Update Meta Data',
'update-meta-data' => 'Update',
'product-view-image' => 'Product View Image',
'advertisement-two' => 'Advertisement Two Images',
'advertisement-one' => 'Advertisement One Images',
@ -113,6 +113,16 @@ return [
'images' => 'Images',
'general' => 'General',
'add-image-btn-title' => 'Add Image',
'image-four-resolution' => 'First image resolutions should be like 427px X 410px ,
Second images resolutions should be like 397px X 180px ,
Third images resolutions should be like 397px X 180px ,
Fouth image resolutions should be like 427px X 410px',
'image-three-resolution' => 'First image resolution should be like 635px X 465px ,
Second image resolutions should be like 620px X 225px,
Third image resolutions should be like 620px X 225px',
'image-two-resolution' => 'First image resolution should be like 953px X 447px ,
Second image resolution should be like 303px X 446px',
'image-locale-resolution' => 'Image resolution should be like 20px X 20px',
'footer-middle' => [
'about-us' => 'About Us',
'customer-service' => 'Customer Service',
@ -125,6 +135,16 @@ return [
]
],
'category' => [
'image-four-resolution' => 'First image resolutions should be like 427px X 410px ,
Second images resolutions should be like 397px X 180px ,
Third images resolutions should be like 397px X 180px ,
Fouth image resolutions should be like 427px X 410px',
'image-three-resolution' => 'First image resolution should be like 635px X 465px ,
Second image resolutions should be like 620px X 225px,
Third image resolutions should be like 620px X 225px',
'image-two-resolution' => 'First image resolution should be like 953px X 447px ,
Second image resolution should be like 303px X 446px',
'image-locale-resolution' => 'Image resolution should be like 20px X 20px',
'save-btn-title' => 'Save Menu',
'title' => 'Category Menu List',
'add-title' => 'Add Menu Content',

View File

@ -15,4 +15,6 @@
:button-label="'{{ __('admin::app.catalog.products.add-image-btn-title') }}'">
</image-wrapper>
@endif
<span class="control-info mt-10">{{ __('admin::app.catalog.categories.image-size-logo') }}</span>
</div>

View File

@ -10,6 +10,20 @@
$channelLocales = core()->getAllLocalesByRequestedChannel()['locales'];
@endphp
@push('css')
<style>
@media only screen and (max-width: 768px){
.content-container .content .page-header .page-title{
margin-bottom: 30px !important;
}
}
</style>
@endpush
@section('content')
<div class="content">
<form
@ -117,9 +131,6 @@
value="{{ $metaData ? $metaData->header_content_count : '5' }}" />
</div>
<div class="control-group">
<label style="width:100%;">
{{ __('velocity::app.admin.meta-data.home-page-content') }}
@ -217,6 +228,8 @@
:button-label="'{{ __('velocity::app.admin.meta-data.add-image-btn-title') }}'">
</image-wrapper>
@endif
<span class="control-info mt-10">{{ __('velocity::app.admin.meta-data.image-four-resolution') }}</span>
</div>
<div class="control-group">
@ -258,6 +271,7 @@
:button-label="'{{ __('velocity::app.admin.meta-data.add-image-btn-title') }}'">
</image-wrapper>
@endif
<span class="control-info mt-10">{{ __('velocity::app.admin.meta-data.image-three-resolution') }}</span>
</div>
<div class="control-group">
@ -296,6 +310,7 @@
:button-label="'{{ __('velocity::app.admin.meta-data.add-image-btn-title') }}'">
</image-wrapper>
@endif
<span class="control-info mt-10">{{ __('velocity::app.admin.meta-data.image-two-resolution') }}</span>
</div>
</div>
</accordian>

View File

@ -14,4 +14,6 @@
:button-label="'{{ __('admin::app.catalog.products.add-image-btn-title') }}'">
</image-wrapper>
@endif
<span class="control-info mt-10">{{ __('velocity::app.admin.meta-data.image-locale-resolution') }}</span>
</div>