mirror of
https://github.com/invoiceninja/invoiceninja.git
synced 2025-05-24 02:14:21 -04:00
Client Settings (#2711)
* Fixes for travis * Additional settings variables at the company and client level * Implement accessor for client settings * Currency symbol or code setter * Implement custom JS number and currency formatter * Implement VueX state management for client settings * Move settings logic into its own class * Working on client settings * client settings * Move Client Settings helper into PHP * Move translation helper into its own class * Working on Client Settings * fixes for client settings * Client setting defaults * fixes for .env * Fixes for Travis
This commit is contained in:
parent
7b5028820d
commit
0d508d67f1
22
.env.example
22
.env.example
@ -5,12 +5,25 @@ APP_DEBUG=true
|
||||
|
||||
APP_URL=http://localhost
|
||||
|
||||
USER_AUTH_PROVIDER=users
|
||||
CONTACT_AUTH_PROVIDER=contacts
|
||||
|
||||
DB_CONNECTION=db-ninja-01
|
||||
DB_HOST1=127.0.0.1
|
||||
MULTI_DB_ENABLED=true
|
||||
|
||||
DB_HOST1=localhost
|
||||
DB_DATABASE1=db-ninja-01
|
||||
DB_USERNAME1=ninja
|
||||
DB_PASSWORD1=ninja
|
||||
DB_PORT1=3306
|
||||
DB_DATABASE1=homestead
|
||||
DB_USERNAME1=homestead
|
||||
DB_PASSWORD1=secret
|
||||
|
||||
DB_HOST2=localhost
|
||||
DB_DATABASE2=db-ninja-02
|
||||
DB_USERNAME2=ninja
|
||||
DB_PASSWORD2=ninja
|
||||
DB_PORT1=3306
|
||||
|
||||
|
||||
|
||||
BROADCAST_DRIVER=log
|
||||
LOG_CHANNEL=stack
|
||||
@ -34,4 +47,3 @@ MULTI_DB_ENABLED=true
|
||||
POSTMARK_API_TOKEN=
|
||||
|
||||
GOOGLE_MAPS_API_KEY=
|
||||
COMPANY_SETTINGS='{"timezone_id":"15","currency_id":"1","language_id":"1","payment_terms":"7"}'
|
||||
|
@ -7,22 +7,12 @@ namespace App\DataMapper;
|
||||
*/
|
||||
class BaseSettings
|
||||
{
|
||||
/**
|
||||
* Migrates properties of the datamapper classes when new properties are added
|
||||
*
|
||||
* @param \stdClass $object Datamapper settings object
|
||||
* @return \stdClass $object Datamapper settings object updated
|
||||
*/
|
||||
public function migrate(\stdClass $object) : \stdClass
|
||||
|
||||
public function __construct($obj)
|
||||
{
|
||||
$properties = self::default();
|
||||
|
||||
foreach($properties as $property)
|
||||
{
|
||||
if(!property_exists($object, $property))
|
||||
$object->{$property} = NULL;
|
||||
}
|
||||
|
||||
return $object;
|
||||
foreach($obj as $key => $value)
|
||||
$this->{$key} = $value;
|
||||
}
|
||||
|
||||
|
||||
}
|
@ -2,16 +2,60 @@
|
||||
|
||||
namespace App\DataMapper;
|
||||
|
||||
use App\DataMapper\ClientSettings;
|
||||
use App\DataMapper\CompanySettings;
|
||||
use App\Utils\TranslationHelper;
|
||||
|
||||
/**
|
||||
* ClientSettings
|
||||
*/
|
||||
class ClientSettings extends BaseSettings
|
||||
{
|
||||
/**
|
||||
* settings which also have a parent company setting
|
||||
*/
|
||||
public $timezone_id;
|
||||
public $date_format_id;
|
||||
public $datetime_format_id;
|
||||
public $military_time;
|
||||
public $start_of_week;
|
||||
public $financial_year_start;
|
||||
|
||||
public $language_id;
|
||||
public $currency_id;
|
||||
|
||||
public $default_task_rate;
|
||||
public $send_reminders;
|
||||
public $show_tasks_in_portal;
|
||||
public $custom_message_dashboard;
|
||||
public $custom_message_unpaid_invoice;
|
||||
public $custom_message_paid_invoice;
|
||||
public $custom_message_unapproved_quote;
|
||||
public $show_currency_symbol;
|
||||
public $show_currency_code;
|
||||
|
||||
/**
|
||||
* settings which which are unique to client settings
|
||||
*/
|
||||
public $industry_id;
|
||||
public $size_id;
|
||||
|
||||
|
||||
/**
|
||||
* Cast object values and return entire class
|
||||
* prevents missing properties from not being returned
|
||||
* and always ensure an up to date class is returned
|
||||
*
|
||||
* @return \stdClass
|
||||
*/
|
||||
public function __construct($obj)
|
||||
{
|
||||
parent::__construct($obj);
|
||||
}
|
||||
|
||||
/**
|
||||
*
|
||||
* Default Client Settings scaffold
|
||||
*
|
||||
* @return \stdClass
|
||||
*
|
||||
*/
|
||||
@ -23,10 +67,47 @@ class ClientSettings extends BaseSettings
|
||||
'language_id' => NULL,
|
||||
'currency_id' => NULL,
|
||||
'payment_terms' => NULL,
|
||||
'datetime_format_id' => NULL,
|
||||
'military_time' => NULL,
|
||||
'date_format_id' => NULL,
|
||||
'start_of_week' => NULL,
|
||||
'financial_year_start' => NULL,
|
||||
'default_task_rate' => NULL,
|
||||
'send_reminders' => NULL,
|
||||
'show_tasks_in_portal' => NULL,
|
||||
'show_currency_symbol' => NULL,
|
||||
'show_currency_code' => NULL
|
||||
];
|
||||
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Merges settings from Company to Client
|
||||
*
|
||||
* @param \stdClass $company_settings
|
||||
* @param \stdClass $client_settings
|
||||
* @return \stdClass of merged settings
|
||||
*/
|
||||
public static function buildClientSettings(CompanySettings $company_settings, ClientSettings $client_settings) : ClientSettings
|
||||
{
|
||||
|
||||
|
||||
foreach($client_settings as $key => $value)
|
||||
{
|
||||
|
||||
if(!isset($client_settings->{$key}) && property_exists($company_settings, $key))
|
||||
$client_settings->{$key} = $company_settings->{$key};
|
||||
}
|
||||
|
||||
/** Replace ID with Object for presentation in multi-select */
|
||||
$client_settings->currency_id = TranslationHelper::getCurrencies()->where('id', $client_settings->currency_id)->first();
|
||||
$client_settings->language_id = TranslationHelper::getLanguages()->where('id', $client_settings->language_id)->first();
|
||||
$client_settings->payment_terms = TranslationHelper::getPaymentTerms()->where('num_days', $client_settings->payment_terms)->first();
|
||||
//todo $client_settings->timezone_id
|
||||
|
||||
return $client_settings;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
@ -9,9 +9,19 @@ class CompanySettings extends BaseSettings
|
||||
{
|
||||
|
||||
public $timezone_id;
|
||||
public $date_format_id;
|
||||
public $datetime_format_id;
|
||||
public $military_time;
|
||||
public $start_of_week;
|
||||
public $financial_year_start;
|
||||
|
||||
public $language_id;
|
||||
public $currency_id;
|
||||
public $show_currency_symbol;
|
||||
public $show_currency_code;
|
||||
|
||||
public $payment_terms;
|
||||
|
||||
public $custom_label1;
|
||||
public $custom_value1;
|
||||
public $custom_label2;
|
||||
@ -44,6 +54,16 @@ class CompanySettings extends BaseSettings
|
||||
public $custom_expense_label2;
|
||||
public $custom_expense_label3;
|
||||
public $custom_expense_label4;
|
||||
|
||||
public $default_task_rate;
|
||||
public $send_reminders;
|
||||
public $show_tasks_in_portal;
|
||||
|
||||
public $custom_message_dashboard;
|
||||
public $custom_message_unpaid_invoice;
|
||||
public $custom_message_paid_invoice;
|
||||
public $custom_message_unapproved_quote;
|
||||
|
||||
public $translations;
|
||||
|
||||
/**
|
||||
@ -55,25 +75,34 @@ class CompanySettings extends BaseSettings
|
||||
*/
|
||||
public function __construct($obj)
|
||||
{
|
||||
foreach($obj as $key => $value)
|
||||
$this->{$key} = $value;
|
||||
parent::__construct($obj);
|
||||
}
|
||||
|
||||
/**
|
||||
* Provides class defaults on init
|
||||
* @return object
|
||||
*/
|
||||
public static function defaults() : object
|
||||
public static function defaults() : \stdClass
|
||||
{
|
||||
$config = json_decode(config('ninja.settings'));
|
||||
|
||||
return (object) [
|
||||
'timezone_id' => $config->timezone_id,
|
||||
'language_id' => $config->language_id,
|
||||
'currency_id' => $config->currency_id,
|
||||
'payment_terms' => $config->payment_terms,
|
||||
'timezone_id' => config('ninja.i18n.timezone'),
|
||||
'language_id' => config('ninja.i18n.language'),
|
||||
'currency_id' => config('ninja.i18n.currency'),
|
||||
'payment_terms' => config('ninja.i18n.payment_terms'),
|
||||
'datetime_format_id' => config('ninja.i18n.datetime_format'),
|
||||
'military_time' => config('ninja.i18n.military_time'),
|
||||
'date_format_id' => config('ninja.i18n.date_format'),
|
||||
'start_of_week' => config('ninja.i18n.start_of_week'),
|
||||
'financial_year_start' => config('ninja.i18n.financial_year_start'),
|
||||
'default_task_rate' => 0,
|
||||
'send_reminders' => 1,
|
||||
'show_tasks_in_portal' => 1,
|
||||
'show_currency_symbol' => 1,
|
||||
'show_currency_code' => 0,
|
||||
|
||||
'translations' => (object) [],
|
||||
];
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -2,6 +2,7 @@
|
||||
|
||||
namespace App\Http\Controllers;
|
||||
|
||||
use App\DataMapper\ClientSettings;
|
||||
use App\Datatables\ClientDatatable;
|
||||
use App\Datatables\MakesActionMenu;
|
||||
use App\Factory\ClientFactory;
|
||||
@ -124,7 +125,7 @@ class ClientController extends Controller
|
||||
|
||||
$data = [
|
||||
'client' => $client,
|
||||
'settings' => collect($client->settings),
|
||||
'settings' => collect(ClientSettings::buildClientSettings(auth()->user()->company()->settings_object, $client->client_settings_object)),
|
||||
'pills' => $this->makeEntityTabMenu(Client::class),
|
||||
'hashed_id' => $this->encodePrimarykey($client->id),
|
||||
'company' => auth()->user()->company(),
|
||||
|
@ -5,6 +5,7 @@ namespace App\Http\ViewComposers;
|
||||
use App\Models\Country;
|
||||
use App\Models\Currency;
|
||||
use App\Models\PaymentTerm;
|
||||
use App\Utils\TranslationHelper;
|
||||
use Cache;
|
||||
use Illuminate\Support\Str;
|
||||
use Illuminate\View\View;
|
||||
@ -21,40 +22,17 @@ class TranslationComposer
|
||||
*/
|
||||
public function compose(View $view) :void
|
||||
{
|
||||
$view->with('industries', Cache::get('industries')->each(function ($industry) {
|
||||
$industry->name = trans('texts.industry_'.$industry->name);
|
||||
})->sortBy(function ($industry) {
|
||||
return $industry->name;
|
||||
}));
|
||||
$view->with('industries', TranslationHelper::getIndustries());
|
||||
|
||||
$view->with('countries', Cache::get('countries')->each(function ($country) {
|
||||
$country->name = trans('texts.country_'.$country->name);
|
||||
})->sortBy(function ($country) {
|
||||
return $country->name;
|
||||
}));
|
||||
$view->with('countries', TranslationHelper::getCountries());
|
||||
|
||||
$view->with('payment_types', Cache::get('paymentTypes')->each(function ($pType) {
|
||||
$pType->name = trans('texts.payment_type_'.$pType->name);
|
||||
})->sortBy(function ($pType) {
|
||||
return $pType->name;
|
||||
}));
|
||||
$view->with('payment_types', TranslationHelper::getPaymentTypes());
|
||||
|
||||
$view->with('languages', Cache::get('languages')->each(function ($lang) {
|
||||
$lang->name = trans('texts.lang_'.$lang->name);
|
||||
})->sortBy(function ($lang) {
|
||||
return $lang->name;
|
||||
}));
|
||||
$view->with('languages', TranslationHelper::getLanguages());
|
||||
|
||||
$view->with('currencies', Cache::get('currencies')->each(function ($currency) {
|
||||
$currency->name = trans('texts.currency_' . Str::slug($currency->name, '_'));
|
||||
})->sortBy(function ($currency) {
|
||||
return $currency->name;
|
||||
}));
|
||||
$view->with('currencies', TranslationHelper::getCurrencies());
|
||||
|
||||
$view->with('payment_terms', PaymentTerm::getCompanyTerms()->map(function ($term){
|
||||
$term['name'] = trans('texts.payment_terms_net') . ' ' . $term['num_days'];
|
||||
return $term;
|
||||
}));
|
||||
$view->with('payment_terms', TranslationHelper::getPaymentTerms());
|
||||
|
||||
}
|
||||
|
||||
|
@ -55,11 +55,15 @@ class CreateUser
|
||||
'account_id' => $this->account->id,
|
||||
'is_owner' => 1,
|
||||
'is_admin' => 1,
|
||||
'is_locked' => 0,
|
||||
'permissions' => json_encode([]),
|
||||
'settings' => json_encode(DefaultSettings::userSettings()),
|
||||
]);
|
||||
|
||||
|
||||
event(new UserCreated($user));
|
||||
|
||||
|
||||
return $user;
|
||||
}
|
||||
}
|
||||
|
@ -2,6 +2,7 @@
|
||||
|
||||
namespace App\Models;
|
||||
|
||||
use App\DataMapper\ClientSettings;
|
||||
use App\Models\Company;
|
||||
use App\Models\Country;
|
||||
use App\Utils\Traits\MakesHash;
|
||||
@ -17,7 +18,9 @@ class Client extends BaseModel
|
||||
|
||||
protected $presenter = 'App\Models\Presenters\ClientPresenter';
|
||||
|
||||
//protected $appends = ['client_id'];
|
||||
protected $appends = [
|
||||
'client_settings_object'
|
||||
];
|
||||
|
||||
protected $guarded = [
|
||||
'id',
|
||||
@ -40,6 +43,11 @@ class Client extends BaseModel
|
||||
|
||||
//protected $dates = ['deleted_at'];
|
||||
|
||||
public function getClientSettingsObjectAttribute()
|
||||
{
|
||||
return new ClientSettings($this->settings);
|
||||
}
|
||||
|
||||
public function getHashedIdAttribute()
|
||||
{
|
||||
return $this->encodePrimaryKey($this->id);
|
||||
|
@ -35,7 +35,9 @@ class Company extends BaseModel
|
||||
'company_id'
|
||||
];
|
||||
|
||||
protected $appends = ['settings_object'];
|
||||
protected $appends = [
|
||||
'settings_object'
|
||||
];
|
||||
|
||||
protected $casts = [
|
||||
'settings' => 'object'
|
||||
|
64
app/Utils/TranslationHelper.php
Normal file
64
app/Utils/TranslationHelper.php
Normal file
@ -0,0 +1,64 @@
|
||||
<?php
|
||||
|
||||
namespace App\Utils;
|
||||
|
||||
use App\Models\PaymentTerm;
|
||||
use Cache;
|
||||
use Illuminate\Support\Str;
|
||||
|
||||
class TranslationHelper
|
||||
{
|
||||
|
||||
public static function getIndustries()
|
||||
{
|
||||
return Cache::get('industries')->each(function ($industry) {
|
||||
$industry->name = ctrans('texts.industry_'.$industry->name);
|
||||
})->sortBy(function ($industry) {
|
||||
return $industry->name;
|
||||
});
|
||||
}
|
||||
|
||||
public static function getCountries()
|
||||
{
|
||||
return Cache::get('countries')->each(function ($country) {
|
||||
$country->name = ctrans('texts.country_'.$country->name);
|
||||
})->sortBy(function ($country) {
|
||||
return $country->name;
|
||||
});
|
||||
}
|
||||
|
||||
public static function getPaymentTypes()
|
||||
{
|
||||
return Cache::get('paymentTypes')->each(function ($pType) {
|
||||
$pType->name = ctrans('texts.payment_type_'.$pType->name);
|
||||
})->sortBy(function ($pType) {
|
||||
return $pType->name;
|
||||
});
|
||||
}
|
||||
|
||||
public static function getLanguages()
|
||||
{
|
||||
return Cache::get('languages')->each(function ($lang) {
|
||||
$lang->name = ctrans('texts.lang_'.$lang->name);
|
||||
})->sortBy(function ($lang) {
|
||||
return $lang->name;
|
||||
});
|
||||
}
|
||||
|
||||
public static function getCurrencies()
|
||||
{
|
||||
return Cache::get('currencies')->each(function ($currency) {
|
||||
$currency->name = ctrans('texts.currency_' . Str::slug($currency->name, '_'));
|
||||
})->sortBy(function ($currency) {
|
||||
return $currency->name;
|
||||
});
|
||||
}
|
||||
|
||||
public static function getPaymentTerms()
|
||||
{
|
||||
return PaymentTerm::getCompanyTerms()->map(function ($term){
|
||||
$term['name'] = ctrans('texts.payment_terms_net') . ' ' . $term['num_days'];
|
||||
return $term;
|
||||
});
|
||||
}
|
||||
}
|
44
composer.lock
generated
44
composer.lock
generated
@ -865,16 +865,16 @@
|
||||
},
|
||||
{
|
||||
"name": "laravel/framework",
|
||||
"version": "v5.7.26",
|
||||
"version": "v5.7.27",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/laravel/framework.git",
|
||||
"reference": "ca3bc9769969e8af3bd9878a3e0242051c74dae4"
|
||||
"reference": "688fbfa889d43f392825b381ad3981847120fdfa"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/laravel/framework/zipball/ca3bc9769969e8af3bd9878a3e0242051c74dae4",
|
||||
"reference": "ca3bc9769969e8af3bd9878a3e0242051c74dae4",
|
||||
"url": "https://api.github.com/repos/laravel/framework/zipball/688fbfa889d43f392825b381ad3981847120fdfa",
|
||||
"reference": "688fbfa889d43f392825b381ad3981847120fdfa",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
@ -1007,7 +1007,7 @@
|
||||
"framework",
|
||||
"laravel"
|
||||
],
|
||||
"time": "2019-02-12T14:52:21+00:00"
|
||||
"time": "2019-02-19T14:37:47+00:00"
|
||||
},
|
||||
{
|
||||
"name": "laravel/nexmo-notification-channel",
|
||||
@ -1297,7 +1297,7 @@
|
||||
{
|
||||
"name": "Luís Otávio Cobucci Oblonczyk",
|
||||
"email": "lcobucci@gmail.com",
|
||||
"role": "developer"
|
||||
"role": "Developer"
|
||||
}
|
||||
],
|
||||
"description": "A simple library to work with JSON Web Token and JSON Web Signature",
|
||||
@ -1640,16 +1640,16 @@
|
||||
},
|
||||
{
|
||||
"name": "nikic/php-parser",
|
||||
"version": "v4.2.0",
|
||||
"version": "v4.2.1",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/nikic/PHP-Parser.git",
|
||||
"reference": "594bcae1fc0bccd3993d2f0d61a018e26ac2865a"
|
||||
"reference": "5221f49a608808c1e4d436df32884cbc1b821ac0"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/nikic/PHP-Parser/zipball/594bcae1fc0bccd3993d2f0d61a018e26ac2865a",
|
||||
"reference": "594bcae1fc0bccd3993d2f0d61a018e26ac2865a",
|
||||
"url": "https://api.github.com/repos/nikic/PHP-Parser/zipball/5221f49a608808c1e4d436df32884cbc1b821ac0",
|
||||
"reference": "5221f49a608808c1e4d436df32884cbc1b821ac0",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
@ -1687,7 +1687,7 @@
|
||||
"parser",
|
||||
"php"
|
||||
],
|
||||
"time": "2019-01-12T16:31:37+00:00"
|
||||
"time": "2019-02-16T20:54:15+00:00"
|
||||
},
|
||||
{
|
||||
"name": "nwidart/laravel-modules",
|
||||
@ -4974,16 +4974,16 @@
|
||||
},
|
||||
{
|
||||
"name": "phpunit/php-timer",
|
||||
"version": "2.0.0",
|
||||
"version": "2.1.1",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/sebastianbergmann/php-timer.git",
|
||||
"reference": "8b8454ea6958c3dee38453d3bd571e023108c91f"
|
||||
"reference": "8b389aebe1b8b0578430bda0c7c95a829608e059"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/sebastianbergmann/php-timer/zipball/8b8454ea6958c3dee38453d3bd571e023108c91f",
|
||||
"reference": "8b8454ea6958c3dee38453d3bd571e023108c91f",
|
||||
"url": "https://api.github.com/repos/sebastianbergmann/php-timer/zipball/8b389aebe1b8b0578430bda0c7c95a829608e059",
|
||||
"reference": "8b389aebe1b8b0578430bda0c7c95a829608e059",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
@ -4995,7 +4995,7 @@
|
||||
"type": "library",
|
||||
"extra": {
|
||||
"branch-alias": {
|
||||
"dev-master": "2.0-dev"
|
||||
"dev-master": "2.1-dev"
|
||||
}
|
||||
},
|
||||
"autoload": {
|
||||
@ -5019,7 +5019,7 @@
|
||||
"keywords": [
|
||||
"timer"
|
||||
],
|
||||
"time": "2018-02-01T13:07:23+00:00"
|
||||
"time": "2019-02-20T10:12:59+00:00"
|
||||
},
|
||||
{
|
||||
"name": "phpunit/php-token-stream",
|
||||
@ -5072,16 +5072,16 @@
|
||||
},
|
||||
{
|
||||
"name": "phpunit/phpunit",
|
||||
"version": "7.5.5",
|
||||
"version": "7.5.6",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/sebastianbergmann/phpunit.git",
|
||||
"reference": "23a200a60552cb9ba483a8d1e106c70fb0be0bb9"
|
||||
"reference": "09c85e14994df92e5ff1f5ec0b481bdb7d3d3df9"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/23a200a60552cb9ba483a8d1e106c70fb0be0bb9",
|
||||
"reference": "23a200a60552cb9ba483a8d1e106c70fb0be0bb9",
|
||||
"url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/09c85e14994df92e5ff1f5ec0b481bdb7d3d3df9",
|
||||
"reference": "09c85e14994df92e5ff1f5ec0b481bdb7d3d3df9",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
@ -5152,7 +5152,7 @@
|
||||
"testing",
|
||||
"xunit"
|
||||
],
|
||||
"time": "2019-02-15T14:00:34+00:00"
|
||||
"time": "2019-02-18T09:24:50+00:00"
|
||||
},
|
||||
{
|
||||
"name": "sebastian/code-unit-reverse-lookup",
|
||||
|
@ -31,16 +31,20 @@ return [
|
||||
],
|
||||
|
||||
'i18n' => [
|
||||
'timezone' => env('DEFAULT_TIMEZONE', 'US/Eastern'),
|
||||
'timezone' => env('DEFAULT_TIMEZONE', 15),
|
||||
'country' => env('DEFAULT_COUNTRY', 840), // United Stated
|
||||
'currency' => env('DEFAULT_CURRENCY', 1), //USD
|
||||
'language' => env('DEFAULT_LANGUAGE', 1), //en
|
||||
'date_format' => env('DEFAULT_DATE_FORMAT', 'M j, Y'),
|
||||
'date_picker_format' => env('DEFAULT_DATE_PICKER_FORMAT', 'M d, yyyy'),
|
||||
'datetime_format' => env('DEFAULT_DATETIME_FORMAT', 'F j, Y g:i a'),
|
||||
'datetime_momemnt_format' => env('DEFAULT_DATETIME_MOMENT_FORMAT', 'MMM D, YYYY h:mm:ss a'),
|
||||
'datetime_moment_format' => env('DEFAULT_DATETIME_MOMENT_FORMAT', 'MMM D, YYYY h:mm:ss a'),
|
||||
'locale' => env('DEFAULT_LOCALE', 'en'),
|
||||
'map_zoom' => env('DEFAULT_MAP_ZOOM', 10),
|
||||
'payment_terms' => env('DEFAULT_PAYMENT_TERMS', 7),
|
||||
'military_time' => env('MILITARY_TIME', 0),
|
||||
'start_of_week' => env('START_OF_WEEK',1),
|
||||
'financial_year_start' => env('FINANCIAL_YEAR_START', '2000-01-01')
|
||||
],
|
||||
|
||||
'testvars' => [
|
||||
@ -54,6 +58,5 @@ return [
|
||||
'from_name' => env('MAIL_FROM_NAME'),
|
||||
],
|
||||
|
||||
'settings' => env('COMPANY_SETTINGS', '{"timezone_id":"15","currency_id":"1","language_id":"1","payment_terms":"7"}'),
|
||||
|
||||
];
|
||||
|
@ -1,6 +1,5 @@
|
||||
<?php
|
||||
|
||||
use App\DataMapper\CompanySettings;
|
||||
use App\DataMapper\DefaultSettings;
|
||||
use App\Models\Account;
|
||||
use App\Models\Client;
|
||||
|
511
public/css/ninja.css
vendored
511
public/css/ninja.css
vendored
@ -1,7 +1,7 @@
|
||||
@charset "UTF-8";
|
||||
/*!
|
||||
* CoreUI - Open Source Dashboard UI Kit
|
||||
* @version v2.0.18
|
||||
* @version v2.1.4
|
||||
* @link https://coreui.io
|
||||
* Copyright (c) 2018 creativeLabs Łukasz Holeczek
|
||||
* 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);
|
||||
}
|
||||
|
||||
button {
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
.btn-transparent {
|
||||
color: #fff;
|
||||
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");
|
||||
}
|
||||
|
||||
.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 {
|
||||
background: #20a8d8;
|
||||
}
|
||||
@ -11866,6 +11884,19 @@ canvas {
|
||||
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 {
|
||||
-webkit-transform: rotate(-90deg);
|
||||
transform: rotate(-90deg);
|
||||
@ -11910,6 +11941,7 @@ canvas {
|
||||
position: relative;
|
||||
-ms-flex: 0 0 50px;
|
||||
flex: 0 0 50px;
|
||||
cursor: pointer;
|
||||
background-color: rgba(0, 0, 0, 0.2);
|
||||
border: 0;
|
||||
}
|
||||
@ -12022,6 +12054,19 @@ canvas {
|
||||
.sidebar-minimized .sidebar .nav-item:hover > .nav-link .nav-icon {
|
||||
color: #fff;
|
||||
}
|
||||
.sidebar-minimized .sidebar .nav-item:hover .nav-link.disabled,
|
||||
.sidebar-minimized .sidebar .nav-item:hover .nav-link :disabled {
|
||||
background: #2f353a;
|
||||
}
|
||||
.sidebar-minimized .sidebar .nav-item:hover .nav-link.disabled .nav-icon,
|
||||
.sidebar-minimized .sidebar .nav-item:hover .nav-link :disabled .nav-icon {
|
||||
color: #73818f;
|
||||
}
|
||||
.sidebar-minimized .sidebar section :not(.nav-dropdown-items) > .nav-item:last-child::after {
|
||||
display: block;
|
||||
margin-bottom: 50px;
|
||||
content: "";
|
||||
}
|
||||
.sidebar-minimized .sidebar .nav-link {
|
||||
position: relative;
|
||||
padding-left: 0;
|
||||
@ -12069,6 +12114,43 @@ canvas {
|
||||
left: 50px;
|
||||
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 {
|
||||
@ -12099,41 +12181,12 @@ canvas {
|
||||
}
|
||||
|
||||
*[dir="rtl"] .sidebar .sidebar-minimizer::before {
|
||||
right: unset;
|
||||
right: auto;
|
||||
left: 0;
|
||||
-webkit-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 {
|
||||
margin-right: 0 !important;
|
||||
}
|
||||
@ -12838,94 +12891,26 @@ html[dir="rtl"] .aside-menu {
|
||||
z-index: 1017;
|
||||
}
|
||||
|
||||
html:not([dir="rtl"]) .sidebar-show .sidebar,
|
||||
html:not([dir="rtl"]) .sidebar-show .sidebar {
|
||||
margin-left: 0;
|
||||
}
|
||||
|
||||
html:not([dir="rtl"]) .sidebar-show.sidebar-fixed .main,
|
||||
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;
|
||||
}
|
||||
|
||||
html:not([dir="rtl"]) .aside-menu-show.aside-menu-fixed .main,
|
||||
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;
|
||||
}
|
||||
|
||||
html[dir="rtl"] .sidebar-show.sidebar-fixed .main,
|
||||
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;
|
||||
}
|
||||
|
||||
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 {
|
||||
0% {
|
||||
opacity: 0;
|
||||
@ -12965,71 +12950,99 @@ html[dir="rtl"] .aside-menu-show.breadcrumb-fixed .breadcrumb {
|
||||
}
|
||||
|
||||
@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;
|
||||
}
|
||||
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;
|
||||
}
|
||||
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;
|
||||
}
|
||||
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 {
|
||||
margin-left: 50px;
|
||||
html:not([dir="rtl"]) .sidebar-sm-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: 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;
|
||||
}
|
||||
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;
|
||||
}
|
||||
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;
|
||||
}
|
||||
html:not([dir="rtl"]) .aside-menu-show .aside-menu,
|
||||
html:not([dir="rtl"]) .aside-menu-sm-show .aside-menu {
|
||||
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 .app-footer {
|
||||
margin-right: 250px;
|
||||
}
|
||||
html:not([dir="rtl"]) .aside-menu-show.breadcrumb-fixed .breadcrumb,
|
||||
html:not([dir="rtl"]) .aside-menu-sm-show.breadcrumb-fixed .breadcrumb {
|
||||
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;
|
||||
}
|
||||
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;
|
||||
}
|
||||
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;
|
||||
}
|
||||
html[dir="rtl"] .sidebar-sm-show.sidebar-fixed.sidebar-minimized .main,
|
||||
html[dir="rtl"] .sidebar-sm-show.sidebar-fixed.sidebar-minimized .app-footer {
|
||||
margin-right: 50px;
|
||||
html[dir="rtl"] .sidebar-sm-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: 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;
|
||||
}
|
||||
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;
|
||||
}
|
||||
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;
|
||||
}
|
||||
html[dir="rtl"] .aside-menu-show .aside-menu,
|
||||
html[dir="rtl"] .aside-menu-sm-show .aside-menu {
|
||||
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 .app-footer {
|
||||
margin-left: 250px;
|
||||
}
|
||||
html[dir="rtl"] .aside-menu-show.breadcrumb-fixed .breadcrumb,
|
||||
html[dir="rtl"] .aside-menu-sm-show.breadcrumb-fixed .breadcrumb {
|
||||
left: 250px;
|
||||
}
|
||||
@ -13051,92 +13064,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) {
|
||||
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;
|
||||
}
|
||||
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;
|
||||
}
|
||||
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;
|
||||
}
|
||||
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 {
|
||||
margin-left: 50px;
|
||||
html:not([dir="rtl"]) .sidebar-md-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: 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;
|
||||
}
|
||||
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;
|
||||
}
|
||||
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;
|
||||
}
|
||||
html:not([dir="rtl"]) .aside-menu-show .aside-menu,
|
||||
html:not([dir="rtl"]) .aside-menu-md-show .aside-menu {
|
||||
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 .app-footer {
|
||||
margin-right: 250px;
|
||||
}
|
||||
html:not([dir="rtl"]) .aside-menu-show.breadcrumb-fixed .breadcrumb,
|
||||
html:not([dir="rtl"]) .aside-menu-md-show.breadcrumb-fixed .breadcrumb {
|
||||
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;
|
||||
}
|
||||
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;
|
||||
}
|
||||
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;
|
||||
}
|
||||
html[dir="rtl"] .sidebar-md-show.sidebar-fixed.sidebar-minimized .main,
|
||||
html[dir="rtl"] .sidebar-md-show.sidebar-fixed.sidebar-minimized .app-footer {
|
||||
margin-right: 50px;
|
||||
html[dir="rtl"] .sidebar-md-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: 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;
|
||||
}
|
||||
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;
|
||||
}
|
||||
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;
|
||||
}
|
||||
html[dir="rtl"] .aside-menu-show .aside-menu,
|
||||
html[dir="rtl"] .aside-menu-md-show .aside-menu {
|
||||
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 .app-footer {
|
||||
margin-left: 250px;
|
||||
}
|
||||
html[dir="rtl"] .aside-menu-show.breadcrumb-fixed .breadcrumb,
|
||||
html[dir="rtl"] .aside-menu-md-show.breadcrumb-fixed .breadcrumb {
|
||||
left: 250px;
|
||||
}
|
||||
@ -13158,92 +13179,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) {
|
||||
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;
|
||||
}
|
||||
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;
|
||||
}
|
||||
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;
|
||||
}
|
||||
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;
|
||||
}
|
||||
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;
|
||||
}
|
||||
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;
|
||||
}
|
||||
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;
|
||||
}
|
||||
html:not([dir="rtl"]) .aside-menu-show .aside-menu,
|
||||
html:not([dir="rtl"]) .aside-menu-lg-show .aside-menu {
|
||||
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 .app-footer {
|
||||
margin-right: 250px;
|
||||
}
|
||||
html:not([dir="rtl"]) .aside-menu-show.breadcrumb-fixed .breadcrumb,
|
||||
html:not([dir="rtl"]) .aside-menu-lg-show.breadcrumb-fixed .breadcrumb {
|
||||
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;
|
||||
}
|
||||
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;
|
||||
}
|
||||
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;
|
||||
}
|
||||
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;
|
||||
}
|
||||
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;
|
||||
}
|
||||
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;
|
||||
}
|
||||
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;
|
||||
}
|
||||
html[dir="rtl"] .aside-menu-show .aside-menu,
|
||||
html[dir="rtl"] .aside-menu-lg-show .aside-menu {
|
||||
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 .app-footer {
|
||||
margin-left: 250px;
|
||||
}
|
||||
html[dir="rtl"] .aside-menu-show.breadcrumb-fixed .breadcrumb,
|
||||
html[dir="rtl"] .aside-menu-lg-show.breadcrumb-fixed .breadcrumb {
|
||||
left: 250px;
|
||||
}
|
||||
@ -13265,92 +13294,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) {
|
||||
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;
|
||||
}
|
||||
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;
|
||||
}
|
||||
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;
|
||||
}
|
||||
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;
|
||||
}
|
||||
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;
|
||||
}
|
||||
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;
|
||||
}
|
||||
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;
|
||||
}
|
||||
html:not([dir="rtl"]) .aside-menu-show .aside-menu,
|
||||
html:not([dir="rtl"]) .aside-menu-xl-show .aside-menu {
|
||||
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 .app-footer {
|
||||
margin-right: 250px;
|
||||
}
|
||||
html:not([dir="rtl"]) .aside-menu-show.breadcrumb-fixed .breadcrumb,
|
||||
html:not([dir="rtl"]) .aside-menu-xl-show.breadcrumb-fixed .breadcrumb {
|
||||
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;
|
||||
}
|
||||
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;
|
||||
}
|
||||
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;
|
||||
}
|
||||
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;
|
||||
}
|
||||
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;
|
||||
}
|
||||
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;
|
||||
}
|
||||
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;
|
||||
}
|
||||
html[dir="rtl"] .aside-menu-show .aside-menu,
|
||||
html[dir="rtl"] .aside-menu-xl-show .aside-menu {
|
||||
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 .app-footer {
|
||||
margin-left: 250px;
|
||||
}
|
||||
html[dir="rtl"] .aside-menu-show.breadcrumb-fixed .breadcrumb,
|
||||
html[dir="rtl"] .aside-menu-xl-show.breadcrumb-fixed .breadcrumb {
|
||||
left: 250px;
|
||||
}
|
||||
@ -13372,26 +13409,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 {
|
||||
position: fixed;
|
||||
right: 0;
|
||||
|
511
public/css/ninja.min.css
vendored
511
public/css/ninja.min.css
vendored
@ -1,7 +1,7 @@
|
||||
@charset "UTF-8";
|
||||
/*!
|
||||
* CoreUI - Open Source Dashboard UI Kit
|
||||
* @version v2.0.18
|
||||
* @version v2.1.4
|
||||
* @link https://coreui.io
|
||||
* Copyright (c) 2018 creativeLabs Łukasz Holeczek
|
||||
* 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);
|
||||
}
|
||||
|
||||
button {
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
.btn-transparent {
|
||||
color: #fff;
|
||||
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");
|
||||
}
|
||||
|
||||
.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 {
|
||||
background: #20a8d8;
|
||||
}
|
||||
@ -11866,6 +11884,19 @@ canvas {
|
||||
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 {
|
||||
-webkit-transform: rotate(-90deg);
|
||||
transform: rotate(-90deg);
|
||||
@ -11910,6 +11941,7 @@ canvas {
|
||||
position: relative;
|
||||
-ms-flex: 0 0 50px;
|
||||
flex: 0 0 50px;
|
||||
cursor: pointer;
|
||||
background-color: rgba(0, 0, 0, 0.2);
|
||||
border: 0;
|
||||
}
|
||||
@ -12022,6 +12054,19 @@ canvas {
|
||||
.sidebar-minimized .sidebar .nav-item:hover > .nav-link .nav-icon {
|
||||
color: #fff;
|
||||
}
|
||||
.sidebar-minimized .sidebar .nav-item:hover .nav-link.disabled,
|
||||
.sidebar-minimized .sidebar .nav-item:hover .nav-link :disabled {
|
||||
background: #2f353a;
|
||||
}
|
||||
.sidebar-minimized .sidebar .nav-item:hover .nav-link.disabled .nav-icon,
|
||||
.sidebar-minimized .sidebar .nav-item:hover .nav-link :disabled .nav-icon {
|
||||
color: #73818f;
|
||||
}
|
||||
.sidebar-minimized .sidebar section :not(.nav-dropdown-items) > .nav-item:last-child::after {
|
||||
display: block;
|
||||
margin-bottom: 50px;
|
||||
content: "";
|
||||
}
|
||||
.sidebar-minimized .sidebar .nav-link {
|
||||
position: relative;
|
||||
padding-left: 0;
|
||||
@ -12069,6 +12114,43 @@ canvas {
|
||||
left: 50px;
|
||||
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 {
|
||||
@ -12099,41 +12181,12 @@ canvas {
|
||||
}
|
||||
|
||||
*[dir="rtl"] .sidebar .sidebar-minimizer::before {
|
||||
right: unset;
|
||||
right: auto;
|
||||
left: 0;
|
||||
-webkit-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 {
|
||||
margin-right: 0 !important;
|
||||
}
|
||||
@ -12838,94 +12891,26 @@ html[dir="rtl"] .aside-menu {
|
||||
z-index: 1017;
|
||||
}
|
||||
|
||||
html:not([dir="rtl"]) .sidebar-show .sidebar,
|
||||
html:not([dir="rtl"]) .sidebar-show .sidebar {
|
||||
margin-left: 0;
|
||||
}
|
||||
|
||||
html:not([dir="rtl"]) .sidebar-show.sidebar-fixed .main,
|
||||
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;
|
||||
}
|
||||
|
||||
html:not([dir="rtl"]) .aside-menu-show.aside-menu-fixed .main,
|
||||
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;
|
||||
}
|
||||
|
||||
html[dir="rtl"] .sidebar-show.sidebar-fixed .main,
|
||||
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;
|
||||
}
|
||||
|
||||
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 {
|
||||
0% {
|
||||
opacity: 0;
|
||||
@ -12965,71 +12950,99 @@ html[dir="rtl"] .aside-menu-show.breadcrumb-fixed .breadcrumb {
|
||||
}
|
||||
|
||||
@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;
|
||||
}
|
||||
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;
|
||||
}
|
||||
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;
|
||||
}
|
||||
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 {
|
||||
margin-left: 50px;
|
||||
html:not([dir="rtl"]) .sidebar-sm-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: 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;
|
||||
}
|
||||
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;
|
||||
}
|
||||
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;
|
||||
}
|
||||
html:not([dir="rtl"]) .aside-menu-show .aside-menu,
|
||||
html:not([dir="rtl"]) .aside-menu-sm-show .aside-menu {
|
||||
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 .app-footer {
|
||||
margin-right: 250px;
|
||||
}
|
||||
html:not([dir="rtl"]) .aside-menu-show.breadcrumb-fixed .breadcrumb,
|
||||
html:not([dir="rtl"]) .aside-menu-sm-show.breadcrumb-fixed .breadcrumb {
|
||||
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;
|
||||
}
|
||||
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;
|
||||
}
|
||||
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;
|
||||
}
|
||||
html[dir="rtl"] .sidebar-sm-show.sidebar-fixed.sidebar-minimized .main,
|
||||
html[dir="rtl"] .sidebar-sm-show.sidebar-fixed.sidebar-minimized .app-footer {
|
||||
margin-right: 50px;
|
||||
html[dir="rtl"] .sidebar-sm-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: 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;
|
||||
}
|
||||
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;
|
||||
}
|
||||
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;
|
||||
}
|
||||
html[dir="rtl"] .aside-menu-show .aside-menu,
|
||||
html[dir="rtl"] .aside-menu-sm-show .aside-menu {
|
||||
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 .app-footer {
|
||||
margin-left: 250px;
|
||||
}
|
||||
html[dir="rtl"] .aside-menu-show.breadcrumb-fixed .breadcrumb,
|
||||
html[dir="rtl"] .aside-menu-sm-show.breadcrumb-fixed .breadcrumb {
|
||||
left: 250px;
|
||||
}
|
||||
@ -13051,92 +13064,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) {
|
||||
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;
|
||||
}
|
||||
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;
|
||||
}
|
||||
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;
|
||||
}
|
||||
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 {
|
||||
margin-left: 50px;
|
||||
html:not([dir="rtl"]) .sidebar-md-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: 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;
|
||||
}
|
||||
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;
|
||||
}
|
||||
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;
|
||||
}
|
||||
html:not([dir="rtl"]) .aside-menu-show .aside-menu,
|
||||
html:not([dir="rtl"]) .aside-menu-md-show .aside-menu {
|
||||
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 .app-footer {
|
||||
margin-right: 250px;
|
||||
}
|
||||
html:not([dir="rtl"]) .aside-menu-show.breadcrumb-fixed .breadcrumb,
|
||||
html:not([dir="rtl"]) .aside-menu-md-show.breadcrumb-fixed .breadcrumb {
|
||||
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;
|
||||
}
|
||||
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;
|
||||
}
|
||||
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;
|
||||
}
|
||||
html[dir="rtl"] .sidebar-md-show.sidebar-fixed.sidebar-minimized .main,
|
||||
html[dir="rtl"] .sidebar-md-show.sidebar-fixed.sidebar-minimized .app-footer {
|
||||
margin-right: 50px;
|
||||
html[dir="rtl"] .sidebar-md-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: 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;
|
||||
}
|
||||
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;
|
||||
}
|
||||
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;
|
||||
}
|
||||
html[dir="rtl"] .aside-menu-show .aside-menu,
|
||||
html[dir="rtl"] .aside-menu-md-show .aside-menu {
|
||||
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 .app-footer {
|
||||
margin-left: 250px;
|
||||
}
|
||||
html[dir="rtl"] .aside-menu-show.breadcrumb-fixed .breadcrumb,
|
||||
html[dir="rtl"] .aside-menu-md-show.breadcrumb-fixed .breadcrumb {
|
||||
left: 250px;
|
||||
}
|
||||
@ -13158,92 +13179,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) {
|
||||
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;
|
||||
}
|
||||
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;
|
||||
}
|
||||
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;
|
||||
}
|
||||
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;
|
||||
}
|
||||
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;
|
||||
}
|
||||
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;
|
||||
}
|
||||
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;
|
||||
}
|
||||
html:not([dir="rtl"]) .aside-menu-show .aside-menu,
|
||||
html:not([dir="rtl"]) .aside-menu-lg-show .aside-menu {
|
||||
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 .app-footer {
|
||||
margin-right: 250px;
|
||||
}
|
||||
html:not([dir="rtl"]) .aside-menu-show.breadcrumb-fixed .breadcrumb,
|
||||
html:not([dir="rtl"]) .aside-menu-lg-show.breadcrumb-fixed .breadcrumb {
|
||||
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;
|
||||
}
|
||||
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;
|
||||
}
|
||||
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;
|
||||
}
|
||||
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;
|
||||
}
|
||||
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;
|
||||
}
|
||||
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;
|
||||
}
|
||||
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;
|
||||
}
|
||||
html[dir="rtl"] .aside-menu-show .aside-menu,
|
||||
html[dir="rtl"] .aside-menu-lg-show .aside-menu {
|
||||
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 .app-footer {
|
||||
margin-left: 250px;
|
||||
}
|
||||
html[dir="rtl"] .aside-menu-show.breadcrumb-fixed .breadcrumb,
|
||||
html[dir="rtl"] .aside-menu-lg-show.breadcrumb-fixed .breadcrumb {
|
||||
left: 250px;
|
||||
}
|
||||
@ -13265,92 +13294,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) {
|
||||
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;
|
||||
}
|
||||
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;
|
||||
}
|
||||
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;
|
||||
}
|
||||
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;
|
||||
}
|
||||
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;
|
||||
}
|
||||
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;
|
||||
}
|
||||
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;
|
||||
}
|
||||
html:not([dir="rtl"]) .aside-menu-show .aside-menu,
|
||||
html:not([dir="rtl"]) .aside-menu-xl-show .aside-menu {
|
||||
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 .app-footer {
|
||||
margin-right: 250px;
|
||||
}
|
||||
html:not([dir="rtl"]) .aside-menu-show.breadcrumb-fixed .breadcrumb,
|
||||
html:not([dir="rtl"]) .aside-menu-xl-show.breadcrumb-fixed .breadcrumb {
|
||||
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;
|
||||
}
|
||||
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;
|
||||
}
|
||||
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;
|
||||
}
|
||||
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;
|
||||
}
|
||||
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;
|
||||
}
|
||||
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;
|
||||
}
|
||||
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;
|
||||
}
|
||||
html[dir="rtl"] .aside-menu-show .aside-menu,
|
||||
html[dir="rtl"] .aside-menu-xl-show .aside-menu {
|
||||
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 .app-footer {
|
||||
margin-left: 250px;
|
||||
}
|
||||
html[dir="rtl"] .aside-menu-show.breadcrumb-fixed .breadcrumb,
|
||||
html[dir="rtl"] .aside-menu-xl-show.breadcrumb-fixed .breadcrumb {
|
||||
left: 250px;
|
||||
}
|
||||
@ -13372,26 +13409,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 {
|
||||
position: fixed;
|
||||
right: 0;
|
||||
|
5353
public/js/client_create.js
vendored
5353
public/js/client_create.js
vendored
File diff suppressed because it is too large
Load Diff
5353
public/js/client_create.min.js
vendored
5353
public/js/client_create.min.js
vendored
File diff suppressed because it is too large
Load Diff
1184
public/js/client_edit.js
vendored
1184
public/js/client_edit.js
vendored
File diff suppressed because it is too large
Load Diff
1184
public/js/client_edit.min.js
vendored
1184
public/js/client_edit.min.js
vendored
File diff suppressed because it is too large
Load Diff
5446
public/js/client_list.js
vendored
5446
public/js/client_list.js
vendored
File diff suppressed because it is too large
Load Diff
5446
public/js/client_list.min.js
vendored
5446
public/js/client_list.min.js
vendored
File diff suppressed because it is too large
Load Diff
5376
public/js/client_show.js
vendored
5376
public/js/client_show.js
vendored
File diff suppressed because it is too large
Load Diff
5376
public/js/client_show.min.js
vendored
5376
public/js/client_show.min.js
vendored
File diff suppressed because it is too large
Load Diff
2031
public/js/coreui.js
vendored
2031
public/js/coreui.js
vendored
File diff suppressed because it is too large
Load Diff
2031
public/js/coreui.min.js
vendored
2031
public/js/coreui.min.js
vendored
File diff suppressed because it is too large
Load Diff
5353
public/js/localization.js
vendored
5353
public/js/localization.js
vendored
File diff suppressed because it is too large
Load Diff
5353
public/js/localization.min.js
vendored
5353
public/js/localization.min.js
vendored
File diff suppressed because it is too large
Load Diff
@ -1,17 +1,17 @@
|
||||
{
|
||||
"/js/client_list.js": "/js/client_list.js?id=88d90244e855305bcfff",
|
||||
"/js/client_edit.js": "/js/client_edit.js?id=009c9400b6521af01875",
|
||||
"/js/client_show.js": "/js/client_show.js?id=be7307363fb5779cdb24",
|
||||
"/js/client_create.js": "/js/client_create.js?id=ca114ece0bbf0eb79d38",
|
||||
"/js/localization.js": "/js/localization.js?id=85f6f7672f9cf65d9745",
|
||||
"/js/coreui.js": "/js/coreui.js?id=9cfda6dd6df9aaeea844",
|
||||
"/js/client_list.js": "/js/client_list.js?id=99c07efbdd99c2067121",
|
||||
"/js/client_edit.js": "/js/client_edit.js?id=b35ce910e611127e5d22",
|
||||
"/js/client_show.js": "/js/client_show.js?id=a05e2671757098f97e6a",
|
||||
"/js/client_create.js": "/js/client_create.js?id=a171cd9d2fbb0b420e5f",
|
||||
"/js/localization.js": "/js/localization.js?id=a0ce543a4564efbf4cc9",
|
||||
"/js/coreui.js": "/js/coreui.js?id=2b664965e92e45eb2590",
|
||||
"/js/ninja.min.js": "/js/ninja.min.js?id=d41d8cd98f00b204e980",
|
||||
"/js/coreui.min.js": "/js/coreui.min.js?id=9cfda6dd6df9aaeea844",
|
||||
"/js/client_show.min.js": "/js/client_show.min.js?id=be7307363fb5779cdb24",
|
||||
"/js/client_edit.min.js": "/js/client_edit.min.js?id=009c9400b6521af01875",
|
||||
"/js/client_create.min.js": "/js/client_create.min.js?id=ca114ece0bbf0eb79d38",
|
||||
"/js/client_list.min.js": "/js/client_list.min.js?id=88d90244e855305bcfff",
|
||||
"/js/localization.min.js": "/js/localization.min.js?id=85f6f7672f9cf65d9745",
|
||||
"/css/ninja.css": "/css/ninja.css?id=28421bc494c5086ac359",
|
||||
"/css/ninja.min.css": "/css/ninja.min.css?id=28421bc494c5086ac359"
|
||||
"/js/coreui.min.js": "/js/coreui.min.js?id=2b664965e92e45eb2590",
|
||||
"/js/client_show.min.js": "/js/client_show.min.js?id=a05e2671757098f97e6a",
|
||||
"/js/client_edit.min.js": "/js/client_edit.min.js?id=b35ce910e611127e5d22",
|
||||
"/js/client_create.min.js": "/js/client_create.min.js?id=a171cd9d2fbb0b420e5f",
|
||||
"/js/client_list.min.js": "/js/client_list.min.js?id=99c07efbdd99c2067121",
|
||||
"/js/localization.min.js": "/js/localization.min.js?id=a0ce543a4564efbf4cc9",
|
||||
"/css/ninja.css": "/css/ninja.css?id=10820d7178a90f2a12c3",
|
||||
"/css/ninja.min.css": "/css/ninja.min.css?id=10820d7178a90f2a12c3"
|
||||
}
|
||||
|
@ -39,17 +39,17 @@
|
||||
<div style="margin-top:1px; line-height:1.4; color:#939393;">{{ trans('help.client_currency') }}</div>
|
||||
</label>
|
||||
<div class="col-sm-7">
|
||||
<multiselect v-model="settings_currency_id" :options="options_currency" label="name" track-by="id" :placeholder="placeHolderCurrency()" :allow-empty="true"></multiselect>
|
||||
<multiselect v-model="settings.currency_id" :options="options_currency" label="name" track-by="id" :allow-empty="true" @select="currencySettingChange()"></multiselect>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group row client_form d-flex justify-content-center">
|
||||
<div class="form-check form-check-inline">
|
||||
<input class="form-check-input" id="inline-radio1" type="radio" value="1" name="show_currency_symbol" v-model="settings.show_currency_symbol">
|
||||
<label class="form-check-label" for="show_currency_symbol-radio1">{{ trans('texts.currency_symbol') }}:</label>
|
||||
<input class="form-check-input" id="inline-radio1" type="radio" name="symbol" value="1" v-model="settings.show_currency_symbol" @click="setCurrencySymbol()">
|
||||
<label class="form-check-label" for="show_currency_symbol-radio1">{{ trans('texts.currency_symbol') }}: {{ currency_symbol_example }}</label>
|
||||
</div>
|
||||
<div class="form-check form-check-inline">
|
||||
<input class="form-check-input" id="inline-radio2" type="radio" value="1" name="show_currency_code" v-model="settings.show_currency_code">
|
||||
<label class="form-check-label" for="show_currency_code">{{ trans('texts.currency_code') }}:</label>
|
||||
<input class="form-check-input" id="inline-radio2" type="radio" name="code" value="1" v-model="settings.show_currency_code" @click="setCurrencyCode()">
|
||||
<label class="form-check-label" for="show_currency_code">{{ trans('texts.currency_code') }}: {{ currency_code_example }}</label>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group row client_form">
|
||||
@ -58,7 +58,7 @@
|
||||
<div style="margin-top:1px; line-height:1.4; color:#939393;">{{ trans('help.client_language')}}</div>
|
||||
</label>
|
||||
<div class="col-sm-7">
|
||||
<multiselect v-model="settings_language_id" :options="options_language" :placeholder="placeHolderLanguage()" label="name" track-by="id" :allow-empty="true"></multiselect>
|
||||
<multiselect v-model="settings.language_id" :options="options_language" :placeholder="placeHolderLanguage()" label="name" track-by="id" :allow-empty="true"></multiselect>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group row client_form">
|
||||
@ -67,7 +67,7 @@
|
||||
<div style="margin-top:1px; line-height:1.4; color:#939393;">{{ trans('help.client_payment_terms')}}</div>
|
||||
</label>
|
||||
<div class="col-sm-7">
|
||||
<multiselect v-model="settings_payment_terms" :options="options_payment_term" :placeholder="placeHolderPaymentTerm()" label="name" track-by="num_days" :allow-empty="true"></multiselect>
|
||||
<multiselect v-model="settings.payment_terms" :options="options_payment_term" :placeholder="placeHolderPaymentTerm()" label="name" track-by="num_days" :allow-empty="true"></multiselect>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@ -85,7 +85,7 @@
|
||||
<label for="name" class="col-sm-5 col-form-label text-left">{{ trans('texts.send_client_reminders') }}</label>
|
||||
<div class="col-sm-7">
|
||||
<label class="switch switch-label switch-pill switch-info">
|
||||
<input class="switch-input" type="checkbox" checked="" v-model="settings.send_client_reminders">
|
||||
<input class="switch-input" type="checkbox" checked="" v-model="settings.send_reminders">
|
||||
<span class="switch-slider" data-checked="✓" data-unchecked="✕"></span>
|
||||
</label>
|
||||
</div>
|
||||
@ -115,7 +115,7 @@
|
||||
<div style="margin-top:1px; line-height:1.4; color:#939393;">{{ trans('help.client_dashboard')}}</div>
|
||||
</label>
|
||||
<div class="col-sm-7">
|
||||
<textarea class="form-control" id="textarea-input" label="dashboard" v-model="settings.dashboard"rows="9" placeholder=""></textarea>
|
||||
<textarea class="form-control" id="textarea-input" label="dashboard" v-model="settings.custom_message_dashboard"rows="9" :placeholder="placeHolderMessage('custom_message_dashboard')"></textarea>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group row client_form">
|
||||
@ -124,7 +124,7 @@
|
||||
<div style="margin-top:1px; line-height:1.4; color:#939393;">{{ trans('help.client_unpaid_invoice')}}</div>
|
||||
</label>
|
||||
<div class="col-sm-7">
|
||||
<textarea class="form-control" id="textarea-input" label="unpaid_invoice" v-model="settings.unpaid_invoice"rows="9" placeholder=""></textarea>
|
||||
<textarea class="form-control" id="textarea-input" label="unpaid_invoice" v-model="settings.custom_message_unpaid_invoice"rows="9" :placeholder="placeHolderMessage('custom_message_unpaid_invoice')"></textarea>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group row client_form">
|
||||
@ -133,7 +133,7 @@
|
||||
<div style="margin-top:1px; line-height:1.4; color:#939393;">{{trans('help.client_paid_invoice')}}</div>
|
||||
</label>
|
||||
<div class="col-sm-7">
|
||||
<textarea class="form-control" id="textarea-input" label="paid_invoice" v-model="settings.paid_invoice" rows="9" placeholder=""></textarea>
|
||||
<textarea class="form-control" id="textarea-input" label="paid_invoice" v-model="settings.custom_message_paid_invoice" rows="9" :placeholder="placeHolderMessage('custom_message_paid_invoice')"></textarea>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group row client_form">
|
||||
@ -142,7 +142,7 @@
|
||||
<div style="margin-top:1px; line-height:1.4; color:#939393;">{{trans('help.client_unapproved_quote')}}</div>
|
||||
</label>
|
||||
<div class="col-md-7">
|
||||
<textarea class="form-control" id="textarea-input" label="unapproved_quote" v-model="settings.unapproved_quote" rows="9" placeholder=""></textarea>
|
||||
<textarea class="form-control" id="textarea-input" label="unapproved_quote" v-model="settings.custom_message_unapproved_quote" rows="9" :placeholder="placeHolderMessage('custom_message_unapproved_quote')"></textarea>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@ -158,7 +158,7 @@
|
||||
<div class="form-group row client_form">
|
||||
<label for="name" class="col-sm-5 col-form-label text-left">{{ trans('texts.industry') }}</label>
|
||||
<div class="col-sm-7">
|
||||
<multiselect :options="options_industry" :placeholder="placeHolderIndustry()" label="name" track-by="id" v-model="settings.language_id"></multiselect>
|
||||
<multiselect :options="options_industry" :placeholder="placeHolderIndustry()" label="name" track-by="id" v-model="settings.industry_id"></multiselect>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group row client_form">
|
||||
@ -186,12 +186,12 @@
|
||||
|
||||
<script lang="ts">
|
||||
|
||||
import Vue from 'vue';
|
||||
import { Affix } from 'vue-affix';
|
||||
var VueScrollactive = require('vue-scrollactive');
|
||||
|
||||
import Vue from 'vue'
|
||||
import { Affix } from 'vue-affix'
|
||||
var VueScrollactive = require('vue-scrollactive')
|
||||
import NumberFormat from '../../utils/number-format'
|
||||
import Multiselect from 'vue-multiselect'
|
||||
|
||||
import ClientSettings from '../../utils/client-settings'
|
||||
|
||||
Vue.use(VueScrollactive);
|
||||
|
||||
@ -202,115 +202,143 @@ export default {
|
||||
},
|
||||
data () {
|
||||
return {
|
||||
options_currency: Object.keys(this.currencies).map(i => this.currencies[i]),
|
||||
options_language: Object.keys(this.languages).map(i => this.languages[i]),
|
||||
options_payment_term: Object.keys(this.payment_terms).map(i => this.payment_terms[i]),
|
||||
options_industry: Object.keys(this.industries).map(i => this.industries[i]),
|
||||
options_size: this.sizes,
|
||||
settings: this.client_settings
|
||||
options_currency: Object.keys(this.currencies).map(i => this.currencies[i]),
|
||||
options_language: Object.keys(this.languages).map(i => this.languages[i]),
|
||||
options_payment_term: Object.keys(this.payment_terms).map(i => this.payment_terms[i]),
|
||||
options_industry: Object.keys(this.industries).map(i => this.industries[i]),
|
||||
options_size: this.sizes,
|
||||
settings: this.client_settings
|
||||
}
|
||||
},
|
||||
props: ['client_settings', 'currencies', 'languages', 'payment_terms', 'industries', 'sizes', 'company'],
|
||||
mounted() {
|
||||
},
|
||||
|
||||
//console.dir(this.settings)
|
||||
this.updateCurrencyExample()
|
||||
},
|
||||
computed: {
|
||||
settings_currency_id: {
|
||||
set: function(value){
|
||||
|
||||
this.setObjectValue('currency_id', value.id)
|
||||
|
||||
},
|
||||
get: function(){
|
||||
return this.options_currency.filter(obj => {
|
||||
return obj.id == this.settings.currency_id
|
||||
})
|
||||
}
|
||||
},
|
||||
settings_language_id: {
|
||||
set: function(value) {
|
||||
|
||||
this.setObjectValue('language_id', value.id)
|
||||
|
||||
},
|
||||
currency_code_example: {
|
||||
get: function() {
|
||||
return this.options_language.filter(obj => {
|
||||
return obj.id == this.settings.language_id
|
||||
})
|
||||
return this.updateCurrencyExample(false)
|
||||
},
|
||||
set: function() {
|
||||
}
|
||||
},
|
||||
settings_payment_terms: {
|
||||
set: function(value) {
|
||||
|
||||
if(value === null)
|
||||
this.setObjectValue('payment_terms', null)
|
||||
else
|
||||
this.setObjectValue('payment_terms', value.num_days)
|
||||
|
||||
},
|
||||
currency_symbol_example: {
|
||||
get: function() {
|
||||
return this.options_payment_term.filter(obj => {
|
||||
return obj.num_days == this.settings.payment_terms
|
||||
})
|
||||
return this.updateCurrencyExample(true)
|
||||
},
|
||||
set: function() {
|
||||
}
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
onItemChanged(event, currentItem, lastActiveItem) {
|
||||
// your logic
|
||||
},
|
||||
setObjectValue(key, value){
|
||||
setObjectValue(key, value){
|
||||
|
||||
if(value === null)
|
||||
this.settings[key] = null
|
||||
else
|
||||
this.settings[key] = value
|
||||
},
|
||||
placeHolderCurrency(){
|
||||
if(value === null)
|
||||
this.settings[key] = null
|
||||
else
|
||||
this.settings[key] = value
|
||||
|
||||
var currency = this.options_currency.filter(obj => {
|
||||
return obj.id == this.company.settings.currency_id
|
||||
})
|
||||
},
|
||||
placeHolderCurrency(){
|
||||
|
||||
if(currency.length >= 1)
|
||||
return currency[0].name
|
||||
else
|
||||
return Vue.prototype.trans('texts.currency_id')
|
||||
var currency = this.options_currency.find(obj => {
|
||||
return obj.id == this.company.settings_object.currency_id
|
||||
})
|
||||
|
||||
},
|
||||
placeHolderPaymentTerm(){
|
||||
if(currency)
|
||||
return currency.name
|
||||
else
|
||||
return Vue.prototype.trans('texts.currency_id')
|
||||
|
||||
var payment_terms = this.payment_terms.filter(obj => {
|
||||
return obj.num_days == this.company.settings.payment_terms
|
||||
})
|
||||
},
|
||||
placeHolderPaymentTerm(){
|
||||
|
||||
if(payment_terms.length >= 1)
|
||||
return payment_terms[0].name
|
||||
else
|
||||
return Vue.prototype.trans('texts.payment_terms')
|
||||
var payment_terms = this.payment_terms.find(obj => {
|
||||
return obj.num_days == this.company.settings_object.payment_terms
|
||||
})
|
||||
|
||||
},
|
||||
placeHolderIndustry(){
|
||||
if(payment_terms)
|
||||
return payment_terms.name
|
||||
else
|
||||
return Vue.prototype.trans('texts.payment_terms')
|
||||
|
||||
return Vue.prototype.trans('texts.industry_id')
|
||||
},
|
||||
placeHolderIndustry(){
|
||||
|
||||
},
|
||||
placeHolderSize(){
|
||||
return Vue.prototype.trans('texts.industry_id')
|
||||
|
||||
return Vue.prototype.trans('texts.size_id')
|
||||
},
|
||||
placeHolderSize(){
|
||||
|
||||
},
|
||||
placeHolderLanguage(){
|
||||
return Vue.prototype.trans('texts.size_id')
|
||||
|
||||
var language = this.languages.filter(obj => {
|
||||
return obj.id == this.company.settings.language_id
|
||||
})
|
||||
},
|
||||
placeHolderLanguage(){
|
||||
|
||||
if(language.length >= 1)
|
||||
return language[0].name
|
||||
var language = this.languages.find(obj => {
|
||||
return obj.id == this.company.settings_object.language_id
|
||||
})
|
||||
|
||||
if(language)
|
||||
return language.name
|
||||
else
|
||||
return Vue.prototype.trans('texts.language_id')
|
||||
|
||||
}
|
||||
},
|
||||
placeHolderMessage(message_setting : string) {
|
||||
|
||||
if(this.company.settings_object[message_setting] && this.company.settings_object[message_setting].length >=1) {
|
||||
|
||||
return this.company.settings_object[message_setting]
|
||||
|
||||
}
|
||||
|
||||
},
|
||||
setCurrencyCode() {
|
||||
this.settings.show_currency_symbol = false;
|
||||
this.settings.show_currency_code = true;
|
||||
|
||||
this.currencySettingChange()
|
||||
|
||||
},
|
||||
setCurrencySymbol() {
|
||||
|
||||
this.settings.show_currency_symbol = true;
|
||||
this.settings.show_currency_code = false;
|
||||
|
||||
this.currencySettingChange()
|
||||
|
||||
},
|
||||
updateCurrencyExample(currency_symbol) {
|
||||
|
||||
|
||||
var currency = this.options_currency.find(obj => {
|
||||
return obj.id == this.company.settings_object.currency_id
|
||||
})
|
||||
|
||||
var language = this.languages.find(obj => {
|
||||
return obj.id == this.company.settings_object.language_id
|
||||
})
|
||||
|
||||
|
||||
if(this.settings_language_id)
|
||||
language = this.settings_language_id
|
||||
|
||||
if(this.settings_currency_id)
|
||||
currency = this.settings_currency_id
|
||||
|
||||
return new NumberFormat(1000, currency, currency_symbol, language).format()
|
||||
},
|
||||
currencySettingChange() {
|
||||
this.currency_code_example = this.updateCurrencyExample(false)
|
||||
this.currency_symbol_example = this.updateCurrencyExample(true)
|
||||
|
||||
console.dir(this.currency_symbol_example)
|
||||
console.dir(this.currency_code_example)
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
21
resources/js/src/models/client-settings-model.ts
Normal file
21
resources/js/src/models/client-settings-model.ts
Normal file
@ -0,0 +1,21 @@
|
||||
export default class ClientSettings {
|
||||
|
||||
timezone_id:number
|
||||
language_id:number
|
||||
currency_id:number
|
||||
default_task_rate:number
|
||||
send_reminders:boolean
|
||||
show_tasks_in_portal:boolean
|
||||
custom_message_dashboard:string
|
||||
custom_message_unpaid_invoice:string
|
||||
custom_message_paid_invoice:string
|
||||
custom_message_unapproved_quote:string
|
||||
show_currency_symbol:boolean
|
||||
show_currency_code:boolean
|
||||
industry_id:number
|
||||
size_id:number
|
||||
|
||||
constructor(init?:Partial<ClientSettings>) {
|
||||
(<any>Object).assign(this, init);
|
||||
}
|
||||
}
|
129
resources/js/src/utils/client-settings.ts
Normal file
129
resources/js/src/utils/client-settings.ts
Normal file
@ -0,0 +1,129 @@
|
||||
import CSettings from '../models/client-settings-model';
|
||||
|
||||
export default class ClientSettings {
|
||||
|
||||
client_settings:any
|
||||
|
||||
company_settings:any
|
||||
|
||||
settings:any
|
||||
|
||||
languages:any
|
||||
|
||||
currencies:any
|
||||
|
||||
payment_terms:any
|
||||
|
||||
industries:any
|
||||
|
||||
sizes:any
|
||||
|
||||
|
||||
/**
|
||||
* Create a new Client Settings instance.
|
||||
*/
|
||||
constructor(
|
||||
client_settings: any,
|
||||
company_settings: any,
|
||||
languages: any,
|
||||
currencies: any,
|
||||
payment_terms: any,
|
||||
industries: any,
|
||||
sizes: any
|
||||
) {
|
||||
this.client_settings = client_settings
|
||||
this.company_settings = company_settings
|
||||
this.languages = languages
|
||||
this.currencies = currencies
|
||||
this.payment_terms = payment_terms
|
||||
this.industries = industries
|
||||
this.sizes = sizes
|
||||
}
|
||||
|
||||
/**
|
||||
* Build Settings object
|
||||
*/
|
||||
build() {
|
||||
|
||||
this.settings = new CSettings(this.client_settings)
|
||||
if (this.client_settings.currency_id !== null) {
|
||||
|
||||
this.settings.currency_id = this.currencies.find(obj => {
|
||||
return obj.id == this.client_settings.currency_id
|
||||
})
|
||||
|
||||
}
|
||||
|
||||
if(this.client_settings.show_currency_symbol == null)
|
||||
this.settings.show_currency_symbol = this.company_settings.show_currency_symbol
|
||||
|
||||
if(this.client_settings.show_currency_code == null)
|
||||
this.settings.show_currency_code = this.company_settings.show_currency_code
|
||||
|
||||
if (this.client_settings.language_id !== null) {
|
||||
|
||||
this.settings.language_id = this.languages.find(obj => {
|
||||
return obj.id == this.client_settings.language_id
|
||||
})
|
||||
|
||||
}
|
||||
|
||||
if (this.client_settings.payment_terms !== null) {
|
||||
|
||||
this.settings.payment_terms = this.payment_terms.find(obj => {
|
||||
return obj.id == this.client_settings.payment_terms
|
||||
})
|
||||
}
|
||||
|
||||
this.settings.default_task_rate = this.client_settings.default_task_rate ? this.client_settings.default_task_rate : this.company_settings.default_task_rate
|
||||
|
||||
if(this.client_settings.send_reminders)
|
||||
this.settings.send_reminders = this.client_settings.send_reminders
|
||||
else
|
||||
this.settings.send_reminders = this.company_settings.send_reminders
|
||||
|
||||
if(this.client_settings.show_tasks_in_portal)
|
||||
this.settings.show_tasks_in_portal = this.client_settings.show_tasks_in_portal
|
||||
else
|
||||
this.settings.show_tasks_in_portal = this.company_settings.show_tasks_in_portal
|
||||
|
||||
if(this.client_settings.custom_message_dashboard && this.client_settings.custom_message_dashboard.length >=1)
|
||||
this.settings.custom_message_dashboard = this.client_settings.custom_message_dashboard
|
||||
else
|
||||
this.settings.custom_message_dashboard = this.company_settings.custom_message_dashboard
|
||||
|
||||
if(this.client_settings.custom_message_unpaid_invoice && this.client_settings.custom_message_unpaid_invoice.length >=1)
|
||||
this.settings.custom_message_unpaid_invoice = this.client_settings.custom_message_unpaid_invoice
|
||||
else
|
||||
this.settings.custom_message_unpaid_invoice = this.company_settings.custom_message_unpaid_invoice
|
||||
|
||||
if(this.client_settings.custom_message_paid_invoice && this.client_settings.custom_message_paid_invoice.length >=1)
|
||||
this.settings.custom_message_paid_invoice = this.client_settings.custom_message_paid_invoice
|
||||
else
|
||||
this.settings.custom_message_paid_invoice = this.company_settings.custom_message_paid_invoice
|
||||
|
||||
if(this.client_settings.custom_message_unapproved_quote && this.client_settings.custom_message_unapproved_quote.length >=1)
|
||||
this.settings.custom_message_unapproved_quote = this.client_settings.custom_message_unapproved_quote
|
||||
else
|
||||
this.settings.custom_message_unapproved_quote = this.company_settings.custom_message_unapproved_quote
|
||||
|
||||
if (this.client_settings.industry_id !== null) {
|
||||
|
||||
this.settings.industry_id = this.industries.find(obj => {
|
||||
return obj.id == this.client_settings.industry_id
|
||||
})
|
||||
}
|
||||
|
||||
if (this.client_settings.size_id !== null) {
|
||||
|
||||
this.settings.size_id = this.sizes.find(obj => {
|
||||
return obj.id == this.client_settings.size_id
|
||||
})
|
||||
}
|
||||
|
||||
return this.settings
|
||||
}
|
||||
|
||||
|
||||
|
||||
}
|
34
resources/js/src/utils/number-format.ts
Normal file
34
resources/js/src/utils/number-format.ts
Normal file
@ -0,0 +1,34 @@
|
||||
export default class NumberFormat {
|
||||
|
||||
amount:any
|
||||
|
||||
currency:any
|
||||
|
||||
symbol_decorator:boolean
|
||||
|
||||
language:any
|
||||
|
||||
/**
|
||||
* Create a new Number Format instance.
|
||||
*/
|
||||
constructor(amount: any, currency: any, symbol_decorator: boolean, language: any) {
|
||||
this.amount = amount
|
||||
this.currency = currency
|
||||
this.symbol_decorator = symbol_decorator
|
||||
this.language = language
|
||||
}
|
||||
|
||||
format() {
|
||||
this.amount = new Intl.NumberFormat(this.language.locale.replace("_", "-"), {style: 'decimal',currency: this.currency.code} ).format(this.amount)
|
||||
|
||||
if(this.symbol_decorator)
|
||||
this.amount = this.currency.symbol + this.amount
|
||||
else
|
||||
this.amount = this.amount + " " + this.currency.code
|
||||
|
||||
|
||||
return this.amount
|
||||
}
|
||||
|
||||
|
||||
}
|
@ -26,7 +26,7 @@ class BaseSettingsTest extends TestCase
|
||||
{
|
||||
$blank_object = new \stdClass;
|
||||
|
||||
$this->assertEquals(count(get_object_vars($this->migrate($blank_object))), 4);
|
||||
$this->assertEquals(count(get_object_vars($this->migrate($blank_object))), 14);
|
||||
}
|
||||
|
||||
public function testPropertyNamesExist()
|
||||
|
54
tests/Unit/CompareObjectTest.php
Normal file
54
tests/Unit/CompareObjectTest.php
Normal file
@ -0,0 +1,54 @@
|
||||
<?php
|
||||
|
||||
namespace Tests\Unit;
|
||||
|
||||
use App\DataMapper\ClientSettings;
|
||||
use App\DataMapper\CompanySettings;
|
||||
use Tests\TestCase;
|
||||
|
||||
/**
|
||||
* @test
|
||||
* @covers App\DataMapper\ClientSettings
|
||||
*/
|
||||
class CompanyObjectTest extends TestCase
|
||||
{
|
||||
|
||||
public function setUp()
|
||||
{
|
||||
|
||||
parent::setUp();
|
||||
|
||||
$this->client_settings = ClientSettings::defaults();
|
||||
$this->company_settings = CompanySettings::defaults();
|
||||
|
||||
}
|
||||
|
||||
|
||||
public function buildClientSettings()
|
||||
{
|
||||
|
||||
foreach($this->client_settings as $key => $value)
|
||||
{
|
||||
|
||||
if(!isset($this->client_settings->{$key}))
|
||||
$this->client_settings->{$key} = $this->company_settings->{$key};
|
||||
}
|
||||
|
||||
|
||||
return $this->client_settings;
|
||||
}
|
||||
|
||||
|
||||
public function testProperties()
|
||||
{
|
||||
$build_client_settings = $this->buildClientSettings();
|
||||
|
||||
|
||||
$this->assertEquals($build_client_settings->timezone_id, 15);
|
||||
$this->assertEquals($build_client_settings->currency_id, 1);
|
||||
$this->assertEquals($build_client_settings->language_id, 1);
|
||||
$this->assertEquals($build_client_settings->payment_terms, 7);
|
||||
}
|
||||
|
||||
|
||||
}
|
Loading…
x
Reference in New Issue
Block a user