1
0
mirror of https://github.com/invoiceninja/invoiceninja.git synced 2024-11-13 22:54:25 +01:00

Client Creation (#2533)

* Working on Oauth

* splitting out JS files

* Working on oAuth

*  working on oAuth

* minor fixes

* create client

* create client

* create client

* Working on adding a client
This commit is contained in:
David Bomba 2018-12-02 21:42:06 +11:00 committed by GitHub
parent 4abe61f493
commit c72e1f0139
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
39 changed files with 107461 additions and 1961 deletions

View File

@ -46,7 +46,7 @@ class AccountController extends Controller
public function store(CreateAccountRequest $request) public function store(CreateAccountRequest $request)
{ {
CreateAccount::dispatchNow($request); CreateAccount::dispatchNow($request->all());
//todo redirect to localization setup workflow //todo redirect to localization setup workflow
return redirect()->route('dashboard.index'); return redirect()->route('dashboard.index');

View File

@ -3,10 +3,13 @@
namespace App\Http\Controllers\Auth; namespace App\Http\Controllers\Auth;
use App\Http\Controllers\Controller; use App\Http\Controllers\Controller;
use App\Libraries\OAuth;
use App\Models\User;
use App\Utils\Traits\UserSessionAttributes; use App\Utils\Traits\UserSessionAttributes;
use Illuminate\Foundation\Auth\AuthenticatesUsers; use Illuminate\Foundation\Auth\AuthenticatesUsers;
use Laravel\Socialite\Facades\Socialite;
use Illuminate\Http\Request; use Illuminate\Http\Request;
use Illuminate\Support\Facades\Auth;
use Laravel\Socialite\Facades\Socialite;
class LoginController extends Controller class LoginController extends Controller
{ {
@ -47,7 +50,7 @@ class LoginController extends Controller
* *
* @return void * @return void
*/ */
public function authenticated(Request $request, $user) public function authenticated(Request $request, User $user) : void
{ {
$this->setCurrentCompanyId($user->companies()->first()->account->default_company_id); $this->setCurrentCompanyId($user->companies()->first()->account->default_company_id);
} }
@ -57,7 +60,7 @@ class LoginController extends Controller
* *
* @return void * @return void
*/ */
public function redirectToProvider($provider) public function redirectToProvider(string $provider)
{ {
return Socialite::driver($provider)->redirect(); return Socialite::driver($provider)->redirect();
} }
@ -68,13 +71,18 @@ class LoginController extends Controller
* *
* @return redirect * @return redirect
*/ */
public function handleProviderCallback($provider) public function handleProviderCallback(string $provider)
{ {
$user = Socialite::driver($provider)->user(); $socialite_user = Socialite::driver($provider)->user();
/** If user exists, redirect to dashboard */ if($user = OAuth::handleAuth($socialite_user, $provider))
{
Auth::login($user, true);
return redirect($this->redirectTo);
}
//throw error
/** If user does not exist, create account sequence */
dd($user);
} }
} }

View File

@ -4,8 +4,10 @@ namespace App\Http\Controllers;
use App\Http\Requests\Client\EditClientRequest; use App\Http\Requests\Client\EditClientRequest;
use App\Http\Requests\Client\UpdateClientRequest; use App\Http\Requests\Client\UpdateClientRequest;
use App\Jobs\Client\StoreClient;
use App\Jobs\Client\UpdateClient; use App\Jobs\Client\UpdateClient;
use App\Models\Client; use App\Models\Client;
use App\Models\ClientContact;
use App\Repositories\ClientRepository; use App\Repositories\ClientRepository;
use App\Utils\Traits\MakesHash; use App\Utils\Traits\MakesHash;
use App\Utils\Traits\UserSessionAttributes; use App\Utils\Traits\UserSessionAttributes;
@ -98,7 +100,18 @@ class ClientController extends Controller
*/ */
public function create() public function create()
{ {
// $client = new Client;
$client_contact = new ClientContact;
$client_contact->first_name = "";
$client->contacts->add($client_contact);
$data = [
'client' => $client,
'hashed_id' => ''
];
return view('client.create', $data);
} }
/** /**
@ -109,7 +122,14 @@ class ClientController extends Controller
*/ */
public function store(Request $request) public function store(Request $request)
{ {
// $client = StoreClient::dispatchNow($request, new Client);
$data = [
'client' => $client,
'hashed_id' => $this->encodePrimarykey($client->id)
];
return view('client.edit', $data);
} }
/** /**

View File

@ -5,8 +5,6 @@ namespace App\Http\Controllers;
class DashboardController extends Controller class DashboardController extends Controller
{ {
/** /**
* Create a new controller instance. * Create a new controller instance.
* *

View File

@ -3,12 +3,13 @@
namespace App\Jobs\Account; namespace App\Jobs\Account;
use App\Events\Account\AccountCreated; use App\Events\Account\AccountCreated;
use App\Jobs\User\CreateUser;
use App\Jobs\Company\CreateCompany; use App\Jobs\Company\CreateCompany;
use App\Jobs\User\CreateUser;
use App\Models\Account;
use App\Models\User;
use App\Utils\Traits\UserSessionAttributes; use App\Utils\Traits\UserSessionAttributes;
use Illuminate\Foundation\Bus\Dispatchable; use Illuminate\Foundation\Bus\Dispatchable;
use Illuminate\Http\Request; use Illuminate\Http\Request;
use App\Models\Account;
use Illuminate\Support\Facades\Auth; use Illuminate\Support\Facades\Auth;
class CreateAccount class CreateAccount
@ -25,7 +26,7 @@ class CreateAccount
* @return void * @return void
*/ */
public function __construct(Request $request) public function __construct(array $request)
{ {
$this->request = $request; $this->request = $request;
} }
@ -40,7 +41,7 @@ class CreateAccount
/* /*
* Create account * Create account
*/ */
$account = Account::create($this->request->toArray()); $account = Account::create($this->request);
/* /*
* Create company * Create company

View File

@ -0,0 +1,41 @@
<?php
namespace App\Jobs\Client;
use App\Models\Client;
use App\Repositories\ClientRepository;
use Illuminate\Foundation\Bus\Dispatchable;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Log;
class StoreClient
{
use Dispatchable;
protected $request;
protected $client;
/**
* Create a new job instance.
*
* @return void
*/
public function __construct(Request $request, Client $client)
{
$this->request = $request;
$this->client = $client;
}
/**
* Execute the job.
*
* @return void
*/
public function handle(ClientRepository $clientRepo) : ?Client
{
return $clientRepo->save($this->request, $this->client);
}
}

View File

@ -23,7 +23,7 @@ class CreateCompany
* @return void * @return void
*/ */
public function __construct(Request $request, $account = false) public function __construct(array $request, $account = false)
{ {
$this->request = $request; $this->request = $request;
$this->account = $account; $this->account = $account;
@ -38,11 +38,11 @@ class CreateCompany
{ {
$company = new Company(); $company = new Company();
$company->name = $this->request->first_name . ' ' . $this->request->last_name; $company->name = $this->request['first_name'] . ' ' . $this->request['last_name'];
$company->account_id = $this->account->id; $company->account_id = $this->account->id;
$company->company_key = $this->createHash(); $company->company_key = $this->createHash();
$company->db = config('database.default'); $company->db = config('database.default');
$company->ip = $this->request->ip(); $company->ip = request()->ip();
$company->save(); $company->save();

View File

@ -26,7 +26,7 @@ class CreateUser
* @return void * @return void
*/ */
public function __construct(Request $request, $account, $company) public function __construct(array $request, $account, $company)
{ {
$this->request = $request; $this->request = $request;
$this->account = $account; $this->account = $account;
@ -43,11 +43,11 @@ class CreateUser
$user = new User(); $user = new User();
$user->account_id = $this->account->id; $user->account_id = $this->account->id;
$user->password = bcrypt($this->request->input('password')); $user->password = bcrypt($this->request['password']);
$user->accepted_terms_version = config('ninja.terms_version'); $user->accepted_terms_version = config('ninja.terms_version');
$user->confirmation_code = $this->createDbHash(config('database.default')); $user->confirmation_code = $this->createDbHash(config('database.default'));
$user->db = config('database.default'); $user->db = config('database.default');
$user->fill($this->request->all()); $user->fill($this->request);
$user->save(); $user->save();
$user->companies()->attach($this->company->id, [ $user->companies()->attach($this->company->id, [

View File

@ -28,6 +28,7 @@ class MultiDB
public static function checkUserEmailExists($email) : bool public static function checkUserEmailExists($email) : bool
{ {
if (! config('ninja.db.multi_db_enabled')) if (! config('ninja.db.multi_db_enabled'))
{ {
return User::where(['email' => $email])->get()->count() >= 1 ?? false; // true >= 1 emails found / false -> == emails found return User::where(['email' => $email])->get()->count() >= 1 ?? false; // true >= 1 emails found / false -> == emails found
@ -46,10 +47,11 @@ class MultiDB
/** /**
* @param array $data * @param array $data
* @return bool * @return App\Models\User | bool
*/ */
public static function hasUser(array $data) : ?User public static function hasUser(array $data) : ?User
{ {
if (! config('ninja.db.multi_db_enabled')) if (! config('ninja.db.multi_db_enabled'))
{ {
return User::where($data)->first(); return User::where($data)->first();
@ -76,10 +78,11 @@ class MultiDB
/** /**
* @param $database * @param $database
*/ */
public static function setDB($database) : void public static function setDB(string $database) : void
{ {
/* This will set the database connection for the request */ /* This will set the database connection for the request */
config(['database.default' => $database]); config(['database.default' => $database]);
} }
} }

View File

@ -2,6 +2,8 @@
namespace App\Libraries; namespace App\Libraries;
use App\Models\User;
use Illuminate\Support\Facades\Session;
use Laravel\Socialite\Facades\Socialite; use Laravel\Socialite\Facades\Socialite;
/** /**
@ -25,15 +27,40 @@ class OAuth
* @param Socialite $user * @param Socialite $user
*/ */
public static function handleAuth($user) public static function handleAuth(object $user, string $provider) : ?User
{ {
if(MultiDB::checkUserEmailExists($user->getEmail())) //if email is in the system this is an existing user -> check they are arriving on the correct provider /** 1. Ensure user arrives on the correct provider **/
{
$query = [
'oauth_user_id' =>$user->getId())
'oauth_provider_id'=>$provider
];
if($user = MultiDB::hasUser($query)
{
return $user;
} }
/** 2. If email exists, then they already have an account did they select the wrong provider? redirect to a guest error screen */
if(MultiDB::checkUserEmailExists($user->getEmail()))
{
Session::flash('error', 'User exists in system, but not with this authentication method'); //todo add translations
return view('auth.login');
}
/*
Session::flash('error', 'User does not exist'); //todo add translations
return view('auth.login');
*/
/** 3. We will not handle automagically creating a new account here. */
} }
public static function providerToString($social_provider) public static function providerToString(int $social_provider) : string
{ {
switch ($social_provider) switch ($social_provider)
{ {
@ -52,7 +79,7 @@ class OAuth
} }
} }
public static function providerToInt($social_provider) public static function providerToInt(string $social_provider) : int
{ {
switch ($social_provider) switch ($social_provider)
{ {

View File

@ -13,7 +13,12 @@ class CreateUsersTable extends Migration
*/ */
public function up() public function up()
{ {
// require_once app_path() . '/Constants.php';
Schema::create('languages', function ($table) {
$table->increments('id');
$table->string('name');
$table->string('locale');
});
Schema::create('countries', function ($table) { Schema::create('countries', function ($table) {
$table->increments('id'); $table->increments('id');
@ -140,6 +145,31 @@ class CreateUsersTable extends Migration
$table->string('subdomain')->nullable(); $table->string('subdomain')->nullable();
$table->string('db')->nullable(); $table->string('db')->nullable();
$table->string('custom_label1')->nullable();
$table->string('custom_value1')->nullable();
$table->string('custom_label2')->nullable();
$table->string('custom_value2')->nullable();
$table->string('custom_client_label1')->nullable();
$table->string('custom_client_label2')->nullable();
$table->string('custom_invoice_label1')->nullable();
$table->string('custom_invoice_label2')->nullable();
$table->string('custom_product_label1')->nullable();
$table->string('custom_product_label2')->nullable();
$table->string('custom_task_label1')->nullable();
$table->string('custom_task_label2')->nullable();
$table->string('custom_expense_label1')->nullable();
$table->string('custom_expense_label2')->nullable();
$table->string('vat_number')->nullable();
$table->string('id_number')->nullable();
$table->unsignedInteger('language_id')->default(1);
$table->timestamps(); $table->timestamps();
$table->softDeletes(); $table->softDeletes();
@ -149,6 +179,8 @@ class CreateUsersTable extends Migration
$table->foreign('industry_id')->references('id')->on('industries'); $table->foreign('industry_id')->references('id')->on('industries');
$table->foreign('size_id')->references('id')->on('sizes'); $table->foreign('size_id')->references('id')->on('sizes');
$table->foreign('account_id')->references('id')->on('accounts')->onDelete('cascade'); $table->foreign('account_id')->references('id')->on('accounts')->onDelete('cascade');
$table->foreign('language_id')->references('id')->on('languages');
}); });
@ -228,6 +260,8 @@ class CreateUsersTable extends Migration
$table->string('state')->nullable(); $table->string('state')->nullable();
$table->string('postal_code')->nullable(); $table->string('postal_code')->nullable();
$table->unsignedInteger('country_id')->nullable(); $table->unsignedInteger('country_id')->nullable();
$table->string('custom_value1')->nullable();
$table->string('custom_value2')->nullable();
$table->string('shipping_address1')->nullable(); $table->string('shipping_address1')->nullable();
$table->string('shipping_address2')->nullable(); $table->string('shipping_address2')->nullable();
@ -238,6 +272,8 @@ class CreateUsersTable extends Migration
$table->boolean('is_deleted')->default(false); $table->boolean('is_deleted')->default(false);
$table->string('payment_terms')->nullable(); //todo type? depends how we are storing this $table->string('payment_terms')->nullable(); //todo type? depends how we are storing this
$table->string('vat_number')->nullable();
$table->string('id_number')->nullable();
$table->timestamps(); $table->timestamps();
$table->softDeletes(); $table->softDeletes();
@ -281,6 +317,8 @@ class CreateUsersTable extends Migration
$table->string('first_name')->nullable(); $table->string('first_name')->nullable();
$table->string('last_name')->nullable(); $table->string('last_name')->nullable();
$table->string('phone')->nullable(); $table->string('phone')->nullable();
$table->string('custom_value1')->nullable();
$table->string('custom_value2')->nullable();
$table->string('email',100); $table->string('email',100);
$table->timestamp('email_verified_at')->nullable(); $table->timestamp('email_verified_at')->nullable();
$table->string('confirmation_code')->nullable(); $table->string('confirmation_code')->nullable();
@ -352,6 +390,12 @@ class CreateUsersTable extends Migration
$t->string('tax_name1'); $t->string('tax_name1');
$t->decimal('tax_rate1', 13, 3); $t->decimal('tax_rate1', 13, 3);
$t->string('tax_name2');
$t->decimal('tax_rate2', 13, 3);
$t->string('custom_value1')->nullable();
$t->string('custom_value2')->nullable();
$t->decimal('amount', 13, 2); $t->decimal('amount', 13, 2);
$t->decimal('balance', 13, 2); $t->decimal('balance', 13, 2);
$t->decimal('partial', 13, 2)->nullable(); $t->decimal('partial', 13, 2)->nullable();
@ -411,6 +455,8 @@ class CreateUsersTable extends Migration
$t->unsignedInteger('company_id')->index(); $t->unsignedInteger('company_id')->index();
$t->unsignedInteger('user_id'); $t->unsignedInteger('user_id');
$t->string('custom_value1')->nullable();
$t->string('custom_value2')->nullable();
$t->string('product_key'); $t->string('product_key');
$t->text('notes'); $t->text('notes');
@ -459,16 +505,6 @@ class CreateUsersTable extends Migration
}); });
Schema::create('languages', function ($table) {
$table->increments('id');
$table->string('name');
$table->string('locale');
});
Schema::table('companies', function ($table) {
$table->unsignedInteger('language_id')->default(1);
$table->foreign('language_id')->references('id')->on('languages');
});
Schema::create('payment_libraries', function ($t) { Schema::create('payment_libraries', function ($t) {
$t->increments('id'); $t->increments('id');
@ -493,38 +529,6 @@ class CreateUsersTable extends Migration
$table->foreign('payment_library_id')->references('id')->on('payment_libraries')->onDelete('cascade'); $table->foreign('payment_library_id')->references('id')->on('payment_libraries')->onDelete('cascade');
}); });
Schema::table('companies', function ($table) {
$table->string('custom_label1')->nullable();
$table->string('custom_value1')->nullable();
$table->string('custom_label2')->nullable();
$table->string('custom_value2')->nullable();
$table->string('custom_client_label1')->nullable();
$table->string('custom_client_label2')->nullable();
});
Schema::table('clients', function ($table) {
$table->string('custom_value1')->nullable();
$table->string('custom_value2')->nullable();
});
Schema::table('companies', function ($table) {
$table->string('vat_number')->nullable();
});
Schema::table('clients', function ($table) {
$table->string('vat_number')->nullable();
});
Schema::table('companies', function ($table) {
$table->string('id_number')->nullable();
});
Schema::table('clients', function ($table) {
$table->string('id_number')->nullable();
});
Schema::create('tasks', function ($table) { Schema::create('tasks', function ($table) {
$table->increments('id'); $table->increments('id');
$table->unsignedInteger('user_id'); $table->unsignedInteger('user_id');
@ -534,6 +538,9 @@ class CreateUsersTable extends Migration
$table->timestamps(); $table->timestamps();
$table->softDeletes(); $table->softDeletes();
$table->string('custom_value1')->nullable();
$table->string('custom_value2')->nullable();
$table->string('description')->nullable(); $table->string('description')->nullable();
$table->boolean('is_deleted')->default(false); $table->boolean('is_deleted')->default(false);
$table->boolean('is_running')->default(false); $table->boolean('is_running')->default(false);

504
public/css/ninja.css vendored
View File

@ -1,7 +1,7 @@
@charset "UTF-8"; @charset "UTF-8";
/*! /*!
* CoreUI - Open Source Dashboard UI Kit * CoreUI - Open Source Dashboard UI Kit
* @version v2.0.18 * @version v2.1.3
* @link https://coreui.io * @link https://coreui.io
* Copyright (c) 2018 creativeLabs Łukasz Holeczek * Copyright (c) 2018 creativeLabs Łukasz Holeczek
* Licensed under MIT (https://coreui.io/license) * Licensed under MIT (https://coreui.io/license)
@ -10347,10 +10347,6 @@ a.text-dark:hover, a.text-dark:focus {
box-shadow: 0 0 0 0.2rem rgba(170, 212, 80, 0.5); box-shadow: 0 0 0 0.2rem rgba(170, 212, 80, 0.5);
} }
button {
cursor: pointer;
}
.btn-transparent { .btn-transparent {
color: #fff; color: #fff;
background-color: transparent; background-color: transparent;
@ -11699,6 +11695,28 @@ canvas {
background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 11 14'%3E%3Cpath fill='%23fff' d='M9.148 2.352l-4.148 4.148 4.148 4.148q0.148 0.148 0.148 0.352t-0.148 0.352l-1.297 1.297q-0.148 0.148-0.352 0.148t-0.352-0.148l-5.797-5.797q-0.148-0.148-0.148-0.352t0.148-0.352l5.797-5.797q0.148-0.148 0.352-0.148t0.352 0.148l1.297 1.297q0.148 0.148 0.148 0.352t-0.148 0.352z'/%3E%3C/svg%3E"); background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 11 14'%3E%3Cpath fill='%23fff' d='M9.148 2.352l-4.148 4.148 4.148 4.148q0.148 0.148 0.148 0.352t-0.148 0.352l-1.297 1.297q-0.148 0.148-0.352 0.148t-0.352-0.148l-5.797-5.797q-0.148-0.148-0.148-0.352t0.148-0.352l5.797-5.797q0.148-0.148 0.352-0.148t0.352 0.148l1.297 1.297q0.148 0.148 0.148 0.352t-0.148 0.352z'/%3E%3C/svg%3E");
} }
.sidebar .nav-link.disabled {
color: #b3b3b3;
cursor: default;
background: transparent;
}
.sidebar .nav-link.disabled .nav-icon {
color: #73818f;
}
.sidebar .nav-link.disabled:hover {
color: #b3b3b3;
}
.sidebar .nav-link.disabled:hover .nav-icon {
color: #73818f;
}
.sidebar .nav-link.disabled:hover.nav-dropdown-toggle::before {
background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 11 14'%3E%3Cpath fill='%23fff' d='M9.148 2.352l-4.148 4.148 4.148 4.148q0.148 0.148 0.148 0.352t-0.148 0.352l-1.297 1.297q-0.148 0.148-0.352 0.148t-0.352-0.148l-5.797-5.797q-0.148-0.148-0.148-0.352t0.148-0.352l5.797-5.797q0.148-0.148 0.352-0.148t0.352 0.148l1.297 1.297q0.148 0.148 0.148 0.352t-0.148 0.352z'/%3E%3C/svg%3E");
}
.sidebar .nav-link.nav-link-primary { .sidebar .nav-link.nav-link-primary {
background: #20a8d8; background: #20a8d8;
} }
@ -11866,6 +11884,19 @@ canvas {
border-left: 0; border-left: 0;
} }
.sidebar .nav-dropdown.open .nav-link.disabled {
color: #b3b3b3;
background: transparent;
}
.sidebar .nav-dropdown.open .nav-link.disabled:hover {
color: #b3b3b3;
}
.sidebar .nav-dropdown.open .nav-link.disabled:hover .nav-icon {
color: #73818f;
}
.sidebar .nav-dropdown.open > .nav-dropdown-toggle::before { .sidebar .nav-dropdown.open > .nav-dropdown-toggle::before {
-webkit-transform: rotate(-90deg); -webkit-transform: rotate(-90deg);
transform: rotate(-90deg); transform: rotate(-90deg);
@ -11910,6 +11941,7 @@ canvas {
position: relative; position: relative;
-ms-flex: 0 0 50px; -ms-flex: 0 0 50px;
flex: 0 0 50px; flex: 0 0 50px;
cursor: pointer;
background-color: rgba(0, 0, 0, 0.2); background-color: rgba(0, 0, 0, 0.2);
border: 0; border: 0;
} }
@ -12022,6 +12054,12 @@ canvas {
.sidebar-minimized .sidebar .nav-item:hover > .nav-link .nav-icon { .sidebar-minimized .sidebar .nav-item:hover > .nav-link .nav-icon {
color: #fff; color: #fff;
} }
.sidebar-minimized .sidebar .nav-item:hover > .nav-link.disabled {
background: #2f353a;
}
.sidebar-minimized .sidebar .nav-item:hover > .nav-link.disabled .nav-icon {
color: #73818f;
}
.sidebar-minimized .sidebar .nav-link { .sidebar-minimized .sidebar .nav-link {
position: relative; position: relative;
padding-left: 0; padding-left: 0;
@ -12069,6 +12107,43 @@ canvas {
left: 50px; left: 50px;
display: inline; display: inline;
} }
*[dir="rtl"] .sidebar-minimized .sidebar .nav {
list-style-image: url("data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7");
}
*[dir="rtl"] .sidebar-minimized .sidebar .nav .divider {
height: 0;
}
*[dir="rtl"] .sidebar-minimized .sidebar .sidebar-minimizer::before {
width: 100%;
-webkit-transform: rotate(0deg);
transform: rotate(0deg);
}
*[dir="rtl"] .sidebar-minimized .sidebar .nav-link {
padding-right: 0;
}
*[dir="rtl"] .sidebar-minimized .sidebar .nav-link .nav-icon {
float: right;
}
*[dir="rtl"] .sidebar-minimized .sidebar .nav-link .badge {
right: auto;
left: 15px;
}
*[dir="rtl"] .sidebar-minimized .sidebar .nav-link:hover .badge {
display: inline;
}
*[dir="rtl"] .sidebar-minimized .sidebar .nav > .nav-dropdown > .nav-dropdown-items {
display: none;
max-height: 1000px;
background: #2f353a;
}
*[dir="rtl"] .sidebar-minimized .sidebar .nav > .nav-dropdown:hover {
background: #20a8d8;
}
*[dir="rtl"] .sidebar-minimized .sidebar .nav > .nav-dropdown:hover > .nav-dropdown-items {
position: absolute;
left: 0;
display: inline;
}
} }
*[dir="rtl"] .sidebar .nav-dropdown-toggle::before { *[dir="rtl"] .sidebar .nav-dropdown-toggle::before {
@ -12099,41 +12174,12 @@ canvas {
} }
*[dir="rtl"] .sidebar .sidebar-minimizer::before { *[dir="rtl"] .sidebar .sidebar-minimizer::before {
right: unset; right: auto;
left: 0; left: 0;
-webkit-transform: rotate(180deg); -webkit-transform: rotate(180deg);
transform: rotate(180deg); transform: rotate(180deg);
} }
*[dir="rtl"] .sidebar-minimized .sidebar .nav {
list-style-type: disc;
}
*[dir="rtl"] .sidebar-minimized .sidebar .nav-link {
padding-right: 0;
}
*[dir="rtl"] .sidebar-minimized .sidebar .nav-link .nav-icon {
float: right;
padding: 0;
margin: 0;
}
*[dir="rtl"] .sidebar-minimized .sidebar .nav-link .badge {
right: auto;
left: 15px;
}
*[dir="rtl"] .sidebar-minimized .sidebar .nav-dropdown:hover > .nav-dropdown-items {
right: 50px;
left: 0;
}
*[dir="rtl"] .sidebar-minimized .sidebar .sidebar-minimizer::before {
-webkit-transform: rotate(0deg);
transform: rotate(0deg);
}
*[dir="rtl"] .sidebar-toggler { *[dir="rtl"] .sidebar-toggler {
margin-right: 0 !important; margin-right: 0 !important;
} }
@ -12838,94 +12884,26 @@ html[dir="rtl"] .aside-menu {
z-index: 1017; z-index: 1017;
} }
html:not([dir="rtl"]) .sidebar-show .sidebar,
html:not([dir="rtl"]) .sidebar-show .sidebar { html:not([dir="rtl"]) .sidebar-show .sidebar {
margin-left: 0; margin-left: 0;
} }
html:not([dir="rtl"]) .sidebar-show.sidebar-fixed .main, html:not([dir="rtl"]) .aside-menu-show .aside-menu,
html:not([dir="rtl"]) .sidebar-show.sidebar-fixed .app-footer {
margin-left: 200px;
}
html:not([dir="rtl"]) .sidebar-show.sidebar-fixed.sidebar-compact .main,
html:not([dir="rtl"]) .sidebar-show.sidebar-fixed.sidebar-compact .app-footer {
margin-left: 150px;
}
html:not([dir="rtl"]) .sidebar-show.sidebar-fixed.sidebar-minimized .main,
html:not([dir="rtl"]) .sidebar-show.sidebar-fixed.sidebar-minimized .app-footer {
margin-left: 50px;
}
html:not([dir="rtl"]) .sidebar-show.breadcrumb-fixed .breadcrumb {
left: 200px;
}
html:not([dir="rtl"]) .sidebar-show.breadcrumb-fixed.sidebar-compact .breadcrumb {
left: 150px;
}
html:not([dir="rtl"]) .sidebar-show.breadcrumb-fixed.sidebar-minimized .breadcrumb {
left: 50px;
}
html:not([dir="rtl"]) .aside-menu-show .aside-menu { html:not([dir="rtl"]) .aside-menu-show .aside-menu {
margin-right: 0; margin-right: 0;
} }
html:not([dir="rtl"]) .aside-menu-show.aside-menu-fixed .main, html[dir="rtl"] .sidebar-show .sidebar,
html:not([dir="rtl"]) .aside-menu-show.aside-menu-fixed .app-footer {
margin-right: 250px;
}
html:not([dir="rtl"]) .aside-menu-show.breadcrumb-fixed .breadcrumb {
right: 250px;
}
html[dir="rtl"] .sidebar-show .sidebar { html[dir="rtl"] .sidebar-show .sidebar {
margin-right: 0; margin-right: 0;
} }
html[dir="rtl"] .sidebar-show.sidebar-fixed .main, html[dir="rtl"] .aside-menu-show .aside-menu,
html[dir="rtl"] .sidebar-show.sidebar-fixed .app-footer {
margin-right: 200px;
}
html[dir="rtl"] .sidebar-show.sidebar-fixed.sidebar-compact .main,
html[dir="rtl"] .sidebar-show.sidebar-fixed.sidebar-compact .app-footer {
margin-right: 150px;
}
html[dir="rtl"] .sidebar-show.sidebar-fixed.sidebar-minimized .main,
html[dir="rtl"] .sidebar-show.sidebar-fixed.sidebar-minimized .app-footer {
margin-right: 50px;
}
html[dir="rtl"] .sidebar-show.breadcrumb-fixed .breadcrumb {
right: 200px;
}
html[dir="rtl"] .sidebar-show.breadcrumb-fixed.sidebar-compact .breadcrumb {
right: 150px;
}
html[dir="rtl"] .sidebar-show.breadcrumb-fixed.sidebar-minimized .breadcrumb {
right: 50px;
}
html[dir="rtl"] .aside-menu-show .aside-menu { html[dir="rtl"] .aside-menu-show .aside-menu {
margin-left: 0; margin-left: 0;
} }
html[dir="rtl"] .aside-menu-show.aside-menu-fixed .main,
html[dir="rtl"] .aside-menu-show.aside-menu-fixed .app-footer {
margin-left: 250px;
}
html[dir="rtl"] .aside-menu-show.breadcrumb-fixed .breadcrumb {
left: 250px;
}
@-webkit-keyframes opacity { @-webkit-keyframes opacity {
0% { 0% {
opacity: 0; opacity: 0;
@ -12965,71 +12943,99 @@ html[dir="rtl"] .aside-menu-show.breadcrumb-fixed .breadcrumb {
} }
@media (min-width: 576px) { @media (min-width: 576px) {
html:not([dir="rtl"]) .sidebar-sm-show .sidebar { html:not([dir="rtl"]) .sidebar-sm-show .sidebar,
html:not([dir="rtl"]) .sidebar-show .sidebar {
margin-left: 0; margin-left: 0;
} }
html:not([dir="rtl"]) .sidebar-sm-show.sidebar-fixed .main, html:not([dir="rtl"]) .sidebar-sm-show.sidebar-fixed .main,
html:not([dir="rtl"]) .sidebar-sm-show.sidebar-fixed .app-footer { html:not([dir="rtl"]) .sidebar-sm-show.sidebar-fixed .app-footer,
html:not([dir="rtl"]) .sidebar-show.sidebar-fixed .main,
html:not([dir="rtl"]) .sidebar-show.sidebar-fixed .app-footer {
margin-left: 200px; margin-left: 200px;
} }
html:not([dir="rtl"]) .sidebar-sm-show.sidebar-fixed.sidebar-compact .main, html:not([dir="rtl"]) .sidebar-sm-show.sidebar-fixed.sidebar-compact .main,
html:not([dir="rtl"]) .sidebar-sm-show.sidebar-fixed.sidebar-compact .app-footer { html:not([dir="rtl"]) .sidebar-sm-show.sidebar-fixed.sidebar-compact .app-footer,
html:not([dir="rtl"]) .sidebar-show.sidebar-fixed.sidebar-compact .main,
html:not([dir="rtl"]) .sidebar-show.sidebar-fixed.sidebar-compact .app-footer {
margin-left: 150px; margin-left: 150px;
} }
html:not([dir="rtl"]) .sidebar-sm-show.sidebar-fixed.sidebar-minimized .main, html:not([dir="rtl"]) .sidebar-sm-show.sidebar-fixed.sidebar-minimized .main,
html:not([dir="rtl"]) .sidebar-sm-show.sidebar-fixed.sidebar-minimized .app-footer { html:not([dir="rtl"]) .sidebar-sm-show.sidebar-fixed.sidebar-minimized .app-footer,
margin-left: 50px; html:not([dir="rtl"]) .sidebar-show.sidebar-fixed.sidebar-minimized .main,
html:not([dir="rtl"]) .sidebar-show.sidebar-fixed.sidebar-minimized .app-footer {
margin-left: 200px;
} }
html:not([dir="rtl"]) .sidebar-sm-show.breadcrumb-fixed .breadcrumb { html:not([dir="rtl"]) .sidebar-sm-show.breadcrumb-fixed .breadcrumb,
html:not([dir="rtl"]) .sidebar-show.breadcrumb-fixed .breadcrumb {
left: 200px; left: 200px;
} }
html:not([dir="rtl"]) .sidebar-sm-show.breadcrumb-fixed.sidebar-compact .breadcrumb { html:not([dir="rtl"]) .sidebar-sm-show.breadcrumb-fixed.sidebar-compact .breadcrumb,
html:not([dir="rtl"]) .sidebar-show.breadcrumb-fixed.sidebar-compact .breadcrumb {
left: 150px; left: 150px;
} }
html:not([dir="rtl"]) .sidebar-sm-show.breadcrumb-fixed.sidebar-minimized .breadcrumb { html:not([dir="rtl"]) .sidebar-sm-show.breadcrumb-fixed.sidebar-minimized .breadcrumb,
html:not([dir="rtl"]) .sidebar-show.breadcrumb-fixed.sidebar-minimized .breadcrumb {
left: 50px; left: 50px;
} }
html:not([dir="rtl"]) .aside-menu-show .aside-menu,
html:not([dir="rtl"]) .aside-menu-sm-show .aside-menu { html:not([dir="rtl"]) .aside-menu-sm-show .aside-menu {
margin-right: 0; margin-right: 0;
} }
html:not([dir="rtl"]) .aside-menu-show.aside-menu-fixed .main,
html:not([dir="rtl"]) .aside-menu-show.aside-menu-fixed .app-footer,
html:not([dir="rtl"]) .aside-menu-sm-show.aside-menu-fixed .main, html:not([dir="rtl"]) .aside-menu-sm-show.aside-menu-fixed .main,
html:not([dir="rtl"]) .aside-menu-sm-show.aside-menu-fixed .app-footer { html:not([dir="rtl"]) .aside-menu-sm-show.aside-menu-fixed .app-footer {
margin-right: 250px; margin-right: 250px;
} }
html:not([dir="rtl"]) .aside-menu-show.breadcrumb-fixed .breadcrumb,
html:not([dir="rtl"]) .aside-menu-sm-show.breadcrumb-fixed .breadcrumb { html:not([dir="rtl"]) .aside-menu-sm-show.breadcrumb-fixed .breadcrumb {
right: 250px; right: 250px;
} }
html[dir="rtl"] .sidebar-sm-show .sidebar { html[dir="rtl"] .sidebar-sm-show .sidebar,
html[dir="rtl"] .sidebar-show .sidebar {
margin-right: 0; margin-right: 0;
} }
html[dir="rtl"] .sidebar-sm-show.sidebar-fixed .main, html[dir="rtl"] .sidebar-sm-show.sidebar-fixed .main,
html[dir="rtl"] .sidebar-sm-show.sidebar-fixed .app-footer { html[dir="rtl"] .sidebar-sm-show.sidebar-fixed .app-footer,
html[dir="rtl"] .sidebar-show.sidebar-fixed .main,
html[dir="rtl"] .sidebar-show.sidebar-fixed .app-footer {
margin-right: 200px; margin-right: 200px;
} }
html[dir="rtl"] .sidebar-sm-show.sidebar-fixed.sidebar-compact .main, html[dir="rtl"] .sidebar-sm-show.sidebar-fixed.sidebar-compact .main,
html[dir="rtl"] .sidebar-sm-show.sidebar-fixed.sidebar-compact .app-footer { html[dir="rtl"] .sidebar-sm-show.sidebar-fixed.sidebar-compact .app-footer,
html[dir="rtl"] .sidebar-show.sidebar-fixed.sidebar-compact .main,
html[dir="rtl"] .sidebar-show.sidebar-fixed.sidebar-compact .app-footer {
margin-right: 150px; margin-right: 150px;
} }
html[dir="rtl"] .sidebar-sm-show.sidebar-fixed.sidebar-minimized .main, html[dir="rtl"] .sidebar-sm-show.sidebar-fixed.sidebar-minimized .main,
html[dir="rtl"] .sidebar-sm-show.sidebar-fixed.sidebar-minimized .app-footer { html[dir="rtl"] .sidebar-sm-show.sidebar-fixed.sidebar-minimized .app-footer,
margin-right: 50px; html[dir="rtl"] .sidebar-show.sidebar-fixed.sidebar-minimized .main,
html[dir="rtl"] .sidebar-show.sidebar-fixed.sidebar-minimized .app-footer {
margin-right: 200px;
} }
html[dir="rtl"] .sidebar-sm-show.breadcrumb-fixed .breadcrumb { html[dir="rtl"] .sidebar-sm-show.breadcrumb-fixed .breadcrumb,
html[dir="rtl"] .sidebar-show.breadcrumb-fixed .breadcrumb {
right: 200px; right: 200px;
} }
html[dir="rtl"] .sidebar-sm-show.breadcrumb-fixed.sidebar-compact .breadcrumb { html[dir="rtl"] .sidebar-sm-show.breadcrumb-fixed.sidebar-compact .breadcrumb,
html[dir="rtl"] .sidebar-show.breadcrumb-fixed.sidebar-compact .breadcrumb {
right: 150px; right: 150px;
} }
html[dir="rtl"] .sidebar-sm-show.breadcrumb-fixed.sidebar-minimized .breadcrumb { html[dir="rtl"] .sidebar-sm-show.breadcrumb-fixed.sidebar-minimized .breadcrumb,
html[dir="rtl"] .sidebar-show.breadcrumb-fixed.sidebar-minimized .breadcrumb {
right: 50px; right: 50px;
} }
html[dir="rtl"] .aside-menu-show .aside-menu,
html[dir="rtl"] .aside-menu-sm-show .aside-menu { html[dir="rtl"] .aside-menu-sm-show .aside-menu {
margin-left: 0; margin-left: 0;
} }
html[dir="rtl"] .aside-menu-show.aside-menu-fixed .main,
html[dir="rtl"] .aside-menu-show.aside-menu-fixed .app-footer,
html[dir="rtl"] .aside-menu-sm-show.aside-menu-fixed .main, html[dir="rtl"] .aside-menu-sm-show.aside-menu-fixed .main,
html[dir="rtl"] .aside-menu-sm-show.aside-menu-fixed .app-footer { html[dir="rtl"] .aside-menu-sm-show.aside-menu-fixed .app-footer {
margin-left: 250px; margin-left: 250px;
} }
html[dir="rtl"] .aside-menu-show.breadcrumb-fixed .breadcrumb,
html[dir="rtl"] .aside-menu-sm-show.breadcrumb-fixed .breadcrumb { html[dir="rtl"] .aside-menu-sm-show.breadcrumb-fixed .breadcrumb {
left: 250px; left: 250px;
} }
@ -13051,92 +13057,100 @@ html[dir="rtl"] .aside-menu-show.breadcrumb-fixed .breadcrumb {
} }
} }
@media (min-width: 576px) and (max-width: 575.98px) {
.sidebar-sm-show .main,
.aside-menu-sm-show .main {
position: relative;
}
.sidebar-sm-show .main::before,
.aside-menu-sm-show .main::before {
position: absolute;
top: 0;
left: 0;
z-index: 1018;
width: 100%;
height: 100%;
content: "";
background: rgba(0, 0, 0, 0.7);
-webkit-animation: opacity 0.25s;
animation: opacity 0.25s;
}
}
@media (min-width: 768px) { @media (min-width: 768px) {
html:not([dir="rtl"]) .sidebar-md-show .sidebar { html:not([dir="rtl"]) .sidebar-md-show .sidebar,
html:not([dir="rtl"]) .sidebar-show .sidebar {
margin-left: 0; margin-left: 0;
} }
html:not([dir="rtl"]) .sidebar-md-show.sidebar-fixed .main, html:not([dir="rtl"]) .sidebar-md-show.sidebar-fixed .main,
html:not([dir="rtl"]) .sidebar-md-show.sidebar-fixed .app-footer { html:not([dir="rtl"]) .sidebar-md-show.sidebar-fixed .app-footer,
html:not([dir="rtl"]) .sidebar-show.sidebar-fixed .main,
html:not([dir="rtl"]) .sidebar-show.sidebar-fixed .app-footer {
margin-left: 200px; margin-left: 200px;
} }
html:not([dir="rtl"]) .sidebar-md-show.sidebar-fixed.sidebar-compact .main, html:not([dir="rtl"]) .sidebar-md-show.sidebar-fixed.sidebar-compact .main,
html:not([dir="rtl"]) .sidebar-md-show.sidebar-fixed.sidebar-compact .app-footer { html:not([dir="rtl"]) .sidebar-md-show.sidebar-fixed.sidebar-compact .app-footer,
html:not([dir="rtl"]) .sidebar-show.sidebar-fixed.sidebar-compact .main,
html:not([dir="rtl"]) .sidebar-show.sidebar-fixed.sidebar-compact .app-footer {
margin-left: 150px; margin-left: 150px;
} }
html:not([dir="rtl"]) .sidebar-md-show.sidebar-fixed.sidebar-minimized .main, html:not([dir="rtl"]) .sidebar-md-show.sidebar-fixed.sidebar-minimized .main,
html:not([dir="rtl"]) .sidebar-md-show.sidebar-fixed.sidebar-minimized .app-footer { html:not([dir="rtl"]) .sidebar-md-show.sidebar-fixed.sidebar-minimized .app-footer,
margin-left: 50px; html:not([dir="rtl"]) .sidebar-show.sidebar-fixed.sidebar-minimized .main,
html:not([dir="rtl"]) .sidebar-show.sidebar-fixed.sidebar-minimized .app-footer {
margin-left: 200px;
} }
html:not([dir="rtl"]) .sidebar-md-show.breadcrumb-fixed .breadcrumb { html:not([dir="rtl"]) .sidebar-md-show.breadcrumb-fixed .breadcrumb,
html:not([dir="rtl"]) .sidebar-show.breadcrumb-fixed .breadcrumb {
left: 200px; left: 200px;
} }
html:not([dir="rtl"]) .sidebar-md-show.breadcrumb-fixed.sidebar-compact .breadcrumb { html:not([dir="rtl"]) .sidebar-md-show.breadcrumb-fixed.sidebar-compact .breadcrumb,
html:not([dir="rtl"]) .sidebar-show.breadcrumb-fixed.sidebar-compact .breadcrumb {
left: 150px; left: 150px;
} }
html:not([dir="rtl"]) .sidebar-md-show.breadcrumb-fixed.sidebar-minimized .breadcrumb { html:not([dir="rtl"]) .sidebar-md-show.breadcrumb-fixed.sidebar-minimized .breadcrumb,
html:not([dir="rtl"]) .sidebar-show.breadcrumb-fixed.sidebar-minimized .breadcrumb {
left: 50px; left: 50px;
} }
html:not([dir="rtl"]) .aside-menu-show .aside-menu,
html:not([dir="rtl"]) .aside-menu-md-show .aside-menu { html:not([dir="rtl"]) .aside-menu-md-show .aside-menu {
margin-right: 0; margin-right: 0;
} }
html:not([dir="rtl"]) .aside-menu-show.aside-menu-fixed .main,
html:not([dir="rtl"]) .aside-menu-show.aside-menu-fixed .app-footer,
html:not([dir="rtl"]) .aside-menu-md-show.aside-menu-fixed .main, html:not([dir="rtl"]) .aside-menu-md-show.aside-menu-fixed .main,
html:not([dir="rtl"]) .aside-menu-md-show.aside-menu-fixed .app-footer { html:not([dir="rtl"]) .aside-menu-md-show.aside-menu-fixed .app-footer {
margin-right: 250px; margin-right: 250px;
} }
html:not([dir="rtl"]) .aside-menu-show.breadcrumb-fixed .breadcrumb,
html:not([dir="rtl"]) .aside-menu-md-show.breadcrumb-fixed .breadcrumb { html:not([dir="rtl"]) .aside-menu-md-show.breadcrumb-fixed .breadcrumb {
right: 250px; right: 250px;
} }
html[dir="rtl"] .sidebar-md-show .sidebar { html[dir="rtl"] .sidebar-md-show .sidebar,
html[dir="rtl"] .sidebar-show .sidebar {
margin-right: 0; margin-right: 0;
} }
html[dir="rtl"] .sidebar-md-show.sidebar-fixed .main, html[dir="rtl"] .sidebar-md-show.sidebar-fixed .main,
html[dir="rtl"] .sidebar-md-show.sidebar-fixed .app-footer { html[dir="rtl"] .sidebar-md-show.sidebar-fixed .app-footer,
html[dir="rtl"] .sidebar-show.sidebar-fixed .main,
html[dir="rtl"] .sidebar-show.sidebar-fixed .app-footer {
margin-right: 200px; margin-right: 200px;
} }
html[dir="rtl"] .sidebar-md-show.sidebar-fixed.sidebar-compact .main, html[dir="rtl"] .sidebar-md-show.sidebar-fixed.sidebar-compact .main,
html[dir="rtl"] .sidebar-md-show.sidebar-fixed.sidebar-compact .app-footer { html[dir="rtl"] .sidebar-md-show.sidebar-fixed.sidebar-compact .app-footer,
html[dir="rtl"] .sidebar-show.sidebar-fixed.sidebar-compact .main,
html[dir="rtl"] .sidebar-show.sidebar-fixed.sidebar-compact .app-footer {
margin-right: 150px; margin-right: 150px;
} }
html[dir="rtl"] .sidebar-md-show.sidebar-fixed.sidebar-minimized .main, html[dir="rtl"] .sidebar-md-show.sidebar-fixed.sidebar-minimized .main,
html[dir="rtl"] .sidebar-md-show.sidebar-fixed.sidebar-minimized .app-footer { html[dir="rtl"] .sidebar-md-show.sidebar-fixed.sidebar-minimized .app-footer,
margin-right: 50px; html[dir="rtl"] .sidebar-show.sidebar-fixed.sidebar-minimized .main,
html[dir="rtl"] .sidebar-show.sidebar-fixed.sidebar-minimized .app-footer {
margin-right: 200px;
} }
html[dir="rtl"] .sidebar-md-show.breadcrumb-fixed .breadcrumb { html[dir="rtl"] .sidebar-md-show.breadcrumb-fixed .breadcrumb,
html[dir="rtl"] .sidebar-show.breadcrumb-fixed .breadcrumb {
right: 200px; right: 200px;
} }
html[dir="rtl"] .sidebar-md-show.breadcrumb-fixed.sidebar-compact .breadcrumb { html[dir="rtl"] .sidebar-md-show.breadcrumb-fixed.sidebar-compact .breadcrumb,
html[dir="rtl"] .sidebar-show.breadcrumb-fixed.sidebar-compact .breadcrumb {
right: 150px; right: 150px;
} }
html[dir="rtl"] .sidebar-md-show.breadcrumb-fixed.sidebar-minimized .breadcrumb { html[dir="rtl"] .sidebar-md-show.breadcrumb-fixed.sidebar-minimized .breadcrumb,
html[dir="rtl"] .sidebar-show.breadcrumb-fixed.sidebar-minimized .breadcrumb {
right: 50px; right: 50px;
} }
html[dir="rtl"] .aside-menu-show .aside-menu,
html[dir="rtl"] .aside-menu-md-show .aside-menu { html[dir="rtl"] .aside-menu-md-show .aside-menu {
margin-left: 0; margin-left: 0;
} }
html[dir="rtl"] .aside-menu-show.aside-menu-fixed .main,
html[dir="rtl"] .aside-menu-show.aside-menu-fixed .app-footer,
html[dir="rtl"] .aside-menu-md-show.aside-menu-fixed .main, html[dir="rtl"] .aside-menu-md-show.aside-menu-fixed .main,
html[dir="rtl"] .aside-menu-md-show.aside-menu-fixed .app-footer { html[dir="rtl"] .aside-menu-md-show.aside-menu-fixed .app-footer {
margin-left: 250px; margin-left: 250px;
} }
html[dir="rtl"] .aside-menu-show.breadcrumb-fixed .breadcrumb,
html[dir="rtl"] .aside-menu-md-show.breadcrumb-fixed .breadcrumb { html[dir="rtl"] .aside-menu-md-show.breadcrumb-fixed .breadcrumb {
left: 250px; left: 250px;
} }
@ -13158,92 +13172,100 @@ html[dir="rtl"] .aside-menu-show.breadcrumb-fixed .breadcrumb {
} }
} }
@media (min-width: 768px) and (max-width: 575.98px) {
.sidebar-md-show .main,
.aside-menu-md-show .main {
position: relative;
}
.sidebar-md-show .main::before,
.aside-menu-md-show .main::before {
position: absolute;
top: 0;
left: 0;
z-index: 1018;
width: 100%;
height: 100%;
content: "";
background: rgba(0, 0, 0, 0.7);
-webkit-animation: opacity 0.25s;
animation: opacity 0.25s;
}
}
@media (min-width: 992px) { @media (min-width: 992px) {
html:not([dir="rtl"]) .sidebar-lg-show .sidebar { html:not([dir="rtl"]) .sidebar-lg-show .sidebar,
html:not([dir="rtl"]) .sidebar-show .sidebar {
margin-left: 0; margin-left: 0;
} }
html:not([dir="rtl"]) .sidebar-lg-show.sidebar-fixed .main, html:not([dir="rtl"]) .sidebar-lg-show.sidebar-fixed .main,
html:not([dir="rtl"]) .sidebar-lg-show.sidebar-fixed .app-footer { html:not([dir="rtl"]) .sidebar-lg-show.sidebar-fixed .app-footer,
html:not([dir="rtl"]) .sidebar-show.sidebar-fixed .main,
html:not([dir="rtl"]) .sidebar-show.sidebar-fixed .app-footer {
margin-left: 200px; margin-left: 200px;
} }
html:not([dir="rtl"]) .sidebar-lg-show.sidebar-fixed.sidebar-compact .main, html:not([dir="rtl"]) .sidebar-lg-show.sidebar-fixed.sidebar-compact .main,
html:not([dir="rtl"]) .sidebar-lg-show.sidebar-fixed.sidebar-compact .app-footer { html:not([dir="rtl"]) .sidebar-lg-show.sidebar-fixed.sidebar-compact .app-footer,
html:not([dir="rtl"]) .sidebar-show.sidebar-fixed.sidebar-compact .main,
html:not([dir="rtl"]) .sidebar-show.sidebar-fixed.sidebar-compact .app-footer {
margin-left: 150px; margin-left: 150px;
} }
html:not([dir="rtl"]) .sidebar-lg-show.sidebar-fixed.sidebar-minimized .main, html:not([dir="rtl"]) .sidebar-lg-show.sidebar-fixed.sidebar-minimized .main,
html:not([dir="rtl"]) .sidebar-lg-show.sidebar-fixed.sidebar-minimized .app-footer { html:not([dir="rtl"]) .sidebar-lg-show.sidebar-fixed.sidebar-minimized .app-footer,
html:not([dir="rtl"]) .sidebar-show.sidebar-fixed.sidebar-minimized .main,
html:not([dir="rtl"]) .sidebar-show.sidebar-fixed.sidebar-minimized .app-footer {
margin-left: 50px; margin-left: 50px;
} }
html:not([dir="rtl"]) .sidebar-lg-show.breadcrumb-fixed .breadcrumb { html:not([dir="rtl"]) .sidebar-lg-show.breadcrumb-fixed .breadcrumb,
html:not([dir="rtl"]) .sidebar-show.breadcrumb-fixed .breadcrumb {
left: 200px; left: 200px;
} }
html:not([dir="rtl"]) .sidebar-lg-show.breadcrumb-fixed.sidebar-compact .breadcrumb { html:not([dir="rtl"]) .sidebar-lg-show.breadcrumb-fixed.sidebar-compact .breadcrumb,
html:not([dir="rtl"]) .sidebar-show.breadcrumb-fixed.sidebar-compact .breadcrumb {
left: 150px; left: 150px;
} }
html:not([dir="rtl"]) .sidebar-lg-show.breadcrumb-fixed.sidebar-minimized .breadcrumb { html:not([dir="rtl"]) .sidebar-lg-show.breadcrumb-fixed.sidebar-minimized .breadcrumb,
html:not([dir="rtl"]) .sidebar-show.breadcrumb-fixed.sidebar-minimized .breadcrumb {
left: 50px; left: 50px;
} }
html:not([dir="rtl"]) .aside-menu-show .aside-menu,
html:not([dir="rtl"]) .aside-menu-lg-show .aside-menu { html:not([dir="rtl"]) .aside-menu-lg-show .aside-menu {
margin-right: 0; margin-right: 0;
} }
html:not([dir="rtl"]) .aside-menu-show.aside-menu-fixed .main,
html:not([dir="rtl"]) .aside-menu-show.aside-menu-fixed .app-footer,
html:not([dir="rtl"]) .aside-menu-lg-show.aside-menu-fixed .main, html:not([dir="rtl"]) .aside-menu-lg-show.aside-menu-fixed .main,
html:not([dir="rtl"]) .aside-menu-lg-show.aside-menu-fixed .app-footer { html:not([dir="rtl"]) .aside-menu-lg-show.aside-menu-fixed .app-footer {
margin-right: 250px; margin-right: 250px;
} }
html:not([dir="rtl"]) .aside-menu-show.breadcrumb-fixed .breadcrumb,
html:not([dir="rtl"]) .aside-menu-lg-show.breadcrumb-fixed .breadcrumb { html:not([dir="rtl"]) .aside-menu-lg-show.breadcrumb-fixed .breadcrumb {
right: 250px; right: 250px;
} }
html[dir="rtl"] .sidebar-lg-show .sidebar { html[dir="rtl"] .sidebar-lg-show .sidebar,
html[dir="rtl"] .sidebar-show .sidebar {
margin-right: 0; margin-right: 0;
} }
html[dir="rtl"] .sidebar-lg-show.sidebar-fixed .main, html[dir="rtl"] .sidebar-lg-show.sidebar-fixed .main,
html[dir="rtl"] .sidebar-lg-show.sidebar-fixed .app-footer { html[dir="rtl"] .sidebar-lg-show.sidebar-fixed .app-footer,
html[dir="rtl"] .sidebar-show.sidebar-fixed .main,
html[dir="rtl"] .sidebar-show.sidebar-fixed .app-footer {
margin-right: 200px; margin-right: 200px;
} }
html[dir="rtl"] .sidebar-lg-show.sidebar-fixed.sidebar-compact .main, html[dir="rtl"] .sidebar-lg-show.sidebar-fixed.sidebar-compact .main,
html[dir="rtl"] .sidebar-lg-show.sidebar-fixed.sidebar-compact .app-footer { html[dir="rtl"] .sidebar-lg-show.sidebar-fixed.sidebar-compact .app-footer,
html[dir="rtl"] .sidebar-show.sidebar-fixed.sidebar-compact .main,
html[dir="rtl"] .sidebar-show.sidebar-fixed.sidebar-compact .app-footer {
margin-right: 150px; margin-right: 150px;
} }
html[dir="rtl"] .sidebar-lg-show.sidebar-fixed.sidebar-minimized .main, html[dir="rtl"] .sidebar-lg-show.sidebar-fixed.sidebar-minimized .main,
html[dir="rtl"] .sidebar-lg-show.sidebar-fixed.sidebar-minimized .app-footer { html[dir="rtl"] .sidebar-lg-show.sidebar-fixed.sidebar-minimized .app-footer,
html[dir="rtl"] .sidebar-show.sidebar-fixed.sidebar-minimized .main,
html[dir="rtl"] .sidebar-show.sidebar-fixed.sidebar-minimized .app-footer {
margin-right: 50px; margin-right: 50px;
} }
html[dir="rtl"] .sidebar-lg-show.breadcrumb-fixed .breadcrumb { html[dir="rtl"] .sidebar-lg-show.breadcrumb-fixed .breadcrumb,
html[dir="rtl"] .sidebar-show.breadcrumb-fixed .breadcrumb {
right: 200px; right: 200px;
} }
html[dir="rtl"] .sidebar-lg-show.breadcrumb-fixed.sidebar-compact .breadcrumb { html[dir="rtl"] .sidebar-lg-show.breadcrumb-fixed.sidebar-compact .breadcrumb,
html[dir="rtl"] .sidebar-show.breadcrumb-fixed.sidebar-compact .breadcrumb {
right: 150px; right: 150px;
} }
html[dir="rtl"] .sidebar-lg-show.breadcrumb-fixed.sidebar-minimized .breadcrumb { html[dir="rtl"] .sidebar-lg-show.breadcrumb-fixed.sidebar-minimized .breadcrumb,
html[dir="rtl"] .sidebar-show.breadcrumb-fixed.sidebar-minimized .breadcrumb {
right: 50px; right: 50px;
} }
html[dir="rtl"] .aside-menu-show .aside-menu,
html[dir="rtl"] .aside-menu-lg-show .aside-menu { html[dir="rtl"] .aside-menu-lg-show .aside-menu {
margin-left: 0; margin-left: 0;
} }
html[dir="rtl"] .aside-menu-show.aside-menu-fixed .main,
html[dir="rtl"] .aside-menu-show.aside-menu-fixed .app-footer,
html[dir="rtl"] .aside-menu-lg-show.aside-menu-fixed .main, html[dir="rtl"] .aside-menu-lg-show.aside-menu-fixed .main,
html[dir="rtl"] .aside-menu-lg-show.aside-menu-fixed .app-footer { html[dir="rtl"] .aside-menu-lg-show.aside-menu-fixed .app-footer {
margin-left: 250px; margin-left: 250px;
} }
html[dir="rtl"] .aside-menu-show.breadcrumb-fixed .breadcrumb,
html[dir="rtl"] .aside-menu-lg-show.breadcrumb-fixed .breadcrumb { html[dir="rtl"] .aside-menu-lg-show.breadcrumb-fixed .breadcrumb {
left: 250px; left: 250px;
} }
@ -13265,92 +13287,100 @@ html[dir="rtl"] .aside-menu-show.breadcrumb-fixed .breadcrumb {
} }
} }
@media (min-width: 992px) and (max-width: 575.98px) {
.sidebar-lg-show .main,
.aside-menu-lg-show .main {
position: relative;
}
.sidebar-lg-show .main::before,
.aside-menu-lg-show .main::before {
position: absolute;
top: 0;
left: 0;
z-index: 1018;
width: 100%;
height: 100%;
content: "";
background: rgba(0, 0, 0, 0.7);
-webkit-animation: opacity 0.25s;
animation: opacity 0.25s;
}
}
@media (min-width: 1200px) { @media (min-width: 1200px) {
html:not([dir="rtl"]) .sidebar-xl-show .sidebar { html:not([dir="rtl"]) .sidebar-xl-show .sidebar,
html:not([dir="rtl"]) .sidebar-show .sidebar {
margin-left: 0; margin-left: 0;
} }
html:not([dir="rtl"]) .sidebar-xl-show.sidebar-fixed .main, html:not([dir="rtl"]) .sidebar-xl-show.sidebar-fixed .main,
html:not([dir="rtl"]) .sidebar-xl-show.sidebar-fixed .app-footer { html:not([dir="rtl"]) .sidebar-xl-show.sidebar-fixed .app-footer,
html:not([dir="rtl"]) .sidebar-show.sidebar-fixed .main,
html:not([dir="rtl"]) .sidebar-show.sidebar-fixed .app-footer {
margin-left: 200px; margin-left: 200px;
} }
html:not([dir="rtl"]) .sidebar-xl-show.sidebar-fixed.sidebar-compact .main, html:not([dir="rtl"]) .sidebar-xl-show.sidebar-fixed.sidebar-compact .main,
html:not([dir="rtl"]) .sidebar-xl-show.sidebar-fixed.sidebar-compact .app-footer { html:not([dir="rtl"]) .sidebar-xl-show.sidebar-fixed.sidebar-compact .app-footer,
html:not([dir="rtl"]) .sidebar-show.sidebar-fixed.sidebar-compact .main,
html:not([dir="rtl"]) .sidebar-show.sidebar-fixed.sidebar-compact .app-footer {
margin-left: 150px; margin-left: 150px;
} }
html:not([dir="rtl"]) .sidebar-xl-show.sidebar-fixed.sidebar-minimized .main, html:not([dir="rtl"]) .sidebar-xl-show.sidebar-fixed.sidebar-minimized .main,
html:not([dir="rtl"]) .sidebar-xl-show.sidebar-fixed.sidebar-minimized .app-footer { html:not([dir="rtl"]) .sidebar-xl-show.sidebar-fixed.sidebar-minimized .app-footer,
html:not([dir="rtl"]) .sidebar-show.sidebar-fixed.sidebar-minimized .main,
html:not([dir="rtl"]) .sidebar-show.sidebar-fixed.sidebar-minimized .app-footer {
margin-left: 50px; margin-left: 50px;
} }
html:not([dir="rtl"]) .sidebar-xl-show.breadcrumb-fixed .breadcrumb { html:not([dir="rtl"]) .sidebar-xl-show.breadcrumb-fixed .breadcrumb,
html:not([dir="rtl"]) .sidebar-show.breadcrumb-fixed .breadcrumb {
left: 200px; left: 200px;
} }
html:not([dir="rtl"]) .sidebar-xl-show.breadcrumb-fixed.sidebar-compact .breadcrumb { html:not([dir="rtl"]) .sidebar-xl-show.breadcrumb-fixed.sidebar-compact .breadcrumb,
html:not([dir="rtl"]) .sidebar-show.breadcrumb-fixed.sidebar-compact .breadcrumb {
left: 150px; left: 150px;
} }
html:not([dir="rtl"]) .sidebar-xl-show.breadcrumb-fixed.sidebar-minimized .breadcrumb { html:not([dir="rtl"]) .sidebar-xl-show.breadcrumb-fixed.sidebar-minimized .breadcrumb,
html:not([dir="rtl"]) .sidebar-show.breadcrumb-fixed.sidebar-minimized .breadcrumb {
left: 50px; left: 50px;
} }
html:not([dir="rtl"]) .aside-menu-show .aside-menu,
html:not([dir="rtl"]) .aside-menu-xl-show .aside-menu { html:not([dir="rtl"]) .aside-menu-xl-show .aside-menu {
margin-right: 0; margin-right: 0;
} }
html:not([dir="rtl"]) .aside-menu-show.aside-menu-fixed .main,
html:not([dir="rtl"]) .aside-menu-show.aside-menu-fixed .app-footer,
html:not([dir="rtl"]) .aside-menu-xl-show.aside-menu-fixed .main, html:not([dir="rtl"]) .aside-menu-xl-show.aside-menu-fixed .main,
html:not([dir="rtl"]) .aside-menu-xl-show.aside-menu-fixed .app-footer { html:not([dir="rtl"]) .aside-menu-xl-show.aside-menu-fixed .app-footer {
margin-right: 250px; margin-right: 250px;
} }
html:not([dir="rtl"]) .aside-menu-show.breadcrumb-fixed .breadcrumb,
html:not([dir="rtl"]) .aside-menu-xl-show.breadcrumb-fixed .breadcrumb { html:not([dir="rtl"]) .aside-menu-xl-show.breadcrumb-fixed .breadcrumb {
right: 250px; right: 250px;
} }
html[dir="rtl"] .sidebar-xl-show .sidebar { html[dir="rtl"] .sidebar-xl-show .sidebar,
html[dir="rtl"] .sidebar-show .sidebar {
margin-right: 0; margin-right: 0;
} }
html[dir="rtl"] .sidebar-xl-show.sidebar-fixed .main, html[dir="rtl"] .sidebar-xl-show.sidebar-fixed .main,
html[dir="rtl"] .sidebar-xl-show.sidebar-fixed .app-footer { html[dir="rtl"] .sidebar-xl-show.sidebar-fixed .app-footer,
html[dir="rtl"] .sidebar-show.sidebar-fixed .main,
html[dir="rtl"] .sidebar-show.sidebar-fixed .app-footer {
margin-right: 200px; margin-right: 200px;
} }
html[dir="rtl"] .sidebar-xl-show.sidebar-fixed.sidebar-compact .main, html[dir="rtl"] .sidebar-xl-show.sidebar-fixed.sidebar-compact .main,
html[dir="rtl"] .sidebar-xl-show.sidebar-fixed.sidebar-compact .app-footer { html[dir="rtl"] .sidebar-xl-show.sidebar-fixed.sidebar-compact .app-footer,
html[dir="rtl"] .sidebar-show.sidebar-fixed.sidebar-compact .main,
html[dir="rtl"] .sidebar-show.sidebar-fixed.sidebar-compact .app-footer {
margin-right: 150px; margin-right: 150px;
} }
html[dir="rtl"] .sidebar-xl-show.sidebar-fixed.sidebar-minimized .main, html[dir="rtl"] .sidebar-xl-show.sidebar-fixed.sidebar-minimized .main,
html[dir="rtl"] .sidebar-xl-show.sidebar-fixed.sidebar-minimized .app-footer { html[dir="rtl"] .sidebar-xl-show.sidebar-fixed.sidebar-minimized .app-footer,
html[dir="rtl"] .sidebar-show.sidebar-fixed.sidebar-minimized .main,
html[dir="rtl"] .sidebar-show.sidebar-fixed.sidebar-minimized .app-footer {
margin-right: 50px; margin-right: 50px;
} }
html[dir="rtl"] .sidebar-xl-show.breadcrumb-fixed .breadcrumb { html[dir="rtl"] .sidebar-xl-show.breadcrumb-fixed .breadcrumb,
html[dir="rtl"] .sidebar-show.breadcrumb-fixed .breadcrumb {
right: 200px; right: 200px;
} }
html[dir="rtl"] .sidebar-xl-show.breadcrumb-fixed.sidebar-compact .breadcrumb { html[dir="rtl"] .sidebar-xl-show.breadcrumb-fixed.sidebar-compact .breadcrumb,
html[dir="rtl"] .sidebar-show.breadcrumb-fixed.sidebar-compact .breadcrumb {
right: 150px; right: 150px;
} }
html[dir="rtl"] .sidebar-xl-show.breadcrumb-fixed.sidebar-minimized .breadcrumb { html[dir="rtl"] .sidebar-xl-show.breadcrumb-fixed.sidebar-minimized .breadcrumb,
html[dir="rtl"] .sidebar-show.breadcrumb-fixed.sidebar-minimized .breadcrumb {
right: 50px; right: 50px;
} }
html[dir="rtl"] .aside-menu-show .aside-menu,
html[dir="rtl"] .aside-menu-xl-show .aside-menu { html[dir="rtl"] .aside-menu-xl-show .aside-menu {
margin-left: 0; margin-left: 0;
} }
html[dir="rtl"] .aside-menu-show.aside-menu-fixed .main,
html[dir="rtl"] .aside-menu-show.aside-menu-fixed .app-footer,
html[dir="rtl"] .aside-menu-xl-show.aside-menu-fixed .main, html[dir="rtl"] .aside-menu-xl-show.aside-menu-fixed .main,
html[dir="rtl"] .aside-menu-xl-show.aside-menu-fixed .app-footer { html[dir="rtl"] .aside-menu-xl-show.aside-menu-fixed .app-footer {
margin-left: 250px; margin-left: 250px;
} }
html[dir="rtl"] .aside-menu-show.breadcrumb-fixed .breadcrumb,
html[dir="rtl"] .aside-menu-xl-show.breadcrumb-fixed .breadcrumb { html[dir="rtl"] .aside-menu-xl-show.breadcrumb-fixed .breadcrumb {
left: 250px; left: 250px;
} }
@ -13372,26 +13402,6 @@ html[dir="rtl"] .aside-menu-show.breadcrumb-fixed .breadcrumb {
} }
} }
@media (min-width: 1200px) and (max-width: 575.98px) {
.sidebar-xl-show .main,
.aside-menu-xl-show .main {
position: relative;
}
.sidebar-xl-show .main::before,
.aside-menu-xl-show .main::before {
position: absolute;
top: 0;
left: 0;
z-index: 1018;
width: 100%;
height: 100%;
content: "";
background: rgba(0, 0, 0, 0.7);
-webkit-animation: opacity 0.25s;
animation: opacity 0.25s;
}
}
.footer-fixed .app-footer { .footer-fixed .app-footer {
position: fixed; position: fixed;
right: 0; right: 0;

View File

@ -1,7 +1,7 @@
@charset "UTF-8"; @charset "UTF-8";
/*! /*!
* CoreUI - Open Source Dashboard UI Kit * CoreUI - Open Source Dashboard UI Kit
* @version v2.0.18 * @version v2.1.3
* @link https://coreui.io * @link https://coreui.io
* Copyright (c) 2018 creativeLabs Łukasz Holeczek * Copyright (c) 2018 creativeLabs Łukasz Holeczek
* Licensed under MIT (https://coreui.io/license) * Licensed under MIT (https://coreui.io/license)
@ -10347,10 +10347,6 @@ a.text-dark:hover, a.text-dark:focus {
box-shadow: 0 0 0 0.2rem rgba(170, 212, 80, 0.5); box-shadow: 0 0 0 0.2rem rgba(170, 212, 80, 0.5);
} }
button {
cursor: pointer;
}
.btn-transparent { .btn-transparent {
color: #fff; color: #fff;
background-color: transparent; background-color: transparent;
@ -11699,6 +11695,28 @@ canvas {
background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 11 14'%3E%3Cpath fill='%23fff' d='M9.148 2.352l-4.148 4.148 4.148 4.148q0.148 0.148 0.148 0.352t-0.148 0.352l-1.297 1.297q-0.148 0.148-0.352 0.148t-0.352-0.148l-5.797-5.797q-0.148-0.148-0.148-0.352t0.148-0.352l5.797-5.797q0.148-0.148 0.352-0.148t0.352 0.148l1.297 1.297q0.148 0.148 0.148 0.352t-0.148 0.352z'/%3E%3C/svg%3E"); background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 11 14'%3E%3Cpath fill='%23fff' d='M9.148 2.352l-4.148 4.148 4.148 4.148q0.148 0.148 0.148 0.352t-0.148 0.352l-1.297 1.297q-0.148 0.148-0.352 0.148t-0.352-0.148l-5.797-5.797q-0.148-0.148-0.148-0.352t0.148-0.352l5.797-5.797q0.148-0.148 0.352-0.148t0.352 0.148l1.297 1.297q0.148 0.148 0.148 0.352t-0.148 0.352z'/%3E%3C/svg%3E");
} }
.sidebar .nav-link.disabled {
color: #b3b3b3;
cursor: default;
background: transparent;
}
.sidebar .nav-link.disabled .nav-icon {
color: #73818f;
}
.sidebar .nav-link.disabled:hover {
color: #b3b3b3;
}
.sidebar .nav-link.disabled:hover .nav-icon {
color: #73818f;
}
.sidebar .nav-link.disabled:hover.nav-dropdown-toggle::before {
background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 11 14'%3E%3Cpath fill='%23fff' d='M9.148 2.352l-4.148 4.148 4.148 4.148q0.148 0.148 0.148 0.352t-0.148 0.352l-1.297 1.297q-0.148 0.148-0.352 0.148t-0.352-0.148l-5.797-5.797q-0.148-0.148-0.148-0.352t0.148-0.352l5.797-5.797q0.148-0.148 0.352-0.148t0.352 0.148l1.297 1.297q0.148 0.148 0.148 0.352t-0.148 0.352z'/%3E%3C/svg%3E");
}
.sidebar .nav-link.nav-link-primary { .sidebar .nav-link.nav-link-primary {
background: #20a8d8; background: #20a8d8;
} }
@ -11866,6 +11884,19 @@ canvas {
border-left: 0; border-left: 0;
} }
.sidebar .nav-dropdown.open .nav-link.disabled {
color: #b3b3b3;
background: transparent;
}
.sidebar .nav-dropdown.open .nav-link.disabled:hover {
color: #b3b3b3;
}
.sidebar .nav-dropdown.open .nav-link.disabled:hover .nav-icon {
color: #73818f;
}
.sidebar .nav-dropdown.open > .nav-dropdown-toggle::before { .sidebar .nav-dropdown.open > .nav-dropdown-toggle::before {
-webkit-transform: rotate(-90deg); -webkit-transform: rotate(-90deg);
transform: rotate(-90deg); transform: rotate(-90deg);
@ -11910,6 +11941,7 @@ canvas {
position: relative; position: relative;
-ms-flex: 0 0 50px; -ms-flex: 0 0 50px;
flex: 0 0 50px; flex: 0 0 50px;
cursor: pointer;
background-color: rgba(0, 0, 0, 0.2); background-color: rgba(0, 0, 0, 0.2);
border: 0; border: 0;
} }
@ -12022,6 +12054,12 @@ canvas {
.sidebar-minimized .sidebar .nav-item:hover > .nav-link .nav-icon { .sidebar-minimized .sidebar .nav-item:hover > .nav-link .nav-icon {
color: #fff; color: #fff;
} }
.sidebar-minimized .sidebar .nav-item:hover > .nav-link.disabled {
background: #2f353a;
}
.sidebar-minimized .sidebar .nav-item:hover > .nav-link.disabled .nav-icon {
color: #73818f;
}
.sidebar-minimized .sidebar .nav-link { .sidebar-minimized .sidebar .nav-link {
position: relative; position: relative;
padding-left: 0; padding-left: 0;
@ -12069,6 +12107,43 @@ canvas {
left: 50px; left: 50px;
display: inline; display: inline;
} }
*[dir="rtl"] .sidebar-minimized .sidebar .nav {
list-style-image: url("data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7");
}
*[dir="rtl"] .sidebar-minimized .sidebar .nav .divider {
height: 0;
}
*[dir="rtl"] .sidebar-minimized .sidebar .sidebar-minimizer::before {
width: 100%;
-webkit-transform: rotate(0deg);
transform: rotate(0deg);
}
*[dir="rtl"] .sidebar-minimized .sidebar .nav-link {
padding-right: 0;
}
*[dir="rtl"] .sidebar-minimized .sidebar .nav-link .nav-icon {
float: right;
}
*[dir="rtl"] .sidebar-minimized .sidebar .nav-link .badge {
right: auto;
left: 15px;
}
*[dir="rtl"] .sidebar-minimized .sidebar .nav-link:hover .badge {
display: inline;
}
*[dir="rtl"] .sidebar-minimized .sidebar .nav > .nav-dropdown > .nav-dropdown-items {
display: none;
max-height: 1000px;
background: #2f353a;
}
*[dir="rtl"] .sidebar-minimized .sidebar .nav > .nav-dropdown:hover {
background: #20a8d8;
}
*[dir="rtl"] .sidebar-minimized .sidebar .nav > .nav-dropdown:hover > .nav-dropdown-items {
position: absolute;
left: 0;
display: inline;
}
} }
*[dir="rtl"] .sidebar .nav-dropdown-toggle::before { *[dir="rtl"] .sidebar .nav-dropdown-toggle::before {
@ -12099,41 +12174,12 @@ canvas {
} }
*[dir="rtl"] .sidebar .sidebar-minimizer::before { *[dir="rtl"] .sidebar .sidebar-minimizer::before {
right: unset; right: auto;
left: 0; left: 0;
-webkit-transform: rotate(180deg); -webkit-transform: rotate(180deg);
transform: rotate(180deg); transform: rotate(180deg);
} }
*[dir="rtl"] .sidebar-minimized .sidebar .nav {
list-style-type: disc;
}
*[dir="rtl"] .sidebar-minimized .sidebar .nav-link {
padding-right: 0;
}
*[dir="rtl"] .sidebar-minimized .sidebar .nav-link .nav-icon {
float: right;
padding: 0;
margin: 0;
}
*[dir="rtl"] .sidebar-minimized .sidebar .nav-link .badge {
right: auto;
left: 15px;
}
*[dir="rtl"] .sidebar-minimized .sidebar .nav-dropdown:hover > .nav-dropdown-items {
right: 50px;
left: 0;
}
*[dir="rtl"] .sidebar-minimized .sidebar .sidebar-minimizer::before {
-webkit-transform: rotate(0deg);
transform: rotate(0deg);
}
*[dir="rtl"] .sidebar-toggler { *[dir="rtl"] .sidebar-toggler {
margin-right: 0 !important; margin-right: 0 !important;
} }
@ -12838,94 +12884,26 @@ html[dir="rtl"] .aside-menu {
z-index: 1017; z-index: 1017;
} }
html:not([dir="rtl"]) .sidebar-show .sidebar,
html:not([dir="rtl"]) .sidebar-show .sidebar { html:not([dir="rtl"]) .sidebar-show .sidebar {
margin-left: 0; margin-left: 0;
} }
html:not([dir="rtl"]) .sidebar-show.sidebar-fixed .main, html:not([dir="rtl"]) .aside-menu-show .aside-menu,
html:not([dir="rtl"]) .sidebar-show.sidebar-fixed .app-footer {
margin-left: 200px;
}
html:not([dir="rtl"]) .sidebar-show.sidebar-fixed.sidebar-compact .main,
html:not([dir="rtl"]) .sidebar-show.sidebar-fixed.sidebar-compact .app-footer {
margin-left: 150px;
}
html:not([dir="rtl"]) .sidebar-show.sidebar-fixed.sidebar-minimized .main,
html:not([dir="rtl"]) .sidebar-show.sidebar-fixed.sidebar-minimized .app-footer {
margin-left: 50px;
}
html:not([dir="rtl"]) .sidebar-show.breadcrumb-fixed .breadcrumb {
left: 200px;
}
html:not([dir="rtl"]) .sidebar-show.breadcrumb-fixed.sidebar-compact .breadcrumb {
left: 150px;
}
html:not([dir="rtl"]) .sidebar-show.breadcrumb-fixed.sidebar-minimized .breadcrumb {
left: 50px;
}
html:not([dir="rtl"]) .aside-menu-show .aside-menu { html:not([dir="rtl"]) .aside-menu-show .aside-menu {
margin-right: 0; margin-right: 0;
} }
html:not([dir="rtl"]) .aside-menu-show.aside-menu-fixed .main, html[dir="rtl"] .sidebar-show .sidebar,
html:not([dir="rtl"]) .aside-menu-show.aside-menu-fixed .app-footer {
margin-right: 250px;
}
html:not([dir="rtl"]) .aside-menu-show.breadcrumb-fixed .breadcrumb {
right: 250px;
}
html[dir="rtl"] .sidebar-show .sidebar { html[dir="rtl"] .sidebar-show .sidebar {
margin-right: 0; margin-right: 0;
} }
html[dir="rtl"] .sidebar-show.sidebar-fixed .main, html[dir="rtl"] .aside-menu-show .aside-menu,
html[dir="rtl"] .sidebar-show.sidebar-fixed .app-footer {
margin-right: 200px;
}
html[dir="rtl"] .sidebar-show.sidebar-fixed.sidebar-compact .main,
html[dir="rtl"] .sidebar-show.sidebar-fixed.sidebar-compact .app-footer {
margin-right: 150px;
}
html[dir="rtl"] .sidebar-show.sidebar-fixed.sidebar-minimized .main,
html[dir="rtl"] .sidebar-show.sidebar-fixed.sidebar-minimized .app-footer {
margin-right: 50px;
}
html[dir="rtl"] .sidebar-show.breadcrumb-fixed .breadcrumb {
right: 200px;
}
html[dir="rtl"] .sidebar-show.breadcrumb-fixed.sidebar-compact .breadcrumb {
right: 150px;
}
html[dir="rtl"] .sidebar-show.breadcrumb-fixed.sidebar-minimized .breadcrumb {
right: 50px;
}
html[dir="rtl"] .aside-menu-show .aside-menu { html[dir="rtl"] .aside-menu-show .aside-menu {
margin-left: 0; margin-left: 0;
} }
html[dir="rtl"] .aside-menu-show.aside-menu-fixed .main,
html[dir="rtl"] .aside-menu-show.aside-menu-fixed .app-footer {
margin-left: 250px;
}
html[dir="rtl"] .aside-menu-show.breadcrumb-fixed .breadcrumb {
left: 250px;
}
@-webkit-keyframes opacity { @-webkit-keyframes opacity {
0% { 0% {
opacity: 0; opacity: 0;
@ -12965,71 +12943,99 @@ html[dir="rtl"] .aside-menu-show.breadcrumb-fixed .breadcrumb {
} }
@media (min-width: 576px) { @media (min-width: 576px) {
html:not([dir="rtl"]) .sidebar-sm-show .sidebar { html:not([dir="rtl"]) .sidebar-sm-show .sidebar,
html:not([dir="rtl"]) .sidebar-show .sidebar {
margin-left: 0; margin-left: 0;
} }
html:not([dir="rtl"]) .sidebar-sm-show.sidebar-fixed .main, html:not([dir="rtl"]) .sidebar-sm-show.sidebar-fixed .main,
html:not([dir="rtl"]) .sidebar-sm-show.sidebar-fixed .app-footer { html:not([dir="rtl"]) .sidebar-sm-show.sidebar-fixed .app-footer,
html:not([dir="rtl"]) .sidebar-show.sidebar-fixed .main,
html:not([dir="rtl"]) .sidebar-show.sidebar-fixed .app-footer {
margin-left: 200px; margin-left: 200px;
} }
html:not([dir="rtl"]) .sidebar-sm-show.sidebar-fixed.sidebar-compact .main, html:not([dir="rtl"]) .sidebar-sm-show.sidebar-fixed.sidebar-compact .main,
html:not([dir="rtl"]) .sidebar-sm-show.sidebar-fixed.sidebar-compact .app-footer { html:not([dir="rtl"]) .sidebar-sm-show.sidebar-fixed.sidebar-compact .app-footer,
html:not([dir="rtl"]) .sidebar-show.sidebar-fixed.sidebar-compact .main,
html:not([dir="rtl"]) .sidebar-show.sidebar-fixed.sidebar-compact .app-footer {
margin-left: 150px; margin-left: 150px;
} }
html:not([dir="rtl"]) .sidebar-sm-show.sidebar-fixed.sidebar-minimized .main, html:not([dir="rtl"]) .sidebar-sm-show.sidebar-fixed.sidebar-minimized .main,
html:not([dir="rtl"]) .sidebar-sm-show.sidebar-fixed.sidebar-minimized .app-footer { html:not([dir="rtl"]) .sidebar-sm-show.sidebar-fixed.sidebar-minimized .app-footer,
margin-left: 50px; html:not([dir="rtl"]) .sidebar-show.sidebar-fixed.sidebar-minimized .main,
html:not([dir="rtl"]) .sidebar-show.sidebar-fixed.sidebar-minimized .app-footer {
margin-left: 200px;
} }
html:not([dir="rtl"]) .sidebar-sm-show.breadcrumb-fixed .breadcrumb { html:not([dir="rtl"]) .sidebar-sm-show.breadcrumb-fixed .breadcrumb,
html:not([dir="rtl"]) .sidebar-show.breadcrumb-fixed .breadcrumb {
left: 200px; left: 200px;
} }
html:not([dir="rtl"]) .sidebar-sm-show.breadcrumb-fixed.sidebar-compact .breadcrumb { html:not([dir="rtl"]) .sidebar-sm-show.breadcrumb-fixed.sidebar-compact .breadcrumb,
html:not([dir="rtl"]) .sidebar-show.breadcrumb-fixed.sidebar-compact .breadcrumb {
left: 150px; left: 150px;
} }
html:not([dir="rtl"]) .sidebar-sm-show.breadcrumb-fixed.sidebar-minimized .breadcrumb { html:not([dir="rtl"]) .sidebar-sm-show.breadcrumb-fixed.sidebar-minimized .breadcrumb,
html:not([dir="rtl"]) .sidebar-show.breadcrumb-fixed.sidebar-minimized .breadcrumb {
left: 50px; left: 50px;
} }
html:not([dir="rtl"]) .aside-menu-show .aside-menu,
html:not([dir="rtl"]) .aside-menu-sm-show .aside-menu { html:not([dir="rtl"]) .aside-menu-sm-show .aside-menu {
margin-right: 0; margin-right: 0;
} }
html:not([dir="rtl"]) .aside-menu-show.aside-menu-fixed .main,
html:not([dir="rtl"]) .aside-menu-show.aside-menu-fixed .app-footer,
html:not([dir="rtl"]) .aside-menu-sm-show.aside-menu-fixed .main, html:not([dir="rtl"]) .aside-menu-sm-show.aside-menu-fixed .main,
html:not([dir="rtl"]) .aside-menu-sm-show.aside-menu-fixed .app-footer { html:not([dir="rtl"]) .aside-menu-sm-show.aside-menu-fixed .app-footer {
margin-right: 250px; margin-right: 250px;
} }
html:not([dir="rtl"]) .aside-menu-show.breadcrumb-fixed .breadcrumb,
html:not([dir="rtl"]) .aside-menu-sm-show.breadcrumb-fixed .breadcrumb { html:not([dir="rtl"]) .aside-menu-sm-show.breadcrumb-fixed .breadcrumb {
right: 250px; right: 250px;
} }
html[dir="rtl"] .sidebar-sm-show .sidebar { html[dir="rtl"] .sidebar-sm-show .sidebar,
html[dir="rtl"] .sidebar-show .sidebar {
margin-right: 0; margin-right: 0;
} }
html[dir="rtl"] .sidebar-sm-show.sidebar-fixed .main, html[dir="rtl"] .sidebar-sm-show.sidebar-fixed .main,
html[dir="rtl"] .sidebar-sm-show.sidebar-fixed .app-footer { html[dir="rtl"] .sidebar-sm-show.sidebar-fixed .app-footer,
html[dir="rtl"] .sidebar-show.sidebar-fixed .main,
html[dir="rtl"] .sidebar-show.sidebar-fixed .app-footer {
margin-right: 200px; margin-right: 200px;
} }
html[dir="rtl"] .sidebar-sm-show.sidebar-fixed.sidebar-compact .main, html[dir="rtl"] .sidebar-sm-show.sidebar-fixed.sidebar-compact .main,
html[dir="rtl"] .sidebar-sm-show.sidebar-fixed.sidebar-compact .app-footer { html[dir="rtl"] .sidebar-sm-show.sidebar-fixed.sidebar-compact .app-footer,
html[dir="rtl"] .sidebar-show.sidebar-fixed.sidebar-compact .main,
html[dir="rtl"] .sidebar-show.sidebar-fixed.sidebar-compact .app-footer {
margin-right: 150px; margin-right: 150px;
} }
html[dir="rtl"] .sidebar-sm-show.sidebar-fixed.sidebar-minimized .main, html[dir="rtl"] .sidebar-sm-show.sidebar-fixed.sidebar-minimized .main,
html[dir="rtl"] .sidebar-sm-show.sidebar-fixed.sidebar-minimized .app-footer { html[dir="rtl"] .sidebar-sm-show.sidebar-fixed.sidebar-minimized .app-footer,
margin-right: 50px; html[dir="rtl"] .sidebar-show.sidebar-fixed.sidebar-minimized .main,
html[dir="rtl"] .sidebar-show.sidebar-fixed.sidebar-minimized .app-footer {
margin-right: 200px;
} }
html[dir="rtl"] .sidebar-sm-show.breadcrumb-fixed .breadcrumb { html[dir="rtl"] .sidebar-sm-show.breadcrumb-fixed .breadcrumb,
html[dir="rtl"] .sidebar-show.breadcrumb-fixed .breadcrumb {
right: 200px; right: 200px;
} }
html[dir="rtl"] .sidebar-sm-show.breadcrumb-fixed.sidebar-compact .breadcrumb { html[dir="rtl"] .sidebar-sm-show.breadcrumb-fixed.sidebar-compact .breadcrumb,
html[dir="rtl"] .sidebar-show.breadcrumb-fixed.sidebar-compact .breadcrumb {
right: 150px; right: 150px;
} }
html[dir="rtl"] .sidebar-sm-show.breadcrumb-fixed.sidebar-minimized .breadcrumb { html[dir="rtl"] .sidebar-sm-show.breadcrumb-fixed.sidebar-minimized .breadcrumb,
html[dir="rtl"] .sidebar-show.breadcrumb-fixed.sidebar-minimized .breadcrumb {
right: 50px; right: 50px;
} }
html[dir="rtl"] .aside-menu-show .aside-menu,
html[dir="rtl"] .aside-menu-sm-show .aside-menu { html[dir="rtl"] .aside-menu-sm-show .aside-menu {
margin-left: 0; margin-left: 0;
} }
html[dir="rtl"] .aside-menu-show.aside-menu-fixed .main,
html[dir="rtl"] .aside-menu-show.aside-menu-fixed .app-footer,
html[dir="rtl"] .aside-menu-sm-show.aside-menu-fixed .main, html[dir="rtl"] .aside-menu-sm-show.aside-menu-fixed .main,
html[dir="rtl"] .aside-menu-sm-show.aside-menu-fixed .app-footer { html[dir="rtl"] .aside-menu-sm-show.aside-menu-fixed .app-footer {
margin-left: 250px; margin-left: 250px;
} }
html[dir="rtl"] .aside-menu-show.breadcrumb-fixed .breadcrumb,
html[dir="rtl"] .aside-menu-sm-show.breadcrumb-fixed .breadcrumb { html[dir="rtl"] .aside-menu-sm-show.breadcrumb-fixed .breadcrumb {
left: 250px; left: 250px;
} }
@ -13051,92 +13057,100 @@ html[dir="rtl"] .aside-menu-show.breadcrumb-fixed .breadcrumb {
} }
} }
@media (min-width: 576px) and (max-width: 575.98px) {
.sidebar-sm-show .main,
.aside-menu-sm-show .main {
position: relative;
}
.sidebar-sm-show .main::before,
.aside-menu-sm-show .main::before {
position: absolute;
top: 0;
left: 0;
z-index: 1018;
width: 100%;
height: 100%;
content: "";
background: rgba(0, 0, 0, 0.7);
-webkit-animation: opacity 0.25s;
animation: opacity 0.25s;
}
}
@media (min-width: 768px) { @media (min-width: 768px) {
html:not([dir="rtl"]) .sidebar-md-show .sidebar { html:not([dir="rtl"]) .sidebar-md-show .sidebar,
html:not([dir="rtl"]) .sidebar-show .sidebar {
margin-left: 0; margin-left: 0;
} }
html:not([dir="rtl"]) .sidebar-md-show.sidebar-fixed .main, html:not([dir="rtl"]) .sidebar-md-show.sidebar-fixed .main,
html:not([dir="rtl"]) .sidebar-md-show.sidebar-fixed .app-footer { html:not([dir="rtl"]) .sidebar-md-show.sidebar-fixed .app-footer,
html:not([dir="rtl"]) .sidebar-show.sidebar-fixed .main,
html:not([dir="rtl"]) .sidebar-show.sidebar-fixed .app-footer {
margin-left: 200px; margin-left: 200px;
} }
html:not([dir="rtl"]) .sidebar-md-show.sidebar-fixed.sidebar-compact .main, html:not([dir="rtl"]) .sidebar-md-show.sidebar-fixed.sidebar-compact .main,
html:not([dir="rtl"]) .sidebar-md-show.sidebar-fixed.sidebar-compact .app-footer { html:not([dir="rtl"]) .sidebar-md-show.sidebar-fixed.sidebar-compact .app-footer,
html:not([dir="rtl"]) .sidebar-show.sidebar-fixed.sidebar-compact .main,
html:not([dir="rtl"]) .sidebar-show.sidebar-fixed.sidebar-compact .app-footer {
margin-left: 150px; margin-left: 150px;
} }
html:not([dir="rtl"]) .sidebar-md-show.sidebar-fixed.sidebar-minimized .main, html:not([dir="rtl"]) .sidebar-md-show.sidebar-fixed.sidebar-minimized .main,
html:not([dir="rtl"]) .sidebar-md-show.sidebar-fixed.sidebar-minimized .app-footer { html:not([dir="rtl"]) .sidebar-md-show.sidebar-fixed.sidebar-minimized .app-footer,
margin-left: 50px; html:not([dir="rtl"]) .sidebar-show.sidebar-fixed.sidebar-minimized .main,
html:not([dir="rtl"]) .sidebar-show.sidebar-fixed.sidebar-minimized .app-footer {
margin-left: 200px;
} }
html:not([dir="rtl"]) .sidebar-md-show.breadcrumb-fixed .breadcrumb { html:not([dir="rtl"]) .sidebar-md-show.breadcrumb-fixed .breadcrumb,
html:not([dir="rtl"]) .sidebar-show.breadcrumb-fixed .breadcrumb {
left: 200px; left: 200px;
} }
html:not([dir="rtl"]) .sidebar-md-show.breadcrumb-fixed.sidebar-compact .breadcrumb { html:not([dir="rtl"]) .sidebar-md-show.breadcrumb-fixed.sidebar-compact .breadcrumb,
html:not([dir="rtl"]) .sidebar-show.breadcrumb-fixed.sidebar-compact .breadcrumb {
left: 150px; left: 150px;
} }
html:not([dir="rtl"]) .sidebar-md-show.breadcrumb-fixed.sidebar-minimized .breadcrumb { html:not([dir="rtl"]) .sidebar-md-show.breadcrumb-fixed.sidebar-minimized .breadcrumb,
html:not([dir="rtl"]) .sidebar-show.breadcrumb-fixed.sidebar-minimized .breadcrumb {
left: 50px; left: 50px;
} }
html:not([dir="rtl"]) .aside-menu-show .aside-menu,
html:not([dir="rtl"]) .aside-menu-md-show .aside-menu { html:not([dir="rtl"]) .aside-menu-md-show .aside-menu {
margin-right: 0; margin-right: 0;
} }
html:not([dir="rtl"]) .aside-menu-show.aside-menu-fixed .main,
html:not([dir="rtl"]) .aside-menu-show.aside-menu-fixed .app-footer,
html:not([dir="rtl"]) .aside-menu-md-show.aside-menu-fixed .main, html:not([dir="rtl"]) .aside-menu-md-show.aside-menu-fixed .main,
html:not([dir="rtl"]) .aside-menu-md-show.aside-menu-fixed .app-footer { html:not([dir="rtl"]) .aside-menu-md-show.aside-menu-fixed .app-footer {
margin-right: 250px; margin-right: 250px;
} }
html:not([dir="rtl"]) .aside-menu-show.breadcrumb-fixed .breadcrumb,
html:not([dir="rtl"]) .aside-menu-md-show.breadcrumb-fixed .breadcrumb { html:not([dir="rtl"]) .aside-menu-md-show.breadcrumb-fixed .breadcrumb {
right: 250px; right: 250px;
} }
html[dir="rtl"] .sidebar-md-show .sidebar { html[dir="rtl"] .sidebar-md-show .sidebar,
html[dir="rtl"] .sidebar-show .sidebar {
margin-right: 0; margin-right: 0;
} }
html[dir="rtl"] .sidebar-md-show.sidebar-fixed .main, html[dir="rtl"] .sidebar-md-show.sidebar-fixed .main,
html[dir="rtl"] .sidebar-md-show.sidebar-fixed .app-footer { html[dir="rtl"] .sidebar-md-show.sidebar-fixed .app-footer,
html[dir="rtl"] .sidebar-show.sidebar-fixed .main,
html[dir="rtl"] .sidebar-show.sidebar-fixed .app-footer {
margin-right: 200px; margin-right: 200px;
} }
html[dir="rtl"] .sidebar-md-show.sidebar-fixed.sidebar-compact .main, html[dir="rtl"] .sidebar-md-show.sidebar-fixed.sidebar-compact .main,
html[dir="rtl"] .sidebar-md-show.sidebar-fixed.sidebar-compact .app-footer { html[dir="rtl"] .sidebar-md-show.sidebar-fixed.sidebar-compact .app-footer,
html[dir="rtl"] .sidebar-show.sidebar-fixed.sidebar-compact .main,
html[dir="rtl"] .sidebar-show.sidebar-fixed.sidebar-compact .app-footer {
margin-right: 150px; margin-right: 150px;
} }
html[dir="rtl"] .sidebar-md-show.sidebar-fixed.sidebar-minimized .main, html[dir="rtl"] .sidebar-md-show.sidebar-fixed.sidebar-minimized .main,
html[dir="rtl"] .sidebar-md-show.sidebar-fixed.sidebar-minimized .app-footer { html[dir="rtl"] .sidebar-md-show.sidebar-fixed.sidebar-minimized .app-footer,
margin-right: 50px; html[dir="rtl"] .sidebar-show.sidebar-fixed.sidebar-minimized .main,
html[dir="rtl"] .sidebar-show.sidebar-fixed.sidebar-minimized .app-footer {
margin-right: 200px;
} }
html[dir="rtl"] .sidebar-md-show.breadcrumb-fixed .breadcrumb { html[dir="rtl"] .sidebar-md-show.breadcrumb-fixed .breadcrumb,
html[dir="rtl"] .sidebar-show.breadcrumb-fixed .breadcrumb {
right: 200px; right: 200px;
} }
html[dir="rtl"] .sidebar-md-show.breadcrumb-fixed.sidebar-compact .breadcrumb { html[dir="rtl"] .sidebar-md-show.breadcrumb-fixed.sidebar-compact .breadcrumb,
html[dir="rtl"] .sidebar-show.breadcrumb-fixed.sidebar-compact .breadcrumb {
right: 150px; right: 150px;
} }
html[dir="rtl"] .sidebar-md-show.breadcrumb-fixed.sidebar-minimized .breadcrumb { html[dir="rtl"] .sidebar-md-show.breadcrumb-fixed.sidebar-minimized .breadcrumb,
html[dir="rtl"] .sidebar-show.breadcrumb-fixed.sidebar-minimized .breadcrumb {
right: 50px; right: 50px;
} }
html[dir="rtl"] .aside-menu-show .aside-menu,
html[dir="rtl"] .aside-menu-md-show .aside-menu { html[dir="rtl"] .aside-menu-md-show .aside-menu {
margin-left: 0; margin-left: 0;
} }
html[dir="rtl"] .aside-menu-show.aside-menu-fixed .main,
html[dir="rtl"] .aside-menu-show.aside-menu-fixed .app-footer,
html[dir="rtl"] .aside-menu-md-show.aside-menu-fixed .main, html[dir="rtl"] .aside-menu-md-show.aside-menu-fixed .main,
html[dir="rtl"] .aside-menu-md-show.aside-menu-fixed .app-footer { html[dir="rtl"] .aside-menu-md-show.aside-menu-fixed .app-footer {
margin-left: 250px; margin-left: 250px;
} }
html[dir="rtl"] .aside-menu-show.breadcrumb-fixed .breadcrumb,
html[dir="rtl"] .aside-menu-md-show.breadcrumb-fixed .breadcrumb { html[dir="rtl"] .aside-menu-md-show.breadcrumb-fixed .breadcrumb {
left: 250px; left: 250px;
} }
@ -13158,92 +13172,100 @@ html[dir="rtl"] .aside-menu-show.breadcrumb-fixed .breadcrumb {
} }
} }
@media (min-width: 768px) and (max-width: 575.98px) {
.sidebar-md-show .main,
.aside-menu-md-show .main {
position: relative;
}
.sidebar-md-show .main::before,
.aside-menu-md-show .main::before {
position: absolute;
top: 0;
left: 0;
z-index: 1018;
width: 100%;
height: 100%;
content: "";
background: rgba(0, 0, 0, 0.7);
-webkit-animation: opacity 0.25s;
animation: opacity 0.25s;
}
}
@media (min-width: 992px) { @media (min-width: 992px) {
html:not([dir="rtl"]) .sidebar-lg-show .sidebar { html:not([dir="rtl"]) .sidebar-lg-show .sidebar,
html:not([dir="rtl"]) .sidebar-show .sidebar {
margin-left: 0; margin-left: 0;
} }
html:not([dir="rtl"]) .sidebar-lg-show.sidebar-fixed .main, html:not([dir="rtl"]) .sidebar-lg-show.sidebar-fixed .main,
html:not([dir="rtl"]) .sidebar-lg-show.sidebar-fixed .app-footer { html:not([dir="rtl"]) .sidebar-lg-show.sidebar-fixed .app-footer,
html:not([dir="rtl"]) .sidebar-show.sidebar-fixed .main,
html:not([dir="rtl"]) .sidebar-show.sidebar-fixed .app-footer {
margin-left: 200px; margin-left: 200px;
} }
html:not([dir="rtl"]) .sidebar-lg-show.sidebar-fixed.sidebar-compact .main, html:not([dir="rtl"]) .sidebar-lg-show.sidebar-fixed.sidebar-compact .main,
html:not([dir="rtl"]) .sidebar-lg-show.sidebar-fixed.sidebar-compact .app-footer { html:not([dir="rtl"]) .sidebar-lg-show.sidebar-fixed.sidebar-compact .app-footer,
html:not([dir="rtl"]) .sidebar-show.sidebar-fixed.sidebar-compact .main,
html:not([dir="rtl"]) .sidebar-show.sidebar-fixed.sidebar-compact .app-footer {
margin-left: 150px; margin-left: 150px;
} }
html:not([dir="rtl"]) .sidebar-lg-show.sidebar-fixed.sidebar-minimized .main, html:not([dir="rtl"]) .sidebar-lg-show.sidebar-fixed.sidebar-minimized .main,
html:not([dir="rtl"]) .sidebar-lg-show.sidebar-fixed.sidebar-minimized .app-footer { html:not([dir="rtl"]) .sidebar-lg-show.sidebar-fixed.sidebar-minimized .app-footer,
html:not([dir="rtl"]) .sidebar-show.sidebar-fixed.sidebar-minimized .main,
html:not([dir="rtl"]) .sidebar-show.sidebar-fixed.sidebar-minimized .app-footer {
margin-left: 50px; margin-left: 50px;
} }
html:not([dir="rtl"]) .sidebar-lg-show.breadcrumb-fixed .breadcrumb { html:not([dir="rtl"]) .sidebar-lg-show.breadcrumb-fixed .breadcrumb,
html:not([dir="rtl"]) .sidebar-show.breadcrumb-fixed .breadcrumb {
left: 200px; left: 200px;
} }
html:not([dir="rtl"]) .sidebar-lg-show.breadcrumb-fixed.sidebar-compact .breadcrumb { html:not([dir="rtl"]) .sidebar-lg-show.breadcrumb-fixed.sidebar-compact .breadcrumb,
html:not([dir="rtl"]) .sidebar-show.breadcrumb-fixed.sidebar-compact .breadcrumb {
left: 150px; left: 150px;
} }
html:not([dir="rtl"]) .sidebar-lg-show.breadcrumb-fixed.sidebar-minimized .breadcrumb { html:not([dir="rtl"]) .sidebar-lg-show.breadcrumb-fixed.sidebar-minimized .breadcrumb,
html:not([dir="rtl"]) .sidebar-show.breadcrumb-fixed.sidebar-minimized .breadcrumb {
left: 50px; left: 50px;
} }
html:not([dir="rtl"]) .aside-menu-show .aside-menu,
html:not([dir="rtl"]) .aside-menu-lg-show .aside-menu { html:not([dir="rtl"]) .aside-menu-lg-show .aside-menu {
margin-right: 0; margin-right: 0;
} }
html:not([dir="rtl"]) .aside-menu-show.aside-menu-fixed .main,
html:not([dir="rtl"]) .aside-menu-show.aside-menu-fixed .app-footer,
html:not([dir="rtl"]) .aside-menu-lg-show.aside-menu-fixed .main, html:not([dir="rtl"]) .aside-menu-lg-show.aside-menu-fixed .main,
html:not([dir="rtl"]) .aside-menu-lg-show.aside-menu-fixed .app-footer { html:not([dir="rtl"]) .aside-menu-lg-show.aside-menu-fixed .app-footer {
margin-right: 250px; margin-right: 250px;
} }
html:not([dir="rtl"]) .aside-menu-show.breadcrumb-fixed .breadcrumb,
html:not([dir="rtl"]) .aside-menu-lg-show.breadcrumb-fixed .breadcrumb { html:not([dir="rtl"]) .aside-menu-lg-show.breadcrumb-fixed .breadcrumb {
right: 250px; right: 250px;
} }
html[dir="rtl"] .sidebar-lg-show .sidebar { html[dir="rtl"] .sidebar-lg-show .sidebar,
html[dir="rtl"] .sidebar-show .sidebar {
margin-right: 0; margin-right: 0;
} }
html[dir="rtl"] .sidebar-lg-show.sidebar-fixed .main, html[dir="rtl"] .sidebar-lg-show.sidebar-fixed .main,
html[dir="rtl"] .sidebar-lg-show.sidebar-fixed .app-footer { html[dir="rtl"] .sidebar-lg-show.sidebar-fixed .app-footer,
html[dir="rtl"] .sidebar-show.sidebar-fixed .main,
html[dir="rtl"] .sidebar-show.sidebar-fixed .app-footer {
margin-right: 200px; margin-right: 200px;
} }
html[dir="rtl"] .sidebar-lg-show.sidebar-fixed.sidebar-compact .main, html[dir="rtl"] .sidebar-lg-show.sidebar-fixed.sidebar-compact .main,
html[dir="rtl"] .sidebar-lg-show.sidebar-fixed.sidebar-compact .app-footer { html[dir="rtl"] .sidebar-lg-show.sidebar-fixed.sidebar-compact .app-footer,
html[dir="rtl"] .sidebar-show.sidebar-fixed.sidebar-compact .main,
html[dir="rtl"] .sidebar-show.sidebar-fixed.sidebar-compact .app-footer {
margin-right: 150px; margin-right: 150px;
} }
html[dir="rtl"] .sidebar-lg-show.sidebar-fixed.sidebar-minimized .main, html[dir="rtl"] .sidebar-lg-show.sidebar-fixed.sidebar-minimized .main,
html[dir="rtl"] .sidebar-lg-show.sidebar-fixed.sidebar-minimized .app-footer { html[dir="rtl"] .sidebar-lg-show.sidebar-fixed.sidebar-minimized .app-footer,
html[dir="rtl"] .sidebar-show.sidebar-fixed.sidebar-minimized .main,
html[dir="rtl"] .sidebar-show.sidebar-fixed.sidebar-minimized .app-footer {
margin-right: 50px; margin-right: 50px;
} }
html[dir="rtl"] .sidebar-lg-show.breadcrumb-fixed .breadcrumb { html[dir="rtl"] .sidebar-lg-show.breadcrumb-fixed .breadcrumb,
html[dir="rtl"] .sidebar-show.breadcrumb-fixed .breadcrumb {
right: 200px; right: 200px;
} }
html[dir="rtl"] .sidebar-lg-show.breadcrumb-fixed.sidebar-compact .breadcrumb { html[dir="rtl"] .sidebar-lg-show.breadcrumb-fixed.sidebar-compact .breadcrumb,
html[dir="rtl"] .sidebar-show.breadcrumb-fixed.sidebar-compact .breadcrumb {
right: 150px; right: 150px;
} }
html[dir="rtl"] .sidebar-lg-show.breadcrumb-fixed.sidebar-minimized .breadcrumb { html[dir="rtl"] .sidebar-lg-show.breadcrumb-fixed.sidebar-minimized .breadcrumb,
html[dir="rtl"] .sidebar-show.breadcrumb-fixed.sidebar-minimized .breadcrumb {
right: 50px; right: 50px;
} }
html[dir="rtl"] .aside-menu-show .aside-menu,
html[dir="rtl"] .aside-menu-lg-show .aside-menu { html[dir="rtl"] .aside-menu-lg-show .aside-menu {
margin-left: 0; margin-left: 0;
} }
html[dir="rtl"] .aside-menu-show.aside-menu-fixed .main,
html[dir="rtl"] .aside-menu-show.aside-menu-fixed .app-footer,
html[dir="rtl"] .aside-menu-lg-show.aside-menu-fixed .main, html[dir="rtl"] .aside-menu-lg-show.aside-menu-fixed .main,
html[dir="rtl"] .aside-menu-lg-show.aside-menu-fixed .app-footer { html[dir="rtl"] .aside-menu-lg-show.aside-menu-fixed .app-footer {
margin-left: 250px; margin-left: 250px;
} }
html[dir="rtl"] .aside-menu-show.breadcrumb-fixed .breadcrumb,
html[dir="rtl"] .aside-menu-lg-show.breadcrumb-fixed .breadcrumb { html[dir="rtl"] .aside-menu-lg-show.breadcrumb-fixed .breadcrumb {
left: 250px; left: 250px;
} }
@ -13265,92 +13287,100 @@ html[dir="rtl"] .aside-menu-show.breadcrumb-fixed .breadcrumb {
} }
} }
@media (min-width: 992px) and (max-width: 575.98px) {
.sidebar-lg-show .main,
.aside-menu-lg-show .main {
position: relative;
}
.sidebar-lg-show .main::before,
.aside-menu-lg-show .main::before {
position: absolute;
top: 0;
left: 0;
z-index: 1018;
width: 100%;
height: 100%;
content: "";
background: rgba(0, 0, 0, 0.7);
-webkit-animation: opacity 0.25s;
animation: opacity 0.25s;
}
}
@media (min-width: 1200px) { @media (min-width: 1200px) {
html:not([dir="rtl"]) .sidebar-xl-show .sidebar { html:not([dir="rtl"]) .sidebar-xl-show .sidebar,
html:not([dir="rtl"]) .sidebar-show .sidebar {
margin-left: 0; margin-left: 0;
} }
html:not([dir="rtl"]) .sidebar-xl-show.sidebar-fixed .main, html:not([dir="rtl"]) .sidebar-xl-show.sidebar-fixed .main,
html:not([dir="rtl"]) .sidebar-xl-show.sidebar-fixed .app-footer { html:not([dir="rtl"]) .sidebar-xl-show.sidebar-fixed .app-footer,
html:not([dir="rtl"]) .sidebar-show.sidebar-fixed .main,
html:not([dir="rtl"]) .sidebar-show.sidebar-fixed .app-footer {
margin-left: 200px; margin-left: 200px;
} }
html:not([dir="rtl"]) .sidebar-xl-show.sidebar-fixed.sidebar-compact .main, html:not([dir="rtl"]) .sidebar-xl-show.sidebar-fixed.sidebar-compact .main,
html:not([dir="rtl"]) .sidebar-xl-show.sidebar-fixed.sidebar-compact .app-footer { html:not([dir="rtl"]) .sidebar-xl-show.sidebar-fixed.sidebar-compact .app-footer,
html:not([dir="rtl"]) .sidebar-show.sidebar-fixed.sidebar-compact .main,
html:not([dir="rtl"]) .sidebar-show.sidebar-fixed.sidebar-compact .app-footer {
margin-left: 150px; margin-left: 150px;
} }
html:not([dir="rtl"]) .sidebar-xl-show.sidebar-fixed.sidebar-minimized .main, html:not([dir="rtl"]) .sidebar-xl-show.sidebar-fixed.sidebar-minimized .main,
html:not([dir="rtl"]) .sidebar-xl-show.sidebar-fixed.sidebar-minimized .app-footer { html:not([dir="rtl"]) .sidebar-xl-show.sidebar-fixed.sidebar-minimized .app-footer,
html:not([dir="rtl"]) .sidebar-show.sidebar-fixed.sidebar-minimized .main,
html:not([dir="rtl"]) .sidebar-show.sidebar-fixed.sidebar-minimized .app-footer {
margin-left: 50px; margin-left: 50px;
} }
html:not([dir="rtl"]) .sidebar-xl-show.breadcrumb-fixed .breadcrumb { html:not([dir="rtl"]) .sidebar-xl-show.breadcrumb-fixed .breadcrumb,
html:not([dir="rtl"]) .sidebar-show.breadcrumb-fixed .breadcrumb {
left: 200px; left: 200px;
} }
html:not([dir="rtl"]) .sidebar-xl-show.breadcrumb-fixed.sidebar-compact .breadcrumb { html:not([dir="rtl"]) .sidebar-xl-show.breadcrumb-fixed.sidebar-compact .breadcrumb,
html:not([dir="rtl"]) .sidebar-show.breadcrumb-fixed.sidebar-compact .breadcrumb {
left: 150px; left: 150px;
} }
html:not([dir="rtl"]) .sidebar-xl-show.breadcrumb-fixed.sidebar-minimized .breadcrumb { html:not([dir="rtl"]) .sidebar-xl-show.breadcrumb-fixed.sidebar-minimized .breadcrumb,
html:not([dir="rtl"]) .sidebar-show.breadcrumb-fixed.sidebar-minimized .breadcrumb {
left: 50px; left: 50px;
} }
html:not([dir="rtl"]) .aside-menu-show .aside-menu,
html:not([dir="rtl"]) .aside-menu-xl-show .aside-menu { html:not([dir="rtl"]) .aside-menu-xl-show .aside-menu {
margin-right: 0; margin-right: 0;
} }
html:not([dir="rtl"]) .aside-menu-show.aside-menu-fixed .main,
html:not([dir="rtl"]) .aside-menu-show.aside-menu-fixed .app-footer,
html:not([dir="rtl"]) .aside-menu-xl-show.aside-menu-fixed .main, html:not([dir="rtl"]) .aside-menu-xl-show.aside-menu-fixed .main,
html:not([dir="rtl"]) .aside-menu-xl-show.aside-menu-fixed .app-footer { html:not([dir="rtl"]) .aside-menu-xl-show.aside-menu-fixed .app-footer {
margin-right: 250px; margin-right: 250px;
} }
html:not([dir="rtl"]) .aside-menu-show.breadcrumb-fixed .breadcrumb,
html:not([dir="rtl"]) .aside-menu-xl-show.breadcrumb-fixed .breadcrumb { html:not([dir="rtl"]) .aside-menu-xl-show.breadcrumb-fixed .breadcrumb {
right: 250px; right: 250px;
} }
html[dir="rtl"] .sidebar-xl-show .sidebar { html[dir="rtl"] .sidebar-xl-show .sidebar,
html[dir="rtl"] .sidebar-show .sidebar {
margin-right: 0; margin-right: 0;
} }
html[dir="rtl"] .sidebar-xl-show.sidebar-fixed .main, html[dir="rtl"] .sidebar-xl-show.sidebar-fixed .main,
html[dir="rtl"] .sidebar-xl-show.sidebar-fixed .app-footer { html[dir="rtl"] .sidebar-xl-show.sidebar-fixed .app-footer,
html[dir="rtl"] .sidebar-show.sidebar-fixed .main,
html[dir="rtl"] .sidebar-show.sidebar-fixed .app-footer {
margin-right: 200px; margin-right: 200px;
} }
html[dir="rtl"] .sidebar-xl-show.sidebar-fixed.sidebar-compact .main, html[dir="rtl"] .sidebar-xl-show.sidebar-fixed.sidebar-compact .main,
html[dir="rtl"] .sidebar-xl-show.sidebar-fixed.sidebar-compact .app-footer { html[dir="rtl"] .sidebar-xl-show.sidebar-fixed.sidebar-compact .app-footer,
html[dir="rtl"] .sidebar-show.sidebar-fixed.sidebar-compact .main,
html[dir="rtl"] .sidebar-show.sidebar-fixed.sidebar-compact .app-footer {
margin-right: 150px; margin-right: 150px;
} }
html[dir="rtl"] .sidebar-xl-show.sidebar-fixed.sidebar-minimized .main, html[dir="rtl"] .sidebar-xl-show.sidebar-fixed.sidebar-minimized .main,
html[dir="rtl"] .sidebar-xl-show.sidebar-fixed.sidebar-minimized .app-footer { html[dir="rtl"] .sidebar-xl-show.sidebar-fixed.sidebar-minimized .app-footer,
html[dir="rtl"] .sidebar-show.sidebar-fixed.sidebar-minimized .main,
html[dir="rtl"] .sidebar-show.sidebar-fixed.sidebar-minimized .app-footer {
margin-right: 50px; margin-right: 50px;
} }
html[dir="rtl"] .sidebar-xl-show.breadcrumb-fixed .breadcrumb { html[dir="rtl"] .sidebar-xl-show.breadcrumb-fixed .breadcrumb,
html[dir="rtl"] .sidebar-show.breadcrumb-fixed .breadcrumb {
right: 200px; right: 200px;
} }
html[dir="rtl"] .sidebar-xl-show.breadcrumb-fixed.sidebar-compact .breadcrumb { html[dir="rtl"] .sidebar-xl-show.breadcrumb-fixed.sidebar-compact .breadcrumb,
html[dir="rtl"] .sidebar-show.breadcrumb-fixed.sidebar-compact .breadcrumb {
right: 150px; right: 150px;
} }
html[dir="rtl"] .sidebar-xl-show.breadcrumb-fixed.sidebar-minimized .breadcrumb { html[dir="rtl"] .sidebar-xl-show.breadcrumb-fixed.sidebar-minimized .breadcrumb,
html[dir="rtl"] .sidebar-show.breadcrumb-fixed.sidebar-minimized .breadcrumb {
right: 50px; right: 50px;
} }
html[dir="rtl"] .aside-menu-show .aside-menu,
html[dir="rtl"] .aside-menu-xl-show .aside-menu { html[dir="rtl"] .aside-menu-xl-show .aside-menu {
margin-left: 0; margin-left: 0;
} }
html[dir="rtl"] .aside-menu-show.aside-menu-fixed .main,
html[dir="rtl"] .aside-menu-show.aside-menu-fixed .app-footer,
html[dir="rtl"] .aside-menu-xl-show.aside-menu-fixed .main, html[dir="rtl"] .aside-menu-xl-show.aside-menu-fixed .main,
html[dir="rtl"] .aside-menu-xl-show.aside-menu-fixed .app-footer { html[dir="rtl"] .aside-menu-xl-show.aside-menu-fixed .app-footer {
margin-left: 250px; margin-left: 250px;
} }
html[dir="rtl"] .aside-menu-show.breadcrumb-fixed .breadcrumb,
html[dir="rtl"] .aside-menu-xl-show.breadcrumb-fixed .breadcrumb { html[dir="rtl"] .aside-menu-xl-show.breadcrumb-fixed .breadcrumb {
left: 250px; left: 250px;
} }
@ -13372,26 +13402,6 @@ html[dir="rtl"] .aside-menu-show.breadcrumb-fixed .breadcrumb {
} }
} }
@media (min-width: 1200px) and (max-width: 575.98px) {
.sidebar-xl-show .main,
.aside-menu-xl-show .main {
position: relative;
}
.sidebar-xl-show .main::before,
.aside-menu-xl-show .main::before {
position: absolute;
top: 0;
left: 0;
z-index: 1018;
width: 100%;
height: 100%;
content: "";
background: rgba(0, 0, 0, 0.7);
-webkit-animation: opacity 0.25s;
animation: opacity 0.25s;
}
}
.footer-fixed .app-footer { .footer-fixed .app-footer {
position: fixed; position: fixed;
right: 0; right: 0;

13212
public/js/client_create.js vendored Normal file

File diff suppressed because it is too large Load Diff

13212
public/js/client_create.min.js vendored Normal file

File diff suppressed because it is too large Load Diff

View File

@ -13124,8 +13124,9 @@ Object.defineProperty(exports, "__esModule", { value: true });
//import * as Vue from 'vue'; //import * as Vue from 'vue';
var vue_1 = __importDefault(__webpack_require__("./node_modules/vue/dist/vue.common.js")); var vue_1 = __importDefault(__webpack_require__("./node_modules/vue/dist/vue.common.js"));
var axios_1 = __importDefault(__webpack_require__("./node_modules/axios/index.js")); var axios_1 = __importDefault(__webpack_require__("./node_modules/axios/index.js"));
var VueApp = vue_1.default; //declare var axios: any;
var App = new VueApp({ //declare var Vue: any;
new vue_1.default({
el: '#client_edit', el: '#client_edit',
data: function () { data: function () {
return { return {

13214
public/js/client_edit.min.js vendored Normal file

File diff suppressed because it is too large Load Diff

13742
public/js/coreui.js vendored Normal file

File diff suppressed because it is too large Load Diff

13742
public/js/coreui.min.js vendored Normal file

File diff suppressed because it is too large Load Diff

13706
public/js/ninja.js vendored

File diff suppressed because it is too large Load Diff

13706
public/js/ninja.min.js vendored

File diff suppressed because it is too large Load Diff

13215
public/js/vendor/app.js vendored Normal file

File diff suppressed because it is too large Load Diff

11
resources/js/app.js vendored
View File

@ -6,15 +6,6 @@
*/ */
require('./bootstrap'); require('./bootstrap');
//window.Vue = require('vue');
/* Development only*/
Vue.config.devtools = true;
window.axios = require('axios');
window.axios.defaults.headers.common = {
'X-Requested-With': 'XMLHttpRequest',
'X-CSRF-TOKEN' : document.querySelector('meta[name="csrf-token"]').getAttribute('content')
};
/* Allows us to use our native translation easily using {{ trans() }} syntax */ /* Allows us to use our native translation easily using {{ trans() }} syntax */
//const _ = require('lodash'); //const _ = require('lodash');
@ -31,6 +22,7 @@ Vue.component('client-primary-address', require('./components/client/ClientPrima
Vue.component('generic-address', require('./components/generic/Address.vue')); Vue.component('generic-address', require('./components/generic/Address.vue'));
Vue.component('client-edit-form', require('./components/client/ClientEditForm.vue')); Vue.component('client-edit-form', require('./components/client/ClientEditForm.vue'));
Vue.component('contact-edit', require('./components/client/ClientContactEdit.vue')); Vue.component('contact-edit', require('./components/client/ClientContactEdit.vue'));
*/
window.onload = function () { window.onload = function () {
@ -39,4 +31,3 @@ window.onload = function () {
}); });
} }
*/

View File

@ -5,9 +5,17 @@
*/ */
window.axios = require('axios'); window.axios = require('axios');
window.Vue = require('vue');
window.axios.defaults.headers.common['X-Requested-With'] = 'XMLHttpRequest'; window.axios.defaults.headers.common['X-Requested-With'] = 'XMLHttpRequest';
/* Development only*/
Vue.config.devtools = true;
window.axios.defaults.headers.common = {
'X-Requested-With': 'XMLHttpRequest',
'X-CSRF-TOKEN' : document.querySelector('meta[name="csrf-token"]').getAttribute('content')
};
/** /**
* Next we will register the CSRF Token as a common header with Axios so that * Next we will register the CSRF Token as a common header with Axios so that
* all outgoing HTTP requests automatically have it attached. This is just * all outgoing HTTP requests automatically have it attached. This is just

View File

@ -0,0 +1,77 @@
//import * as Vue from 'vue';
import Vue from 'vue';
import axios from 'axios';
declare var client_object: any;
new Vue({
el : '#client_create',
data: function () {
return {
'client': [],
'errors': [],
}
},
mounted(this: any) {
//this.client = {!! $client !!};
this.client = client_object;
console.dir(this.client);
},
beforeMount: function () {
console.log('before mount')
},
created:function() {
console.dir('created')
},
updated:function() {
console.dir('updated')
},
methods:{
remove(this: any, contact:any){
let index = this.client.contacts.indexOf(contact);
this.client.contacts.splice(index, 1);
},
add(this: any){
console.dir('i will add a contact here')
this.client.contacts.push({first_name: '', last_name: '', email: '', phone: '', id: -1});
window.scrollTo(0, document.body.scrollHeight || document.documentElement.scrollHeight);
this.$nextTick(() => {
let index = this.client.contacts.length - 1;
let input = this.$refs.first_name[index];
input.focus();
});
},
submit(this: any) {
this.errors = {};
axios.post('/clients/', this.client).then(response => {
// axios.put('/clients/' + {{ $client->present()->id }}, this.client).then(response => {
this.client = response.data;
}).catch(error => {
if (error.response.status === 422) {
this.errors = error.response.data.errors || {};
}
else if(error.response.status === 419) {
//csrf token has expired, we'll need to force a page reload
}
});
},
copy(type: any) {
if(type.includes('copy_billing')){
this.client.shipping_address1 = this.client.address1;
this.client.shipping_address2 = this.client.address2;
this.client.shipping_city = this.client.city;
this.client.shipping_state = this.client.state;
this.client.shipping_postal_code = this.client.postal_code;
this.client.shipping_country_id = this.client.country_id;
}else {
this.client.address1 = this.client.shipping_address1;
this.client.address2 = this.client.shipping_address2;
this.client.city = this.client.shipping_city;
this.client.state = this.client.shipping_state;
this.client.postal_code = this.client.shipping_postal_code;
this.client.country_id = this.client.shipping_country_id;
}
}
}
});

View File

@ -1,80 +1,80 @@
//import * as Vue from 'vue'; //import * as Vue from 'vue';
import Vue from 'vue'; import Vue from 'vue';
import axios, { AxiosRequestConfig, AxiosPromise } from 'axios'; import axios from 'axios';
var VueApp: any = Vue;
declare var client_object: any; declare var client_object: any;
declare var hashed_id: string; declare var hashed_id: string;
//declare var axios: any;
//declare var Vue: any;
var App = new VueApp({ new Vue({
el : '#client_edit', el : '#client_edit',
data: function () { data: function () {
return { return {
'client': [], 'client': [],
'errors': [], 'errors': [],
} }
}, },
mounted(this: any) { mounted(this: any) {
//this.client = {!! $client !!}; //this.client = {!! $client !!};
this.client = client_object; this.client = client_object;
console.dir(this.client); console.dir(this.client);
},
beforeMount: function () {
console.log('before mount')
},
created:function() {
console.dir('created')
},
updated:function() {
console.dir('updated')
},
methods:{
remove(this: any, contact:any){
let index = this.client.contacts.indexOf(contact);
this.client.contacts.splice(index, 1);
}, },
beforeMount: function () { add(this: any){
console.log('before mount') console.dir('i will add a contact here')
}, this.client.contacts.push({first_name: '', last_name: '', email: '', phone: '', id: -1});
created:function() { window.scrollTo(0, document.body.scrollHeight || document.documentElement.scrollHeight);
console.dir('created') this.$nextTick(() => {
}, let index = this.client.contacts.length - 1;
updated:function() { let input = this.$refs.first_name[index];
console.dir('updated') input.focus();
}, });
methods:{ },
remove(this: any, contact:any){ submit(this: any) {
let index = this.client.contacts.indexOf(contact); this.errors = {};
this.client.contacts.splice(index, 1);
},
add(this: any){
console.dir('i will add a contact here')
this.client.contacts.push({first_name: '', last_name: '', email: '', phone: '', id: -1});
window.scrollTo(0, document.body.scrollHeight || document.documentElement.scrollHeight);
this.$nextTick(() => {
let index = this.client.contacts.length - 1;
let input = this.$refs.first_name[index];
input.focus();
});
},
submit(this: any) {
this.errors = {};
axios.put('/clients/' + hashed_id, this.client).then(response => { axios.put('/clients/' + hashed_id, this.client).then(response => {
// axios.put('/clients/' + {{ $client->present()->id }}, this.client).then(response => { // axios.put('/clients/' + {{ $client->present()->id }}, this.client).then(response => {
this.client = response.data; this.client = response.data;
}).catch(error => { }).catch(error => {
if (error.response.status === 422) { if (error.response.status === 422) {
this.errors = error.response.data.errors || {}; this.errors = error.response.data.errors || {};
} }
else if(error.response.status === 419) { else if(error.response.status === 419) {
//csrf token has expired, we'll need to force a page reload //csrf token has expired, we'll need to force a page reload
} }
}); });
}, },
copy(type: any) { copy(type: any) {
if(type.includes('copy_billing')){ if(type.includes('copy_billing')){
this.client.shipping_address1 = this.client.address1; this.client.shipping_address1 = this.client.address1;
this.client.shipping_address2 = this.client.address2; this.client.shipping_address2 = this.client.address2;
this.client.shipping_city = this.client.city; this.client.shipping_city = this.client.city;
this.client.shipping_state = this.client.state; this.client.shipping_state = this.client.state;
this.client.shipping_postal_code = this.client.postal_code; this.client.shipping_postal_code = this.client.postal_code;
this.client.shipping_country_id = this.client.country_id; this.client.shipping_country_id = this.client.country_id;
}else { }else {
this.client.address1 = this.client.shipping_address1; this.client.address1 = this.client.shipping_address1;
this.client.address2 = this.client.shipping_address2; this.client.address2 = this.client.shipping_address2;
this.client.city = this.client.shipping_city; this.client.city = this.client.shipping_city;
this.client.state = this.client.shipping_state; this.client.state = this.client.shipping_state;
this.client.postal_code = this.client.shipping_postal_code; this.client.postal_code = this.client.shipping_postal_code;
this.client.country_id = this.client.shipping_country_id; this.client.country_id = this.client.shipping_country_id;
} }
} }
} }
}); });

View File

@ -0,0 +1,37 @@
export default class ClientContact {
id: number
client_id: number
user_id: number
company_id: number
first_name: string
last_name: string
phone: string
custom_value1: string
custom_value2: string
email: string
email_verified_at: string
confirmation_code: string
is_primary: boolean
confirmed: boolean
failed_logins: number
oauth_user_id: string
oauth_provider_id: string
google_2fa_secret: string
accepted_terms_version: string
avatar: string
avatar_width: string
avatar_height: string
avatar_size: string
db: string
password: string
remember_token: string
deleted_at: string
created_at: string
updated_at: string
public constructor(init?:Partial<ClientContact>) {
(<any>Object).assign(this, init);
}
}

View File

@ -0,0 +1,39 @@
export default class Client {
id: number
name: string
user_id: number
company_id: number
website: string
private_notes: string
balance: number
paid_to_date: number
last_login: string
industry_id: number
size_id: number
currency_id: number
address1: string
address2: string
city: string
state: string
postal_code: string
country_id: number
custom_value1: string
custom_value2: string
shipping_address1: string
shipping_address2: string
shipping_city: string
shipping_state: string
shipping_postal_code: string
shipping_country_id: number
is_deleted: boolean
payment_terms: string
vat_number: string
id_number: string
created_at: string
updated_at: string
public constructor(init?:Partial<Client>) {
(<any>Object).assign(this, init);
}
}

View File

@ -11,6 +11,11 @@
<form method="POST" action="{{ route('login') }}"> <form method="POST" action="{{ route('login') }}">
@csrf @csrf
<h1>@lang('texts.account_login')</h1> <h1>@lang('texts.account_login')</h1>
@if (Session::has('error'))
<div class="alert alert-danger">
<li>{!! Session::get('error') !!}</li>
</div>
@endif
<p class="text-muted"></p> <p class="text-muted"></p>
<div class="input-group mb-3"> <div class="input-group mb-3">
<div class="input-group-prepend"> <div class="input-group-prepend">

View File

@ -1,4 +1,4 @@
@extends('layouts.master') @extends('layouts.guest')
@section('body') @section('body')

View File

@ -1,4 +1,4 @@
@extends('layouts.master') @extends('layouts.guest')
@section('body') @section('body')

View File

@ -0,0 +1,57 @@
@extends('layouts.master', ['header' => $header])
@section('body')
<main class="main" id="client_create">
<!-- Breadcrumb-->
{{ Breadcrumbs::render('clients.create') }}
<form @submit.prevent="submit">
<div class="container-fluid">
<div class="row">
<!-- Client Details and Address Column -->
<div class="col-md-6">
@include('client.partial.client_details', $client)
@include('client.partial.client_location')
</div>
<!-- End Client Details and Address Column -->
<!-- Contact Details Column -->
<div class="col-md-6">
<div class="card">
<div class="card-header bg-primary2">{{ trans('texts.contact_information') }}
<span class="float-right">
<button type="button" class="btn btn-primary btn-sm" @click="add()"><i class="fa fa-plus-circle"></i> {{ trans('texts.add_contact') }}</button>
</span>
</div>
<template v-for="contact in client.contacts">
@include('client.partial.contact_details')
</template>
</div>
</div>
<!-- End Contact Details Column -->
</div>
<div class="row">
<div class="col-md-12 text-center">
<button class="btn btn-lg btn-success" type="button" @click="submit"><i class="fa fa-save"></i> {{ trans('texts.save') }}</button>
</div>
</div>
</div>
</form>
</main>
<script>
var client_object = {!! $client !!};
</script>
<script defer src=" {{ mix('/js/client_create.min.js') }}"></script>
@endsection

View File

@ -54,5 +54,5 @@
var hashed_id = '{{ $hashed_id }}'; var hashed_id = '{{ $hashed_id }}';
</script> </script>
<script src=" {{ mix('/js/client_edit.js') }}"></script> <script defer src=" {{ mix('/js/client_edit.min.js') }}"></script>
@endsection @endsection

View File

@ -4,7 +4,7 @@
<div class="form-group row"> <div class="form-group row">
<label for="name" class="col-sm-3 col-form-label text-right">@lang('texts.client_name')</label> <label for="name" class="col-sm-3 col-form-label text-right">@lang('texts.client_name')</label>
<div class="col-sm-9"> <div class="col-sm-9">
<input name="name" placeholder="@lang('texts.name')" class="form-control" v-model="client.name" value="{{ $client->present()->name }}"> <input name="name" placeholder="@lang('texts.name')" class="form-control" v-model="client.name" value="{{ $client->name }}">
<div v-if="errors && errors.name" class="text-danger">@{{ errors.name[0] }}</div> <div v-if="errors && errors.name" class="text-danger">@{{ errors.name[0] }}</div>
</div> </div>
</div> </div>

View File

@ -2,7 +2,7 @@
<div class="form-group row"> <div class="form-group row">
<label for="name" class="col-sm-3 col-form-label text-right">@lang('texts.first_name')</label> <label for="name" class="col-sm-3 col-form-label text-right">@lang('texts.first_name')</label>
<div class="col-sm-9"> <div class="col-sm-9">
<input name="id" type="hidden" v-model="contact.id" value="{{ $client->present()->id }}"> <input name="id" type="hidden" v-model="contact.id" value="{{ $client->present()->id ?: -1}}">
<input ref="first_name" name="first_name" placeholder="@lang('texts.first_name')" class="form-control" v-model="contact.first_name"> <input ref="first_name" name="first_name" placeholder="@lang('texts.first_name')" class="form-control" v-model="contact.first_name">
</div> </div>
</div> </div>

View File

@ -62,7 +62,8 @@
<script src="https://code.jquery.com/jquery-3.2.1.min.js"></script> <script src="https://code.jquery.com/jquery-3.2.1.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.12.9/umd/popper.min.js" integrity="sha384-ApNbgh9B+Y1QKtv3Rn7W3mgPxhU9K/ScQsAP7hUibX39j7fakFPskvXusvfa0b4Q" crossorigin="anonymous"></script> <script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.12.9/umd/popper.min.js" integrity="sha384-ApNbgh9B+Y1QKtv3Rn7W3mgPxhU9K/ScQsAP7hUibX39j7fakFPskvXusvfa0b4Q" crossorigin="anonymous"></script>
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0/js/bootstrap.min.js" integrity="sha384-JZR6Spejh4U02d8jOt6vLEHfe/JQGiRRSQQxSfFWpi1MquVdAyjUar5+76PVCmYl" crossorigin="anonymous"></script> <script src="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0/js/bootstrap.min.js" integrity="sha384-JZR6Spejh4U02d8jOt6vLEHfe/JQGiRRSQQxSfFWpi1MquVdAyjUar5+76PVCmYl" crossorigin="anonymous"></script>
<script src=" {{ mix('/js/ninja.min.js') }}"></script> <script src=" {{ mix('/js/coreui.min.js') }}"></script>
<script defer src=" {{ mix('/js/ninja.min.js') }}"></script>
@yield('head') @yield('head')

View File

@ -62,8 +62,8 @@
<script src="https://code.jquery.com/jquery-3.2.1.min.js"></script> <script src="https://code.jquery.com/jquery-3.2.1.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.12.9/umd/popper.min.js" integrity="sha384-ApNbgh9B+Y1QKtv3Rn7W3mgPxhU9K/ScQsAP7hUibX39j7fakFPskvXusvfa0b4Q" crossorigin="anonymous"></script> <script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.12.9/umd/popper.min.js" integrity="sha384-ApNbgh9B+Y1QKtv3Rn7W3mgPxhU9K/ScQsAP7hUibX39j7fakFPskvXusvfa0b4Q" crossorigin="anonymous"></script>
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0/js/bootstrap.min.js" integrity="sha384-JZR6Spejh4U02d8jOt6vLEHfe/JQGiRRSQQxSfFWpi1MquVdAyjUar5+76PVCmYl" crossorigin="anonymous"></script> <script src="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0/js/bootstrap.min.js" integrity="sha384-JZR6Spejh4U02d8jOt6vLEHfe/JQGiRRSQQxSfFWpi1MquVdAyjUar5+76PVCmYl" crossorigin="anonymous"></script>
<script src=" {{ mix('/js/ninja.min.js') }}"></script> <script src=" {{ mix('/js/coreui.min.js') }}"></script>
<script src="/js/lang.js"></script> <script defer src="/js/lang.js"></script>
<style type="text/css"> <style type="text/css">
.bg-primary2 { .bg-primary2 {
background-color: #167090 !important; background-color: #167090 !important;

View File

@ -15,3 +15,7 @@ Breadcrumbs::for('clients.edit', function($trail, $client) {
$trail->parent('clients'); $trail->parent('clients');
$trail->push($client->name, route('clients.edit', $client)); $trail->push($client->name, route('clients.edit', $client));
}); });
Breadcrumbs::for('clients.create', function($trail) {
$trail->parent('clients');
});

10
webpack.mix.js vendored
View File

@ -26,16 +26,18 @@ mix.webpackConfig({
}); });
mix.js('resources/js/src/client/client_edit.ts', 'public/js'); mix.js('resources/js/src/client/client_edit.ts', 'public/js');
mix.js('resources/js/src/client/client_create.ts', 'public/js');
mix.js('resources/js/app.js', 'public/js/vendor'); mix.js('resources/js/app.js', 'public/js/vendor');
mix.js('node_modules/@coreui/coreui/dist/js/coreui.js', 'public/js');
mix.scripts([ mix.scripts([
'node_modules/@coreui/coreui/dist/js/coreui.js', 'public/js/vendor/app.js'
//'public/js/vendor/app.js'
], 'public/js/ninja.js'); ], 'public/js/ninja.js');
mix.minify('public/js/ninja.js'); mix.minify('public/js/ninja.js');
mix.minify('public/js/coreui.js');
mix.minify('public/js/client_edit.js');
mix.minify('public/js/client_create.js');
mix.styles([ mix.styles([
'node_modules/@coreui/coreui/dist/css/coreui.css', 'node_modules/@coreui/coreui/dist/css/coreui.css',