Merge branch 'master' of https://github.com/bagisto/bagisto into ISSUE_4111
This commit is contained in:
commit
df383e4323
|
|
@ -40,7 +40,6 @@ jobs:
|
|||
- name: Composer install
|
||||
run: |
|
||||
set -e
|
||||
composer global require hirak/prestissimo
|
||||
composer install --no-interaction --ansi --no-progress --no-suggest --optimize-autoloader
|
||||
|
||||
- name: Migrate database
|
||||
|
|
|
|||
|
|
@ -43,7 +43,9 @@ class InvoiceController extends Controller
|
|||
$this->middleware('auth:' . $this->guard);
|
||||
}
|
||||
|
||||
$this->repository = app($this->_config['repository']);
|
||||
if ($this->_config) {
|
||||
$this->repository = app($this->_config['repository']);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
|
|||
|
|
@ -12,7 +12,7 @@ class ResourceController extends Controller
|
|||
* @var array
|
||||
*/
|
||||
protected $guard;
|
||||
|
||||
|
||||
/**
|
||||
* Contains route related configuration
|
||||
*
|
||||
|
|
@ -45,7 +45,9 @@ class ResourceController extends Controller
|
|||
$this->middleware('auth:' . $this->guard);
|
||||
}
|
||||
|
||||
$this->repository = app($this->_config['repository']);
|
||||
if ($this->_config) {
|
||||
$this->repository = app($this->_config['repository']);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
@ -58,8 +60,8 @@ class ResourceController extends Controller
|
|||
$query = $this->repository->scopeQuery(function($query) {
|
||||
if (isset($this->_config['authorization_required']) && $this->_config['authorization_required']) {
|
||||
$query = $query->where('customer_id', auth()->user()->id );
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
foreach (request()->except(['page', 'limit', 'pagination', 'sort', 'order', 'token']) as $input => $value) {
|
||||
$query = $query->whereIn($input, array_map('trim', explode(',', $value)));
|
||||
}
|
||||
|
|
@ -89,11 +91,11 @@ class ResourceController extends Controller
|
|||
* @return \Illuminate\Http\Response
|
||||
*/
|
||||
public function get($id)
|
||||
{
|
||||
$query = isset($this->_config['authorization_required']) && $this->_config['authorization_required'] ?
|
||||
$this->repository->where('customer_id', auth()->user()->id)->findOrFail($id) :
|
||||
{
|
||||
$query = isset($this->_config['authorization_required']) && $this->_config['authorization_required'] ?
|
||||
$this->repository->where('customer_id', auth()->user()->id)->findOrFail($id) :
|
||||
$this->repository->findOrFail($id);
|
||||
|
||||
|
||||
return new $this->_config['resource']($query);
|
||||
}
|
||||
|
||||
|
|
@ -108,7 +110,7 @@ class ResourceController extends Controller
|
|||
$wishlistProduct = $this->repository->findOrFail($id);
|
||||
|
||||
$this->repository->delete($id);
|
||||
|
||||
|
||||
return response()->json([
|
||||
'message' => 'Item removed successfully.',
|
||||
]);
|
||||
|
|
|
|||
File diff suppressed because one or more lines are too long
|
|
@ -1,4 +1,4 @@
|
|||
{
|
||||
"/js/admin.js": "/js/admin.js?id=b022291aa1cad7dfcc84",
|
||||
"/css/admin.css": "/css/admin.css?id=8f4fcca5914f5370ddda"
|
||||
"/css/admin.css": "/css/admin.css?id=f2b20e4283a639808ef6"
|
||||
}
|
||||
|
|
|
|||
|
|
@ -12,11 +12,15 @@ class CartRuleCouponDataGrid extends DataGrid
|
|||
protected $sortOrder = 'desc';
|
||||
|
||||
public function prepareQueryBuilder()
|
||||
{
|
||||
$queryBuilder = DB::table('cart_rule_coupons')
|
||||
->addSelect('id', 'code', 'created_at', 'expired_at', 'times_used')
|
||||
->where('cart_rule_coupons.cart_rule_id', collect(request()->segments())->last());
|
||||
{
|
||||
$route = request()->route() ? request()->route()->getName() : "" ;
|
||||
|
||||
$cartRuleId = $route == 'admin.cart-rules.edit' ? collect(request()->segments())->last() : last(explode("/", url()->previous()));
|
||||
|
||||
$queryBuilder = DB::table('cart_rule_coupons')
|
||||
->addSelect('id', 'code', 'created_at', 'expired_at', 'times_used')
|
||||
->where('cart_rule_coupons.cart_rule_id', $cartRuleId);
|
||||
|
||||
$this->setQueryBuilder($queryBuilder);
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -16,6 +16,7 @@ class ExportController extends Controller
|
|||
'TaxRateDataGrid',
|
||||
'ProductDataGrid',
|
||||
'CMSPageDataGrid',
|
||||
'CartRuleCouponDataGrid'
|
||||
];
|
||||
|
||||
/**
|
||||
|
|
|
|||
|
|
@ -174,6 +174,10 @@
|
|||
float: left;
|
||||
}
|
||||
|
||||
.multiselect {
|
||||
text-align: unset;
|
||||
}
|
||||
|
||||
.pagination .page-item .icon {
|
||||
transform: rotate(180deg);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -2,7 +2,7 @@
|
|||
|
||||
return [
|
||||
'save' => 'حفظ',
|
||||
'create' => 'خلق',
|
||||
'create' => 'إنشاء',
|
||||
'update' => 'تحديث',
|
||||
'delete' => 'حذف',
|
||||
'copy-of' => 'نسخة من ',
|
||||
|
|
@ -47,20 +47,20 @@ return [
|
|||
'my-account' => 'حسابي',
|
||||
'logout' => 'خروج',
|
||||
'visit-shop' => 'قم بزيارة المتجر',
|
||||
'dashboard' => 'لوحة العدادات',
|
||||
'dashboard' => 'لوحة التحكم',
|
||||
'sales' => 'المبيعات',
|
||||
'orders' => 'الأوامر',
|
||||
'orders' => 'الطلبات',
|
||||
'shipments' => 'الشحنات',
|
||||
'invoices' => 'الفواتير',
|
||||
'catalog' => 'فهرس',
|
||||
'products' => 'المنتجات',
|
||||
'categories' => 'الفئات',
|
||||
'attributes' => 'الصفات',
|
||||
'attributes' => 'الخصائص',
|
||||
'attribute-families' => 'وصف الأسر',
|
||||
'customers' => 'زبائن',
|
||||
'groups' => 'المجموعات',
|
||||
'reviews' => 'باء-الاستعراضات',
|
||||
'newsletter-subscriptions' => 'الاشتراك في الرسالة الإخبارية',
|
||||
'reviews' => 'التقييمات',
|
||||
'newsletter-subscriptions' => 'الاشتراك في النشرة البريدية',
|
||||
'configure' => 'اضبط',
|
||||
'settings' => 'إعدادات',
|
||||
'locales' => 'لغات',
|
||||
|
|
@ -81,9 +81,9 @@ return [
|
|||
],
|
||||
|
||||
'acl' => [
|
||||
'dashboard' => 'لوحة العدادات',
|
||||
'dashboard' => 'لوحة التحكم',
|
||||
'sales' => 'المبيعات',
|
||||
'orders' => 'الأوامر',
|
||||
'orders' => 'الطلبات',
|
||||
'shipments' => 'الشحنات',
|
||||
'invoices' => 'الفواتير',
|
||||
'catalog' => 'فهرس',
|
||||
|
|
@ -117,7 +117,7 @@ return [
|
|||
],
|
||||
|
||||
'dashboard' => [
|
||||
'title' => 'لوحة العدادات',
|
||||
'title' => 'لوحة التحكم',
|
||||
'from' => 'من',
|
||||
'to' => 'إلى',
|
||||
'total-customers' => 'مجموع الزبائن',
|
||||
|
|
@ -140,10 +140,10 @@ return [
|
|||
|
||||
'datagrid' => [
|
||||
'mass-ops' => [
|
||||
'method-error' => 'خطأ! تم اكتشاف طريقة خاطئة ، الرجاء التحقق من تشكيل حركة الكتلة',
|
||||
'delete-success' => "تم حذف المورد بنجاح :Selected",
|
||||
'method-error' => 'خطأ! تم اكتشاف طريقة خاطئة، الرجاء التحقق من تشكيل حركة الكتلة',
|
||||
'delete-success' => "تم الحذف بنجاح :Selected",
|
||||
'partial-action' => 'ولم تنفذ بعض الإجراءات بسبب القيود المفروضة على النظام :resource',
|
||||
'update-success' => "تم تحديث المورد بنجاح :Selected",
|
||||
'update-success' => "تم التحديث بنجاح :Selected",
|
||||
'no-resource' => 'المورد المقدم غير كاف للعمل',
|
||||
],
|
||||
|
||||
|
|
@ -154,7 +154,7 @@ return [
|
|||
'copy' => 'نسخ',
|
||||
'name' => 'اسم',
|
||||
'direction' => 'اتجاه',
|
||||
'fullname' => 'الاسم الكامل',
|
||||
'fullname' => 'الاسم بالكامل',
|
||||
'type' => 'النوع',
|
||||
'required' => 'مطلوب',
|
||||
'unique' => 'فريد',
|
||||
|
|
@ -171,10 +171,10 @@ return [
|
|||
'layout' => 'نسق',
|
||||
'url-key' => 'مفتاح URL',
|
||||
'comment' => 'تعليق',
|
||||
'product-name' => 'المنتج',
|
||||
'product-name' => 'إسم المنتج',
|
||||
'currency-name' => 'اسم العملة',
|
||||
'exch-rate' => 'باء-سعر الصرف',
|
||||
'priority' => 'Priority',
|
||||
'priority' => 'الأولوية',
|
||||
'subscribed' => 'مشترك',
|
||||
'base-total' => 'المجموع الأساسي',
|
||||
'grand-total' => 'المجموع الكلي',
|
||||
|
|
@ -232,10 +232,10 @@ return [
|
|||
'account' => [
|
||||
'title' => 'حسابي',
|
||||
'save-btn-title' => 'احفظ',
|
||||
'general' => 'ألف-لمحة عامة',
|
||||
'general' => 'عام',
|
||||
'name' => 'اسم',
|
||||
'email' => 'البريد الإلكتروني',
|
||||
'password' => 'كلمه السر',
|
||||
'password' => 'كلمه المرور',
|
||||
'confirm-password' => 'تأكيد كلمة المرور',
|
||||
'change-password' => 'غير كلمة سر الحساب',
|
||||
'current-password' => 'كلمة المرور الحالية'
|
||||
|
|
@ -243,22 +243,22 @@ return [
|
|||
|
||||
'users' => [
|
||||
'forget-password' => [
|
||||
'title' => 'انس كلمة السر',
|
||||
'header-title' => 'استرجع كلمة السر',
|
||||
'title' => 'نسيت كلمة المرور',
|
||||
'header-title' => 'استرجع كلمة المرور',
|
||||
'email' => 'البريد الإلكتروني المسجل',
|
||||
'password' => 'كلمه السر',
|
||||
'password' => 'كلمه المرور',
|
||||
'confirm-password' => 'تأكيد كلمة المرور',
|
||||
'back-link-title' => 'العودة للتوقيع',
|
||||
'submit-btn-title' => 'بريد إلكتروني كلمة مرور إعادة تعيين وصلة'
|
||||
],
|
||||
|
||||
'reset-password' => [
|
||||
'title' => 'أعد ضبط كلمة السر',
|
||||
'title' => 'أعد ضبط كلمة المرور',
|
||||
'email' => 'البريد الإلكتروني المسجل',
|
||||
'password' => 'كلمه السر',
|
||||
'password' => 'كلمه المرور',
|
||||
'confirm-password' => 'تأكيد كلمة المرور',
|
||||
'back-link-title' => 'العودة للتوقيع',
|
||||
'submit-btn-title' => 'أعد ضبط كلمة السر'
|
||||
'submit-btn-title' => 'أعد ضبط كلمة المرور'
|
||||
],
|
||||
|
||||
'roles' => [
|
||||
|
|
@ -266,10 +266,10 @@ return [
|
|||
'add-role-title' => 'أضف الدور',
|
||||
'edit-role-title' => 'حرر الدور',
|
||||
'save-btn-title' => 'احفظ الدور',
|
||||
'general' => 'ألف-لمحة عامة',
|
||||
'general' => 'عام',
|
||||
'name' => 'اسم',
|
||||
'description' => 'الوصف',
|
||||
'access-control' => 'مراقبة الدخول',
|
||||
'access-control' => 'صلاحيات الوصول',
|
||||
'permissions' => 'الأذون',
|
||||
'custom' => 'مخصص',
|
||||
'all' => 'الكل'
|
||||
|
|
@ -280,33 +280,33 @@ return [
|
|||
'add-user-title' => 'إضافة مستخدم',
|
||||
'edit-user-title' => 'حرر المستخدم',
|
||||
'save-btn-title' => 'احفظ المستخدم',
|
||||
'general' => 'ألف-لمحة عامة',
|
||||
'general' => 'عام',
|
||||
'email' => 'البريد الإلكتروني',
|
||||
'name' => 'اسم',
|
||||
'password' => 'كلمه الس',
|
||||
'password' => 'كلمه المرور',
|
||||
'confirm-password' => 'تأكيد كلمة المرور',
|
||||
'status-and-role' => 'المركز والدور',
|
||||
'role' => 'الدور',
|
||||
'status' => 'الحالة',
|
||||
'account-is-active' => 'الحساب نشط',
|
||||
'current-password' => 'أدخل كلمة السر الحالية',
|
||||
'current-password' => 'أدخل كلمة المرور الحالية',
|
||||
'confirm-delete' => 'تأكيد حذف هذا الحساب',
|
||||
'confirm-delete-title' => 'تأكيد كلمة السر قبل حذف',
|
||||
'confirm-delete-title' => 'تأكيد كلمة المرور قبل حذف',
|
||||
'delete-last' => 'على الأقل مدير واحد مطلوب.',
|
||||
'delete-success' => 'نجاح! حذف المستخدم',
|
||||
'incorrect-password' => 'كلمة السر التي أدخلتها غير صحيحة',
|
||||
'password-match' => 'كلمة السر الحالية لا تطابق.',
|
||||
'incorrect-password' => 'كلمة المرور التي أدخلتها غير صحيحة',
|
||||
'password-match' => 'كلمة المرور الحالية لا تطابق.',
|
||||
'account-save' => 'الحساب التغييرات و الموفرة بنجاح.',
|
||||
'login-error' => 'الرجاء التحقق من أوراق اعتمادك ومحاولة مرة أخرى.',
|
||||
'activate-warning' => 'حسابك لم يتم تفعيله بعد ، الرجاء الاتصال بالمدير.'
|
||||
'activate-warning' => 'حسابك لم يتم تفعيله بعد، الرجاء الاتصال بالمدير.'
|
||||
],
|
||||
|
||||
'sessions' => [
|
||||
'title' => 'وقع هنا',
|
||||
'email' => 'البريد الإلكتروني',
|
||||
'password' => 'كلمه السر',
|
||||
'forget-password-link-title' => 'نسيت كلمة السر ؟',
|
||||
'remember-me' => 'تذكريني',
|
||||
'password' => 'كلمه المرور',
|
||||
'forget-password-link-title' => 'نسيت كلمة المرور؟',
|
||||
'remember-me' => 'تذكرني',
|
||||
'submit-btn-title' => 'وقع هنا'
|
||||
]
|
||||
],
|
||||
|
|
@ -1235,7 +1235,7 @@ return [
|
|||
|
||||
'admin' => [
|
||||
'emails' => [
|
||||
'email' => 'Email',
|
||||
'email' => 'البريد الإلكتروني',
|
||||
'notification_label' => 'إشعارات',
|
||||
'notifications' => [
|
||||
'verification' => 'ارسل ايميل التفعيل',
|
||||
|
|
@ -1301,6 +1301,11 @@ return [
|
|||
'weight-unit' => 'وحدة الوزن',
|
||||
'admin-page-limit' => 'العناصر الافتراضية لكل صفحة (المشرف)',
|
||||
'design' => 'التصميم',
|
||||
'email-settings' => 'إعدادات البريد الإلكتروني',
|
||||
'email-sender-name' => 'اسم مرسل البريد الإلكتروني',
|
||||
'shop-email-from' => 'متجر عنوان البريد الإلكتروني [لإرسال رسائل البريد الإلكتروني]',
|
||||
'admin-name' => 'اسم المسؤول',
|
||||
'admin-email' => 'البريد الإلكتروني للمسؤول',
|
||||
'admin-logo' => 'شعار المسؤول',
|
||||
'logo-image' => 'صورة الشعار',
|
||||
'credit-max' => 'الحد الأقصى لائتمان العميل',
|
||||
|
|
@ -1316,48 +1321,48 @@ return [
|
|||
'sandbox' => 'صندوق الرمل',
|
||||
'all-channels' => 'الكل',
|
||||
'all-locales' => 'الكل',
|
||||
'invoice-slip-design' => 'Invoice Slip Design',
|
||||
'logo' => 'Logo',
|
||||
'storefront' => 'Storefront',
|
||||
'default-list-mode' => 'Default List Mode',
|
||||
'grid' => 'Grid',
|
||||
'list' => 'List',
|
||||
'products-per-page' => 'Products Per Page',
|
||||
'sort-by' => 'Sort By',
|
||||
'invoice-slip-design' => 'تصميم قسيمة الفاتورة',
|
||||
'logo' => 'شعار',
|
||||
'storefront' => 'واجهة المحل',
|
||||
'default-list-mode' => 'وضع القائمة الافتراضي',
|
||||
'grid' => 'جريد',
|
||||
'list' => 'قائمة',
|
||||
'products-per-page' => 'المنتجات في الصفحة',
|
||||
'sort-by' => 'صنف حسب',
|
||||
'from-z-a' => 'From Z-A',
|
||||
'from-a-z' => 'From A-Z',
|
||||
'newest-first' => 'Newest First',
|
||||
'oldest-first' => 'Oldest First',
|
||||
'cheapest-first' => 'Cheapest First',
|
||||
'expensive-first' => 'Expensive First',
|
||||
'comma-seperated' => 'Comma Seperated',
|
||||
'favicon' => 'Favicon',
|
||||
'comma-seperated' => 'مفصولة بفواصل',
|
||||
'favicon' => 'فافيكون',
|
||||
'seo' => 'SEO',
|
||||
'rich-snippets' => 'Rich Snippets',
|
||||
'products' => 'Products',
|
||||
'enable' => 'Enable',
|
||||
'show-weight' => 'Show Weight',
|
||||
'show-categories' => 'Show Categories',
|
||||
'show-images' => 'Show Images',
|
||||
'show-reviews' => 'Show Reviews',
|
||||
'show-ratings' => 'Show Ratings',
|
||||
'show-offers' => 'Show Offers',
|
||||
'show-sku' => 'Show SKU',
|
||||
'categories' => 'Categories',
|
||||
'show-sku' => 'Show SKU',
|
||||
'show-search-input-field' => 'Show Search Input Field',
|
||||
'rich-snippets' => 'قصاصات غنية',
|
||||
'products' => 'منتجات',
|
||||
'enable' => 'ممكن',
|
||||
'show-weight' => 'عرض الوزن',
|
||||
'show-categories' => 'إظهار الفئات',
|
||||
'show-images' => 'عرض الصور',
|
||||
'show-reviews' => 'عرض التعليقات',
|
||||
'show-ratings' => 'إظهار التقييمات',
|
||||
'show-offers' => 'عرض العروض',
|
||||
'show-sku' => 'عرض SKU',
|
||||
'categories' => 'التصنيفات',
|
||||
'show-sku' => 'عرض SKU',
|
||||
'show-search-input-field' => 'إظهار حقل إدخال البحث',
|
||||
'store-name' => 'اسم المتجر',
|
||||
'vat-number' => 'ظريبه الشراء',
|
||||
'contact-number' => 'رقم الاتصال',
|
||||
'bank-details' => 'التفاصيل المصرفية',
|
||||
'mailing-address' => 'Send Check to',
|
||||
'instructions' => 'Instructions',
|
||||
'custom-scripts' => 'Custom Scripts',
|
||||
'custom-css' => 'Custom CSS',
|
||||
'custom-javascript' => 'Custom Javascript',
|
||||
'paypal-smart-button' => 'Paypal Smart Button',
|
||||
'client-id' => 'Client Id',
|
||||
'client-id-info' => 'Use "sb" for testing.'
|
||||
'mailing-address' => 'أرسل الشيك إلى',
|
||||
'instructions' => 'تعليمات',
|
||||
'custom-scripts' => 'البرامج النصية المخصصة',
|
||||
'custom-css' => 'لغة تنسيق ويب حسب الطلب',
|
||||
'custom-javascript' => 'جافا سكريبت مخصص',
|
||||
'paypal-smart-button' => 'زر Paypal الذكي',
|
||||
'client-id' => 'معرف العميل',
|
||||
'client-id-info' => 'استخدم "sb" للاختبار.'
|
||||
]
|
||||
]
|
||||
];
|
||||
|
|
|
|||
|
|
@ -85,7 +85,7 @@
|
|||
|
||||
<div class="control-group">
|
||||
<div class="control-group" :class="[errors.has(inputName + '[value]') ? 'has-error' : '']">
|
||||
<input type="number" v-validate="'required|min_value:0'" :name="[inputName + '[value]']" v-model="customerGroupPrice.value" class="control" data-vv-as=""{{ __('admin::app.datagrid.price') }}""/>
|
||||
<input type="number" v-validate="{required: true, min_value: 0, ...(customerGroupPrice.value_type === 'discount' ? {max_value: 100} : {})}" :name="[inputName + '[value]']" v-model="customerGroupPrice.value" class="control" data-vv-as=""{{ __('admin::app.datagrid.price') }}""/>
|
||||
<span class="control-error" v-if="errors.has(inputName + '[value]')">@{{ errors.first(inputName + '[value]') }}</span>
|
||||
</div>
|
||||
</div>
|
||||
|
|
@ -159,4 +159,4 @@
|
|||
}
|
||||
});
|
||||
</script>
|
||||
@endpush
|
||||
@endpush
|
||||
|
|
|
|||
|
|
@ -71,7 +71,7 @@
|
|||
|
||||
{!! view_render_event('bagisto.admin.layout.head') !!}
|
||||
</head>
|
||||
<body @if (core()->getCurrentLocale()->direction == 'rtl') class="rtl" @endif style="scroll-behavior: smooth;">
|
||||
<body @if (core()->getCurrentLocale() && core()->getCurrentLocale()->direction == 'rtl') class="rtl" @endif style="scroll-behavior: smooth;">
|
||||
<div id="app" class="container">
|
||||
|
||||
<flash-wrapper ref='flashes'></flash-wrapper>
|
||||
|
|
|
|||
|
|
@ -7,7 +7,7 @@
|
|||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||
<meta name="csrf-token" content="{{ csrf_token() }}">
|
||||
|
||||
@if ($favicon = core()->getConfigData('general.design.admin_logo.favicon'))
|
||||
@if ($favicon = core()->getConfigData('general.design.admin_logo.favicon', core()->getCurrentChannelCode()))
|
||||
<link rel="icon" sizes="16x16" href="{{ \Illuminate\Support\Facades\Storage::url($favicon) }}" />
|
||||
@else
|
||||
<link rel="icon" sizes="16x16" href="{{ asset('vendor/webkul/ui/assets/images/favicon.ico') }}" />
|
||||
|
|
|
|||
|
|
@ -457,12 +457,38 @@
|
|||
|
||||
</form>
|
||||
|
||||
|
||||
<div class="content">
|
||||
<div class="page-header">
|
||||
<div class="page-action">
|
||||
<div class="export-import" @click="showModal('downloadDataGrid')">
|
||||
<i class="export-icon"></i>
|
||||
<span >
|
||||
{{ __('admin::app.export.export') }}
|
||||
</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
<modal id="downloadDataGrid" :is-open="this.$root.modalIds.downloadDataGrid">
|
||||
<h3 slot="header">{{ __('admin::app.export.download') }}</h3>
|
||||
<div slot="body">
|
||||
<export-form></export-form>
|
||||
</div>
|
||||
</modal>
|
||||
|
||||
@inject('cartRuleCouponGrid','Webkul\Admin\DataGrids\CartRuleCouponDataGrid')
|
||||
|
||||
{!! $cartRuleCouponGrid->render() !!}
|
||||
</div>
|
||||
</script>
|
||||
|
||||
@push('scripts')
|
||||
@include('admin::export.export', ['gridName' => $cartRuleCouponGrid])
|
||||
@endpush
|
||||
|
||||
<script>
|
||||
Vue.component('cart-rule', {
|
||||
|
||||
|
|
@ -754,7 +780,11 @@
|
|||
})
|
||||
}
|
||||
});
|
||||
}
|
||||
},
|
||||
|
||||
showModal(id) {
|
||||
this.$root.$set(this.$root.modalIds, id, true);
|
||||
},
|
||||
}
|
||||
});
|
||||
</script>
|
||||
|
|
|
|||
|
|
@ -454,8 +454,14 @@
|
|||
|
||||
<tr class="bold">
|
||||
<td>{{ __('admin::app.sales.orders.total-due') }}</td>
|
||||
|
||||
<td>-</td>
|
||||
<td>{{ core()->formatBasePrice($order->base_total_due) }}</td>
|
||||
|
||||
@if($order->status !== 'canceled')
|
||||
<td>{{ core()->formatBasePrice($order->base_total_due) }}</td>
|
||||
@else
|
||||
<td id="due-amount-on-cancelled">{{ core()->formatBasePrice(0.00) }}</td>
|
||||
@endif
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
|
|
|
|||
|
|
@ -55,9 +55,13 @@
|
|||
</span>
|
||||
</div>
|
||||
|
||||
<div class="control-group">
|
||||
<div class="control-group" :class="[errors.has(controlName + '[special_price]') ? 'has-error' : '']">
|
||||
<label class="ticket-label">{{ __('bookingproduct::app.admin.catalog.products.special-price') }}</label>
|
||||
<input type="text" :name="controlName + '[special_price]'" v-model="ticketItem.special_price" class="control">
|
||||
<input type="text" v-validate="{decimal: true, min_value:0, ...(ticketItem.price ? {max_value: ticketItem.price} : {})}" :name="controlName + '[special_price]'" v-model="ticketItem.special_price" class="control" data-vv-as=""{{ __('bookingproduct::app.admin.catalog.products.price') }}"">
|
||||
|
||||
<span class="control-error" v-if="errors.has(controlName + '[special_price]')">
|
||||
@{{ errors.first(controlName + '[special_price]') }}
|
||||
</span>
|
||||
</div>
|
||||
</td>
|
||||
|
||||
|
|
|
|||
|
|
@ -8,7 +8,7 @@
|
|||
|
||||
<div class="control-group-container">
|
||||
<div class="form-group date" :class="[errors.has('booking[date]') ? 'has-error' : '']">
|
||||
<date @onChange="dateSelected($event)">
|
||||
<date @onChange="dateSelected($event)" :minDate="'{{$bookingProduct->available_from}}'" :maxDate="'{{$bookingProduct->available_to}}'">
|
||||
<input type="text" v-validate="'required'" name="booking[date]" class="form-style" data-vv-as=""{{ __('bookingproduct::app.shop.products.date') }}""/>
|
||||
</date>
|
||||
|
||||
|
|
@ -24,7 +24,7 @@
|
|||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
</script>
|
||||
|
||||
<script>
|
||||
|
|
@ -54,6 +54,6 @@
|
|||
}
|
||||
}
|
||||
});
|
||||
|
||||
|
||||
</script>
|
||||
@endpush
|
||||
@endpush
|
||||
|
|
|
|||
|
|
@ -39,6 +39,15 @@ class Install extends Command
|
|||
{
|
||||
$this->checkForEnvFile();
|
||||
|
||||
// cached new changes
|
||||
$this->warn('Step: Caching new changes...');
|
||||
$cached = $this->call('config:cache');
|
||||
$this->info($cached);
|
||||
|
||||
// waiting for 2 seconds
|
||||
$this->warn('Please wait...');
|
||||
sleep(2);
|
||||
|
||||
// running `php artisan migrate`
|
||||
$this->warn('Step: Migrating all tables into database...');
|
||||
$migrate = $this->call('migrate:fresh');
|
||||
|
|
@ -64,11 +73,6 @@ class Install extends Command
|
|||
$result = shell_exec('composer dump-autoload');
|
||||
$this->info($result);
|
||||
|
||||
// cached new changes
|
||||
$this->warn('Step: Caching new changes...');
|
||||
$cached = $this->call('config:cache');
|
||||
$this->info($cached);
|
||||
|
||||
$this->info('-----------------------------');
|
||||
$this->info('Congratulations!');
|
||||
$this->info('The installation has been finished and you can now use Bagisto.');
|
||||
|
|
|
|||
|
|
@ -16,11 +16,12 @@ class ChannelTableSeeder extends Seeder
|
|||
'code' => 'default',
|
||||
'name' => 'Default',
|
||||
'theme' => 'velocity',
|
||||
'hostname' => config('app.url'),
|
||||
'root_category_id' => 1,
|
||||
'home_page_content' => '<p>@include("shop::home.slider") @include("shop::home.featured-products") @include("shop::home.new-products")</p>
|
||||
<div class="banner-container">
|
||||
<div class="left-banner"><img data-src="themes/default/assets/images/1.webp" class="lazyload" alt="test" width="720" height="720" /></div>
|
||||
<div class="right-banner"><img data-src="themes/default/assets/images/2.webp" class="lazyload" alt="test" width="460" height="330" /> <img data-src="themes/default/assets/images/3.webp" class="lazyload" alt="test" width="460" height="330" /></div>
|
||||
<div class="left-banner"><img src='.asset("/themes/default/assets/images/1.webp").' data-src='.asset("/themes/default/assets/images/1.webp").' class="lazyload" alt="test" width="720" height="720" /></div>
|
||||
<div class="right-banner"><img src='. asset("/themes/default/assets/images/2.webp").' data-src='. asset("/themes/default/assets/images/2.webp").' class="lazyload" alt="test" width="460" height="330" /> <img src='.asset("/themes/default/assets/images/3.webp").' data-src='.asset("/themes/default/assets/images/3.webp").' class="lazyload" alt="test" width="460" height="330" /></div>
|
||||
</div>',
|
||||
'footer_content' => '<div class="list-container"><span class="list-heading">Quick Links</span><ul class="list-group"><li><a href="@php echo route(\'shop.cms.page\', \'about-us\') @endphp">About Us</a></li><li><a href="@php echo route(\'shop.cms.page\', \'return-policy\') @endphp">Return Policy</a></li><li><a href="@php echo route(\'shop.cms.page\', \'refund-policy\') @endphp">Refund Policy</a></li><li><a href="@php echo route(\'shop.cms.page\', \'terms-conditions\') @endphp">Terms and conditions</a></li><li><a href="@php echo route(\'shop.cms.page\', \'terms-of-use\') @endphp">Terms of Use</a></li><li><a href="@php echo route(\'shop.cms.page\', \'contact-us\') @endphp">Contact Us</a></li></ul></div><div class="list-container"><span class="list-heading">Connect With Us</span><ul class="list-group"><li><a href="#"><span class="icon icon-facebook"></span>Facebook </a></li><li><a href="#"><span class="icon icon-twitter"></span> Twitter </a></li><li><a href="#"><span class="icon icon-instagram"></span> Instagram </a></li><li><a href="#"> <span class="icon icon-google-plus"></span>Google+ </a></li><li><a href="#"> <span class="icon icon-linkedin"></span>LinkedIn </a></li></ul></div>',
|
||||
'name' => 'Default',
|
||||
|
|
@ -44,4 +45,4 @@ class ChannelTableSeeder extends Seeder
|
|||
'inventory_source_id' => 1,
|
||||
]);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -131,7 +131,13 @@ class Toolbar extends AbstractProduct
|
|||
{
|
||||
$params = request()->input();
|
||||
|
||||
if (isset($params['mode']) && $key == $params['mode']) {
|
||||
$defaultMode = core()->getConfigData('catalog.products.storefront.mode')
|
||||
? core()->getConfigData('catalog.products.storefront.mode')
|
||||
: 'grid';
|
||||
|
||||
if (request()->input() == null && $key == $defaultMode) {
|
||||
return true;
|
||||
} else if (isset($params['mode']) && $key == $params['mode']) {
|
||||
return true;
|
||||
}
|
||||
|
||||
|
|
|
|||
File diff suppressed because one or more lines are too long
|
|
@ -1,4 +1,4 @@
|
|||
{
|
||||
"/js/shop.js": "/js/shop.js?id=c4dfdb6d0482241432f9",
|
||||
"/css/shop.css": "/css/shop.css?id=11adc18bed8ace91c828"
|
||||
"/css/shop.css": "/css/shop.css?id=45a1e46876af32f30871"
|
||||
}
|
||||
|
|
|
|||
|
|
@ -12,8 +12,13 @@ return [
|
|||
'type' => 'boolean',
|
||||
'locale_based' => true,
|
||||
'channel_based' => true,
|
||||
],
|
||||
[
|
||||
], [
|
||||
'name' => 'wishlist_option',
|
||||
'title' => 'shop::app.products.wishlist-options',
|
||||
'type' => 'boolean',
|
||||
'locale_based' => true,
|
||||
'channel_based' => true,
|
||||
], [
|
||||
'name' => 'image_search',
|
||||
'title' => 'shop::app.search.image-search-option',
|
||||
'type' => 'boolean',
|
||||
|
|
|
|||
|
|
@ -251,6 +251,28 @@ input {
|
|||
.special-price {
|
||||
color: $disc-price;
|
||||
}
|
||||
|
||||
/*
|
||||
To Do: Start adjusting if equal height needed in default theme as well.
|
||||
*/
|
||||
.price-from {
|
||||
.bundle-regular-price {
|
||||
color: $font-light;
|
||||
text-decoration: line-through;
|
||||
margin-right: 10px;
|
||||
}
|
||||
|
||||
.bundle-special-price {
|
||||
color: $disc-price;
|
||||
}
|
||||
|
||||
.bundle-to {
|
||||
display: block;
|
||||
font-weight: 500;
|
||||
margin-top: 1px;
|
||||
margin-bottom: 1px;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
//horizontal rule
|
||||
|
|
|
|||
|
|
@ -72,8 +72,8 @@ return [
|
|||
'page-title' => 'بحث',
|
||||
'found-results' => 'تم العثور على نتائج البحث',
|
||||
'found-result' => 'تم العثور على نتيجة البحث',
|
||||
'analysed-keywords' => 'Analysed Keywords',
|
||||
'image-search-option' => 'Image Search Option'
|
||||
'analysed-keywords' => 'الكلمات الأساسية التي تم تحليلها',
|
||||
'image-search-option' => 'خيار البحث عن الصور'
|
||||
],
|
||||
|
||||
'reviews' => [
|
||||
|
|
@ -440,7 +440,8 @@ return [
|
|||
'none' => 'لا شيء',
|
||||
'available-for-order' => 'متوفر لطلب الشراء',
|
||||
'settings' => 'Settings',
|
||||
'compare_options' => 'Compare Options',
|
||||
'compare_options' => 'قارن الخيارات',
|
||||
'wishlist-options' => 'Wishlist Options'
|
||||
],
|
||||
|
||||
// 'reviews' => [
|
||||
|
|
|
|||
|
|
@ -438,6 +438,7 @@ return [
|
|||
'available' => 'Verfügbar',
|
||||
'settings' => 'Settings',
|
||||
'compare_options' => 'Compare Options',
|
||||
'wishlist-options' => 'Wishlist Options'
|
||||
],
|
||||
|
||||
// 'reviews' => [
|
||||
|
|
|
|||
|
|
@ -441,6 +441,7 @@ return [
|
|||
'available-for-order' => 'Available for Order',
|
||||
'settings' => 'Settings',
|
||||
'compare_options' => 'Compare Options',
|
||||
'wishlist-options' => 'Wishlist Options'
|
||||
],
|
||||
|
||||
// 'reviews' => [
|
||||
|
|
|
|||
|
|
@ -411,6 +411,7 @@ return [
|
|||
'available-for-order' => 'Disponible para ordenar',
|
||||
'settings' => 'Settings',
|
||||
'compare_options' => 'Compare Options',
|
||||
'wishlist-options' => 'Wishlist Options'
|
||||
],
|
||||
|
||||
// 'reviews' => [
|
||||
|
|
|
|||
|
|
@ -440,6 +440,7 @@ return [
|
|||
'available-for-order' => 'Available for Order',
|
||||
'settings' => 'Settings',
|
||||
'compare_options' => 'Compare Options',
|
||||
'wishlist-options' => 'Wishlist Options'
|
||||
],
|
||||
|
||||
// 'reviews' => [
|
||||
|
|
|
|||
|
|
@ -438,6 +438,7 @@ return [
|
|||
'available-for-order' => 'Disponibile per lordine',
|
||||
'settings' => 'Settings',
|
||||
'compare_options' => 'Compare Options',
|
||||
'wishlist-options' => 'Wishlist Options'
|
||||
],
|
||||
|
||||
// 'reviews' => [
|
||||
|
|
|
|||
|
|
@ -407,6 +407,7 @@ return [
|
|||
'available-for-order' => '注文可能',
|
||||
'settings' => 'Settings',
|
||||
'compare_options' => 'Compare Options',
|
||||
'wishlist-options' => 'Wishlist Options'
|
||||
],
|
||||
|
||||
'buynow' => [
|
||||
|
|
|
|||
|
|
@ -445,6 +445,7 @@ return [
|
|||
'available-for-order' => 'Beschikbaar voor bestelling',
|
||||
'settings' => 'Settings',
|
||||
'compare_options' => 'Compare Options',
|
||||
'wishlist-options' => 'Wishlist Options'
|
||||
],
|
||||
|
||||
// 'reviews' => [
|
||||
|
|
|
|||
|
|
@ -438,6 +438,7 @@ return [
|
|||
'available-for-order' => 'Dostępne na zamówienie',
|
||||
'settings' => 'Settings',
|
||||
'compare_options' => 'Compare Options',
|
||||
'wishlist-options' => 'Wishlist Options'
|
||||
],
|
||||
|
||||
// 'reviews' => [
|
||||
|
|
|
|||
|
|
@ -428,6 +428,7 @@ return [
|
|||
'available-for-order' => 'Disponível para encomenda',
|
||||
'settings' => 'Settings',
|
||||
'compare_options' => 'Compare Options',
|
||||
'wishlist-options' => 'Wishlist Options'
|
||||
],
|
||||
|
||||
// 'reviews' => [
|
||||
|
|
|
|||
|
|
@ -438,6 +438,7 @@ return [
|
|||
'available-for-order' => 'Sipariş İçin Uygun',
|
||||
'settings' => 'Settings',
|
||||
'compare_options' => 'Compare Options',
|
||||
'wishlist-options' => 'Wishlist Options'
|
||||
],
|
||||
|
||||
// 'reviews' => [
|
||||
|
|
|
|||
|
|
@ -87,13 +87,19 @@
|
|||
<a href="{{ route('shop.checkout.cart.remove', $item->id) }}" onclick="removeLink('{{ __('shop::app.checkout.cart.cart-remove-action') }}')">{{ __('shop::app.checkout.cart.remove-link') }}</a></span>
|
||||
|
||||
@auth('customer')
|
||||
<span class="towishlist">
|
||||
@if ($item->parent_id != 'null' ||$item->parent_id != null)
|
||||
<a href="{{ route('shop.movetowishlist', $item->id) }}" onclick="removeLink('{{ __('shop::app.checkout.cart.cart-remove-action') }}')">{{ __('shop::app.checkout.cart.move-to-wishlist') }}</a>
|
||||
@else
|
||||
<a href="{{ route('shop.movetowishlist', $item->child->id) }}" onclick="removeLink('{{ __('shop::app.checkout.cart.cart-remove-action') }}')">{{ __('shop::app.checkout.cart.move-to-wishlist') }}</a>
|
||||
@php
|
||||
$showWishlist = core()->getConfigData('general.content.shop.wishlist_option') == "1" ? true : false;
|
||||
@endphp
|
||||
|
||||
@if ($showWishlist)
|
||||
<span class="towishlist">
|
||||
@if ($item->parent_id != 'null' ||$item->parent_id != null)
|
||||
<a href="{{ route('shop.movetowishlist', $item->id) }}" onclick="removeLink('{{ __('shop::app.checkout.cart.cart-remove-action') }}')">{{ __('shop::app.checkout.cart.move-to-wishlist') }}</a>
|
||||
@else
|
||||
<a href="{{ route('shop.movetowishlist', $item->child->id) }}" onclick="removeLink('{{ __('shop::app.checkout.cart.cart-remove-action') }}')">{{ __('shop::app.checkout.cart.move-to-wishlist') }}</a>
|
||||
@endif
|
||||
</span>
|
||||
@endif
|
||||
</span>
|
||||
@endauth
|
||||
</div>
|
||||
|
||||
|
|
|
|||
|
|
@ -194,8 +194,14 @@
|
|||
|
||||
<tr class="bold">
|
||||
<td>{{ __('shop::app.customer.account.order.view.total-due') }}</td>
|
||||
|
||||
<td>-</td>
|
||||
<td>{{ core()->formatPrice($order->total_due, $order->order_currency_code) }}</td>
|
||||
|
||||
@if($order->status !== 'canceled')
|
||||
<td>{{ core()->formatPrice($order->total_due, $order->order_currency_code) }}</td>
|
||||
@else
|
||||
<td>{{ core()->formatPrice(0.00, $order->order_currency_code) }}</td>
|
||||
@endif
|
||||
</tr>
|
||||
<tbody>
|
||||
</table>
|
||||
|
|
|
|||
|
|
@ -11,6 +11,8 @@
|
|||
<ul class="menubar">
|
||||
@php
|
||||
$showCompare = core()->getConfigData('general.content.shop.compare_option') == "1" ? true : false;
|
||||
|
||||
$showWishlist = core()->getConfigData('general.content.shop.wishlist_option') == "1" ? true : false;
|
||||
@endphp
|
||||
|
||||
@if (! $showCompare)
|
||||
|
|
@ -19,6 +21,12 @@
|
|||
@endphp
|
||||
@endif
|
||||
|
||||
@if (! $showWishlist)
|
||||
@php
|
||||
unset($menuItem['children']['wishlist']);
|
||||
@endphp
|
||||
@endif
|
||||
|
||||
@foreach ($menuItem['children'] as $subMenuItem)
|
||||
<li class="menu-item {{ $menu->getActive($subMenuItem) }}">
|
||||
<a href="{{ $subMenuItem['url'] }}">
|
||||
|
|
|
|||
|
|
@ -150,6 +150,10 @@
|
|||
@endguest
|
||||
|
||||
@auth('customer')
|
||||
@php
|
||||
$showWishlist = core()->getConfigData('general.content.shop.wishlist_option') == "1" ? true : false;
|
||||
@endphp
|
||||
|
||||
<ul class="dropdown-list account customer">
|
||||
<li>
|
||||
<div>
|
||||
|
|
@ -163,9 +167,11 @@
|
|||
<a href="{{ route('customer.profile.index') }}">{{ __('shop::app.header.profile') }}</a>
|
||||
</li>
|
||||
|
||||
<li>
|
||||
<a href="{{ route('customer.wishlist.index') }}">{{ __('shop::app.header.wishlist') }}</a>
|
||||
</li>
|
||||
@if ($showWishlist)
|
||||
<li>
|
||||
<a href="{{ route('customer.wishlist.index') }}">{{ __('shop::app.header.wishlist') }}</a>
|
||||
</li>
|
||||
@endif
|
||||
|
||||
<li>
|
||||
<a href="{{ route('shop.checkout.cart.index') }}">{{ __('shop::app.header.cart') }}</a>
|
||||
|
|
@ -391,4 +397,4 @@
|
|||
}
|
||||
});
|
||||
</script>
|
||||
@endpush
|
||||
@endpush
|
||||
|
|
@ -39,7 +39,7 @@
|
|||
</head>
|
||||
|
||||
|
||||
<body @if (core()->getCurrentLocale()->direction == 'rtl') class="rtl" @endif style="scroll-behavior: smooth;">
|
||||
<body @if (core()->getCurrentLocale() && core()->getCurrentLocale()->direction == 'rtl') class="rtl" @endif style="scroll-behavior: smooth;">
|
||||
|
||||
{!! view_render_event('bagisto.shop.layout.body.before') !!}
|
||||
|
||||
|
|
@ -103,7 +103,7 @@
|
|||
@endif
|
||||
|
||||
window.serverErrors = [];
|
||||
|
||||
|
||||
@if (isset($errors))
|
||||
@if (count($errors))
|
||||
window.serverErrors = @json($errors->getMessages());
|
||||
|
|
|
|||
|
|
@ -1,5 +1,7 @@
|
|||
@php
|
||||
$showCompare = core()->getConfigData('general.content.shop.compare_option') == "1" ? true : false
|
||||
$showCompare = core()->getConfigData('general.content.shop.compare_option') == "1" ? true : false;
|
||||
|
||||
$showWishlist = core()->getConfigData('general.content.shop.wishlist_option') == "1" ? true : false;
|
||||
@endphp
|
||||
|
||||
<div class="cart-wish-wrap">
|
||||
|
|
@ -10,8 +12,10 @@
|
|||
<button class="btn btn-lg btn-primary addtocart" {{ $product->isSaleable() ? '' : 'disabled' }}>{{ ($product->type == 'booking') ? __('shop::app.products.book-now') : __('shop::app.products.add-to-cart') }}</button>
|
||||
</form>
|
||||
|
||||
@include('shop::products.wishlist')
|
||||
|
||||
@if ($showWishlist)
|
||||
@include('shop::products.wishlist')
|
||||
@endif
|
||||
|
||||
@if ($showCompare)
|
||||
@include('shop::products.compare', [
|
||||
'productId' => $product->id
|
||||
|
|
|
|||
|
|
@ -39,12 +39,20 @@
|
|||
</li>
|
||||
</ul>
|
||||
|
||||
|
||||
|
||||
<div class="product-hero-image" id="product-hero-image">
|
||||
<img :src="currentLargeImageUrl" id="pro-img" :data-image="currentOriginalImageUrl" alt=""/>
|
||||
|
||||
@auth('customer')
|
||||
<a @if ($wishListHelper->getWishlistProduct($product)) class="add-to-wishlist already" @else class="add-to-wishlist" @endif href="{{ route('customer.wishlist.add', $product->product_id) }}">
|
||||
</a>
|
||||
@php
|
||||
$showWishlist = core()->getConfigData('general.content.shop.wishlist_option') == "1" ? true : false;
|
||||
@endphp
|
||||
|
||||
@if ($showWishlist)
|
||||
<a @if ($wishListHelper->getWishlistProduct($product)) class="add-to-wishlist already" @else class="add-to-wishlist" @endif href="{{ route('customer.wishlist.add', $product->product_id) }}">
|
||||
</a>
|
||||
@endif
|
||||
@endauth
|
||||
</div>
|
||||
|
||||
|
|
|
|||
File diff suppressed because one or more lines are too long
|
|
@ -1,18 +1,18 @@
|
|||
/* flatpickr v4.6.3, @license MIT */
|
||||
/* flatpickr v4.6.6, @license MIT */
|
||||
|
||||
/*! *****************************************************************************
|
||||
Copyright (c) Microsoft Corporation. All rights reserved.
|
||||
Licensed under the Apache License, Version 2.0 (the "License"); you may not use
|
||||
this file except in compliance with the License. You may obtain a copy of the
|
||||
License at http://www.apache.org/licenses/LICENSE-2.0
|
||||
Copyright (c) Microsoft Corporation.
|
||||
|
||||
THIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
||||
KIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED
|
||||
WARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,
|
||||
MERCHANTABLITY OR NON-INFRINGEMENT.
|
||||
Permission to use, copy, modify, and/or distribute this software for any
|
||||
purpose with or without fee is hereby granted.
|
||||
|
||||
See the Apache Version 2.0 License for specific language governing permissions
|
||||
and limitations under the License.
|
||||
THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
|
||||
REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
|
||||
AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
|
||||
INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
|
||||
LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
|
||||
OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
|
||||
PERFORMANCE OF THIS SOFTWARE.
|
||||
***************************************************************************** */
|
||||
|
||||
/**
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
{
|
||||
"/js/ui.js": "/js/ui.js?id=706b63016a08ec91d32b",
|
||||
"/js/ui.js": "/js/ui.js?id=2cf17b86ea451828fd09",
|
||||
"/css/ui.css": "/css/ui.css?id=5673703005b2ac3d0889"
|
||||
}
|
||||
|
|
|
|||
|
|
@ -479,6 +479,146 @@ abstract class DataGrid
|
|||
$filter_value
|
||||
);
|
||||
}
|
||||
} elseif ($columnType === 'boolean') {
|
||||
if ($this->enableFilterMap && isset($this->filterMap[$columnName])) {
|
||||
if ($this->operators[$condition] == '=') {
|
||||
if ($filter_value == 1) {
|
||||
$collection->Where(function($query) use($columnName, $condition, $filter_value) {
|
||||
$query->where(
|
||||
$this->filterMap[$columnName],
|
||||
$this->operators[$condition],
|
||||
$filter_value
|
||||
)->orWhereNotNull($this->filterMap[$columnName]);
|
||||
});
|
||||
} else {
|
||||
$collection->Where(function($query) use($columnName, $condition, $filter_value) {
|
||||
$query->where(
|
||||
$this->filterMap[$columnName],
|
||||
$this->operators[$condition],
|
||||
$filter_value
|
||||
)->orWhereNull($this->filterMap[$columnName]);
|
||||
});
|
||||
}
|
||||
} elseif ($this->operators[$condition] == '<>') {
|
||||
if ($filter_value == 1) {
|
||||
$collection->Where(function($query) use($columnName, $condition, $filter_value) {
|
||||
$query->where(
|
||||
$this->filterMap[$columnName],
|
||||
$this->operators[$condition],
|
||||
$filter_value
|
||||
)->orWhereNull($this->filterMap[$columnName]);
|
||||
});
|
||||
} else {
|
||||
$collection->Where(function($query) use($columnName, $condition, $filter_value) {
|
||||
$query->where(
|
||||
$this->filterMap[$columnName],
|
||||
$this->operators[$condition],
|
||||
$filter_value
|
||||
)->orWhereNotNull($this->filterMap[$columnName]);
|
||||
});
|
||||
}
|
||||
} else {
|
||||
$collection->Where(function($query) use($columnName, $condition, $filter_value) {
|
||||
$query->where(
|
||||
$this->filterMap[$columnName],
|
||||
$this->operators[$condition],
|
||||
$filter_value
|
||||
);
|
||||
});
|
||||
}
|
||||
} elseif ($this->enableFilterMap && ! isset($this->filterMap[$columnName])) {
|
||||
if ($this->operators[$condition] == '=') {
|
||||
if ($filter_value == 1) {
|
||||
$collection->Where(function($query) use($columnName, $condition, $filter_value) {
|
||||
$query->where(
|
||||
$columnName,
|
||||
$this->operators[$condition],
|
||||
$filter_value
|
||||
)->orWhereNotNull($this->filterMap[$columnName]);
|
||||
});
|
||||
} else {
|
||||
$collection->Where(function($query) use($columnName, $condition, $filter_value) {
|
||||
$query->where(
|
||||
$columnName,
|
||||
$this->operators[$condition],
|
||||
$filter_value
|
||||
)->orWhereNull($this->filterMap[$columnName]);
|
||||
});
|
||||
}
|
||||
} elseif ($this->operators[$condition] == '<>') {
|
||||
if ($filter_value == 1) {
|
||||
$collection->Where(function($query) use($columnName, $condition, $filter_value) {
|
||||
$query->where(
|
||||
$columnName,
|
||||
$this->operators[$condition],
|
||||
$filter_value
|
||||
)->orWhereNull($this->filterMap[$columnName]);
|
||||
});
|
||||
} else {
|
||||
$collection->Where(function($query) use($columnName, $condition, $filter_value) {
|
||||
$query->where(
|
||||
$columnName,
|
||||
$this->operators[$condition],
|
||||
$filter_value
|
||||
)->orWhereNotNull($this->filterMap[$columnName]);
|
||||
});
|
||||
}
|
||||
} else {
|
||||
$collection->Where(function($query) use($columnName, $condition, $filter_value) {
|
||||
$query->where(
|
||||
$columnName,
|
||||
$this->operators[$condition],
|
||||
$filter_value
|
||||
);
|
||||
});
|
||||
}
|
||||
} else {
|
||||
if ($this->operators[$condition] == '=') {
|
||||
if ($filter_value == 1) {
|
||||
$collection->Where(function($query) use($columnName, $condition, $filter_value) {
|
||||
$query->where(
|
||||
$columnName,
|
||||
$this->operators[$condition],
|
||||
$filter_value
|
||||
)->orWhereNotNull($this->filterMap[$columnName]);
|
||||
});
|
||||
} else {
|
||||
$collection->Where(function($query) use($columnName, $condition, $filter_value) {
|
||||
$query->where(
|
||||
$columnName,
|
||||
$this->operators[$condition],
|
||||
$filter_value
|
||||
)->orWhereNull($this->filterMap[$columnName]);
|
||||
});
|
||||
}
|
||||
} elseif ($this->operators[$condition] == '<>') {
|
||||
if ($filter_value == 1) {
|
||||
$collection->Where(function($query) use($columnName, $condition, $filter_value) {
|
||||
$query->where(
|
||||
$columnName,
|
||||
$this->operators[$condition],
|
||||
$filter_value
|
||||
)->orWhereNull($this->filterMap[$columnName]);
|
||||
});
|
||||
} else {
|
||||
$collection->Where(function($query) use($columnName, $condition, $filter_value) {
|
||||
$query->where(
|
||||
$columnName,
|
||||
$this->operators[$condition],
|
||||
$filter_value
|
||||
)->orWhereNotNull($this->filterMap[$columnName]);
|
||||
});
|
||||
}
|
||||
} else {
|
||||
$collection->Where(function($query) use($columnName, $condition, $filter_value) {
|
||||
$query->where(
|
||||
$columnName,
|
||||
$this->operators[$condition],
|
||||
$filter_value
|
||||
);
|
||||
});
|
||||
}
|
||||
}
|
||||
} else {
|
||||
if ($this->enableFilterMap && isset($this->filterMap[$columnName])) {
|
||||
$collection->where(
|
||||
|
|
|
|||
|
|
@ -1,54 +1,73 @@
|
|||
<template>
|
||||
<span>
|
||||
<slot>
|
||||
<input type="text" :name="name" class="control" :value="value" data-input>
|
||||
</slot>
|
||||
|
||||
<span
|
||||
class="icon cross-icon"
|
||||
v-if="! hideRemoveButton"
|
||||
@click.prevent="clear">
|
||||
</span>
|
||||
</span>
|
||||
<span>
|
||||
<slot>
|
||||
<input
|
||||
type="text"
|
||||
:name="name"
|
||||
class="control"
|
||||
:value="value"
|
||||
data-input
|
||||
/>
|
||||
</slot>
|
||||
|
||||
<span
|
||||
class="icon cross-icon"
|
||||
v-if="!hideRemoveButton"
|
||||
@click.prevent="clear"
|
||||
>
|
||||
</span>
|
||||
</span>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import Flatpickr from 'flatpickr';
|
||||
import Flatpickr from "flatpickr";
|
||||
|
||||
export default {
|
||||
props: {
|
||||
name: String,
|
||||
props: {
|
||||
name: String,
|
||||
|
||||
value: String,
|
||||
value: String,
|
||||
|
||||
hideRemoveButton: [Number, String]
|
||||
},
|
||||
minDate: String,
|
||||
|
||||
data () {
|
||||
return {
|
||||
datepicker: null
|
||||
}
|
||||
},
|
||||
maxDate: String,
|
||||
|
||||
mounted () {
|
||||
var this_this = this;
|
||||
hideRemoveButton: [Number, String],
|
||||
},
|
||||
|
||||
var element = this.$el.getElementsByTagName('input')[0];
|
||||
this.datepicker = new Flatpickr(
|
||||
element, {
|
||||
allowInput: true,
|
||||
altFormat: 'Y-m-d',
|
||||
dateFormat: 'Y-m-d',
|
||||
weekNumbers: true,
|
||||
onChange: function(selectedDates, dateStr, instance) {
|
||||
this_this.$emit('onChange', dateStr)
|
||||
},
|
||||
});
|
||||
},
|
||||
methods: {
|
||||
clear() {
|
||||
this.datepicker.clear();
|
||||
}
|
||||
data() {
|
||||
return {
|
||||
datepicker: null,
|
||||
};
|
||||
},
|
||||
|
||||
mounted() {
|
||||
var this_this = this;
|
||||
var options = {
|
||||
allowInput: true,
|
||||
altFormat: "Y-m-d",
|
||||
dateFormat: "Y-m-d",
|
||||
weekNumbers: true,
|
||||
onChange: function(selectedDates, dateStr, instance) {
|
||||
this_this.$emit("onChange", dateStr);
|
||||
},
|
||||
};
|
||||
|
||||
if (this.minDate) {
|
||||
options.minDate = this.minDate;
|
||||
}
|
||||
};
|
||||
</script>
|
||||
|
||||
if (this.maxDate) {
|
||||
options.maxDate = this.maxDate;
|
||||
}
|
||||
|
||||
var element = this.$el.getElementsByTagName("input")[0];
|
||||
this.datepicker = new Flatpickr(element, options);
|
||||
},
|
||||
methods: {
|
||||
clear() {
|
||||
this.datepicker.clear();
|
||||
},
|
||||
},
|
||||
};
|
||||
</script>
|
||||
|
|
|
|||
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
|
|
@ -1,5 +1,5 @@
|
|||
{
|
||||
"/js/velocity.js": "/js/velocity.js?id=5564b51adff2922a266b",
|
||||
"/js/velocity.js": "/js/velocity.js?id=b9eef40002c7ceeef010",
|
||||
"/css/velocity-admin.css": "/css/velocity-admin.css?id=4322502d80a0e4a0affd",
|
||||
"/css/velocity.css": "/css/velocity.css?id=309f441b02ca99989315"
|
||||
"/css/velocity.css": "/css/velocity.css?id=fda6b6f28d7565f01457"
|
||||
}
|
||||
|
|
|
|||
|
|
@ -132,6 +132,104 @@ class VelocityMetaDataSeeder extends Seeder
|
|||
'updated_at' => $now,
|
||||
],
|
||||
|
||||
//Wishlist show config data
|
||||
[
|
||||
'code' => 'general.content.shop.wishlist_option',
|
||||
'value' => '1',
|
||||
'channel_code' => 'default',
|
||||
'locale_code' => 'en',
|
||||
'created_at' => $now,
|
||||
'updated_at' => $now,
|
||||
],
|
||||
[
|
||||
'code' => 'general.content.shop.wishlist_option',
|
||||
'value' => '1',
|
||||
'channel_code' => 'default',
|
||||
'locale_code' => 'fr',
|
||||
'created_at' => $now,
|
||||
'updated_at' => $now,
|
||||
],
|
||||
[
|
||||
'code' => 'general.content.shop.wishlist_option',
|
||||
'value' => '1',
|
||||
'channel_code' => 'default',
|
||||
'locale_code' => 'ar',
|
||||
'created_at' => $now,
|
||||
'updated_at' => $now,
|
||||
],
|
||||
[
|
||||
'code' => 'general.content.shop.wishlist_option',
|
||||
'value' => '1',
|
||||
'channel_code' => 'default',
|
||||
'locale_code' => 'de',
|
||||
'created_at' => $now,
|
||||
'updated_at' => $now,
|
||||
],
|
||||
[
|
||||
'code' => 'general.content.shop.wishlist_option',
|
||||
'value' => '1',
|
||||
'channel_code' => 'default',
|
||||
'locale_code' => 'es',
|
||||
'created_at' => $now,
|
||||
'updated_at' => $now,
|
||||
],
|
||||
[
|
||||
'code' => 'general.content.shop.wishlist_option',
|
||||
'value' => '1',
|
||||
'channel_code' => 'default',
|
||||
'locale_code' => 'fa',
|
||||
'created_at' => $now,
|
||||
'updated_at' => $now,
|
||||
],
|
||||
[
|
||||
'code' => 'general.content.shop.wishlist_option',
|
||||
'value' => '1',
|
||||
'channel_code' => 'default',
|
||||
'locale_code' => 'it',
|
||||
'created_at' => $now,
|
||||
'updated_at' => $now,
|
||||
],
|
||||
[
|
||||
'code' => 'general.content.shop.wishlist_option',
|
||||
'value' => '1',
|
||||
'channel_code' => 'default',
|
||||
'locale_code' => 'ja',
|
||||
'created_at' => $now,
|
||||
'updated_at' => $now,
|
||||
],
|
||||
[
|
||||
'code' => 'general.content.shop.wishlist_option',
|
||||
'value' => '1',
|
||||
'channel_code' => 'default',
|
||||
'locale_code' => 'nl',
|
||||
'created_at' => $now,
|
||||
'updated_at' => $now,
|
||||
],
|
||||
[
|
||||
'code' => 'general.content.shop.wishlist_option',
|
||||
'value' => '1',
|
||||
'channel_code' => 'default',
|
||||
'locale_code' => 'pl',
|
||||
'created_at' => $now,
|
||||
'updated_at' => $now,
|
||||
],
|
||||
[
|
||||
'code' => 'general.content.shop.wishlist_option',
|
||||
'value' => '1',
|
||||
'channel_code' => 'default',
|
||||
'locale_code' => 'pt_BR',
|
||||
'created_at' => $now,
|
||||
'updated_at' => $now,
|
||||
],
|
||||
[
|
||||
'code' => 'general.content.shop.wishlist_option',
|
||||
'value' => '1',
|
||||
'channel_code' => 'default',
|
||||
'locale_code' => 'tr',
|
||||
'created_at' => $now,
|
||||
'updated_at' => $now,
|
||||
],
|
||||
|
||||
/* Image search core config data starts here */
|
||||
[
|
||||
'code' => 'general.content.shop.image_search',
|
||||
|
|
@ -232,4 +330,4 @@ class VelocityMetaDataSeeder extends Seeder
|
|||
/* Image search core config data ends here */
|
||||
]);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -1,6 +1,6 @@
|
|||
<template>
|
||||
<form method="POST" @submit.prevent="addToCart">
|
||||
|
||||
|
||||
<!-- for move to cart from wishlist -->
|
||||
<a
|
||||
:href="wishlistMoveRoute"
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
<template>
|
||||
<div class="magnifier col-12 text-center no-padding">
|
||||
<div class="magnifier">
|
||||
<img
|
||||
:src="src"
|
||||
:data-zoom-image="src"
|
||||
|
|
|
|||
|
|
@ -12,6 +12,7 @@
|
|||
<slide
|
||||
:key="index"
|
||||
:slot="`slide-${index}`"
|
||||
title=" "
|
||||
v-for="(image, index) in product.galleryImages">
|
||||
|
||||
<li class="selected" @click="showProductDetails = false">
|
||||
|
|
|
|||
|
|
@ -1,3 +1,9 @@
|
|||
/*
|
||||
Added back again because in chrome this is not using and light house also saying not used.
|
||||
But in mozilla all fonts are gone which creating problem.
|
||||
*/
|
||||
@import url('https://fonts.googleapis.com/css?family=Source+Sans+Pro&display=swap');
|
||||
|
||||
//velocity variables
|
||||
$white-color: #FFFFFF;
|
||||
$black-color: #111111;
|
||||
|
|
|
|||
|
|
@ -481,8 +481,8 @@ header {
|
|||
}
|
||||
}
|
||||
|
||||
/* To Do: To avoid CLS reserve width for all locale */
|
||||
.mini-cart-container {
|
||||
width: 125px;
|
||||
height: 50px;
|
||||
padding: 5px 17px;
|
||||
|
||||
|
|
|
|||
|
|
@ -241,6 +241,7 @@
|
|||
|
||||
img {
|
||||
width: 100%;
|
||||
height: auto;
|
||||
max-height: 190px;
|
||||
}
|
||||
}
|
||||
|
|
@ -1677,12 +1678,11 @@
|
|||
}
|
||||
|
||||
.bundle-to {
|
||||
text-align: center;
|
||||
display: block;
|
||||
font-size: 15px !important;
|
||||
font-weight: 500;
|
||||
margin-top: 1px;
|
||||
margin-bottom: 1px;
|
||||
display: block;
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -2336,6 +2336,24 @@
|
|||
|
||||
.recetly-viewed-products-wrapper {
|
||||
padding: 2px;
|
||||
|
||||
.price-from {
|
||||
.bundle-regular-price {
|
||||
display: none;
|
||||
}
|
||||
|
||||
.bundle-special-price {
|
||||
font-size: 15px !important;
|
||||
font-weight: 600;
|
||||
}
|
||||
|
||||
.bundle-to {
|
||||
display: unset;
|
||||
margin: 0 2px;
|
||||
font-size: 15px !important;
|
||||
font-weight: 500;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.category-page-wrapper {
|
||||
|
|
@ -2463,6 +2481,11 @@
|
|||
.action {
|
||||
position: relative;
|
||||
|
||||
.btn-add-to-cart {
|
||||
width: 125px !important;
|
||||
white-space: pre-wrap;
|
||||
}
|
||||
|
||||
.close-btn {
|
||||
right: 0;
|
||||
top: 6px;
|
||||
|
|
|
|||
|
|
@ -1,9 +1,26 @@
|
|||
|
||||
.vc-small-screen {
|
||||
display: none !important;
|
||||
}
|
||||
|
||||
/* large devices */
|
||||
@media only screen and (max-width: 1192px) {
|
||||
|
||||
.sticky-header {
|
||||
display: block !important;
|
||||
}
|
||||
|
||||
.vc-full-screen {
|
||||
display: block !important;
|
||||
}
|
||||
|
||||
.vc-small-screen {
|
||||
display: none !important;
|
||||
}
|
||||
|
||||
#main-category {
|
||||
display: block !important;
|
||||
}
|
||||
|
||||
.footer {
|
||||
.footer-content {
|
||||
.newsletter-subscription {
|
||||
|
|
@ -31,72 +48,7 @@
|
|||
}
|
||||
}
|
||||
|
||||
|
||||
@media only screen and (max-width: 992px) {
|
||||
|
||||
}
|
||||
|
||||
@media only screen and (max-width: 768px) {
|
||||
.modal-container {
|
||||
left: 10%;
|
||||
max-width: 80%;
|
||||
margin-left: 0px;
|
||||
}
|
||||
|
||||
.footer .footer-list-container {
|
||||
padding-left: 0px !important;
|
||||
}
|
||||
.footer .currency {
|
||||
display: block !important;
|
||||
}
|
||||
|
||||
|
||||
.table {
|
||||
width: 90%;
|
||||
margin-bottom: 1rem;
|
||||
margin-top: 68px;
|
||||
color: #212529;
|
||||
overflow-x: auto;
|
||||
}
|
||||
|
||||
.per-page {
|
||||
position: absolute;
|
||||
margin-top: 66px;
|
||||
margin-right: -1px;
|
||||
margin-left: 17px;
|
||||
width: 151px;
|
||||
}
|
||||
|
||||
.filter-left {
|
||||
position: relative;
|
||||
margin-right: -6px!important;
|
||||
}
|
||||
|
||||
.dropdown-filters {
|
||||
margin-left: 15px;
|
||||
}
|
||||
|
||||
button.btn.btn-sm.btn-primary.apply-filter {
|
||||
margin-top: 10px;
|
||||
margin-left: -158px;
|
||||
}
|
||||
|
||||
.lg-card-container.list-card .product-image {
|
||||
max-height: 85px;
|
||||
}
|
||||
|
||||
.quick-view-btn-container {
|
||||
left: -26px;
|
||||
width: 109px;
|
||||
}
|
||||
|
||||
.quick-view-btn-container span {
|
||||
left: 24%;
|
||||
top: -24px;
|
||||
font-size: 13px;
|
||||
}
|
||||
}
|
||||
|
||||
/* medium devices */
|
||||
@media only screen and (max-width: 992px) {
|
||||
$header-height: 50px;
|
||||
|
||||
|
|
@ -108,14 +60,33 @@
|
|||
}
|
||||
}
|
||||
|
||||
.main-container-wrapper {
|
||||
// position: relative;
|
||||
#webheader {
|
||||
display: none !important;
|
||||
position: fixed;
|
||||
background-color: $white-color;
|
||||
}
|
||||
|
||||
#main-category {
|
||||
display: none !important;
|
||||
}
|
||||
|
||||
#home-right-bar-container {
|
||||
position: relative;
|
||||
top: -48px;
|
||||
}
|
||||
|
||||
.vc-full-screen {
|
||||
display: none !important;
|
||||
}
|
||||
|
||||
.vc-small-screen {
|
||||
display: block !important;
|
||||
}
|
||||
|
||||
.force-center {
|
||||
margin: 0 auto !important;
|
||||
}
|
||||
|
||||
.main-content-wrapper {
|
||||
z-index: 100;
|
||||
margin-bottom: 25px;
|
||||
|
|
@ -511,6 +482,7 @@
|
|||
}
|
||||
|
||||
#search-form {
|
||||
background: transparent;
|
||||
width: 100%;
|
||||
|
||||
.selectdiv {
|
||||
|
|
@ -563,16 +535,11 @@
|
|||
margin-bottom: 10px;
|
||||
}
|
||||
|
||||
.main-product-image {
|
||||
display: none;
|
||||
}
|
||||
|
||||
.product-detail {
|
||||
#product-form {
|
||||
.form-container {
|
||||
.left {
|
||||
top: 0px;
|
||||
padding: 0px;
|
||||
position: relative;
|
||||
margin-bottom: 20px;
|
||||
|
||||
|
|
@ -580,10 +547,6 @@
|
|||
width: 100%;
|
||||
}
|
||||
}
|
||||
|
||||
.right {
|
||||
padding: 0px;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -1025,3 +988,90 @@
|
|||
display: inline-block;
|
||||
}
|
||||
}
|
||||
|
||||
/* small devices */
|
||||
@media only screen and (max-width: 768px) {
|
||||
.sticky-header {
|
||||
display: none !important;
|
||||
}
|
||||
|
||||
#home-right-bar-container {
|
||||
position: unset;
|
||||
top: unset;
|
||||
}
|
||||
|
||||
.modal-container {
|
||||
left: 10%;
|
||||
max-width: 80%;
|
||||
margin-left: 0px;
|
||||
}
|
||||
|
||||
.footer .footer-list-container {
|
||||
padding-left: 0px !important;
|
||||
}
|
||||
|
||||
.footer .currency {
|
||||
display: block !important;
|
||||
}
|
||||
|
||||
.table {
|
||||
width: 90%;
|
||||
margin-bottom: 1rem;
|
||||
margin-top: 68px;
|
||||
color: #212529;
|
||||
overflow-x: auto;
|
||||
}
|
||||
|
||||
.per-page {
|
||||
position: absolute;
|
||||
margin-top: 66px;
|
||||
margin-right: -1px;
|
||||
margin-left: 17px;
|
||||
width: 151px;
|
||||
}
|
||||
|
||||
.filter-left {
|
||||
position: relative;
|
||||
margin-right: -6px!important;
|
||||
}
|
||||
|
||||
.dropdown-filters {
|
||||
margin-left: 15px;
|
||||
}
|
||||
|
||||
button.btn.btn-sm.btn-primary.apply-filter {
|
||||
margin-top: 10px;
|
||||
margin-left: -158px;
|
||||
}
|
||||
|
||||
.lg-card-container.list-card .product-image {
|
||||
max-height: 85px;
|
||||
}
|
||||
|
||||
.quick-view-btn-container {
|
||||
left: -26px;
|
||||
width: 109px;
|
||||
}
|
||||
|
||||
.quick-view-btn-container span {
|
||||
left: 24%;
|
||||
top: -24px;
|
||||
font-size: 13px;
|
||||
}
|
||||
|
||||
.quick-view-in-list {
|
||||
display: none;
|
||||
}
|
||||
}
|
||||
|
||||
/* very small devices */
|
||||
@media only screen and (max-width: 320px) {
|
||||
.sticky-header {
|
||||
display: none !important;
|
||||
}
|
||||
|
||||
#home-right-bar-container {
|
||||
position: unset;
|
||||
top: unset;
|
||||
}
|
||||
}
|
||||
|
|
@ -166,8 +166,28 @@
|
|||
}
|
||||
|
||||
.product-price {
|
||||
.sticker {
|
||||
display: none;
|
||||
height: unset;
|
||||
|
||||
.price-from {
|
||||
.bundle-regular-price {
|
||||
font-size: 20px !important;
|
||||
font-weight: 500;
|
||||
margin-right: 10px;
|
||||
text-decoration: line-through;
|
||||
}
|
||||
|
||||
.bundle-special-price {
|
||||
font-size: 20px !important;
|
||||
font-weight: 600;
|
||||
}
|
||||
|
||||
.bundle-to {
|
||||
display: block;
|
||||
font-size: 20px !important;
|
||||
font-weight: 500;
|
||||
margin-top: 1px;
|
||||
margin-bottom: 1px;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -207,6 +207,14 @@ body {
|
|||
right: 20px;
|
||||
}
|
||||
}
|
||||
|
||||
#account {
|
||||
+ .account-modal {
|
||||
.modal-content {
|
||||
float: left;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
#cart-modal-content {
|
||||
|
|
|
|||
|
|
@ -509,7 +509,6 @@
|
|||
|
||||
.add-to-cart-btn {
|
||||
float: left;
|
||||
max-width: 150px;
|
||||
display: inline-block;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -40,9 +40,9 @@ return [
|
|||
]
|
||||
],
|
||||
'layouts' => [
|
||||
'velocity' => 'Velocity',
|
||||
'velocity' => '● السرعة',
|
||||
'cms-pages' => 'CMS الصفحات',
|
||||
'meta-data' => 'Meta Data',
|
||||
'meta-data' => 'البيانات الوصفية',
|
||||
'category-menu' => 'قائمة الفئة',
|
||||
'header-content' => 'محتوى الرأس',
|
||||
],
|
||||
|
|
@ -91,7 +91,7 @@ return [
|
|||
],
|
||||
'meta-data' => [
|
||||
'footer' => 'تذييل',
|
||||
'title' => 'Velocity meta data',
|
||||
'title' => 'البيانات الوصفية السرعة',
|
||||
'activate-slider' => 'تنشيط شريط التمرير',
|
||||
'home-page-content' => 'محتوى الصفحة الرئيسية',
|
||||
'footer-left-content' => 'تذييل يسار المحتوى',
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
@push('scripts')
|
||||
<script type="text/x-template" id="content-header-template">
|
||||
<header class="row velocity-divide-page vc-header header-shadow active">
|
||||
<div class="vc-small-screen container" v-if="isMobile()">
|
||||
<div class="vc-small-screen container">
|
||||
<div class="row">
|
||||
<div class="col-6">
|
||||
<div v-if="hamburger" class="nav-container scrollable">
|
||||
|
|
@ -370,7 +370,7 @@
|
|||
</div>
|
||||
|
||||
<div
|
||||
v-else
|
||||
id="main-category"
|
||||
@mouseout="toggleSidebar('0', $event, 'mouseout')"
|
||||
@mouseover="toggleSidebar('0', $event, 'mouseover')"
|
||||
:class="`main-category fs16 unselectable fw6 ${($root.sharedRootCategories.length > 0) ? 'cursor-pointer' : 'cursor-not-allowed'} left`">
|
||||
|
|
|
|||
|
|
@ -76,7 +76,7 @@
|
|||
class="btn-toolbar full-width"
|
||||
role="toolbar">
|
||||
|
||||
<div class="btn-group full-width">
|
||||
<div class="btn-group full-width force-center">
|
||||
<div class="selectdiv">
|
||||
<select class="form-control fs13 styled-select" name="category" @change="focusInput($event)" aria-label="Category">
|
||||
<option value="">
|
||||
|
|
@ -124,13 +124,16 @@
|
|||
</div>
|
||||
</div>
|
||||
|
||||
<div class="col-lg-7 col-md-12">
|
||||
<div class="col-lg-7 col-md-12 vc-full-screen">
|
||||
{!! view_render_event('bagisto.shop.layout.header.cart-item.before') !!}
|
||||
@include('shop::checkout.cart.mini-cart')
|
||||
{!! view_render_event('bagisto.shop.layout.header.cart-item.after') !!}
|
||||
|
||||
@php
|
||||
$showCompare = core()->getConfigData('general.content.shop.compare_option') == "1" ? true : false
|
||||
$showCompare = core()->getConfigData('general.content.shop.compare_option') == "1" ? true : false;
|
||||
|
||||
$showWishlist = core()->getConfigData('general.content.shop.wishlist_option') == "1" ? true : false;
|
||||
|
||||
@endphp
|
||||
|
||||
{!! view_render_event('bagisto.shop.layout.header.compare.before') !!}
|
||||
|
|
@ -156,13 +159,15 @@
|
|||
{!! view_render_event('bagisto.shop.layout.header.compare.after') !!}
|
||||
|
||||
{!! view_render_event('bagisto.shop.layout.header.wishlist.before') !!}
|
||||
<a class="wishlist-btn unset" :href="`{{ route('customer.wishlist.index') }}`">
|
||||
<i class="material-icons">favorite_border</i>
|
||||
<div class="badge-container" v-if="wishlistCount > 0">
|
||||
<span class="badge" v-text="wishlistCount"></span>
|
||||
</div>
|
||||
<span>{{ __('shop::app.layouts.wishlist') }}</span>
|
||||
</a>
|
||||
@if($showWishlist)
|
||||
<a class="wishlist-btn unset" :href="`{{ route('customer.wishlist.index') }}`">
|
||||
<i class="material-icons">favorite_border</i>
|
||||
<div class="badge-container" v-if="wishlistCount > 0">
|
||||
<span class="badge" v-text="wishlistCount"></span>
|
||||
</div>
|
||||
<span>{{ __('shop::app.layouts.wishlist') }}</span>
|
||||
</a>
|
||||
@endif
|
||||
{!! view_render_event('bagisto.shop.layout.header.wishlist.after') !!}
|
||||
</div>
|
||||
</div>
|
||||
|
|
|
|||
|
|
@ -17,6 +17,10 @@
|
|||
width: unset;
|
||||
float: right;
|
||||
}
|
||||
|
||||
.alert-wishlist {
|
||||
display: inline-block;
|
||||
}
|
||||
</style>
|
||||
@endpush
|
||||
|
||||
|
|
@ -114,20 +118,28 @@
|
|||
|
||||
@php
|
||||
$moveToWishlist = trans('shop::app.checkout.cart.move-to-wishlist');
|
||||
|
||||
$showWishlist = core()->getConfigData('general.content.shop.wishlist_option') == "1" ? true : false;
|
||||
@endphp
|
||||
|
||||
<div class="no-padding col-12 cursor-pointer fs16">
|
||||
@auth('customer')
|
||||
@if ($item->parent_id != 'null' ||$item->parent_id != null)
|
||||
@include('shop::products.wishlist', [
|
||||
'route' => route('shop.movetowishlist', $item->id),
|
||||
'text' => "<span class='align-vertical-super'>$moveToWishlist</span>"
|
||||
])
|
||||
@else
|
||||
@include('shop::products.wishlist', [
|
||||
'route' => route('shop.movetowishlist', $item->child->id),
|
||||
'text' => "<span class='align-vertical-super'>$moveToWishlist</span>"
|
||||
])
|
||||
@if ($showWishlist)
|
||||
@if ($item->parent_id != 'null' ||$item->parent_id != null)
|
||||
<div @click="removeLink('{{ __('shop::app.checkout.cart.cart-remove-action') }}')" class="alert-wishlist">
|
||||
@include('shop::products.wishlist', [
|
||||
'route' => route('shop.movetowishlist', $item->id),
|
||||
'text' => "<span class='align-vertical-super'>$moveToWishlist</span>"
|
||||
])
|
||||
</div>
|
||||
@else
|
||||
<div @click="removeLink('{{ __('shop::app.checkout.cart.cart-remove-action') }}')" class="alert-wishlist">
|
||||
@include('shop::products.wishlist', [
|
||||
'route' => route('shop.movetowishlist', $item->child->id),
|
||||
'text' => "<span class='align-vertical-super'>$moveToWishlist</span>"
|
||||
])
|
||||
</div>
|
||||
@endif
|
||||
@endif
|
||||
@endauth
|
||||
|
||||
|
|
|
|||
|
|
@ -208,7 +208,12 @@
|
|||
<td>{{ __('shop::app.customer.account.order.view.total-due') }}
|
||||
<span class="dash-icon">-</span>
|
||||
</td>
|
||||
<td>{{ core()->formatPrice($order->total_due, $order->order_currency_code) }}</td>
|
||||
|
||||
@if($order->status !== 'canceled')
|
||||
<td>{{ core()->formatPrice($order->total_due, $order->order_currency_code) }}</td>
|
||||
@else
|
||||
<td>{{ core()->formatPrice(0.00, $order->order_currency_code) }}</td>
|
||||
@endif
|
||||
</tr>
|
||||
<tbody>
|
||||
</table>
|
||||
|
|
|
|||
|
|
@ -15,11 +15,16 @@
|
|||
|
||||
$showCompare = core()->getConfigData('general.content.shop.compare_option') == "1" ? true : false;
|
||||
|
||||
$showWishlist = core()->getConfigData('general.content.shop.wishlist_option') == "1" ? true : false;
|
||||
|
||||
try {
|
||||
$subMenuCollection['profile'] = $menuItem['children']['profile'];
|
||||
$subMenuCollection['orders'] = $menuItem['children']['orders'];
|
||||
$subMenuCollection['downloadables'] = $menuItem['children']['downloadables'];
|
||||
$subMenuCollection['wishlist'] = $menuItem['children']['wishlist'];
|
||||
|
||||
if ($showWishlist) {
|
||||
$subMenuCollection['wishlist'] = $menuItem['children']['wishlist'];
|
||||
}
|
||||
|
||||
if ($showCompare) {
|
||||
$subMenuCollection['compare'] = $menuItem['children']['compare'];
|
||||
|
|
@ -66,4 +71,4 @@
|
|||
min-height: 100vh;
|
||||
}
|
||||
</style>
|
||||
@endpush
|
||||
@endpush
|
||||
|
|
@ -9,13 +9,13 @@
|
|||
@push('scripts')
|
||||
<script type="text/x-template" id="featured-products-template">
|
||||
<div class="container-fluid featured-products">
|
||||
<shimmer-component v-if="isLoading && !isMobileView"></shimmer-component>
|
||||
<shimmer-component v-if="isLoading"></shimmer-component>
|
||||
|
||||
<template v-else-if="featuredProducts.length > 0">
|
||||
<card-list-header heading="{{ __('shop::app.home.featured-products') }}">
|
||||
</card-list-header>
|
||||
|
||||
<div class="carousel-products vc-full-screen {{ $direction }}" v-if="!isMobileView">
|
||||
<div class="carousel-products vc-full-screen {{ $direction }}">
|
||||
<carousel-component
|
||||
slides-per-page="6"
|
||||
navigation-enabled="hide"
|
||||
|
|
@ -37,7 +37,7 @@
|
|||
</carousel-component>
|
||||
</div>
|
||||
|
||||
<div class="carousel-products vc-small-screen {{ $direction }}" v-else>
|
||||
<div class="carousel-products vc-small-screen {{ $direction }}">
|
||||
<carousel-component
|
||||
slides-per-page="2"
|
||||
navigation-enabled="hide"
|
||||
|
|
|
|||
|
|
@ -9,7 +9,7 @@
|
|||
@push('scripts')
|
||||
<script type="text/x-template" id="new-products-template">
|
||||
<div class="container-fluid">
|
||||
<shimmer-component v-if="isLoading && !isMobileView"></shimmer-component>
|
||||
<shimmer-component v-if="isLoading"></shimmer-component>
|
||||
|
||||
<template v-else-if="newProducts.length > 0">
|
||||
<card-list-header heading="{{ __('shop::app.home.new-products') }}">
|
||||
|
|
@ -27,7 +27,7 @@
|
|||
@endpush
|
||||
|
||||
<div class="row {{ $direction }}">
|
||||
<div class="col-9 no-padding carousel-products vc-full-screen with-recent-viewed" v-if="!isMobileView">
|
||||
<div class="col-9 no-padding carousel-products vc-full-screen with-recent-viewed">
|
||||
<carousel-component
|
||||
slides-per-page="5"
|
||||
navigation-enabled="hide"
|
||||
|
|
@ -48,7 +48,7 @@
|
|||
</carousel-component>
|
||||
</div>
|
||||
|
||||
<div class="col-12 no-padding carousel-products vc-small-screen" v-else>
|
||||
<div class="col-12 no-padding carousel-products vc-small-screen">
|
||||
<carousel-component
|
||||
slides-per-page="2"
|
||||
navigation-enabled="hide"
|
||||
|
|
@ -75,7 +75,7 @@
|
|||
])
|
||||
</div>
|
||||
@else
|
||||
<div class="carousel-products vc-full-screen {{ $direction }}" v-if="!isMobileView">
|
||||
<div class="carousel-products vc-full-screen {{ $direction }}">
|
||||
<carousel-component
|
||||
slides-per-page="6"
|
||||
navigation-enabled="hide"
|
||||
|
|
@ -96,7 +96,7 @@
|
|||
</carousel-component>
|
||||
</div>
|
||||
|
||||
<div class="carousel-products vc-small-screen {{ $direction }}" v-else>
|
||||
<div class="carousel-products vc-small-screen {{ $direction }}">
|
||||
<carousel-component
|
||||
slides-per-page="2"
|
||||
navigation-enabled="hide"
|
||||
|
|
|
|||
|
|
@ -24,7 +24,7 @@
|
|||
@php
|
||||
$textContent = str_replace("\r\n", '', $slider['content']);
|
||||
@endphp
|
||||
<slide slot="slide-{{ $index }}">
|
||||
<slide slot="slide-{{ $index }}" title=" ">
|
||||
<a @if($slider['slider_path']) href="{{ $slider['slider_path'] }}" @endif>
|
||||
<img
|
||||
class="col-12 no-padding banner-icon"
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
<header class="sticky-header" v-if="!isMobile()">
|
||||
<header class="sticky-header">
|
||||
<div class="row remove-padding-margin velocity-divide-page">
|
||||
<logo-component add-class="navbar-brand"></logo-component>
|
||||
<searchbar-component></searchbar-component>
|
||||
|
|
|
|||
|
|
@ -20,7 +20,7 @@
|
|||
<link rel="stylesheet" href="{{ asset('themes/velocity/assets/css/velocity.css') }}" />
|
||||
<link rel="stylesheet" href="{{ asset('themes/velocity/assets/css/bootstrap.min.css') }}" />
|
||||
|
||||
@if (core()->getCurrentLocale()->direction == 'rtl')
|
||||
@if (core()->getCurrentLocale() && core()->getCurrentLocale()->direction == 'rtl')
|
||||
<link href="{{ asset('themes/velocity/assets/css/bootstrap-flipped.css') }}" rel="stylesheet">
|
||||
@endif
|
||||
|
||||
|
|
@ -45,7 +45,7 @@
|
|||
</style>
|
||||
</head>
|
||||
|
||||
<body @if (core()->getCurrentLocale()->direction == 'rtl') class="rtl" @endif>
|
||||
<body @if (core()->getCurrentLocale() && core()->getCurrentLocale()->direction == 'rtl') class="rtl" @endif>
|
||||
{!! view_render_event('bagisto.shop.layout.body.before') !!}
|
||||
|
||||
@include('shop::UI.particals')
|
||||
|
|
|
|||
|
|
@ -83,14 +83,18 @@
|
|||
<a href="{{ route('customer.orders.index') }}" class="unset">{{ __('velocity::app.shop.general.orders') }}</a>
|
||||
</li>
|
||||
|
||||
<li>
|
||||
<a href="{{ route('customer.wishlist.index') }}" class="unset">{{ __('shop::app.header.wishlist') }}</a>
|
||||
</li>
|
||||
|
||||
@php
|
||||
$showCompare = core()->getConfigData('general.content.shop.compare_option') == "1" ? true : false
|
||||
$showCompare = core()->getConfigData('general.content.shop.compare_option') == "1" ? true : false;
|
||||
|
||||
$showWishlist = core()->getConfigData('general.content.shop.wishlist_option') == "1" ? true : false;
|
||||
@endphp
|
||||
|
||||
@if ($showWishlist)
|
||||
<li>
|
||||
<a href="{{ route('customer.wishlist.index') }}" class="unset">{{ __('shop::app.header.wishlist') }}</a>
|
||||
</li>
|
||||
@endif
|
||||
|
||||
@if ($showCompare)
|
||||
<li>
|
||||
<a href="{{ route('velocity.customer.product.compare') }}" class="unset">{{ __('velocity::app.customer.compare.text') }}</a>
|
||||
|
|
|
|||
|
|
@ -17,7 +17,7 @@
|
|||
></compare-component>
|
||||
@endif
|
||||
|
||||
@if (! (isset($showWishlist) && !$showWishlist))
|
||||
@if (! (isset($showWishlist) && !$showWishlist) && core()->getConfigData('general.content.shop.wishlist_option'))
|
||||
@include('shop::products.wishlist', [
|
||||
'addClass' => $addWishlistClass ?? ''
|
||||
])
|
||||
|
|
|
|||
|
|
@ -87,94 +87,96 @@
|
|||
|
||||
<input type="hidden" name="product_id" value="{{ $product->product_id }}">
|
||||
|
||||
{{-- product-gallery --}}
|
||||
<div class="left col-lg-5">
|
||||
@include ('shop::products.view.gallery')
|
||||
</div>
|
||||
<div class="row">
|
||||
{{-- product-gallery --}}
|
||||
<div class="left col-lg-5 col-md-6">
|
||||
@include ('shop::products.view.gallery')
|
||||
</div>
|
||||
|
||||
{{-- right-section --}}
|
||||
<div class="right col-lg-7">
|
||||
{{-- product-info-section --}}
|
||||
<div class="row info">
|
||||
<h2 class="col-lg-12">{{ $product->name }}</h2>
|
||||
{{-- right-section --}}
|
||||
<div class="right col-lg-7 col-md-6">
|
||||
{{-- product-info-section --}}
|
||||
<div class="row info">
|
||||
<h2 class="col-12">{{ $product->name }}</h2>
|
||||
|
||||
@if ($total)
|
||||
<div class="reviews col-lg-12">
|
||||
<star-ratings
|
||||
push-class="mr5"
|
||||
:ratings="{{ $avgStarRating }}"
|
||||
></star-ratings>
|
||||
@if ($total)
|
||||
<div class="reviews col-lg-12">
|
||||
<star-ratings
|
||||
push-class="mr5"
|
||||
:ratings="{{ $avgStarRating }}"
|
||||
></star-ratings>
|
||||
|
||||
<div class="reviews">
|
||||
<span>
|
||||
{{ __('shop::app.reviews.ratingreviews', [
|
||||
'rating' => $avgRatings,
|
||||
'review' => $total])
|
||||
}}
|
||||
</span>
|
||||
<div class="reviews">
|
||||
<span>
|
||||
{{ __('shop::app.reviews.ratingreviews', [
|
||||
'rating' => $avgRatings,
|
||||
'review' => $total])
|
||||
}}
|
||||
</span>
|
||||
</div>
|
||||
</div>
|
||||
@endif
|
||||
|
||||
@include ('shop::products.view.stock', ['product' => $product])
|
||||
|
||||
<div class="col-12 price">
|
||||
@include ('shop::products.price', ['product' => $product])
|
||||
</div>
|
||||
|
||||
<div class="product-actions">
|
||||
@include ('shop::products.add-to-cart', [
|
||||
'form' => false,
|
||||
'product' => $product,
|
||||
'showCartIcon' => false,
|
||||
'showCompare' => core()->getConfigData('general.content.shop.compare_option') == "1"
|
||||
? true : false,
|
||||
])
|
||||
</div>
|
||||
</div>
|
||||
|
||||
{!! view_render_event('bagisto.shop.products.view.short_description.before', ['product' => $product]) !!}
|
||||
|
||||
@if ($product->short_description)
|
||||
<div class="description">
|
||||
<h3 class="col-lg-12">{{ __('velocity::app.products.short-description') }}</h3>
|
||||
|
||||
{!! $product->short_description !!}
|
||||
</div>
|
||||
@endif
|
||||
|
||||
@include ('shop::products.view.stock', ['product' => $product])
|
||||
{!! view_render_event('bagisto.shop.products.view.short_description.after', ['product' => $product]) !!}
|
||||
|
||||
<div class="col-12 price">
|
||||
@include ('shop::products.price', ['product' => $product])
|
||||
</div>
|
||||
|
||||
<div class="product-actions">
|
||||
@include ('shop::products.add-to-cart', [
|
||||
'form' => false,
|
||||
'product' => $product,
|
||||
'showCartIcon' => false,
|
||||
'showCompare' => core()->getConfigData('general.content.shop.compare_option') == "1"
|
||||
? true : false,
|
||||
])
|
||||
</div>
|
||||
{!! view_render_event('bagisto.shop.products.view.quantity.before', ['product' => $product]) !!}
|
||||
|
||||
@if ($product->getTypeInstance()->showQuantityBox())
|
||||
<div>
|
||||
<quantity-changer></quantity-changer>
|
||||
</div>
|
||||
@else
|
||||
<input type="hidden" name="quantity" value="1">
|
||||
@endif
|
||||
|
||||
{!! view_render_event('bagisto.shop.products.view.quantity.after', ['product' => $product]) !!}
|
||||
|
||||
@include ('shop::products.view.configurable-options')
|
||||
|
||||
@include ('shop::products.view.downloadable')
|
||||
|
||||
@include ('shop::products.view.grouped-products')
|
||||
|
||||
@include ('shop::products.view.bundle-options')
|
||||
|
||||
@include ('shop::products.view.attributes', [
|
||||
'active' => true
|
||||
])
|
||||
|
||||
{{-- product long description --}}
|
||||
@include ('shop::products.view.description')
|
||||
|
||||
{{-- reviews count --}}
|
||||
@include ('shop::products.view.reviews', ['accordian' => true])
|
||||
</div>
|
||||
|
||||
{!! view_render_event('bagisto.shop.products.view.short_description.before', ['product' => $product]) !!}
|
||||
|
||||
@if ($product->short_description)
|
||||
<div class="description">
|
||||
<h3 class="col-lg-12">{{ __('velocity::app.products.short-description') }}</h3>
|
||||
|
||||
{!! $product->short_description !!}
|
||||
</div>
|
||||
@endif
|
||||
|
||||
{!! view_render_event('bagisto.shop.products.view.short_description.after', ['product' => $product]) !!}
|
||||
|
||||
|
||||
{!! view_render_event('bagisto.shop.products.view.quantity.before', ['product' => $product]) !!}
|
||||
|
||||
@if ($product->getTypeInstance()->showQuantityBox())
|
||||
<div>
|
||||
<quantity-changer></quantity-changer>
|
||||
</div>
|
||||
@else
|
||||
<input type="hidden" name="quantity" value="1">
|
||||
@endif
|
||||
|
||||
{!! view_render_event('bagisto.shop.products.view.quantity.after', ['product' => $product]) !!}
|
||||
|
||||
@include ('shop::products.view.configurable-options')
|
||||
|
||||
@include ('shop::products.view.downloadable')
|
||||
|
||||
@include ('shop::products.view.grouped-products')
|
||||
|
||||
@include ('shop::products.view.bundle-options')
|
||||
|
||||
@include ('shop::products.view.attributes', [
|
||||
'active' => true
|
||||
])
|
||||
|
||||
{{-- product long description --}}
|
||||
@include ('shop::products.view.description')
|
||||
|
||||
{{-- reviews count --}}
|
||||
@include ('shop::products.view.reviews', ['accordian' => true])
|
||||
</div>
|
||||
</div>
|
||||
</product-view>
|
||||
|
|
|
|||
|
|
@ -12,20 +12,22 @@
|
|||
{!! view_render_event('bagisto.shop.products.view.gallery.before', ['product' => $product]) !!}
|
||||
|
||||
<div class="product-image-group">
|
||||
<div class="row col-12">
|
||||
<magnify-image src="{{ $images[0]['large_image_url'] }}" v-if="!isMobile()">
|
||||
</magnify-image>
|
||||
<div class="row">
|
||||
<div class="col-12">
|
||||
<magnify-image src="{{ $images[0]['large_image_url'] }}" v-if="!isMobile()">
|
||||
</magnify-image>
|
||||
|
||||
<img
|
||||
v-else
|
||||
class="vc-small-product-image"
|
||||
src="{{ $images[0]['large_image_url'] }}" alt="" />
|
||||
<img
|
||||
v-else
|
||||
class="vc-small-product-image"
|
||||
src="{{ $images[0]['large_image_url'] }}" alt="" />
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="row col-12">
|
||||
<product-gallery></product-gallery>
|
||||
<div class="row">
|
||||
<div class="col-12">
|
||||
<product-gallery></product-gallery>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
{!! view_render_event('bagisto.shop.products.view.gallery.after', ['product' => $product]) !!}
|
||||
|
|
@ -156,7 +158,6 @@
|
|||
|
||||
<script>
|
||||
$(document).ready(() => {
|
||||
|
||||
/* waiting for the window to appear */
|
||||
let waitForEl = function(selector, callback) {
|
||||
if (jQuery(selector).length) {
|
||||
|
|
@ -168,8 +169,11 @@
|
|||
|
||||
/* positioning when .zoomWindow div available */
|
||||
waitForEl('.zoomWindow', function() {
|
||||
let zoomContainer = $('.zoomContainer');
|
||||
zoomContainer.css('z-index', 'unset');
|
||||
|
||||
if ($('body').hasClass("rtl")) {
|
||||
let widthOfImage = $('.zoomContainer').width();
|
||||
let widthOfImage = zoomContainer.width();
|
||||
$('.zoomWindow').css('right', `${widthOfImage}px`);
|
||||
}
|
||||
});
|
||||
|
|
|
|||
Loading…
Reference in New Issue