├── .gitignore
├── .phpunit.result.cache
├── .travis.yml
├── LICENSE
├── README.md
├── composer.json
├── phpunit.xml.dist
├── src
├── Config
│ ├── laravel_user_management.php
│ └── permission.php
├── Console
│ └── .gitkeep
├── Contracts
│ └── UserManagementContracts.php
├── Database
│ ├── Migrations
│ │ ├── .gitkeep
│ │ ├── 2019_01_01_111111_create_users_table.php
│ │ ├── 2019_01_01_222222_create_departments_table.php
│ │ ├── 2019_01_01_333333_create_user_department_users_table.php
│ │ ├── 2019_01_01_444444_create_permission_tables.php
│ │ ├── 2019_02_02_555555_create_soft-delete_users_table.php
│ │ └── 2019_10_17_110654_create_password_reset_table.php
│ └── Seeders
│ │ ├── .gitkeep
│ │ ├── Department
│ │ ├── DepartmentTableSeeder.php
│ │ └── MasterDepartmentTableSeeder.php
│ │ ├── Permission
│ │ ├── MasterPermissionTableSeeder.php
│ │ └── PermissionTableSeeder.php
│ │ ├── Role
│ │ ├── MasterRoleTableSeeder.php
│ │ └── RoleTableSeeder.php
│ │ └── UserManagementDatabaseSeeder.php
├── Entities
│ ├── .gitkeep
│ ├── Department.php
│ ├── Permission.php
│ ├── Role.php
│ ├── User.php
│ └── export
│ │ ├── Department.php
│ │ ├── Permission.php
│ │ ├── Role.php
│ │ └── User.php
├── Facade
│ └── UserManagement.php
├── Http
│ ├── Controllers
│ │ ├── .gitkeep
│ │ ├── Admin
│ │ │ ├── DepartmentsController.php
│ │ │ ├── PermissionsController.php
│ │ │ ├── RolesController.php
│ │ │ ├── UsersController.php
│ │ │ └── export
│ │ │ │ ├── DepartmentsController.php
│ │ │ │ ├── PermissionsController.php
│ │ │ │ ├── RolesController.php
│ │ │ │ └── UsersController.php
│ │ └── Auth
│ │ │ ├── AuthController.php
│ │ │ └── export
│ │ │ └── AuthController.php
│ └── Requests
│ │ ├── .gitkeep
│ │ ├── Admin
│ │ ├── StoreDepartment.php
│ │ ├── StorePermission.php
│ │ ├── StoreRole.php
│ │ ├── StoreUser.php
│ │ ├── UpdateDepartment.php
│ │ ├── UpdatePermission.php
│ │ ├── UpdateRole.php
│ │ └── UpdateUser.php
│ │ └── Auth
│ │ ├── UserLogin.php
│ │ └── UserRegistration.php
├── LaravelUserManagementProvider.php
├── Public
│ └── mekaeils-package
│ │ ├── css
│ │ └── style.css
│ │ ├── fonts
│ │ └── Ubuntu
│ │ │ ├── Ubuntu-Bold.eot
│ │ │ ├── Ubuntu-Bold.ttf
│ │ │ ├── Ubuntu-Bold.woff
│ │ │ ├── Ubuntu-Bold.woff2
│ │ │ ├── Ubuntu-Light.eot
│ │ │ ├── Ubuntu-Light.ttf
│ │ │ ├── Ubuntu-Light.woff
│ │ │ ├── Ubuntu-Light.woff2
│ │ │ ├── Ubuntu-Medium.eot
│ │ │ ├── Ubuntu-Medium.ttf
│ │ │ ├── Ubuntu-Medium.woff
│ │ │ ├── Ubuntu-Medium.woff2
│ │ │ ├── Ubuntu-Regular.eot
│ │ │ ├── Ubuntu-Regular.ttf
│ │ │ ├── Ubuntu-Regular.woff
│ │ │ └── Ubuntu-Regular.woff2
│ │ ├── images
│ │ ├── admin-panel.jpg
│ │ ├── create-user.jpg
│ │ ├── login-register.jpg
│ │ ├── logo-notification.jpg
│ │ ├── logo-translation.jpg
│ │ ├── logo-user-management.jpg
│ │ └── vuejs
│ │ │ ├── home.jpg
│ │ │ ├── login.jpg
│ │ │ ├── meterialKit.jpg
│ │ │ └── register.jpg
│ │ ├── js
│ │ ├── dashboard.js
│ │ ├── misc.js
│ │ └── off-canvas.js
│ │ └── vendors
│ │ ├── css
│ │ └── vendor.bundle.base.css
│ │ ├── iconfonts
│ │ └── mdi
│ │ │ ├── README.md
│ │ │ ├── bower.json
│ │ │ ├── css
│ │ │ ├── materialdesignicons.css
│ │ │ ├── materialdesignicons.css.map
│ │ │ ├── materialdesignicons.min.css
│ │ │ └── materialdesignicons.min.css.map
│ │ │ ├── fonts
│ │ │ ├── materialdesignicons-webfont.eot
│ │ │ ├── materialdesignicons-webfont.svg
│ │ │ ├── materialdesignicons-webfont.ttf
│ │ │ ├── materialdesignicons-webfont.woff
│ │ │ └── materialdesignicons-webfont.woff2
│ │ │ ├── license.md
│ │ │ ├── package.json
│ │ │ ├── preview.html
│ │ │ └── scss
│ │ │ ├── _animated.scss
│ │ │ ├── _core.scss
│ │ │ ├── _extras.scss
│ │ │ ├── _functions.scss
│ │ │ ├── _icons.scss
│ │ │ ├── _path.scss
│ │ │ ├── _variables.scss
│ │ │ └── materialdesignicons.scss
│ │ └── js
│ │ ├── vendor.bundle.addons.js
│ │ └── vendor.bundle.base.js
├── Repository
│ ├── Contracts
│ │ ├── BaseRepositoryInterface.php
│ │ ├── DepartmentRepositoryInterface.php
│ │ ├── PermissionRepositoryInterface.php
│ │ ├── RoleRepositoryInterface.php
│ │ └── UserRepositoryInterface.php
│ └── Eloquents
│ │ ├── BaseEloquentRepository.php
│ │ ├── DepartmentRepository.php
│ │ ├── PermissionRepository.php
│ │ ├── RoleRepository.php
│ │ └── UserRepository.php
├── Resource
│ ├── js
│ │ └── mekaeils-package
│ │ │ ├── assets
│ │ │ ├── demo.css
│ │ │ ├── img
│ │ │ │ ├── apple-icon.png
│ │ │ │ ├── bg.jpg
│ │ │ │ ├── bg2.jpg
│ │ │ │ ├── bg3.jpg
│ │ │ │ ├── bg7.jpg
│ │ │ │ ├── city-profile.jpg
│ │ │ │ ├── city.jpg
│ │ │ │ ├── examples
│ │ │ │ │ ├── clem-onojegaw.jpg
│ │ │ │ │ ├── clem-onojeghuo.jpg
│ │ │ │ │ ├── cynthia-del-rio.jpg
│ │ │ │ │ ├── mariya-georgieva.jpg
│ │ │ │ │ ├── olu-eletu.jpg
│ │ │ │ │ ├── studio-1.jpg
│ │ │ │ │ ├── studio-2.jpg
│ │ │ │ │ ├── studio-3.jpg
│ │ │ │ │ ├── studio-4.jpg
│ │ │ │ │ └── studio-5.jpg
│ │ │ │ ├── faces
│ │ │ │ │ ├── avatar.jpg
│ │ │ │ │ ├── camp.jpg
│ │ │ │ │ ├── card-profile1-square.jpg
│ │ │ │ │ ├── card-profile2-square.jpg
│ │ │ │ │ ├── card-profile4-square.jpg
│ │ │ │ │ ├── card-profile5-square.jpg
│ │ │ │ │ ├── card-profile6-square.jpg
│ │ │ │ │ ├── christian.jpg
│ │ │ │ │ ├── kendall.jpg
│ │ │ │ │ └── marc.jpg
│ │ │ │ ├── landing.jpg
│ │ │ │ ├── leaf1.png
│ │ │ │ ├── leaf2.png
│ │ │ │ ├── leaf3.png
│ │ │ │ ├── leaf4.png
│ │ │ │ ├── nature-2.jpg
│ │ │ │ ├── nature-3.jpg
│ │ │ │ ├── nature.jpg
│ │ │ │ ├── profile.jpg
│ │ │ │ ├── profile_city.jpg
│ │ │ │ └── vue-mk-header.jpg
│ │ │ └── scss
│ │ │ │ ├── material-kit.scss
│ │ │ │ └── material-kit
│ │ │ │ ├── _alerts.scss
│ │ │ │ ├── _autocomplete.scss
│ │ │ │ ├── _badges.scss
│ │ │ │ ├── _buttons.scss
│ │ │ │ ├── _cards.scss
│ │ │ │ ├── _carousel.scss
│ │ │ │ ├── _checkboxes.scss
│ │ │ │ ├── _colors.scss
│ │ │ │ ├── _datepicker.scss
│ │ │ │ ├── _dialogs.scss
│ │ │ │ ├── _dropdown.scss
│ │ │ │ ├── _example-pages.scss
│ │ │ │ ├── _footers.scss
│ │ │ │ ├── _headers.scss
│ │ │ │ ├── _images.scss
│ │ │ │ ├── _info-areas.scss
│ │ │ │ ├── _inputs.scss
│ │ │ │ ├── _layout.scss
│ │ │ │ ├── _misc.scss
│ │ │ │ ├── _mixins.scss
│ │ │ │ ├── _navbars.scss
│ │ │ │ ├── _pagination.scss
│ │ │ │ ├── _pills.scss
│ │ │ │ ├── _popups.scss
│ │ │ │ ├── _progress.scss
│ │ │ │ ├── _radios.scss
│ │ │ │ ├── _responsive.scss
│ │ │ │ ├── _shadows.scss
│ │ │ │ ├── _tables.scss
│ │ │ │ ├── _tabs.scss
│ │ │ │ ├── _togglebutton.scss
│ │ │ │ ├── _typography.scss
│ │ │ │ ├── _variables.scss
│ │ │ │ ├── mixins
│ │ │ │ ├── _transparency.scss
│ │ │ │ └── _vendor-prefixes.scss
│ │ │ │ └── plugins
│ │ │ │ ├── _perfect-scrollbar.scss
│ │ │ │ └── _plugin-nouislider.scss
│ │ │ ├── layout
│ │ │ ├── MainFooter.vue
│ │ │ ├── MainNavbar.vue
│ │ │ └── MobileMenu.vue
│ │ │ ├── main.js
│ │ │ ├── plugins
│ │ │ ├── globalComponents.js
│ │ │ ├── globalDirectives.js
│ │ │ ├── globalMixins.js
│ │ │ └── material-kit.js
│ │ │ ├── router.js
│ │ │ └── views
│ │ │ ├── App.vue
│ │ │ ├── Index.vue
│ │ │ ├── Landing.vue
│ │ │ ├── Login.vue
│ │ │ ├── Profile.vue
│ │ │ ├── Register.vue
│ │ │ └── components
│ │ │ ├── BasicElementsSection.vue
│ │ │ ├── JavascriptComponentsSection.vue
│ │ │ ├── LaravelUserManagement.vue
│ │ │ ├── NavPillsSection.vue
│ │ │ ├── NavigationSection.vue
│ │ │ ├── NotificationsSection.vue
│ │ │ ├── SmallNavigationSection.vue
│ │ │ ├── TabsSection.vue
│ │ │ ├── TypographyImagesSection.vue
│ │ │ └── Widgets
│ │ │ ├── Badge.vue
│ │ │ ├── Dropdown.vue
│ │ │ ├── Modal.vue
│ │ │ ├── Pagination.vue
│ │ │ ├── Parallax.vue
│ │ │ ├── Tabs.vue
│ │ │ ├── cards
│ │ │ ├── LoginCard.vue
│ │ │ └── NavTabsCard.vue
│ │ │ └── index.js
│ ├── lang
│ │ └── en
│ │ │ └── trans.php
│ └── views
│ │ ├── mekaeils-package
│ │ ├── layouts
│ │ │ ├── alert.blade.php
│ │ │ ├── breadcrumb.blade.php
│ │ │ ├── footer.blade.php
│ │ │ ├── header.blade.php
│ │ │ ├── side-nav.blade.php
│ │ │ └── top-nav.blade.php
│ │ ├── master.blade.php
│ │ └── vue
│ │ │ └── master.blade.php
│ │ └── user-management
│ │ ├── auth
│ │ ├── layouts
│ │ │ ├── footer.blade.php
│ │ │ └── header.blade.php
│ │ ├── login.blade.php
│ │ ├── master.blade.php
│ │ └── register.blade.php
│ │ ├── department
│ │ ├── create.blade.php
│ │ ├── edit.blade.php
│ │ └── index.blade.php
│ │ ├── master.blade.php
│ │ ├── permission
│ │ ├── create.blade.php
│ │ ├── edit.blade.php
│ │ └── index.blade.php
│ │ ├── role
│ │ ├── create.blade.php
│ │ ├── edit.blade.php
│ │ └── index.blade.php
│ │ ├── side-nav.blade.php
│ │ └── user
│ │ ├── create.blade.php
│ │ ├── edit.blade.php
│ │ └── index.blade.php
├── Routes
│ └── user_management.php
├── Tests
│ └── .gitkeep
└── UserManagement.php
└── tests
├── SampleTest.php
└── bootstrap.php
/.gitignore:
--------------------------------------------------------------------------------
1 | vendor/
2 | node_modules/
3 | npm-debug.log
4 |
5 | # Laravel 4 specific
6 | bootstrap/compiled.php
7 | app/storage/
8 |
9 | # Laravel 5 & Lumen specific
10 | public/storage
11 | public/hot
12 | storage/*.key
13 | .env.*.php
14 | .env.php
15 | .env
16 | Homestead.yaml
17 | Homestead.json
18 |
19 | # Rocketeer PHP task runner and deployment package. https://github.com/rocketeers/rocketeer
20 | .rocketeer/
21 | composer.lock
22 | .DS_Store
23 | .idea
--------------------------------------------------------------------------------
/.phpunit.result.cache:
--------------------------------------------------------------------------------
1 | C:37:"PHPUnit\Runner\DefaultTestResultCache":116:{a:2:{s:7:"defects";a:0:{}s:5:"times";a:1:{s:56:"Mekaeil\LaravelUserManagement\Test\sampleTest::testHello";d:0.007;}}}
--------------------------------------------------------------------------------
/.travis.yml:
--------------------------------------------------------------------------------
1 | language: php
2 |
3 | sudo: false
4 |
5 | matrix:
6 | include:
7 | - php: 7.2
8 | env: LARAVEL_VERSION=5.5.*
9 | - php: 7.3
10 | env: LARAVEL_VERSION=5.5.*
11 |
12 | - php: 7.2
13 | env: LARAVEL_VERSION=5.6.*
14 | - php: 7.3
15 | env: LARAVEL_VERSION=5.6.*
16 |
17 | - php: 7.2
18 | env: LARAVEL_VERSION=5.7.*
19 | - php: 7.3
20 | env: LARAVEL_VERSION=5.7.*
21 |
22 | - php: 7.2
23 | env: LARAVEL_VERSION=5.8.*
24 | - php: 7.3
25 | env: LARAVEL_VERSION=5.8.*
26 |
27 | - php: 7.2
28 | env: LARAVEL_VERSION=6.*
29 | - php: 7.3
30 | env: LARAVEL_VERSION=6.*
31 |
32 | before_install:
33 | - if [[ $TRAVIS_PHP_VERSION =~ ^hhvm ]]; then echo 'hhvm.jit = false' >> /etc/hhvm/php.ini ; fi
34 | - composer self-update --stable -n
35 | - composer require "laravel/framework:${LARAVEL_VERSION}" --no-update -n
36 |
37 | install:
38 | - travis_retry composer install --no-suggest --prefer-dist -n -o
39 |
40 | script:
41 | - vendor/bin/phpunit --coverage-clover build/logs/clover.xml;
42 |
43 | after_script:
44 | - wget https://scrutinizer-ci.com/ocular.phar;
45 | - php ocular.phar code-coverage:upload --format=php-clover build/logs/clover.xml;
46 | - bash <(curl -s https://codecov.io/bash)
47 | © 2019 GitHub, Inc.
--------------------------------------------------------------------------------
/LICENSE:
--------------------------------------------------------------------------------
1 | MIT License
2 |
3 | Copyright (c) 2019 Mekaeil
4 |
5 | Permission is hereby granted, free of charge, to any person obtaining a copy
6 | of this software and associated documentation files (the "Software"), to deal
7 | in the Software without restriction, including without limitation the rights
8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9 | copies of the Software, and to permit persons to whom the Software is
10 | furnished to do so, subject to the following conditions:
11 |
12 | The above copyright notice and this permission notice shall be included in all
13 | copies or substantial portions of the Software.
14 |
15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21 | SOFTWARE.
22 |
--------------------------------------------------------------------------------
/composer.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "mekaeil/laravel-user-management",
3 | "description": "With this package we can manage all of the users in our project.",
4 | "type": "package",
5 | "homepage": "https://mekaeil.me",
6 | "keywords": [
7 | "Project",
8 | "laravel",
9 | "User Management",
10 | "Spatie",
11 | "laravel permission"
12 | ],
13 | "require": {
14 | "php": "^7.2.5|^8",
15 | "laravel/framework": "^5.5|^6.0|^7.0|^8.0|^9.0|^10.0",
16 | "spatie/laravel-permission": "^2.37|^3.0|^4.0|^5.0|^6.0"
17 | },
18 | "require-dev": {
19 | "phpunit/phpunit": "^7.5|^8.0|^9.0|^10.0|^11.0",
20 | "mockery/mockery": "^1.0"
21 | },
22 | "suggest": {
23 | "LaraPanel Framework": "Use the new version and refactored version here: https://github.com/weprodev/LaraPanel-Framework",
24 | "LaraPanel package": "Use the new version and refactored version here: https://github.com/weprodev/LaraPanel"
25 | },
26 | "license": "MIT",
27 | "authors": [
28 | {
29 | "name": "mekaeil",
30 | "email": "maikel1370@gmail.com"
31 | }
32 | ],
33 | "autoload": {
34 | "psr-4": {
35 | "Mekaeil\\LaravelUserManagement\\": "src"
36 | }
37 | },
38 | "autoload-dev": {
39 | "psr-4": {
40 | "Mekaeil\\LaravelUserManagement\\Test\\": "tests"
41 | }
42 | },
43 | "scripts": {
44 | "test": "phpunit"
45 | },
46 | "extra": {
47 | "laravel": {
48 | "providers": [
49 | "Mekaeil\\LaravelUserManagement\\LaravelUserManagementProvider"
50 | ]
51 | }
52 | }
53 | }
54 |
--------------------------------------------------------------------------------
/phpunit.xml.dist:
--------------------------------------------------------------------------------
1 |
2 |
13 |
14 |
15 | ./tests
16 |
17 |
18 |
19 |
20 | ./src
21 |
22 | ./src/
23 |
24 |
25 |
26 |
27 |
28 |
32 |
33 |
--------------------------------------------------------------------------------
/src/Config/laravel_user_management.php:
--------------------------------------------------------------------------------
1 | 'users',
14 | // laravel_user_management.user_department_table
15 | 'user_department_table' => 'user_departments',
16 |
17 | /**
18 | * THIS TABLE IS NAME OF THE MANY TO MANY RELATIONAL TABLE
19 | * BETWEEN USERS TABLE & USER DEPARTMENTS TABLE
20 | * **/
21 | // laravel_user_management.user_department_user_table
22 | 'user_department_user_table' => 'user_departments_users',
23 |
24 | // laravel_user_management.password_resets_table
25 | 'password_resets_table' => 'user_password_resets',
26 |
27 |
28 | // laravel_user_management.user_model
29 | 'user_model' => App\Entities\User::class,
30 |
31 | // laravel_user_management.row_list_per_page
32 | 'row_list_per_page' => 15,
33 |
34 | // laravel_user_management.admin_url
35 | 'admin_url' => env('APP_URL').'/admin',
36 |
37 | // laravel_user_management.logo_url
38 | 'logo_url' => env('APP_URL'). "/mekaeils-package/images/logo-user-management.jpg",
39 |
40 | 'auth' => [
41 |
42 | // laravel_user_management.auth.enable
43 | 'enable' => true,
44 |
45 | // laravel_user_management.auth.login_url
46 | 'login_url' => 'user/login',
47 |
48 | // laravel_user_management.auth.register_url
49 | 'register_url' => 'user/register',
50 |
51 | // laravel_user_management.auth.logout_url
52 | 'logout_url' => 'user/logout',
53 |
54 | // laravel_user_management.auth.username
55 | 'username' => 'email', // email OR mobile
56 |
57 | /**
58 | * DEFAULT ROLE FOR USERS WANT TO REGISTER ON WEBSITE
59 | * YOU SHOULD DEFINE THIS ROLE IN SEEDER OR CREATE IT IN ADMIN PANEL
60 | * **/
61 | // laravel_user_management.auth.user_default_role
62 | 'user_default_role' => 'User',
63 |
64 | /**
65 | * DEFAULT STATUS FOR USERS WANT TO REGISTER ON WEBSITE
66 | * IF IT'S SET ON 'PENDING' USER CAN NOT LOGIN IN WEBSITE
67 | * AND NEED TO ACCEPT BY ADMINISTRATOR
68 | * **/
69 | // laravel_user_management.auth.default_user_status
70 | 'default_user_status' =>'accepted', /// 'pending','accepted','blocked'
71 |
72 | // laravel_user_management.auth.dashboard_route_name_user_redirection
73 | 'dashboard_route_name_user_redirection' => 'home' /// ** ROUTE NAME **
74 | ],
75 |
76 | /**
77 | * IN THIS PACKAGE WE USE THE VUE.JS FOR PAGES IF YOU
78 | * WANT TO USE IT, ENABLE IT AND FOLLOW INSTALLATION STEPS IN README FILE.
79 | * **/
80 | // laravel_user_management.vue_theme
81 | 'vue_theme' => false, // true, false | default: false
82 |
83 | ];
--------------------------------------------------------------------------------
/src/Console/.gitkeep:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/MichaelAndish/LaravelUserManagement/9ae2558523a10a8a0a5ef6ec4a56d4f4d70d7bc7/src/Console/.gitkeep
--------------------------------------------------------------------------------
/src/Contracts/UserManagementContracts.php:
--------------------------------------------------------------------------------
1 | increments('id');
19 | $table->string('first_name');
20 | $table->string('last_name');
21 | $table->string('email')->nullable()->unique();
22 | $table->string('mobile')->nullable()->unique();
23 | $table->string('password');
24 | $table->enum('status',['pending','accepted','blocked'])->default('pending');
25 | $table->boolean('email_verified')->default(false);
26 | $table->boolean('mobile_verified')->default(false);
27 | $table->rememberToken();
28 | $table->timestamps();
29 | });
30 |
31 | }
32 |
33 | /**
34 | * Reverse the migrations.
35 | *
36 | * @return void
37 | */
38 | public function down()
39 | {
40 | $table = config("laravel_user_management.users_table");
41 | Schema::dropIfExists('users');
42 | }
43 |
44 | private function createTable(array $data)
45 | {
46 | foreach($data as $item)
47 | {
48 |
49 |
50 | }
51 | }
52 | }
53 |
--------------------------------------------------------------------------------
/src/Database/Migrations/2019_01_01_222222_create_departments_table.php:
--------------------------------------------------------------------------------
1 | increments('id');
20 | $table->string('title')->unique();
21 | $table->unsignedInteger('parent_id')->nullable();
22 | $table->timestamps();
23 |
24 | $table->foreign('parent_id')
25 | ->references('id')
26 | ->on($table)
27 | ->onUpdate('CASCADE')
28 | ->onDelete('CASCADE');
29 |
30 |
31 | });
32 | }
33 |
34 | /**
35 | * Reverse the migrations.
36 | *
37 | * @return void
38 | */
39 | public function down()
40 | {
41 | $table = config("laravel_user_management.user_department_table");
42 | Schema::dropIfExists($table);
43 | }
44 | }
45 |
--------------------------------------------------------------------------------
/src/Database/Migrations/2019_01_01_333333_create_user_department_users_table.php:
--------------------------------------------------------------------------------
1 | unsignedInteger('user_id');
23 | $table->unsignedInteger('department_id');
24 |
25 | $table->foreign('department_id')
26 | ->references('id')
27 | ->on($departments_table)
28 | ->onUpdate('CASCADE')
29 | ->onDelete('CASCADE');
30 |
31 | $table->foreign('user_id')
32 | ->references('id')
33 | ->on($users_table)
34 | ->onUpdate('CASCADE')
35 | ->onDelete('CASCADE');
36 | });
37 | }
38 |
39 | /**
40 | * Reverse the migrations.
41 | *
42 | * @return void
43 | */
44 | public function down()
45 | {
46 | $table = config("laravel_user_management.user_department_user_table");
47 | Schema::dropIfExists($table);
48 | }
49 | }
50 |
--------------------------------------------------------------------------------
/src/Database/Migrations/2019_02_02_555555_create_soft-delete_users_table.php:
--------------------------------------------------------------------------------
1 | softDeletes();
20 | $table->dropColumn('status');
21 | });
22 |
23 | Schema::table($table, function (Blueprint $table) {
24 | $table->enum('status',['pending','accepted','blocked','deleted'])->default('pending');
25 | });
26 | }
27 |
28 | /**
29 | * Reverse the migrations.
30 | *
31 | * @return void
32 | */
33 | public function down()
34 | {
35 | $table = config("laravel_user_management.users_table");
36 |
37 | Schema::table($table, function (Blueprint $table) {
38 | $table->dropColumn('deleted_at');
39 | $table->dropColumn('status');
40 | });
41 |
42 | Schema::table($table, function (Blueprint $table) {
43 | $table->enum('status',['pending','accepted','blocked'])->default('pending');
44 | });
45 | }
46 | }
47 |
--------------------------------------------------------------------------------
/src/Database/Migrations/2019_10_17_110654_create_password_reset_table.php:
--------------------------------------------------------------------------------
1 | string('email')->index();
20 | $table->string('token');
21 | $table->timestamp('created_at')->nullable();
22 | });
23 | }
24 |
25 | /**
26 | * Reverse the migrations.
27 | *
28 | * @return void
29 | */
30 | public function down()
31 | {
32 | $table = config("laravel_user_management.password_resets_table");
33 |
34 | Schema::dropIfExists($table);
35 | }
36 |
37 | }
38 |
--------------------------------------------------------------------------------
/src/Database/Seeders/.gitkeep:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/MichaelAndish/LaravelUserManagement/9ae2558523a10a8a0a5ef6ec4a56d4f4d70d7bc7/src/Database/Seeders/.gitkeep
--------------------------------------------------------------------------------
/src/Database/Seeders/Department/DepartmentTableSeeder.php:
--------------------------------------------------------------------------------
1 | "Clients",
10 | 'parent' => '',
11 | ],
12 |
13 | ];
14 |
15 |
16 | }
17 |
--------------------------------------------------------------------------------
/src/Database/Seeders/Department/MasterDepartmentTableSeeder.php:
--------------------------------------------------------------------------------
1 | departmentRepository = $repository;
17 | }
18 |
19 | protected function getDepartments()
20 | {
21 | return $this->departments;
22 | }
23 |
24 | /**
25 | * Run the database seeds.
26 | *
27 | * @return void
28 | */
29 | public function run()
30 | {
31 | Model::unguard();
32 |
33 | $this->command->info('=============================================================');
34 | $this->command->info(' USER MODULE: INSERT DEPARTMENTS DATA');
35 | $this->command->info('=============================================================');
36 | $this->command->info("\n");
37 |
38 | foreach ($this->getDepartments() as $item)
39 | {
40 | $parent = null;
41 | if($item['parent'] != null)
42 | {
43 | $parent = $this->departmentRepository->findBy([
44 | 'title' => $item['title'],
45 | ])->id;
46 | }
47 |
48 | $findDepartment = $this->departmentRepository->findBy([
49 | 'title' => $item['title'],
50 | 'parent_id' => $parent
51 | ]);
52 |
53 | if ($findDepartment)
54 | {
55 | $this->command->info('THIS DEPARTMENT << ' . $item['title'] . '] >> EXISTED! UPDATING DATA ...');
56 |
57 | $this->departmentRepository->update($findDepartment->id,[
58 | 'title' => $item['title'],
59 | 'parent_id' => $parent,
60 | ]);
61 |
62 | continue;
63 | }
64 |
65 | $this->command->info('CREATING THIS DEPARTMENT <<' . $item['title'] . '] >> ...');
66 |
67 | $this->departmentRepository->store([
68 | 'title' => $item['title'],
69 | 'parent_id' => $parent,
70 | ]);
71 |
72 | }
73 |
74 | $this->command->info("\n");
75 | $this->command->info('=============================================================');
76 | $this->command->info(' INSERTING DEPARTMENTS DATA FINALIZED!');
77 | $this->command->info('=============================================================');
78 | $this->command->info("\n");
79 |
80 | }
81 |
82 | }
83 |
--------------------------------------------------------------------------------
/src/Database/Seeders/Permission/PermissionTableSeeder.php:
--------------------------------------------------------------------------------
1 | 'admin.manager',
10 | 'title' => 'Admin Panel',
11 | 'guard_name' => 'web',
12 | 'description' => 'This permission is for access to admin panel.',
13 | 'module' => 'User',
14 | 'roles' => [
15 | 'Admin',
16 | ],
17 | ],
18 | ];
19 |
20 |
21 | }
22 |
--------------------------------------------------------------------------------
/src/Database/Seeders/Role/MasterRoleTableSeeder.php:
--------------------------------------------------------------------------------
1 | roleRepository = $repository;
17 | }
18 |
19 | protected function getRoles()
20 | {
21 | return $this->roles;
22 | }
23 |
24 | /**
25 | * Run the database seeds.
26 | *
27 | * @return void
28 | */
29 | public function run()
30 | {
31 | Model::unguard();
32 |
33 | $this->command->info('=============================================================');
34 | $this->command->info(' USER MODULE: INSERT ROLES DATA');
35 | $this->command->info('=============================================================');
36 | $this->command->info("\n");
37 |
38 | foreach ($this->getRoles() as $role)
39 | {
40 | $findRole = $this->roleRepository->findBy([
41 | 'name' => $role['name'],
42 | 'guard_name' => $role['guard_name']
43 | ]);
44 |
45 | if ($findRole)
46 | {
47 | $this->command->info('THIS ROLE << ' . $role['name'] .'['. $role['guard_name'] . '] >> EXISTED! UPDATING DATA ...');
48 |
49 | $this->roleRepository->update($findRole->id,[
50 | 'name' => $role['name'],
51 | 'title' => $role['title'],
52 | 'guard_name' => $role['guard_name'],
53 | 'description' => isset($role['description']) ? $role['description'] : null,
54 | ]);
55 |
56 | continue;
57 | }
58 |
59 | $this->command->info('CREATING THIS ROLE <<' . $role['name'] .'['. $role['guard_name'] . '] >> ...');
60 |
61 | $this->roleRepository->store([
62 | 'name' => $role['name'],
63 | 'title' => $role['title'],
64 | 'guard_name' => $role['guard_name'],
65 | 'description' => isset($role['description']) ? $role['description'] : null,
66 | ]);
67 |
68 | }
69 |
70 | $this->command->info("\n");
71 | $this->command->info('=============================================================');
72 | $this->command->info(' INSERTING ROLES FINALIZED!');
73 | $this->command->info('=============================================================');
74 | $this->command->info("\n");
75 |
76 | }
77 |
78 | }
79 |
--------------------------------------------------------------------------------
/src/Database/Seeders/Role/RoleTableSeeder.php:
--------------------------------------------------------------------------------
1 | "Admin",
9 | 'title' => "Administrator",
10 | 'guard_name' => "web",
11 | 'description' => "This role will assign to Administrator",
12 | ],
13 | [
14 | 'name' => "User",
15 | 'title' => "User",
16 | 'guard_name' => "web",
17 | 'description' => "This role will assign to user.",
18 | ],
19 |
20 | ];
21 |
22 |
23 | }
24 |
--------------------------------------------------------------------------------
/src/Database/Seeders/UserManagementDatabaseSeeder.php:
--------------------------------------------------------------------------------
1 | setTable(config("laravel_user_management.user_department_table"));
14 | }
15 |
16 | protected $fillable = [
17 | 'title',
18 | 'parent_id',
19 | ];
20 |
21 | public function user()
22 | {
23 | return $this->hasMany(User::class);
24 | }
25 |
26 | public function parent()
27 | {
28 | return $this->hasOne(Department::class, 'parent_id', 'id');
29 | }
30 |
31 | public function children()
32 | {
33 | return $this->belongsTo(Department::class,'parent_id','id');
34 | }
35 |
36 | public function users()
37 | {
38 | $table = config("laravel_user_management.user_department_user_table");
39 |
40 | return $this->belongsToMany(
41 | User::class,
42 | $table,
43 | 'department_id',
44 | 'user_id'
45 | );
46 | }
47 |
48 | }
49 |
--------------------------------------------------------------------------------
/src/Entities/Permission.php:
--------------------------------------------------------------------------------
1 | attributes['password'] = bcrypt($password);
34 | }
35 |
36 | public function __construct(array $attributes = [])
37 | {
38 | parent::__construct($attributes);
39 |
40 | $this->setTable(config("laravel_user_management.users_table"));
41 | }
42 |
43 | public function departments()
44 | {
45 | $table = config("laravel_user_management.user_department_user_table");
46 |
47 | return $this->belongsToMany(
48 | Department::class,
49 | $table,
50 | 'user_id',
51 | 'department_id'
52 | );
53 | }
54 |
55 | }
--------------------------------------------------------------------------------
/src/Entities/export/Department.php:
--------------------------------------------------------------------------------
1 | attributes['password'] = bcrypt($password);
26 | // }
27 |
28 | }
--------------------------------------------------------------------------------
/src/Facade/UserManagement.php:
--------------------------------------------------------------------------------
1 | userRepository = $user;
24 | $this->roleRepository = $role;
25 | }
26 |
27 | public function loginForm()
28 | {
29 | return view('user-management.auth.login');
30 | }
31 |
32 | public function registerForm()
33 | {
34 | return view('user-management.auth.register');
35 | }
36 |
37 | public function login(UserLogin $request)
38 | {
39 |
40 | $username = config('laravel_user_management.auth.username');
41 | $credentials = [$username => $request->{$username}, 'password' => $request->password, 'status' => 'accepted'];
42 |
43 | if (\Auth::attempt($credentials))
44 | {
45 | $user = \Auth::user();
46 | return redirect()->intended('/');
47 | }
48 |
49 | $user = $this->userRepository->findBy(["$username" => $request->{$username}]);
50 | if($user && $user->status != 'accepted')
51 | {
52 | return redirect()->back()->with('message',[
53 | 'type' => 'danger',
54 | 'text' => trans('trans.your_account_does_not_activated')
55 | ]);
56 | }
57 |
58 | return redirect()->back()->with('message',[
59 | 'type' => 'danger',
60 | 'text' => trans('trans.username_or_password_wrong')
61 | ]);
62 |
63 | }
64 |
65 | public function register(UserRegistration $request)
66 | {
67 | $userDefaultRole = $this->roleRepository->findBy([
68 | 'name' => config('laravel_user_management.auth.user_default_role')
69 | ]);
70 |
71 | if (!$userDefaultRole)
72 | {
73 | return redirect()->back()->with('message',[
74 | 'type' => 'danger',
75 | 'text' => trans('trans.default_role_does_not_exist'),
76 | ]);
77 | }
78 |
79 | //// FOR ACTIVE ACCOUNT BASE PROJECT CONFIG ONE OF THE FIELDS [MOBILE, EMAIL] SHOULD BE REQUIRED
80 | $user = $this->userRepository->store([
81 | 'first_name' => $request->first_name,
82 | 'last_name' => $request->last_name,
83 | 'email' => $request->email,
84 | 'password' => $request->password,
85 | 'mobile' => $request->mobile,
86 | 'status' => config('laravel_user_management.auth.default_user_status'),
87 | ]);
88 |
89 | /// ASSIGN DEFAULT ROLE TO USER
90 | $this->roleRepository->setRoleToMember($user, $userDefaultRole);
91 |
92 | \Auth::login($user);
93 |
94 | return redirect()->route(config('laravel_user_management.auth.dashboard_route_name_user_redirection'))
95 | ->with('message',[
96 | 'type' => 'success',
97 | 'text' => trans('trans.account_created_successfully')
98 | ]);
99 |
100 | }
101 |
102 | public function logout(Request $request)
103 | {
104 | Auth::logout();
105 | return redirect('/');
106 | }
107 |
108 |
109 | }
110 |
--------------------------------------------------------------------------------
/src/Http/Controllers/Auth/export/AuthController.php:
--------------------------------------------------------------------------------
1 | "required|unique:$table,title",
29 | 'parent_id' => "nullable|numeric|exists:$table,id"
30 | ];
31 | }
32 | }
33 |
--------------------------------------------------------------------------------
/src/Http/Requests/Admin/StorePermission.php:
--------------------------------------------------------------------------------
1 | 'required|unique:'. $tableNames['permissions'],
30 | 'title' => 'required|string',
31 | 'module' => 'nullable',
32 | 'guard_name' => 'nullable',
33 | 'description' => 'nullable',
34 | ];
35 | }
36 | }
37 |
--------------------------------------------------------------------------------
/src/Http/Requests/Admin/StoreRole.php:
--------------------------------------------------------------------------------
1 | "required|unique:".$tableNames['roles'].",name",
30 | 'title' => 'required|string',
31 | 'guard_name' => 'nullable',
32 | 'description' => 'nullable',
33 | 'permissions' => 'nullable|array',
34 | 'permissions.*' => 'nullable|exists:'. $tableNames['permissions']. ',name',
35 | ];
36 | }
37 | }
38 |
--------------------------------------------------------------------------------
/src/Http/Requests/Admin/StoreUser.php:
--------------------------------------------------------------------------------
1 | 'required|string',
32 | 'last_name' => 'required|string',
33 | 'email' => "nullable|email|unique:$userTable,email",
34 | 'mobile' => "required|unique:$userTable,mobile",
35 | 'password' => 'required|min:6',
36 | 'roles' => 'nullable|array',
37 | 'roles.*' => 'nullable|exists:'. $tableNames['roles']. ',name',
38 | 'departments' => 'nullable|array',
39 | 'departments.*' => "nullable|exists:$departmentTable,id",
40 | ];
41 | }
42 | }
43 |
--------------------------------------------------------------------------------
/src/Http/Requests/Admin/UpdateDepartment.php:
--------------------------------------------------------------------------------
1 | "required|unique:$table,title,". $this->ID,
29 | 'parent_id' => "nullable|numeric|exists:$table,id"
30 | ];
31 | }
32 | }
33 |
--------------------------------------------------------------------------------
/src/Http/Requests/Admin/UpdatePermission.php:
--------------------------------------------------------------------------------
1 | 'required|unique:'. $tableNames['permissions'] .',name,' . $this->ID,
30 | 'title' => 'required|string',
31 | 'module' => 'nullable',
32 | 'guard_name' => 'nullable',
33 | 'description' => 'nullable',
34 | ];
35 | }
36 | }
37 |
--------------------------------------------------------------------------------
/src/Http/Requests/Admin/UpdateRole.php:
--------------------------------------------------------------------------------
1 | "required|unique:".$tableNames['roles'].",name," . $this->ID,
30 | 'title' => 'required|string',
31 | 'guard_name' => 'nullable',
32 | 'description' => 'nullable',
33 | 'permissions' => 'nullable|array',
34 | 'permissions.*' => 'nullable|exists:'. $tableNames['permissions']. ',name',
35 | ];
36 | }
37 | }
38 |
--------------------------------------------------------------------------------
/src/Http/Requests/Admin/UpdateUser.php:
--------------------------------------------------------------------------------
1 | 'required|string',
32 | 'last_name' => 'required|string',
33 | 'email' => "nullable|email|unique:$userTable,email," . $this->ID,
34 | 'mobile' => "required|unique:$userTable,mobile," . $this->ID,
35 | 'password' => 'nullable|min:6',
36 | 'roles' => 'nullable|array',
37 | 'roles.*' => 'nullable|exists:'. $tableNames['roles']. ',name',
38 | 'departments' => 'nullable|array',
39 | 'departments.*' => "nullable|exists:$departmentTable,id",
40 | ];
41 | }
42 | }
43 |
--------------------------------------------------------------------------------
/src/Http/Requests/Auth/UserLogin.php:
--------------------------------------------------------------------------------
1 | "required" . ($username == 'mobile' ? '|numeric' : '|email'),
30 | 'password' => 'required',
31 | ];
32 | }
33 | }
34 |
--------------------------------------------------------------------------------
/src/Http/Requests/Auth/UserRegistration.php:
--------------------------------------------------------------------------------
1 | 'required|string',
31 | 'last_name' => 'required|string',
32 | "$username" => "required" . ($username == 'mobile' ? "|unique:$userTable,mobile" : "|email|unique:$userTable,email"),
33 | 'password' => 'required|confirmed|min:6',
34 | ];
35 | }
36 | }
37 |
--------------------------------------------------------------------------------
/src/Public/mekaeils-package/fonts/Ubuntu/Ubuntu-Bold.eot:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/MichaelAndish/LaravelUserManagement/9ae2558523a10a8a0a5ef6ec4a56d4f4d70d7bc7/src/Public/mekaeils-package/fonts/Ubuntu/Ubuntu-Bold.eot
--------------------------------------------------------------------------------
/src/Public/mekaeils-package/fonts/Ubuntu/Ubuntu-Bold.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/MichaelAndish/LaravelUserManagement/9ae2558523a10a8a0a5ef6ec4a56d4f4d70d7bc7/src/Public/mekaeils-package/fonts/Ubuntu/Ubuntu-Bold.ttf
--------------------------------------------------------------------------------
/src/Public/mekaeils-package/fonts/Ubuntu/Ubuntu-Bold.woff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/MichaelAndish/LaravelUserManagement/9ae2558523a10a8a0a5ef6ec4a56d4f4d70d7bc7/src/Public/mekaeils-package/fonts/Ubuntu/Ubuntu-Bold.woff
--------------------------------------------------------------------------------
/src/Public/mekaeils-package/fonts/Ubuntu/Ubuntu-Bold.woff2:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/MichaelAndish/LaravelUserManagement/9ae2558523a10a8a0a5ef6ec4a56d4f4d70d7bc7/src/Public/mekaeils-package/fonts/Ubuntu/Ubuntu-Bold.woff2
--------------------------------------------------------------------------------
/src/Public/mekaeils-package/fonts/Ubuntu/Ubuntu-Light.eot:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/MichaelAndish/LaravelUserManagement/9ae2558523a10a8a0a5ef6ec4a56d4f4d70d7bc7/src/Public/mekaeils-package/fonts/Ubuntu/Ubuntu-Light.eot
--------------------------------------------------------------------------------
/src/Public/mekaeils-package/fonts/Ubuntu/Ubuntu-Light.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/MichaelAndish/LaravelUserManagement/9ae2558523a10a8a0a5ef6ec4a56d4f4d70d7bc7/src/Public/mekaeils-package/fonts/Ubuntu/Ubuntu-Light.ttf
--------------------------------------------------------------------------------
/src/Public/mekaeils-package/fonts/Ubuntu/Ubuntu-Light.woff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/MichaelAndish/LaravelUserManagement/9ae2558523a10a8a0a5ef6ec4a56d4f4d70d7bc7/src/Public/mekaeils-package/fonts/Ubuntu/Ubuntu-Light.woff
--------------------------------------------------------------------------------
/src/Public/mekaeils-package/fonts/Ubuntu/Ubuntu-Light.woff2:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/MichaelAndish/LaravelUserManagement/9ae2558523a10a8a0a5ef6ec4a56d4f4d70d7bc7/src/Public/mekaeils-package/fonts/Ubuntu/Ubuntu-Light.woff2
--------------------------------------------------------------------------------
/src/Public/mekaeils-package/fonts/Ubuntu/Ubuntu-Medium.eot:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/MichaelAndish/LaravelUserManagement/9ae2558523a10a8a0a5ef6ec4a56d4f4d70d7bc7/src/Public/mekaeils-package/fonts/Ubuntu/Ubuntu-Medium.eot
--------------------------------------------------------------------------------
/src/Public/mekaeils-package/fonts/Ubuntu/Ubuntu-Medium.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/MichaelAndish/LaravelUserManagement/9ae2558523a10a8a0a5ef6ec4a56d4f4d70d7bc7/src/Public/mekaeils-package/fonts/Ubuntu/Ubuntu-Medium.ttf
--------------------------------------------------------------------------------
/src/Public/mekaeils-package/fonts/Ubuntu/Ubuntu-Medium.woff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/MichaelAndish/LaravelUserManagement/9ae2558523a10a8a0a5ef6ec4a56d4f4d70d7bc7/src/Public/mekaeils-package/fonts/Ubuntu/Ubuntu-Medium.woff
--------------------------------------------------------------------------------
/src/Public/mekaeils-package/fonts/Ubuntu/Ubuntu-Medium.woff2:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/MichaelAndish/LaravelUserManagement/9ae2558523a10a8a0a5ef6ec4a56d4f4d70d7bc7/src/Public/mekaeils-package/fonts/Ubuntu/Ubuntu-Medium.woff2
--------------------------------------------------------------------------------
/src/Public/mekaeils-package/fonts/Ubuntu/Ubuntu-Regular.eot:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/MichaelAndish/LaravelUserManagement/9ae2558523a10a8a0a5ef6ec4a56d4f4d70d7bc7/src/Public/mekaeils-package/fonts/Ubuntu/Ubuntu-Regular.eot
--------------------------------------------------------------------------------
/src/Public/mekaeils-package/fonts/Ubuntu/Ubuntu-Regular.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/MichaelAndish/LaravelUserManagement/9ae2558523a10a8a0a5ef6ec4a56d4f4d70d7bc7/src/Public/mekaeils-package/fonts/Ubuntu/Ubuntu-Regular.ttf
--------------------------------------------------------------------------------
/src/Public/mekaeils-package/fonts/Ubuntu/Ubuntu-Regular.woff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/MichaelAndish/LaravelUserManagement/9ae2558523a10a8a0a5ef6ec4a56d4f4d70d7bc7/src/Public/mekaeils-package/fonts/Ubuntu/Ubuntu-Regular.woff
--------------------------------------------------------------------------------
/src/Public/mekaeils-package/fonts/Ubuntu/Ubuntu-Regular.woff2:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/MichaelAndish/LaravelUserManagement/9ae2558523a10a8a0a5ef6ec4a56d4f4d70d7bc7/src/Public/mekaeils-package/fonts/Ubuntu/Ubuntu-Regular.woff2
--------------------------------------------------------------------------------
/src/Public/mekaeils-package/images/admin-panel.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/MichaelAndish/LaravelUserManagement/9ae2558523a10a8a0a5ef6ec4a56d4f4d70d7bc7/src/Public/mekaeils-package/images/admin-panel.jpg
--------------------------------------------------------------------------------
/src/Public/mekaeils-package/images/create-user.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/MichaelAndish/LaravelUserManagement/9ae2558523a10a8a0a5ef6ec4a56d4f4d70d7bc7/src/Public/mekaeils-package/images/create-user.jpg
--------------------------------------------------------------------------------
/src/Public/mekaeils-package/images/login-register.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/MichaelAndish/LaravelUserManagement/9ae2558523a10a8a0a5ef6ec4a56d4f4d70d7bc7/src/Public/mekaeils-package/images/login-register.jpg
--------------------------------------------------------------------------------
/src/Public/mekaeils-package/images/logo-notification.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/MichaelAndish/LaravelUserManagement/9ae2558523a10a8a0a5ef6ec4a56d4f4d70d7bc7/src/Public/mekaeils-package/images/logo-notification.jpg
--------------------------------------------------------------------------------
/src/Public/mekaeils-package/images/logo-translation.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/MichaelAndish/LaravelUserManagement/9ae2558523a10a8a0a5ef6ec4a56d4f4d70d7bc7/src/Public/mekaeils-package/images/logo-translation.jpg
--------------------------------------------------------------------------------
/src/Public/mekaeils-package/images/logo-user-management.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/MichaelAndish/LaravelUserManagement/9ae2558523a10a8a0a5ef6ec4a56d4f4d70d7bc7/src/Public/mekaeils-package/images/logo-user-management.jpg
--------------------------------------------------------------------------------
/src/Public/mekaeils-package/images/vuejs/home.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/MichaelAndish/LaravelUserManagement/9ae2558523a10a8a0a5ef6ec4a56d4f4d70d7bc7/src/Public/mekaeils-package/images/vuejs/home.jpg
--------------------------------------------------------------------------------
/src/Public/mekaeils-package/images/vuejs/login.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/MichaelAndish/LaravelUserManagement/9ae2558523a10a8a0a5ef6ec4a56d4f4d70d7bc7/src/Public/mekaeils-package/images/vuejs/login.jpg
--------------------------------------------------------------------------------
/src/Public/mekaeils-package/images/vuejs/meterialKit.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/MichaelAndish/LaravelUserManagement/9ae2558523a10a8a0a5ef6ec4a56d4f4d70d7bc7/src/Public/mekaeils-package/images/vuejs/meterialKit.jpg
--------------------------------------------------------------------------------
/src/Public/mekaeils-package/images/vuejs/register.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/MichaelAndish/LaravelUserManagement/9ae2558523a10a8a0a5ef6ec4a56d4f4d70d7bc7/src/Public/mekaeils-package/images/vuejs/register.jpg
--------------------------------------------------------------------------------
/src/Public/mekaeils-package/js/misc.js:
--------------------------------------------------------------------------------
1 | (function($) {
2 | 'use strict';
3 | $(function() {
4 | var body = $('body');
5 | var contentWrapper = $('.content-wrapper');
6 | var scroller = $('.container-scroller');
7 | var footer = $('.footer');
8 | var sidebar = $('.sidebar');
9 |
10 | //Add active class to nav-link based on url dynamically
11 | //Active class can be hard coded directly in html file also as required
12 | var current = location.pathname.split("/").slice(-1)[0].replace(/^\/|\/$/g, '');
13 | $('.nav li a', sidebar).each(function() {
14 | var $this = $(this);
15 | if (current === "") {
16 | //for root url
17 | if ($this.attr('href').indexOf("index.html") !== -1) {
18 | $(this).parents('.nav-item').last().addClass('active');
19 | if ($(this).parents('.sub-menu').length) {
20 | $(this).closest('.collapse').addClass('show');
21 | $(this).addClass('active');
22 | }
23 | }
24 | } else {
25 | //for other url
26 | if ($this.attr('href').indexOf(current) !== -1) {
27 | $(this).parents('.nav-item').last().addClass('active');
28 | if ($(this).parents('.sub-menu').length) {
29 | $(this).closest('.collapse').addClass('show');
30 | $(this).addClass('active');
31 | }
32 | }
33 | }
34 | })
35 |
36 | //Close other submenu in sidebar on opening any
37 |
38 | sidebar.on('show.bs.collapse', '.collapse', function() {
39 | sidebar.find('.collapse.show').collapse('hide');
40 | });
41 |
42 |
43 | //Change sidebar and content-wrapper height
44 | applyStyles();
45 |
46 | function applyStyles() {
47 | //Applying perfect scrollbar
48 | if (!body.hasClass("rtl")) {
49 | if ($('.tab-content .tab-pane.scroll-wrapper').length) {
50 | const settingsPanelScroll = new PerfectScrollbar('.settings-panel .tab-content .tab-pane.scroll-wrapper');
51 | }
52 | if ($('.chats').length) {
53 | const chatsScroll = new PerfectScrollbar('.chats');
54 | }
55 | }
56 | }
57 |
58 | //checkbox and radios
59 | $(".form-check label,.form-radio label").append(' ');
60 |
61 | //fullscreen
62 | $("#fullscreen-button").on("click", function toggleFullScreen() {
63 | if ((document.fullScreenElement !== undefined && document.fullScreenElement === null) || (document.msFullscreenElement !== undefined && document.msFullscreenElement === null) || (document.mozFullScreen !== undefined && !document.mozFullScreen) || (document.webkitIsFullScreen !== undefined && !document.webkitIsFullScreen)) {
64 | if (document.documentElement.requestFullScreen) {
65 | document.documentElement.requestFullScreen();
66 | } else if (document.documentElement.mozRequestFullScreen) {
67 | document.documentElement.mozRequestFullScreen();
68 | } else if (document.documentElement.webkitRequestFullScreen) {
69 | document.documentElement.webkitRequestFullScreen(Element.ALLOW_KEYBOARD_INPUT);
70 | } else if (document.documentElement.msRequestFullscreen) {
71 | document.documentElement.msRequestFullscreen();
72 | }
73 | } else {
74 | if (document.cancelFullScreen) {
75 | document.cancelFullScreen();
76 | } else if (document.mozCancelFullScreen) {
77 | document.mozCancelFullScreen();
78 | } else if (document.webkitCancelFullScreen) {
79 | document.webkitCancelFullScreen();
80 | } else if (document.msExitFullscreen) {
81 | document.msExitFullscreen();
82 | }
83 | }
84 | })
85 | });
86 | })(jQuery);
--------------------------------------------------------------------------------
/src/Public/mekaeils-package/js/off-canvas.js:
--------------------------------------------------------------------------------
1 | (function($) {
2 | 'use strict';
3 | $(function() {
4 | $('[data-toggle="offcanvas"]').on("click", function() {
5 | $('.sidebar-offcanvas').toggleClass('active')
6 | });
7 | });
8 | })(jQuery);
--------------------------------------------------------------------------------
/src/Public/mekaeils-package/vendors/css/vendor.bundle.base.css:
--------------------------------------------------------------------------------
1 | /*
2 | * Container style
3 | */
4 | .ps {
5 | overflow: hidden !important;
6 | overflow-anchor: none;
7 | -ms-overflow-style: none;
8 | touch-action: auto;
9 | -ms-touch-action: auto;
10 | }
11 |
12 | /*
13 | * Scrollbar rail styles
14 | */
15 | .ps__rail-x {
16 | display: none;
17 | opacity: 0;
18 | transition: background-color .2s linear, opacity .2s linear;
19 | -webkit-transition: background-color .2s linear, opacity .2s linear;
20 | height: 15px;
21 | /* there must be 'bottom' or 'top' for ps__rail-x */
22 | bottom: 0px;
23 | /* please don't change 'position' */
24 | position: absolute;
25 | }
26 |
27 | .ps__rail-y {
28 | display: none;
29 | opacity: 0;
30 | transition: background-color .2s linear, opacity .2s linear;
31 | -webkit-transition: background-color .2s linear, opacity .2s linear;
32 | width: 15px;
33 | /* there must be 'right' or 'left' for ps__rail-y */
34 | right: 0;
35 | /* please don't change 'position' */
36 | position: absolute;
37 | }
38 |
39 | .ps--active-x > .ps__rail-x,
40 | .ps--active-y > .ps__rail-y {
41 | display: block;
42 | background-color: transparent;
43 | }
44 |
45 | .ps:hover > .ps__rail-x,
46 | .ps:hover > .ps__rail-y,
47 | .ps--focus > .ps__rail-x,
48 | .ps--focus > .ps__rail-y,
49 | .ps--scrolling-x > .ps__rail-x,
50 | .ps--scrolling-y > .ps__rail-y {
51 | opacity: 0.6;
52 | }
53 |
54 | .ps__rail-x:hover,
55 | .ps__rail-y:hover,
56 | .ps__rail-x:focus,
57 | .ps__rail-y:focus {
58 | background-color: #eee;
59 | opacity: 0.9;
60 | }
61 |
62 | /*
63 | * Scrollbar thumb styles
64 | */
65 | .ps__thumb-x {
66 | background-color: #aaa;
67 | border-radius: 6px;
68 | transition: background-color .2s linear, height .2s ease-in-out;
69 | -webkit-transition: background-color .2s linear, height .2s ease-in-out;
70 | height: 6px;
71 | /* there must be 'bottom' for ps__thumb-x */
72 | bottom: 2px;
73 | /* please don't change 'position' */
74 | position: absolute;
75 | }
76 |
77 | .ps__thumb-y {
78 | background-color: #aaa;
79 | border-radius: 6px;
80 | transition: background-color .2s linear, width .2s ease-in-out;
81 | -webkit-transition: background-color .2s linear, width .2s ease-in-out;
82 | width: 6px;
83 | /* there must be 'right' for ps__thumb-y */
84 | right: 2px;
85 | /* please don't change 'position' */
86 | position: absolute;
87 | }
88 |
89 | .ps__rail-x:hover > .ps__thumb-x,
90 | .ps__rail-x:focus > .ps__thumb-x {
91 | background-color: #999;
92 | height: 11px;
93 | }
94 |
95 | .ps__rail-y:hover > .ps__thumb-y,
96 | .ps__rail-y:focus > .ps__thumb-y {
97 | background-color: #999;
98 | width: 11px;
99 | }
100 |
101 | /* MS supports */
102 | @supports (-ms-overflow-style: none) {
103 | .ps {
104 | overflow: auto !important;
105 | }
106 | }
107 |
108 | @media screen and (-ms-high-contrast: active), (-ms-high-contrast: none) {
109 | .ps {
110 | overflow: auto !important;
111 | }
112 | }
113 |
--------------------------------------------------------------------------------
/src/Public/mekaeils-package/vendors/iconfonts/mdi/README.md:
--------------------------------------------------------------------------------
1 | # MaterialDesign-Webfont
2 | NPM/Bower Dist for Material Design Webfont. This includes the Stock and Community icons in a single webfont collection.
3 |
4 | ## Learn More
5 |
6 | https://github.com/Templarian/MaterialDesign
7 |
--------------------------------------------------------------------------------
/src/Public/mekaeils-package/vendors/iconfonts/mdi/bower.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "mdi",
3 | "version": "2.1.19",
4 | "main": [
5 | "scss/materialdesignicons.scss"
6 | ],
7 | "homepage": "http://materialdesignicons.com",
8 | "authors": [
9 | { "name": "Austin Andrews", "homepage": "http://templarian.com" },
10 | { "name": "Google", "homepage": "http://www.google.com/design" }
11 | ],
12 | "license": ["OFL-1.1", "MIT"],
13 | "ignore": [
14 | "*.md",
15 | "*.json"
16 | ],
17 | "keywords": [
18 | "material",
19 | "design",
20 | "icons",
21 | "webfont"
22 | ]
23 | }
24 |
--------------------------------------------------------------------------------
/src/Public/mekaeils-package/vendors/iconfonts/mdi/fonts/materialdesignicons-webfont.eot:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/MichaelAndish/LaravelUserManagement/9ae2558523a10a8a0a5ef6ec4a56d4f4d70d7bc7/src/Public/mekaeils-package/vendors/iconfonts/mdi/fonts/materialdesignicons-webfont.eot
--------------------------------------------------------------------------------
/src/Public/mekaeils-package/vendors/iconfonts/mdi/fonts/materialdesignicons-webfont.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/MichaelAndish/LaravelUserManagement/9ae2558523a10a8a0a5ef6ec4a56d4f4d70d7bc7/src/Public/mekaeils-package/vendors/iconfonts/mdi/fonts/materialdesignicons-webfont.ttf
--------------------------------------------------------------------------------
/src/Public/mekaeils-package/vendors/iconfonts/mdi/fonts/materialdesignicons-webfont.woff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/MichaelAndish/LaravelUserManagement/9ae2558523a10a8a0a5ef6ec4a56d4f4d70d7bc7/src/Public/mekaeils-package/vendors/iconfonts/mdi/fonts/materialdesignicons-webfont.woff
--------------------------------------------------------------------------------
/src/Public/mekaeils-package/vendors/iconfonts/mdi/fonts/materialdesignicons-webfont.woff2:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/MichaelAndish/LaravelUserManagement/9ae2558523a10a8a0a5ef6ec4a56d4f4d70d7bc7/src/Public/mekaeils-package/vendors/iconfonts/mdi/fonts/materialdesignicons-webfont.woff2
--------------------------------------------------------------------------------
/src/Public/mekaeils-package/vendors/iconfonts/mdi/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "_args": [
3 | [
4 | "mdi@2.1.19",
5 | "/Users/linsa/project/purple_free"
6 | ]
7 | ],
8 | "_from": "mdi@2.1.19",
9 | "_id": "mdi@2.1.19",
10 | "_inBundle": false,
11 | "_integrity": "sha512-WErwab4jq/jcCeo4aecQ5UH1WXu2Eto5Rdb0AiBFcUw8CHmF/UeV+hf9wKyH17X+c3Z+jaS3jDKW7fu0R0HmWQ==",
12 | "_location": "/mdi",
13 | "_phantomChildren": {},
14 | "_requested": {
15 | "type": "version",
16 | "registry": true,
17 | "raw": "mdi@2.1.19",
18 | "name": "mdi",
19 | "escapedName": "mdi",
20 | "rawSpec": "2.1.19",
21 | "saveSpec": null,
22 | "fetchSpec": "2.1.19"
23 | },
24 | "_requiredBy": [
25 | "/"
26 | ],
27 | "_resolved": "https://registry.npmjs.org/mdi/-/mdi-2.1.19.tgz",
28 | "_spec": "2.1.19",
29 | "_where": "/Users/linsa/project/purple_free",
30 | "author": {
31 | "name": "Austin Andrews",
32 | "url": "http://twitter.com/templarian"
33 | },
34 | "bugs": {
35 | "url": "https://github.com/Templarian/MaterialDesign/issues"
36 | },
37 | "description": "Dist for Material Design Webfont. This includes the Stock and Community icons in a single webfont collection.",
38 | "homepage": "http://materialdesignicons.com",
39 | "keywords": [
40 | "material",
41 | "design",
42 | "icons",
43 | "webfont"
44 | ],
45 | "licenses": [
46 | {
47 | "type": "OFL-1.1",
48 | "url": "http://scripts.sil.org/OFL"
49 | },
50 | {
51 | "type": "MIT",
52 | "url": "http://opensource.org/licenses/mit-license.html"
53 | }
54 | ],
55 | "main": "preview.html",
56 | "name": "mdi",
57 | "repository": {
58 | "type": "git",
59 | "url": "git+https://github.com/Templarian/MaterialDesign-Webfont.git"
60 | },
61 | "scripts": {
62 | "test": "echo \"Error: no test specified\" && exit 1"
63 | },
64 | "style": "css/materialdesignicons.css",
65 | "version": "2.1.19"
66 | }
67 |
--------------------------------------------------------------------------------
/src/Public/mekaeils-package/vendors/iconfonts/mdi/scss/_animated.scss:
--------------------------------------------------------------------------------
1 | // From Font Awesome
2 | .#{$mdi-css-prefix}-spin:before {
3 | -webkit-animation: #{$mdi-css-prefix}-spin 2s infinite linear;
4 | animation: #{$mdi-css-prefix}-spin 2s infinite linear;
5 | }
6 |
7 | @-webkit-keyframes #{$mdi-css-prefix}-spin {
8 | 0% {
9 | -webkit-transform: rotate(0deg);
10 | transform: rotate(0deg);
11 | }
12 | 100% {
13 | -webkit-transform: rotate(359deg);
14 | transform: rotate(359deg);
15 | }
16 | }
17 |
18 | @keyframes #{$mdi-css-prefix}-spin {
19 | 0% {
20 | -webkit-transform: rotate(0deg);
21 | transform: rotate(0deg);
22 | }
23 | 100% {
24 | -webkit-transform: rotate(359deg);
25 | transform: rotate(359deg);
26 | }
27 | }
--------------------------------------------------------------------------------
/src/Public/mekaeils-package/vendors/iconfonts/mdi/scss/_core.scss:
--------------------------------------------------------------------------------
1 | .#{$mdi-css-prefix}:before,
2 | .#{$mdi-css-prefix}-set {
3 | display: inline-block;
4 | font: normal normal normal #{$mdi-font-size-base}/1 '#{$mdi-font-name}'; // shortening font declaration
5 | font-size: inherit; // can't have font-size inherit on line above, so need to override
6 | text-rendering: auto; // optimizelegibility throws things off #1094
7 | line-height: inherit;
8 | -webkit-font-smoothing: antialiased;
9 | -moz-osx-font-smoothing: grayscale;
10 | }
--------------------------------------------------------------------------------
/src/Public/mekaeils-package/vendors/iconfonts/mdi/scss/_extras.scss:
--------------------------------------------------------------------------------
1 | $sizes: 18 24 36 48;
2 | @each $size in $sizes {
3 | .#{$mdi-css-prefix}-#{$size}px {
4 | &.#{$mdi-css-prefix}-set,
5 | &.#{$mdi-css-prefix}:before {
6 | font-size: $size * 1px;
7 | }
8 | }
9 | }
10 |
11 | .#{$mdi-css-prefix}-dark {
12 | &:before {
13 | color: rgba(0, 0, 0, 0.54);
14 | }
15 | &.mdi-inactive:before {
16 | color: rgba(0, 0, 0, 0.26);
17 | }
18 | }
19 | .#{$mdi-css-prefix}-light {
20 | &:before {
21 | color: rgba(255, 255, 255, 1);
22 | }
23 | &.mdi-inactive:before {
24 | color: rgba(255, 255, 255, 0.3);
25 | }
26 | }
27 |
28 | $degrees: 45 90 135 180 225 270 315;
29 | @each $degree in $degrees {
30 | .#{$mdi-css-prefix}-rotate-#{$degree}{
31 | &:before {
32 | -webkit-transform: rotate(#{$degree}deg);
33 | -ms-transform: rotate(#{$degree}deg);
34 | transform: rotate(#{$degree}deg);
35 | }
36 | /*
37 | // Not included in production
38 | &.#{$mdi-css-prefix}-flip-h:before {
39 | -webkit-transform: scaleX(-1) rotate(#{$degree}deg);
40 | transform: scaleX(-1) rotate(#{$degree}deg);
41 | filter: FlipH;
42 | -ms-filter: "FlipH";
43 | }
44 | &.#{$mdi-css-prefix}-flip-v:before {
45 | -webkit-transform: scaleY(-1) rotate(#{$degree}deg);
46 | -ms-transform: rotate(#{$degree}deg);
47 | transform: scaleY(-1) rotate(#{$degree}deg);
48 | filter: FlipV;
49 | -ms-filter: "FlipV";
50 | }
51 | */
52 | }
53 | }
54 | .#{$mdi-css-prefix}-flip-h:before {
55 | -webkit-transform: scaleX(-1);
56 | transform: scaleX(-1);
57 | filter: FlipH;
58 | -ms-filter: "FlipH";
59 | }
60 | .#{$mdi-css-prefix}-flip-v:before {
61 | -webkit-transform: scaleY(-1);
62 | transform: scaleY(-1);
63 | filter: FlipV;
64 | -ms-filter: "FlipV";
65 | }
--------------------------------------------------------------------------------
/src/Public/mekaeils-package/vendors/iconfonts/mdi/scss/_functions.scss:
--------------------------------------------------------------------------------
1 | @function char($character-code) {
2 | @if function-exists("selector-append") {
3 | @return unquote("\"\\#{$character-code}\"");
4 | }
5 |
6 | @if "\\#{'x'}" == "\\x" {
7 | @return str-slice("\x", 1, 1) + $character-code;
8 | }
9 | @else {
10 | @return #{"\"\\"}#{$character-code + "\""};
11 | }
12 | }
13 |
14 | @function mdi($name) {
15 | @if map-has-key($mdi-icons, $name) == false {
16 | @warn "Icon #{$name} not found.";
17 | @return "";
18 | }
19 | @return char(map-get($mdi-icons, $name));
20 | }
--------------------------------------------------------------------------------
/src/Public/mekaeils-package/vendors/iconfonts/mdi/scss/_icons.scss:
--------------------------------------------------------------------------------
1 | @each $key, $value in $mdi-icons {
2 | .#{$mdi-css-prefix}-#{$key}:before {
3 | content: char($value);
4 | }
5 | }
6 |
7 | .#{$mdi-css-prefix}-blank:before {
8 | content: "\F68C";
9 | visibility: hidden;
10 | }
--------------------------------------------------------------------------------
/src/Public/mekaeils-package/vendors/iconfonts/mdi/scss/_path.scss:
--------------------------------------------------------------------------------
1 | @font-face {
2 | font-family: '#{$mdi-font-name}';
3 | src: url('#{$mdi-font-path}/#{$mdi-filename}-webfont.eot?v=#{$mdi-version}');
4 | src: url('#{$mdi-font-path}/#{$mdi-filename}-webfont.eot?#iefix&v=#{$mdi-version}') format('embedded-opentype'),
5 | url('#{$mdi-font-path}/#{$mdi-filename}-webfont.woff2?v=#{$mdi-version}') format('woff2'),
6 | url('#{$mdi-font-path}/#{$mdi-filename}-webfont.woff?v=#{$mdi-version}') format('woff'),
7 | url('#{$mdi-font-path}/#{$mdi-filename}-webfont.ttf?v=#{$mdi-version}') format('truetype'),
8 | url('#{$mdi-font-path}/#{$mdi-filename}-webfont.svg?v=#{$mdi-version}##{$mdi-filename}#{$mdi-font-weight}') format('svg');
9 | font-weight: normal;
10 | font-style: normal;
11 | }
12 |
--------------------------------------------------------------------------------
/src/Public/mekaeils-package/vendors/iconfonts/mdi/scss/materialdesignicons.scss:
--------------------------------------------------------------------------------
1 | /* MaterialDesignIcons.com */
2 | @import "variables";
3 | @import "functions";
4 | @import "path";
5 | @import "core";
6 | @import "icons";
7 | @import "extras";
8 | @import "animated";
--------------------------------------------------------------------------------
/src/Repository/Contracts/BaseRepositoryInterface.php:
--------------------------------------------------------------------------------
1 | model::query();
14 |
15 | if (!empty($relations))
16 | {
17 | $query->with($relations);
18 | }
19 |
20 | if (!empty($columns))
21 | {
22 | return $query->get($columns);
23 | }
24 |
25 | if(! empty($pluck))
26 | {
27 | return $query->get()->{$pluck['method']}($pluck['first'],$pluck['second'])->toArray();
28 | }
29 |
30 | return $query->get();
31 | }
32 |
33 | public function find(int $ID, array $columns = null)
34 | {
35 | return $this->model::find($ID);
36 | }
37 |
38 | public function store(array $item)
39 | {
40 | return $this->model::create($item);
41 | }
42 |
43 | public function update(int $ID, array $data)
44 | {
45 | $item = $this->find($ID);
46 |
47 | if ($item)
48 | {
49 | return $item->update($data);
50 | }
51 |
52 | return null;
53 | }
54 |
55 | public function delete(int $ID)
56 | {
57 | if (intval($ID) > 0)
58 | {
59 | return $this->model::destroy($ID);
60 | }
61 |
62 | return null;
63 | }
64 |
65 | public function findBy(array $criteria, array $columns = [], bool $single = true)
66 | {
67 | $query = $this->model::query();
68 |
69 | foreach ($criteria as $key => $item)
70 | {
71 | $query->where($key, $item);
72 | }
73 |
74 | $method = $single ? 'first' : 'get';
75 |
76 | return empty($columns) ? $query->{$method}() : $query->{$method}($columns);
77 | }
78 |
79 | public function updateBy(array $criteria, array $data)
80 | {
81 | $query = $this->model::query();
82 |
83 | foreach ($criteria as $key => $value)
84 | {
85 | $query->where($key, $value);
86 | }
87 |
88 | return $query->update($data);
89 | }
90 |
91 | public function paginate($perPage = null, $columns = ['*'], $pageName = 'page', $page = null)
92 | {
93 | $query = $this->model::query();
94 | return $query->paginate($perPage, $columns, $pageName, $page);
95 | }
96 |
97 | }
98 |
--------------------------------------------------------------------------------
/src/Repository/Eloquents/DepartmentRepository.php:
--------------------------------------------------------------------------------
1 | departments()->sync($departments, true);
16 | }
17 |
18 | public function attachDepartment($owner, array $departments=[])
19 | {
20 | return $owner->departments()->attach($departments);
21 | }
22 |
23 |
24 | }
--------------------------------------------------------------------------------
/src/Repository/Eloquents/PermissionRepository.php:
--------------------------------------------------------------------------------
1 | roleModel::query();
17 | $role = $query->find($roleID);
18 |
19 | if ($give)
20 | {
21 | return $role->givePermissionTo($permission);
22 | }
23 |
24 | return $role->revokePermissionTo($permission);
25 | }
26 |
27 | public function SyncPermToRole(int $roleID, array $permissions)
28 | {
29 | $query = $this->roleModel::query();
30 | $role = $query->find($roleID);
31 |
32 | return $role->syncPermissions($permissions);
33 | }
34 |
35 | public function getPermissionsModule()
36 | {
37 | $query = $this->model::query();
38 | return array_keys(collect($query->get())->keyBy('module')->toArray());
39 | }
40 |
41 |
42 | }
--------------------------------------------------------------------------------
/src/Repository/Eloquents/RoleRepository.php:
--------------------------------------------------------------------------------
1 | syncRoles($roles);
16 | }
17 |
18 | public function setRoleToMember($owner, $role, $assign = true)
19 | {
20 | if ($assign)
21 | {
22 | return $owner->assignRole($role);
23 | }
24 |
25 | return $owner->removeRole($role);
26 | }
27 |
28 | public function getAllRolePermissions(Role $role, $method = 'get')
29 | {
30 | if ($method == 'pluck'){
31 | return $role->getAllPermissions()->pluck('id','id')->toArray();
32 | }
33 |
34 | return $role->getAllPermissions();
35 | }
36 |
37 | }
--------------------------------------------------------------------------------
/src/Repository/Eloquents/UserRepository.php:
--------------------------------------------------------------------------------
1 | model::query();
16 |
17 | return $query->when($roleRequest, function ($q) use($roleRequest){
18 |
19 | $q->whereHas('roles', function ($q) use ($roleRequest) {
20 | $q->where('name', $roleRequest->name);
21 | });
22 |
23 | })
24 | ->orderBy('created_at','DESC')
25 | ->paginate();
26 |
27 | }
28 |
29 | public function allWithTrashed()
30 | {
31 | $query = $this->model::query();
32 |
33 | return $query->withTrashed()
34 | ->orderBy('created_at','DESC')
35 | ->paginate();
36 | }
37 |
38 | public function restoreUser(int $ID)
39 | {
40 | $query = $this->model::query();
41 |
42 | return $query->withTrashed()->where('id', $ID)->restore();
43 | }
44 |
45 |
46 | }
--------------------------------------------------------------------------------
/src/Resource/js/mekaeils-package/assets/img/apple-icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/MichaelAndish/LaravelUserManagement/9ae2558523a10a8a0a5ef6ec4a56d4f4d70d7bc7/src/Resource/js/mekaeils-package/assets/img/apple-icon.png
--------------------------------------------------------------------------------
/src/Resource/js/mekaeils-package/assets/img/bg.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/MichaelAndish/LaravelUserManagement/9ae2558523a10a8a0a5ef6ec4a56d4f4d70d7bc7/src/Resource/js/mekaeils-package/assets/img/bg.jpg
--------------------------------------------------------------------------------
/src/Resource/js/mekaeils-package/assets/img/bg2.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/MichaelAndish/LaravelUserManagement/9ae2558523a10a8a0a5ef6ec4a56d4f4d70d7bc7/src/Resource/js/mekaeils-package/assets/img/bg2.jpg
--------------------------------------------------------------------------------
/src/Resource/js/mekaeils-package/assets/img/bg3.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/MichaelAndish/LaravelUserManagement/9ae2558523a10a8a0a5ef6ec4a56d4f4d70d7bc7/src/Resource/js/mekaeils-package/assets/img/bg3.jpg
--------------------------------------------------------------------------------
/src/Resource/js/mekaeils-package/assets/img/bg7.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/MichaelAndish/LaravelUserManagement/9ae2558523a10a8a0a5ef6ec4a56d4f4d70d7bc7/src/Resource/js/mekaeils-package/assets/img/bg7.jpg
--------------------------------------------------------------------------------
/src/Resource/js/mekaeils-package/assets/img/city-profile.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/MichaelAndish/LaravelUserManagement/9ae2558523a10a8a0a5ef6ec4a56d4f4d70d7bc7/src/Resource/js/mekaeils-package/assets/img/city-profile.jpg
--------------------------------------------------------------------------------
/src/Resource/js/mekaeils-package/assets/img/city.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/MichaelAndish/LaravelUserManagement/9ae2558523a10a8a0a5ef6ec4a56d4f4d70d7bc7/src/Resource/js/mekaeils-package/assets/img/city.jpg
--------------------------------------------------------------------------------
/src/Resource/js/mekaeils-package/assets/img/examples/clem-onojegaw.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/MichaelAndish/LaravelUserManagement/9ae2558523a10a8a0a5ef6ec4a56d4f4d70d7bc7/src/Resource/js/mekaeils-package/assets/img/examples/clem-onojegaw.jpg
--------------------------------------------------------------------------------
/src/Resource/js/mekaeils-package/assets/img/examples/clem-onojeghuo.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/MichaelAndish/LaravelUserManagement/9ae2558523a10a8a0a5ef6ec4a56d4f4d70d7bc7/src/Resource/js/mekaeils-package/assets/img/examples/clem-onojeghuo.jpg
--------------------------------------------------------------------------------
/src/Resource/js/mekaeils-package/assets/img/examples/cynthia-del-rio.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/MichaelAndish/LaravelUserManagement/9ae2558523a10a8a0a5ef6ec4a56d4f4d70d7bc7/src/Resource/js/mekaeils-package/assets/img/examples/cynthia-del-rio.jpg
--------------------------------------------------------------------------------
/src/Resource/js/mekaeils-package/assets/img/examples/mariya-georgieva.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/MichaelAndish/LaravelUserManagement/9ae2558523a10a8a0a5ef6ec4a56d4f4d70d7bc7/src/Resource/js/mekaeils-package/assets/img/examples/mariya-georgieva.jpg
--------------------------------------------------------------------------------
/src/Resource/js/mekaeils-package/assets/img/examples/olu-eletu.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/MichaelAndish/LaravelUserManagement/9ae2558523a10a8a0a5ef6ec4a56d4f4d70d7bc7/src/Resource/js/mekaeils-package/assets/img/examples/olu-eletu.jpg
--------------------------------------------------------------------------------
/src/Resource/js/mekaeils-package/assets/img/examples/studio-1.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/MichaelAndish/LaravelUserManagement/9ae2558523a10a8a0a5ef6ec4a56d4f4d70d7bc7/src/Resource/js/mekaeils-package/assets/img/examples/studio-1.jpg
--------------------------------------------------------------------------------
/src/Resource/js/mekaeils-package/assets/img/examples/studio-2.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/MichaelAndish/LaravelUserManagement/9ae2558523a10a8a0a5ef6ec4a56d4f4d70d7bc7/src/Resource/js/mekaeils-package/assets/img/examples/studio-2.jpg
--------------------------------------------------------------------------------
/src/Resource/js/mekaeils-package/assets/img/examples/studio-3.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/MichaelAndish/LaravelUserManagement/9ae2558523a10a8a0a5ef6ec4a56d4f4d70d7bc7/src/Resource/js/mekaeils-package/assets/img/examples/studio-3.jpg
--------------------------------------------------------------------------------
/src/Resource/js/mekaeils-package/assets/img/examples/studio-4.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/MichaelAndish/LaravelUserManagement/9ae2558523a10a8a0a5ef6ec4a56d4f4d70d7bc7/src/Resource/js/mekaeils-package/assets/img/examples/studio-4.jpg
--------------------------------------------------------------------------------
/src/Resource/js/mekaeils-package/assets/img/examples/studio-5.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/MichaelAndish/LaravelUserManagement/9ae2558523a10a8a0a5ef6ec4a56d4f4d70d7bc7/src/Resource/js/mekaeils-package/assets/img/examples/studio-5.jpg
--------------------------------------------------------------------------------
/src/Resource/js/mekaeils-package/assets/img/faces/avatar.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/MichaelAndish/LaravelUserManagement/9ae2558523a10a8a0a5ef6ec4a56d4f4d70d7bc7/src/Resource/js/mekaeils-package/assets/img/faces/avatar.jpg
--------------------------------------------------------------------------------
/src/Resource/js/mekaeils-package/assets/img/faces/camp.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/MichaelAndish/LaravelUserManagement/9ae2558523a10a8a0a5ef6ec4a56d4f4d70d7bc7/src/Resource/js/mekaeils-package/assets/img/faces/camp.jpg
--------------------------------------------------------------------------------
/src/Resource/js/mekaeils-package/assets/img/faces/card-profile1-square.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/MichaelAndish/LaravelUserManagement/9ae2558523a10a8a0a5ef6ec4a56d4f4d70d7bc7/src/Resource/js/mekaeils-package/assets/img/faces/card-profile1-square.jpg
--------------------------------------------------------------------------------
/src/Resource/js/mekaeils-package/assets/img/faces/card-profile2-square.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/MichaelAndish/LaravelUserManagement/9ae2558523a10a8a0a5ef6ec4a56d4f4d70d7bc7/src/Resource/js/mekaeils-package/assets/img/faces/card-profile2-square.jpg
--------------------------------------------------------------------------------
/src/Resource/js/mekaeils-package/assets/img/faces/card-profile4-square.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/MichaelAndish/LaravelUserManagement/9ae2558523a10a8a0a5ef6ec4a56d4f4d70d7bc7/src/Resource/js/mekaeils-package/assets/img/faces/card-profile4-square.jpg
--------------------------------------------------------------------------------
/src/Resource/js/mekaeils-package/assets/img/faces/card-profile5-square.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/MichaelAndish/LaravelUserManagement/9ae2558523a10a8a0a5ef6ec4a56d4f4d70d7bc7/src/Resource/js/mekaeils-package/assets/img/faces/card-profile5-square.jpg
--------------------------------------------------------------------------------
/src/Resource/js/mekaeils-package/assets/img/faces/card-profile6-square.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/MichaelAndish/LaravelUserManagement/9ae2558523a10a8a0a5ef6ec4a56d4f4d70d7bc7/src/Resource/js/mekaeils-package/assets/img/faces/card-profile6-square.jpg
--------------------------------------------------------------------------------
/src/Resource/js/mekaeils-package/assets/img/faces/christian.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/MichaelAndish/LaravelUserManagement/9ae2558523a10a8a0a5ef6ec4a56d4f4d70d7bc7/src/Resource/js/mekaeils-package/assets/img/faces/christian.jpg
--------------------------------------------------------------------------------
/src/Resource/js/mekaeils-package/assets/img/faces/kendall.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/MichaelAndish/LaravelUserManagement/9ae2558523a10a8a0a5ef6ec4a56d4f4d70d7bc7/src/Resource/js/mekaeils-package/assets/img/faces/kendall.jpg
--------------------------------------------------------------------------------
/src/Resource/js/mekaeils-package/assets/img/faces/marc.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/MichaelAndish/LaravelUserManagement/9ae2558523a10a8a0a5ef6ec4a56d4f4d70d7bc7/src/Resource/js/mekaeils-package/assets/img/faces/marc.jpg
--------------------------------------------------------------------------------
/src/Resource/js/mekaeils-package/assets/img/landing.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/MichaelAndish/LaravelUserManagement/9ae2558523a10a8a0a5ef6ec4a56d4f4d70d7bc7/src/Resource/js/mekaeils-package/assets/img/landing.jpg
--------------------------------------------------------------------------------
/src/Resource/js/mekaeils-package/assets/img/leaf1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/MichaelAndish/LaravelUserManagement/9ae2558523a10a8a0a5ef6ec4a56d4f4d70d7bc7/src/Resource/js/mekaeils-package/assets/img/leaf1.png
--------------------------------------------------------------------------------
/src/Resource/js/mekaeils-package/assets/img/leaf2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/MichaelAndish/LaravelUserManagement/9ae2558523a10a8a0a5ef6ec4a56d4f4d70d7bc7/src/Resource/js/mekaeils-package/assets/img/leaf2.png
--------------------------------------------------------------------------------
/src/Resource/js/mekaeils-package/assets/img/leaf3.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/MichaelAndish/LaravelUserManagement/9ae2558523a10a8a0a5ef6ec4a56d4f4d70d7bc7/src/Resource/js/mekaeils-package/assets/img/leaf3.png
--------------------------------------------------------------------------------
/src/Resource/js/mekaeils-package/assets/img/leaf4.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/MichaelAndish/LaravelUserManagement/9ae2558523a10a8a0a5ef6ec4a56d4f4d70d7bc7/src/Resource/js/mekaeils-package/assets/img/leaf4.png
--------------------------------------------------------------------------------
/src/Resource/js/mekaeils-package/assets/img/nature-2.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/MichaelAndish/LaravelUserManagement/9ae2558523a10a8a0a5ef6ec4a56d4f4d70d7bc7/src/Resource/js/mekaeils-package/assets/img/nature-2.jpg
--------------------------------------------------------------------------------
/src/Resource/js/mekaeils-package/assets/img/nature-3.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/MichaelAndish/LaravelUserManagement/9ae2558523a10a8a0a5ef6ec4a56d4f4d70d7bc7/src/Resource/js/mekaeils-package/assets/img/nature-3.jpg
--------------------------------------------------------------------------------
/src/Resource/js/mekaeils-package/assets/img/nature.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/MichaelAndish/LaravelUserManagement/9ae2558523a10a8a0a5ef6ec4a56d4f4d70d7bc7/src/Resource/js/mekaeils-package/assets/img/nature.jpg
--------------------------------------------------------------------------------
/src/Resource/js/mekaeils-package/assets/img/profile.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/MichaelAndish/LaravelUserManagement/9ae2558523a10a8a0a5ef6ec4a56d4f4d70d7bc7/src/Resource/js/mekaeils-package/assets/img/profile.jpg
--------------------------------------------------------------------------------
/src/Resource/js/mekaeils-package/assets/img/profile_city.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/MichaelAndish/LaravelUserManagement/9ae2558523a10a8a0a5ef6ec4a56d4f4d70d7bc7/src/Resource/js/mekaeils-package/assets/img/profile_city.jpg
--------------------------------------------------------------------------------
/src/Resource/js/mekaeils-package/assets/img/vue-mk-header.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/MichaelAndish/LaravelUserManagement/9ae2558523a10a8a0a5ef6ec4a56d4f4d70d7bc7/src/Resource/js/mekaeils-package/assets/img/vue-mk-header.jpg
--------------------------------------------------------------------------------
/src/Resource/js/mekaeils-package/assets/scss/material-kit.scss:
--------------------------------------------------------------------------------
1 | /*!
2 |
3 | =========================================================
4 | * Vue Material Kit - v1.2.0
5 | =========================================================
6 |
7 | * Product Page: http://www.creative-tim.com/product/vue-material-kit
8 | * Copyright 2019 Creative Tim (http://www.creative-tim.com)
9 | * Licensed under MIT (https://github.com/creativetimofficial/vue-material-kit/blob/master/LICENSE.md)
10 |
11 | =========================================================
12 |
13 | * The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
14 |
15 | */
16 |
17 |
18 | //variables and mixins
19 | @import "material-kit/variables";
20 | @import "material-kit/mixins";
21 | @import "material-kit/shadows";
22 |
23 | //plugin css
24 | @import "material-kit/plugins/_perfect-scrollbar";
25 | @import "material-kit/plugins/_plugin-nouislider";
26 |
27 | // Core CSS
28 | @import "material-kit/typography";
29 | @import "material-kit/buttons";
30 | @import "material-kit/carousel";
31 | @import "material-kit/autocomplete";
32 | @import "material-kit/misc";
33 | @import "material-kit/images";
34 | @import "material-kit/info-areas";
35 | @import "material-kit/datepicker";
36 | @import "material-kit/inputs";
37 | @import "material-kit/badges";
38 | @import "material-kit/progress";
39 | @import "material-kit/alerts";
40 | @import "material-kit/tables";
41 | @import "material-kit/layout";
42 | @import "material-kit/headers";
43 | @import "material-kit/example-pages";
44 | @import "material-kit/checkboxes";
45 | @import "material-kit/togglebutton";
46 | @import "material-kit/pagination";
47 | @import "material-kit/radios";
48 | @import "material-kit/pills";
49 | @import "material-kit/dialogs";
50 | @import "material-kit/navbars";
51 | @import "material-kit/popups";
52 | @import "material-kit/footers";
53 |
54 | // Fancy Stuff
55 | @import "material-kit/dropdown";
56 | @import "material-kit/cards";
57 | @import "material-kit/tabs";
58 | @import "material-kit/responsive";
59 |
--------------------------------------------------------------------------------
/src/Resource/js/mekaeils-package/assets/scss/material-kit/_alerts.scss:
--------------------------------------------------------------------------------
1 | // This file has been autogenerated by grunt task lessToSass. Any changes will be overwritten.
2 |
3 | .alert {
4 | border: 0;
5 | border-radius: 0;
6 | position: relative;
7 | padding: 20px 15px;
8 | line-height: 20px;
9 | margin-bottom: 20px;
10 |
11 | .notifications &{
12 | margin-bottom: 0;
13 | }
14 |
15 | .container {
16 | flex-direction: unset;
17 | display: flow-root;
18 | padding: 0 31px;
19 | line-height: 1.7;
20 | }
21 |
22 | b{
23 | font-weight: $font-weight-bold;
24 | text-transform: uppercase;
25 | font-size: $font-size-small;
26 | }
27 |
28 | @include alert-color($gray-color);
29 |
30 | &.alert-info{
31 | @include alert-color(lighten($brand-info,3%));
32 | }
33 |
34 | &.alert-danger{
35 | @include alert-color(lighten($brand-danger,3%));
36 | }
37 |
38 | &.alert-primary{
39 | @include alert-color(lighten($brand-primary,3%));
40 | }
41 |
42 | &.alert-warning{
43 | @include alert-color(lighten($brand-warning, 3%));
44 | }
45 |
46 | &.alert-success{
47 | @include alert-color(lighten($brand-success, 3%));
48 | }
49 |
50 |
51 | &-info, &-danger, &-warning, &-success {
52 | color: $mdb-text-color-light;
53 | }
54 |
55 | &-default {
56 | a, .alert-link {
57 | color: $mdb-text-color-primary;
58 | }
59 | }
60 |
61 | .close{
62 | position: absolute;
63 | right: 0;
64 | font-size: inherit;
65 | font-weight: 700;
66 | line-height: 1;
67 | color: $white-color;
68 | opacity: .9;
69 | background-color: transparent;
70 | border: 0;
71 | cursor: pointer;
72 | top: 0;
73 | bottom: 0;
74 |
75 | i {
76 | font-size: 20px !important;
77 | color: $white-color !important;
78 | font-weight: normal;
79 | }
80 | }
81 |
82 | i[data-notify="icon"] {
83 | font-size: 30px;
84 | display: block;
85 | left: 15px;
86 | position: absolute;
87 | top: 50%;
88 | margin-top: -15px;
89 | }
90 |
91 | .alert-icon{
92 | display: inline-block;
93 | margin-right: $margin-base;
94 |
95 | i{
96 | color: $white-color !important;
97 | height: 22px;
98 | }
99 | }
100 | }
101 |
102 | .alert.alert-with-icon {
103 | padding-left: 65px;
104 | }
105 |
--------------------------------------------------------------------------------
/src/Resource/js/mekaeils-package/assets/scss/material-kit/_autocomplete.scss:
--------------------------------------------------------------------------------
1 | .md-menu-content:not(.md-select-menu) .md-menu-content-container .md-list {
2 | .md-list-item {
3 | margin: 0 .3125rem;
4 |
5 | &:not(:last-child) {
6 | margin-bottom: 5px;
7 | }
8 |
9 | .md-list-item-button {
10 | background-color: transparent;
11 | color: $gray-dark !important;
12 | border-radius: 3px;
13 |
14 | &:hover {
15 | background-color: $brand-primary !important;
16 | @include shadow-big-color($brand-primary);
17 | color: #FFF !important;
18 | }
19 |
20 | .md-list-item-content {
21 | min-height: 38px;
22 | font-size: 13px;
23 |
24 | span {
25 | top: auto;
26 | left: auto;
27 | right: 0;
28 | padding-left: 15px;
29 | padding-right: 15px;
30 | }
31 | }
32 | }
33 | }
34 | }
35 |
--------------------------------------------------------------------------------
/src/Resource/js/mekaeils-package/assets/scss/material-kit/_badges.scss:
--------------------------------------------------------------------------------
1 | .badge {
2 | display: inline-block;
3 | border-radius: $border-radius-label;
4 | padding: 5px 12px;
5 | text-transform: uppercase;
6 | font-size: 10px;
7 | color: $white-color;
8 | font-weight: 500;
9 | line-height: 1;
10 | text-align: center;
11 | white-space: nowrap;
12 | vertical-align: baseline;
13 |
14 | &:not(:last-child) {
15 | margin-right: 5px;
16 | }
17 |
18 | @include badge-color();
19 | }
20 |
21 |
22 | .badge-default[href]:hover,
23 | .badge-default[href]:focus {
24 | background-color: darken($gray-light, 5%);
25 | }
26 |
27 | .badge-primary[href]:hover,
28 | .badge-primary[href]:focus {
29 | background-color: darken($brand-primary, 5%);
30 | }
31 |
32 | .badge-info[href]:hover,
33 | .badge-info[href]:focus {
34 | background-color: darken($brand-info, 5%);
35 | }
36 |
37 | .badge-success[href]:hover,
38 | .badge-success[href]:focus {
39 | background-color: darken($brand-success, 5%);
40 | }
41 |
42 | .badge-warning[href]:hover,
43 | .badge-warning[href]:focus {
44 | background-color: darken($brand-warning, 5%);
45 | color: $white-color;
46 | }
47 |
48 | .badge-danger[href]:hover,
49 | .badge-danger[href]:focus {
50 | background-color: darken($brand-danger, 5%);
51 | }
52 | .badge-rose[href]:hover,
53 | .badge-rose[href]:focus {
54 | background-color: darken($brand-rose, 5%);
55 | }
56 |
--------------------------------------------------------------------------------
/src/Resource/js/mekaeils-package/assets/scss/material-kit/_carousel.scss:
--------------------------------------------------------------------------------
1 | .VueCarousel-pagination {
2 | position: absolute;
3 | bottom: 5px;
4 | margin-bottom: 15px;
5 | }
6 |
7 | .VueCarousel-wrapper {
8 | border-radius: $border-radius-large;
9 | }
10 |
11 | .VueCarousel-dot {
12 | width: 10px !important;
13 | height: 10px !important;
14 | padding: 0 !important;
15 | margin: 10px;
16 | border: 1px solid #fff;
17 | background: #FFF !important;
18 | box-shadow: 0 2px 2px 0 rgba(0,0,0,.14), 0 3px 1px -2px rgba(0,0,0,.12), 0 1px 5px 0 rgba(0,0,0,.2);
19 | border-radius: 2px !important;
20 | transition: all .3s linear;
21 |
22 | &:focus {
23 | outline: 0 !important;
24 | }
25 | }
26 |
27 | .VueCarousel-dot--active {
28 | margin-top: 10px;
29 | transform: scale(1.5);
30 | box-shadow: 0 4px 5px 0 rgba(0,0,0,.14), 0 1px 10px 0 rgba(0,0,0,.12), 0 2px 4px -1px rgba(0,0,0,.2);
31 | }
32 |
33 | .carousel-caption {
34 | position: absolute;
35 | bottom: 25px;
36 | left: 0;
37 | right: 0;
38 | text-align: center;
39 | padding-top: 20px;
40 | padding-bottom: 45px;
41 |
42 | &,
43 | .md-icon,
44 | .fa,
45 | .fab,
46 | .fas {
47 | color: $white-color !important;
48 | }
49 | }
50 |
51 | .VueCarousel-navigation-prev {
52 | left: 95px !important;
53 |
54 | }
55 |
56 | .VueCarousel-navigation-next {
57 | right: 95px !important;
58 | }
59 |
60 | .VueCarousel-navigation-prev i,
61 | .VueCarousel-navigation-next i {
62 | font-size: 50px;
63 | color: $white-color !important;
64 | opacity: .5;
65 |
66 | &:hover {
67 | opacity: 1;
68 | }
69 | }
70 |
71 | .VueCarousel-slide {
72 | position: relative;
73 | }
74 |
--------------------------------------------------------------------------------
/src/Resource/js/mekaeils-package/assets/scss/material-kit/_checkboxes.scss:
--------------------------------------------------------------------------------
1 | .md-checkbox{
2 | .md-checkbox-container{
3 | border: 1px solid rgba(0, 0, 0, .54);
4 | border-radius: 3px;
5 |
6 | .md-ripple{
7 | overflow: hidden;
8 | }
9 | }
10 |
11 | &.md-checked .md-checkbox-container{
12 | &:after{
13 | border-color: $brand-primary !important;
14 | top: 1px;
15 | left: 6px;
16 | }
17 | }
18 |
19 | .md-checkbox-label{
20 | font-weight: 400;
21 | font-size: .875rem;
22 | color: #aaa;
23 | padding-left: 10px;
24 | }
25 |
26 | &.md-theme-default.md-checked .md-checkbox-container{
27 | background-color: transparent !important;
28 | border-color: inherit;
29 | }
30 |
31 | &.md-theme-default.md-checked .md-ripple{
32 | color: inherit;
33 | }
34 |
35 | &.md-disabled .md-checkbox-label,
36 | &.md-disabled .md-checkbox-container{
37 | opacity: .26;
38 | border-color: rgba(0, 0, 0, .54) !important;
39 | }
40 |
41 | &.md-checked.md-disabled .md-checkbox-container{
42 | background-color: transparent !important;
43 | border-color: rgba(0, 0, 0, .54) !important;
44 | opacity: .26;
45 |
46 | &:after{
47 | border-color: rgba(0, 0, 0, .54) !important;
48 | }
49 | }
50 | }
51 |
--------------------------------------------------------------------------------
/src/Resource/js/mekaeils-package/assets/scss/material-kit/_datepicker.scss:
--------------------------------------------------------------------------------
1 | .md-datepicker-body-header{
2 | .md-icon-button{
3 | background-color: transparent !important;
4 | box-shadow: none !important;
5 | font-weight: 500;
6 |
7 | &:hover,
8 | &:focus{
9 | background-color: #eee !important;
10 | }
11 |
12 | .md-button-content svg{
13 | fill: #212529 !important;
14 | }
15 | }
16 | }
17 |
18 | .md-dialog-actions .md-button {
19 | &,
20 | &:hover,
21 | &:focus,
22 | &:active,
23 | &.active,
24 | &:active:focus,
25 | &:active:hover,
26 | &.active:focus,
27 | &.active:hover,
28 | .open > &.dropdown-toggle,
29 | .open > &.dropdown-toggle:focus,
30 | .open > &.dropdown-toggle:hover {
31 | background-color: $brand-success !important;
32 | }
33 |
34 | &:focus,
35 | &:active,
36 | &:hover{
37 | // remove this line if you want black shadows
38 | @include button-shadow-color($brand-success);
39 | }
40 | }
41 |
42 | .md-datepicker-header .md-datepicker-date-select{
43 | font-size: 30px;
44 | }
45 |
46 | .md-button[class*="md-datepicker-"]{
47 | background-color: transparent !important;
48 | box-shadow: none !important;
49 | font-weight: 500;
50 | border-radius: 3px;
51 | margin-left: 48px;
52 | margin-right: 48px;
53 |
54 | &:hover,
55 | &:focus{
56 | background-color: #eee !important;
57 | }
58 |
59 | .md-button-content{
60 | color: #212529 !important;
61 | }
62 | }
63 |
64 | .md-datepicker-day-button{
65 | font-size: 0.875rem;
66 |
67 | &:hover,
68 | &:focus{
69 | background-color: #eee !important;
70 | }
71 | }
72 |
73 | .md-datepicker-today,
74 | .md-datepicker-selected{
75 | @include shadow-2dp-color($brand-success);
76 | font-weight: lighter !important;
77 |
78 | &,
79 | &:hover,
80 | &:focus{
81 | background-color: $brand-success !important;
82 | color: $white-color !important;
83 | }
84 | }
85 |
86 | .md-datepicker-month-button,
87 | .md-datepicker-year-button{
88 | font-weight: 300;
89 | }
90 |
91 | .md-datepicker-dayname,
92 | .md-datepicker-monthname,
93 | .md-datepicker-day{
94 | font-weight: 300 !important;
95 | }
96 |
97 | .md-datepicker-dialog .md-datepicker-header{
98 | background: linear-gradient(60deg, $green-400, $green-600) !important;
99 | }
100 |
101 | .md-datepicker-overlay,
102 | .md-datepicker-dialog {
103 | z-index: 9999;
104 | }
105 |
--------------------------------------------------------------------------------
/src/Resource/js/mekaeils-package/assets/scss/material-kit/_dialogs.scss:
--------------------------------------------------------------------------------
1 | .modal-mask {
2 | position: fixed;
3 | z-index: 9998;
4 | top: 0;
5 | left: 0;
6 | width: 100%;
7 | height: 100%;
8 | background-color: rgba(0, 0, 0, .2);
9 | display: table;
10 | transition: opacity .15s ease;
11 | }
12 |
13 | .modal-wrapper {
14 | display: table-cell;
15 | vertical-align: middle;
16 | }
17 |
18 | .picture{
19 | max-width: 150px;
20 |
21 | img{
22 | border-radius: 6px;
23 | }
24 | }
25 |
26 | .modal-title{
27 | margin: 0;
28 | line-height: 1.5;
29 | }
30 |
31 | .modal-body{
32 | padding: 24px 24px 16px;
33 |
34 | p{
35 | margin-top: 0;
36 | }
37 | }
38 |
39 | .modal-container {
40 | max-width: 500px;
41 | margin: 0px auto;
42 | position: relative;
43 | background-color: #fff;
44 | transition: all .3s ease;
45 | box-shadow: 0 27px 24px 0 rgba(0,0,0,.2), 0 40px 77px 0 rgba(0,0,0,.22);
46 | border-radius: 6px;
47 | border: none;
48 | }
49 |
50 | .modal-header{
51 | display: flex;
52 | align-items: center;
53 | justify-content: center;
54 | padding: 24px 24px 0;
55 | border-top-left-radius: .3rem;
56 | border-top-right-radius: .3rem;
57 |
58 | .md-button .md-button-content i{
59 | font-size: 16px !important;
60 | opacity: .5;
61 |
62 | &:hover,
63 | &:focus{
64 | opacity: 1;
65 | }
66 | }
67 | }
68 |
69 | .modal-footer{
70 | display: flex;
71 | align-items: center;
72 | justify-content: flex-end;
73 | padding: 24px;
74 | padding-top: 0;
75 |
76 | .md-button{
77 | margin: 0;
78 | .md-ripple{
79 | padding-left: 16px !important;
80 | padding-right: 16px !important;
81 | width: auto;
82 | }
83 | }
84 | }
85 |
86 | .notice-modal + .modal-mask .modal-footer,
87 | .small-alert-modal + .modal-mask .modal-footer{
88 | justify-content: center;
89 | }
90 |
91 | .instruction{
92 | margin-bottom: 25px;
93 | }
94 |
95 | .small-alert-modal + .modal-mask .modal-container{
96 | width: 300px;
97 | margin: 0 auto;
98 |
99 | .modal-body{
100 | margin-top: 20px;
101 | }
102 | }
103 |
104 | .modal-header h3 {
105 | margin-top: 0;
106 | color: #42b983;
107 | }
108 |
109 | .modal-default-button {
110 | position: absolute !important;
111 | right: 9px;
112 | top: 12px;
113 | }
114 |
--------------------------------------------------------------------------------
/src/Resource/js/mekaeils-package/assets/scss/material-kit/_dropdown.scss:
--------------------------------------------------------------------------------
1 | .dropdown-menu{
2 | position: absolute;
3 | top: 100%;
4 | left: 0;
5 | z-index: 1000;
6 | display: none;
7 | float: left;
8 | min-width: 160px;
9 | padding: 5px 0;
10 | margin: 2px 0 0;
11 | font-size: 14px;
12 | text-align: left;
13 | list-style: none;
14 | background-color: #fff;
15 | border-radius: 4px;
16 | border: 0;
17 | box-shadow: 0 2px 5px 0 rgba(0, 0, 0, 0.26);
18 |
19 | li > a{
20 | font-size: $mdb-dropdown-font-size;
21 | padding: .625rem 1.5rem;
22 | margin: 0 5px;
23 | text-transform: none;
24 | line-height: 1.428571;
25 | color: $gray-dark !important;
26 | border-radius: $border-radius-small;
27 | @include transition($fast-transition-time, $transition-linear);
28 |
29 | &:hover,
30 | &:focus {
31 | @include shadow-8dp();
32 |
33 | }
34 | }
35 |
36 | &.dropdown-with-icons{
37 | li > a{
38 | padding: 12px 20px 12px 12px;
39 |
40 | .material-icons{
41 | vertical-align: middle;
42 | font-size: 24px;
43 | position: relative;
44 | margin-top: -4px;
45 | top: 1px;
46 | margin-right: 12px;
47 | opacity: .5;
48 | }
49 | }
50 | }
51 |
52 | li {
53 | position: relative;
54 | a:hover,
55 | a:focus,
56 | a:active {
57 | background-color: $brand-success !important;
58 | color: $white-color !important;
59 | }
60 | }
61 | }
62 |
63 | .dropdown-divider {
64 | height: 0;
65 | margin: .5rem 0;
66 | overflow: hidden;
67 | border-top: 1px solid #e9ecef;
68 | }
69 |
70 | .dropdown-header {
71 | font-size: .75rem;
72 | padding-top: .1875rem;
73 | padding-bottom: .1875rem;
74 | text-transform: none;
75 | color: #777;
76 | line-height: 1.428571;
77 | font-weight: 300;
78 | display: block;
79 | padding: .5rem 1.25rem;
80 | }
81 |
82 | .dropdown-toggle:not(.md-button):after,
83 | .dropdown-toggle .md-ripple:after
84 | {
85 | width: 0;
86 | height: 0;
87 | vertical-align: .255em;
88 | content: "";
89 | border-right: .3em solid transparent;
90 | border-left: .3em solid transparent;
91 | display: inline-block;
92 | margin-left: .555em;
93 | border-top: .3em solid;
94 | border-bottom: 0;
95 | margin-top: -1px;
96 | will-change: transform;
97 | transition: transform 150ms linear;
98 | }
99 |
100 |
101 | .navbar-nav > li > .dropdown-menu,
102 | .dropdown .dropdown-menu,
103 | .dropdown-menu.bootstrap-datetimepicker-widget{
104 | @include transition($fast-transition-time, $transition-linear);
105 | display: block;
106 | transform: scale(0);
107 | transform-origin: 0 0;
108 | @include opacity(0);
109 | }
110 | .navbar-nav > li.open > .dropdown-menu,
111 | .dropdown.open .dropdown-menu,
112 | .dropdown-menu.bootstrap-datetimepicker-widget.open{
113 | @include opacity(1);
114 | transform: scale(1);
115 |
116 | }
117 |
118 | .dropdown .dropdown-menu.dropdown-menu-right {
119 | transform-origin: 100% 0;
120 | }
121 |
122 | .dropdown-menu-right{
123 | right: 0;
124 | left: auto;
125 | }
126 |
127 | .md-list-item.dropdown{
128 | .md-list-item-container{
129 | a[data-toggle="dropdown"]{
130 | padding: 10px 15px;
131 | }
132 |
133 | .md-ripple{
134 | padding: 0;
135 | }
136 | }
137 | }
138 |
139 | .md-ripple{
140 | -webkit-mask-image: none;
141 | overflow: hidden;
142 |
143 | > span{
144 | width: 100%;
145 | height: 100%;
146 | overflow: hidden;
147 | position: absolute;
148 | left: 0;
149 | z-index: -1;
150 | }
151 | }
152 |
--------------------------------------------------------------------------------
/src/Resource/js/mekaeils-package/assets/scss/material-kit/_footers.scss:
--------------------------------------------------------------------------------
1 | footer{
2 | padding: $padding-base 0;
3 |
4 | nav,
5 | .copyright{
6 | display: inline-block;
7 | }
8 |
9 | ul{
10 | padding: 0;
11 | margin: 0;
12 | list-style: none;
13 |
14 | li{
15 | display: inline-block;
16 |
17 | a{
18 | color: inherit !important;
19 | padding: $padding-base;
20 | font-weight: $font-weight-bold;
21 | font-size: $mdb-btn-font-size-base;
22 | text-transform: uppercase;
23 | border-radius: $border-radius-base;
24 | text-decoration: none;
25 | position: relative;
26 | display: block;
27 |
28 | &:hover{
29 | text-decoration: none;
30 | }
31 | }
32 |
33 | &:first-child a{
34 | margin-left: -15px;
35 | }
36 | }
37 | }
38 |
39 | .copyright{
40 | padding: 15px 0;
41 | margin: 0;
42 | .md-icon{
43 | font-size: 18px !important;
44 | color: inherit !important;
45 | width: auto !important;
46 | min-width: auto !important;
47 |
48 | }
49 | }
50 | }
51 |
--------------------------------------------------------------------------------
/src/Resource/js/mekaeils-package/assets/scss/material-kit/_headers.scss:
--------------------------------------------------------------------------------
1 | .page-header{
2 | height: 100vh;
3 | background-position: center center;
4 | background-size: cover;
5 | margin: 0;
6 | padding: 0;
7 | border: 0;
8 | display: flex;
9 | align-items: center;
10 | justify-content: center;
11 |
12 | .carousel .carousel-indicators{
13 | bottom: 60px;
14 | }
15 |
16 | > .container{
17 | color: $white-color;
18 | }
19 |
20 | .title{
21 | color: $white-color;
22 | }
23 |
24 | &.header-small{
25 | height: 65vh;
26 | min-height: 65vh;
27 | }
28 |
29 | .iframe-container{
30 | iframe{
31 | width: 100%;
32 | box-shadow: 0 16px 38px -12px rgba(0, 0, 0, 0.56),
33 | 0 4px 25px 0px rgba(0, 0, 0, 0.12),
34 | 0 8px 10px -5px rgba(0, 0, 0, 0.2);
35 | }
36 | }
37 | }
38 |
39 | .header-filter{
40 | position: relative;
41 |
42 | &:before,
43 | &:after{
44 | position: absolute;
45 | z-index: 1;
46 | width: 100%;
47 | height: 100%;
48 | display: block;
49 | left: 0;
50 | top: 0;
51 | content: "";
52 | }
53 |
54 | .md-layout{
55 | z-index: 2;
56 | position: relative;
57 | }
58 | }
59 | .clear-filter::before {
60 | background: none;
61 | }
62 |
63 | .purple-filter:after{
64 | background: rgba(101, 47, 142, 0.64);
65 | background: linear-gradient(45deg, rgba(101, 47, 142, 0.88) 0%, rgba(125, 46, 185, 0.45) 100%);
66 | background: -moz-linear-gradient(135deg, rgba(101, 47, 142, 0.88) 0%, rgba(125, 46, 185, 0.45) 100%);
67 | background: -webkit-linear-gradient(135deg, rgba(101, 47, 142, 0.88) 0%, rgba(125, 46, 185, 0.45) 100%);
68 | }
69 |
--------------------------------------------------------------------------------
/src/Resource/js/mekaeils-package/assets/scss/material-kit/_images.scss:
--------------------------------------------------------------------------------
1 | .img-thumbnail{
2 | border-radius: 16px;
3 | }
4 | .img-raised{
5 | @include shadow-big-image();
6 | }
7 |
8 | .rounded{
9 | border-radius: $border-radius-large !important;
10 | }
11 |
12 | .rounded-circle {
13 | border-radius: 50%!important;
14 | }
15 |
16 | .responsive-image {
17 | max-width: 50%;
18 | margin: 0 auto;
19 | }
20 |
--------------------------------------------------------------------------------
/src/Resource/js/mekaeils-package/assets/scss/material-kit/_info-areas.scss:
--------------------------------------------------------------------------------
1 | .info{
2 | max-width: 360px;
3 | margin: 0 auto;
4 | padding: 70px 0 30px;
5 |
6 | .icon{
7 | color: $gray-color;
8 |
9 | > i{
10 | font-size: 3.85rem !important;
11 | min-width: auto;
12 | width: auto;
13 | height: auto;
14 | vertical-align: unset;
15 | }
16 | }
17 | .info-title{
18 | color: $black-color;
19 | margin: 0.875rem * 2 0 0.875rem;
20 | }
21 | p{
22 | color: $gray-color;
23 | }
24 | }
25 |
26 | .info-horizontal{
27 | .icon{
28 | float: left;
29 | margin-top: 24px;
30 | margin-right: 10px;
31 |
32 | >i{
33 | font-size: $font-size-h2;
34 | }
35 | }
36 | .description{
37 | overflow: hidden;
38 | }
39 |
40 | }
41 |
42 | .icon {
43 |
44 | &.icon-primary i{
45 | color: $brand-primary !important;
46 | }
47 | &.icon-info i{
48 | color: $brand-info !important;
49 | }
50 | &.icon-success i{
51 | color: $brand-success !important;
52 | }
53 | &.icon-warning i{
54 | color: $brand-warning !important;
55 | }
56 | &.icon-danger i{
57 | color: $brand-danger !important;
58 | }
59 | &.icon-rose i{
60 | color: $brand-rose !important;
61 | }
62 | }
63 |
--------------------------------------------------------------------------------
/src/Resource/js/mekaeils-package/assets/scss/material-kit/_layout.scss:
--------------------------------------------------------------------------------
1 | .md-layout-item{
2 | padding-right: 15px;
3 | padding-left: 15px;
4 | }
5 |
--------------------------------------------------------------------------------
/src/Resource/js/mekaeils-package/assets/scss/material-kit/_misc.scss:
--------------------------------------------------------------------------------
1 | body {
2 | background-color: #EEEEEE;
3 | letter-spacing: unset;
4 | font-size: 1rem;
5 | color: $black-color;
6 | line-height: 1.5em;
7 | }
8 |
9 | .main{
10 | background: #FFFFFF;
11 | position: relative;
12 | z-index: 3;
13 | }
14 |
15 | .main-raised{
16 | margin: -60px 30px 0px;
17 | border-radius: $border-radius-base * 2;
18 | @include shadow-16dp();
19 | }
20 |
21 | .wrapper{
22 | &.wrapper-full-page{
23 | height: auto;
24 | min-height: 100vh;
25 | }
26 | }
27 |
28 |
29 | blockquote{
30 | p{
31 | font-style: italic;
32 | }
33 | }
34 |
35 | .life-of-material-dashboard{
36 | background: #FFFFFF;
37 | }
38 |
39 | a{
40 | color: $link-color;
41 | &:hover,
42 | &:focus{
43 | color: darken($link-color, 5%) !important;
44 | text-decoration: none !important;
45 | }
46 |
47 | &.text-info{
48 | &:hover, &:focus{
49 | color: darken($brand-info, 5%);
50 | }
51 | }
52 |
53 | & .material-icons {
54 | vertical-align: middle;
55 | }
56 | }
57 |
58 | .dropdown.open .dropdown-toggle .md-ripple:after {
59 | @include rotate-180();
60 | }
61 |
62 | .caret,
63 | .md-toolbar {
64 | @include transition($fast-transition-time, $transition-ease-in);
65 | }
66 |
67 | /* Animations */
68 | .animation-transition-general{
69 | @include transition($general-transition-time, $transition-linear);
70 | }
71 |
72 | .animation-transition-slow{
73 | @include transition($slow-transition-time, $transition-linear);
74 | }
75 |
76 | .animation-transition-fast{
77 | @include transition($fast-transition-time, $transition-ease);
78 | }
79 | legend {
80 | border-bottom: 0;
81 | }
82 |
83 | .pull-left{
84 | float: left;
85 | }
86 |
87 | .pull-right{
88 | float: right;
89 | }
90 |
91 | // Prevent highlight on mobile
92 | * {
93 | -webkit-tap-highlight-color: rgba(255, 255, 255, 0);
94 | -webkit-tap-highlight-color: transparent;
95 | &:focus {
96 | outline: 0;
97 | }
98 | }
99 |
100 | .text-center{
101 | text-align: center;
102 | }
103 | .text-left{
104 | text-align: left;
105 | }
106 | .text-right{
107 | text-align: right;
108 | }
109 | .places-buttons{
110 | .md-button{
111 | width: 30%;
112 | margin-left: 10px;
113 | margin-right: 10px;
114 | }
115 | }
116 |
117 | .md-theme-default :not(input):not(textarea)::selection{
118 | background-color: #c8c8c8 !important;
119 | }
120 |
121 | .container,
122 | .container-fluid {
123 | padding-right: 15px;
124 | padding-left: 15px;
125 | display: flex;
126 | justify-content: space-between;
127 | width: 100%;
128 | margin-left: auto;
129 | margin-right: auto;
130 | position: relative;
131 |
132 | .section & {
133 | flex-direction: column;
134 | }
135 | }
136 |
137 | .md-ripple .md-ripple-wave {
138 | border-radius: 50% !important;
139 | }
140 |
141 | .small, small {
142 | font-size: 75%;
143 | color: #777;
144 | font-weight: 400;
145 | }
146 |
147 | .ml-auto,
148 | .mx-auto {
149 | margin-left: auto !important;
150 | }
151 |
152 | .mr-auto,
153 | .mx-auto {
154 | margin-right: auto!important;
155 | }
156 |
157 | .md-layout {
158 | margin-right: -15px;
159 | margin-left: -15px;
160 | }
161 |
--------------------------------------------------------------------------------
/src/Resource/js/mekaeils-package/assets/scss/material-kit/_pagination.scss:
--------------------------------------------------------------------------------
1 | .page-link{
2 | position: relative;
3 | display: block;
4 | padding: .5rem .75rem;
5 | margin-left: 0;
6 | line-height: 1.25;
7 | color: #2196f3;
8 | background-color: transparent;
9 | border: 0 solid #dee2e6;
10 | }
11 |
12 | .no-arrows{
13 | display: none;
14 | }
15 |
16 | .pagination{
17 | display: flex;
18 | padding-left: 0;
19 | list-style: none;
20 | border-radius: .25rem;
21 |
22 | > .page-item > .page-link,
23 | > .page-item > span{
24 | border: 0;
25 | border-radius: 30px !important;
26 | transition: all .3s;
27 | margin: 0 3px;
28 | padding: 0;
29 | min-width: 30px;
30 | height: 30px;
31 | line-height: 30px;
32 | color: $gray-color;
33 | font-weight: $font-weight-default;
34 | font-size: $mdb-btn-font-size-base;
35 | text-transform: uppercase;
36 | background: transparent;
37 | text-align: center;
38 | cursor: pointer;
39 |
40 | &:hover,
41 | &:focus{
42 | color: $gray-color !important;
43 | }
44 | }
45 |
46 | > .page-item.active > a,
47 | > .page-item.active > span{
48 | color: $gray-color;
49 |
50 | &,
51 | &:focus,
52 | &:hover{
53 | background-color: $brand-primary;
54 | border-color: $brand-primary;
55 | color: $white-color !important;
56 | @include shadow-4dp-color($brand-primary);
57 | }
58 |
59 | }
60 |
61 | // Colors
62 | &.pagination-info{
63 | > .page-item.active > a,
64 | > .page-item.active > span{
65 | &,
66 | &:focus,
67 | &:hover{
68 | background-color: $brand-info;
69 | border-color: $brand-info;
70 | @include shadow-4dp-color($brand-info);
71 | }
72 | }
73 | }
74 |
75 | &.pagination-success{
76 | > .page-item.active > a,
77 | > .page-item.active > span{
78 | &,
79 | &:focus,
80 | &:hover{
81 | background-color: $brand-success;
82 | border-color: $brand-success;
83 | @include shadow-4dp-color($brand-success);
84 | }
85 | }
86 | }
87 | &.pagination-rose{
88 | > .page-item.active > a,
89 | > .page-item.active > span{
90 | &,
91 | &:focus,
92 | &:hover{
93 | background-color: $brand-rose;
94 | border-color: $brand-rose;
95 | @include shadow-4dp-color($brand-rose);
96 | }
97 | }
98 | }
99 |
100 | &.pagination-warning{
101 | > .page-item.active > a,
102 | > .page-item.active > span{
103 | &,
104 | &:focus,
105 | &:hover{
106 | background-color: $brand-warning;
107 | border-color: $brand-warning;
108 | @include shadow-4dp-color($brand-warning);
109 | }
110 | }
111 | }
112 |
113 | &.pagination-danger{
114 | > .page-item.active > a,
115 | > .page-item.active > span{
116 | &,
117 | &:focus,
118 | &:hover{
119 | background-color: $brand-danger;
120 | border-color: $brand-danger;
121 | @include shadow-4dp-color($brand-danger);
122 | }
123 | }
124 | }
125 | }
126 |
--------------------------------------------------------------------------------
/src/Resource/js/mekaeils-package/assets/scss/material-kit/_pills.scss:
--------------------------------------------------------------------------------
1 | .nav-pills{
2 |
3 | .section-dark &,
4 | .section-image &{
5 | > li > a{
6 | color: $gray-color;
7 | }
8 | > li{
9 | > a:hover,
10 | > a:focus{
11 | background-color: #EEEEEE;
12 | }
13 | }
14 | }
15 |
16 | > li {
17 | > a{
18 | line-height: $mdb-btn-font-size-base * 2;
19 | text-transform: uppercase;
20 | font-size: $mdb-btn-font-size-base;
21 | font-weight: $font-weight-bold;
22 | min-width: 100px;
23 | text-align: center;
24 | color: $gray;
25 | transition: all .3s;
26 |
27 | &:hover{
28 | background-color: rgba(200, 200, 200, 0.2);
29 | }
30 | }
31 |
32 | i{
33 | display: block;
34 | font-size: 30px;
35 | padding: 15px 0;
36 | }
37 |
38 | &.active > a{
39 | &,
40 | &:focus,
41 | &:hover{
42 | background-color: $brand-primary;
43 | color: $white-color;
44 | @include shadow-big-color($brand-primary);
45 | }
46 | }
47 |
48 | }
49 |
50 | &:not(.nav-pills-icons){
51 | > li > a{
52 | border-radius: $border-radius-extreme;
53 | }
54 | }
55 |
56 | &.nav-stacked{
57 | > li + li{
58 | margin-top: 5px;
59 | }
60 | }
61 |
62 | &.nav-pills-info{
63 | > li {
64 | &.active > a{
65 | &,
66 | &:focus,
67 | &:hover{
68 | background-color: $brand-info;
69 | @include shadow-big-color($brand-info);
70 | }
71 | }
72 | }
73 | }
74 |
75 | &.nav-pills-success{
76 | > li {
77 | &.active > a{
78 | &,
79 | &:focus,
80 | &:hover{
81 | background-color: $brand-success;
82 | @include shadow-big-color($brand-success);
83 | }
84 | }
85 | }
86 | }
87 |
88 | &.nav-pills-warning{
89 | > li {
90 | &.active > a{
91 | &,
92 | &:focus,
93 | &:hover{
94 | background-color: $brand-warning;
95 | @include shadow-big-color($brand-warning);
96 | }
97 | }
98 | }
99 | }
100 |
101 | &.nav-pills-danger{
102 | > li {
103 | &.active > a{
104 | &,
105 | &:focus,
106 | &:hover{
107 | background-color: $brand-danger;
108 | @include shadow-big-color($brand-warning);
109 | }
110 | }
111 | }
112 | }
113 |
114 | }
115 | .tab-space{
116 | padding: 20px 0 50px 0px;
117 | }
118 |
--------------------------------------------------------------------------------
/src/Resource/js/mekaeils-package/assets/scss/material-kit/_progress.scss:
--------------------------------------------------------------------------------
1 | .md-progress-bar{
2 | height: 4px;
3 | margin-bottom: 20px;
4 |
5 | &.md-rose{
6 | @include md-progress-bar($brand-rose);
7 | }
8 | &.md-danger{
9 | @include md-progress-bar($brand-danger);
10 | }
11 | &.md-primary{
12 | @include md-progress-bar($brand-primary);
13 | }
14 | &.md-info{
15 | @include md-progress-bar($brand-info);
16 | }
17 | &.md-success{
18 | @include md-progress-bar($brand-success);
19 | }
20 | &.md-warning{
21 | @include md-progress-bar($brand-warning);
22 | }
23 | }
24 |
--------------------------------------------------------------------------------
/src/Resource/js/mekaeils-package/assets/scss/material-kit/_radios.scss:
--------------------------------------------------------------------------------
1 | .md-radio{
2 |
3 | .md-radio-label{
4 | padding-left: 10px;
5 | color: #aaa;
6 | font-size: .875rem;
7 | font-weight: 400;
8 | }
9 |
10 | .md-radio-container{
11 | border: 1px solid rgba(0,0,0,.54) !important;
12 | width: 15px;
13 | min-width: 15px;
14 | height: 15px;
15 | top: 2px;
16 | transition: .2s !important;
17 |
18 | &:after{
19 | transform: scale3D(0,0,0);
20 | transition: .2s !important;
21 | right: 2px;
22 | bottom: 2px;
23 | top: 2px;
24 | left: 2px;
25 | border-radius: 100%;
26 | }
27 |
28 | .md-ripple{
29 | overflow: hidden;
30 |
31 | .md-ripple-wave{
32 | background-color: $brand-primary;
33 | }
34 | }
35 | }
36 |
37 | &.md-checked .md-radio-container{
38 | border-color: $brand-primary !important;
39 |
40 | &:after{
41 | background-color: $brand-primary !important;
42 | }
43 | }
44 |
45 | &.md-disabled .md-radio-label,
46 | &.md-disabled .md-radio-container{
47 | opacity: .26;
48 | border-color: rgba(0, 0, 0, .54) !important;
49 | }
50 |
51 | &.md-checked.md-disabled .md-radio-container{
52 | background-color: transparent !important;
53 | border-color: rgba(0, 0, 0, .54) !important;
54 | opacity: .26;
55 |
56 | &:after{
57 | background-color: rgba(0, 0, 0, .54) !important;
58 | }
59 | }
60 | }
61 |
--------------------------------------------------------------------------------
/src/Resource/js/mekaeils-package/assets/scss/material-kit/_tables.scss:
--------------------------------------------------------------------------------
1 | .md-table-cell-container{
2 | padding: 0;
3 | .md-table-cell:last-child &{
4 | padding-right: 0;
5 | text-align: right;
6 | display: flex;
7 | }
8 | }
9 | .md-table-head-container{
10 | height: auto;
11 | padding: 0;
12 | }
13 | .md-tabs-content table thead{
14 | display: none;
15 | }
16 |
17 | .md-tabs-container tbody .md-table-row:first-child td{
18 | border: 0;
19 | }
20 |
21 | .md-table-cell{
22 | padding: 12px 8px;
23 | font-size: $font-size-base;
24 | }
25 |
26 | .md-table-head-label{
27 | font-size: $font-size-h5;
28 | padding-left: 8px;
29 | font-weight: 300;
30 | }
31 |
32 | .md-table .md-table-row:hover .md-table-cell{
33 | background-color: transparent !important;
34 | }
35 |
36 | .md-table .md-table-row:hover{
37 | background: $table-bg-hover !important;
38 | }
39 |
40 | .md-card-plain .md-card-content > div .md-table .md-table-content,
41 | .md-card-plain .md-card-content > div .md-table {
42 | background-color: transparent !important;
43 | }
44 |
45 | .md-table{
46 | &[table-header-color="orange"] .md-table-head{
47 | color: $brand-warning !important;
48 | }
49 | &[table-header-color="purple"] .md-table-head{
50 | color: $brand-primary !important;
51 | }
52 | &[table-header-color="blue"] .md-table-head{
53 | color: $brand-info !important;
54 | }
55 | &[table-header-color="red"] .md-table-head{
56 | color: $brand-danger !important;
57 | }
58 | &[table-header-color="green"] .md-table-head{
59 | color: $brand-success !important;
60 | }
61 |
62 | .md-table-row td{
63 | border-top-color: rgba(0,0,0,.06) !important;
64 | }
65 | }
66 |
--------------------------------------------------------------------------------
/src/Resource/js/mekaeils-package/assets/scss/material-kit/_tabs.scss:
--------------------------------------------------------------------------------
1 | .md-tabs-navigation{
2 | @include shadow-big();
3 | margin: -50px -15px 0 -15px;
4 | border-radius: $border-radius-base;
5 | padding: $padding-base + 1 $padding-base $padding-base + 1 75px;
6 | background-color: $gray-color;
7 | overflow: auto;
8 |
9 | .md-icon-label .md-button-content{
10 | flex-direction: row;
11 | }
12 |
13 | & + .md-tabs-content{
14 | .md-checkbox.md-checked .md-checkbox-container:after{
15 | top: 0px;
16 | left: 5px;
17 | }
18 | .md-tab {
19 | text-align: center;
20 | }
21 | }
22 |
23 | .no-label & {
24 | padding-left: 15px;
25 | }
26 |
27 |
28 | .md-button,
29 | .md-button:hover,
30 | .md-button:focus,
31 | .md-button:active {
32 | background-color: transparent !important;
33 | box-shadow: none;
34 | }
35 |
36 | .md-active,
37 | .md-active:hover,
38 | .md-active:focus{
39 | background-color: rgba(255, 255, 255, 0.2) !important;
40 | box-shadow: none;
41 | }
42 |
43 | .md-button{
44 | height: auto;
45 | border-radius: 3px;
46 | font-weight: 500;
47 | line-height: 24px;
48 | text-transform: uppercase;
49 | font-size: 12px;
50 |
51 | &:not(:last-child){
52 | margin-right: 5px;
53 | }
54 |
55 | .md-tab-icon + .md-tab-label{
56 | margin-top: 0px;
57 | margin-left: 7px;
58 | }
59 |
60 | .md-ripple{
61 | padding: 10px 15px !important;
62 | }
63 | }
64 | }
65 |
66 | .md-tabs-indicator{
67 | display: none;
68 | }
69 |
70 | .md-nav-tabs-title{
71 | position: absolute;
72 | z-index: 9999;
73 | top: 6px;
74 | color: white;
75 | font-size: initial;
76 | margin-left: 15px;
77 | }
78 |
79 | .md-tab{
80 | padding: 15px 0 0 0;
81 | }
82 |
83 | .md-card-nav-tabs.md-card-plain {
84 | .md-content.md-theme-default {
85 | background-color: transparent;
86 | }
87 | }
88 |
--------------------------------------------------------------------------------
/src/Resource/js/mekaeils-package/assets/scss/material-kit/_togglebutton.scss:
--------------------------------------------------------------------------------
1 | .md-switch .md-switch-thumb .md-ripple,
2 | .md-switch .md-switch-thumb:before {
3 | overflow: hidden;
4 | }
5 |
6 | .md-switch {
7 | display: flex;
8 | margin: 0;
9 |
10 | .md-switch-label {
11 | color: rgba(0,0,0,.26);
12 | font-size: 14px;
13 | line-height: 1.42857;
14 | font-weight: 400;
15 | margin-bottom: .5rem;
16 | }
17 |
18 | .md-switch-container{
19 | background-color: rgba(80,80,80,.7) !important;
20 | }
21 |
22 | .md-switch-thumb {
23 | background-color: $white-color !important;
24 | border: 1px solid rgba(0,0,0,.54);
25 | box-shadow: 0 1px 3px 1px rgba(0,0,0,.4);
26 |
27 | .md-ripple .md-ripple-wave{
28 | background-color: rgba(0,0,0,.54) !important;
29 | }
30 | }
31 |
32 | &.md-checked {
33 | .md-switch-thumb {
34 | border: 1px solid $brand-primary;
35 |
36 | .md-ripple .md-ripple-wave{
37 | background-color: rgba(156,39,176,.7) !important;
38 | }
39 | }
40 |
41 | .md-switch-container {
42 | background-color: rgba(156,39,176,.7) !important;
43 | }
44 | }
45 | }
46 |
--------------------------------------------------------------------------------
/src/Resource/js/mekaeils-package/assets/scss/material-kit/_typography.scss:
--------------------------------------------------------------------------------
1 | body, h1, h2, h3, h4, h5, h6, .h1, .h2, .h3, .h4 {
2 | font-family: $font-family-sans-serif;
3 | font-weight: 300;
4 | }
5 |
6 | h1,h2,h3,.h1,.h2,.h3{
7 | margin-top: 20px;
8 | margin-bottom: 10px;
9 | }
10 |
11 | h4,h5,h6,.h4,.h5,.h6{
12 | margin-top: 10px;
13 | margin-bottom: 10px;
14 | }
15 |
16 | h1, .h1 {
17 | font-size: $font-size-h1;
18 | line-height: 1.15em;
19 | }
20 | h2, .h2{
21 | font-size: $font-size-h2;
22 | line-height: 1.5em;
23 | }
24 | h3, .h3{
25 | font-size: $font-size-h3;
26 | line-height: 1.4em;
27 | }
28 | h4, .h4{
29 | font-size: $font-size-h4;
30 | line-height: 1.5em;
31 | }
32 | h5, .h5 {
33 | font-size: $font-size-h5;
34 | line-height: 1.55em;
35 | margin-bottom: 15px;
36 | }
37 | h6, .h6{
38 | font-size: $font-size-h6;
39 | text-transform: uppercase;
40 | font-weight: $font-weight-bold;
41 | }
42 |
43 | p{
44 | font-size: $font-paragraph;
45 | margin: 0 0 10px;
46 | }
47 |
48 | h2.title{
49 | margin-bottom: $margin-base * 2;
50 | }
51 |
52 | .title,
53 | .card-title,
54 | .info-title,
55 | .footer-brand,
56 | .footer-big h5,
57 | .footer-big h4,
58 | .media .media-heading{
59 | font-weight: $font-weight-extra-bold;
60 | font-family: $font-family-serif;
61 |
62 | &,
63 | a{
64 | color: $black-color;
65 | text-decoration: none;
66 | }
67 | }
68 |
69 | .description,
70 | .card-description,
71 | .footer-big p{
72 | color: $gray-light;
73 | }
74 |
75 | .text-warning {
76 | color: $brand-warning !important;
77 | }
78 | .text-primary {
79 | color: $brand-primary !important;
80 | }
81 | .text-danger {
82 | color: $brand-danger !important;
83 | }
84 | .text-success {
85 | color: $brand-success !important;
86 | }
87 | .text-info {
88 | color: $brand-info !important;
89 | }
90 | .text-gray{
91 | color: $gray-color !important;
92 | }
93 | .text-muted {
94 | color: #6c757d!important;
95 | }
96 |
--------------------------------------------------------------------------------
/src/Resource/js/mekaeils-package/assets/scss/material-kit/mixins/_transparency.scss:
--------------------------------------------------------------------------------
1 | // Opacity
2 |
3 | @mixin opacity($opacity) {
4 | opacity: $opacity;
5 | // IE8 filter
6 | $opacity-ie: ($opacity * 100);
7 | filter: #{alpha(opacity=$opacity-ie)};
8 | }
9 |
10 | @mixin black-filter($opacity){
11 | top: 0;
12 | left: 0;
13 | height: 100%;
14 | width: 100%;
15 | position: absolute;
16 | background-color: rgba(17,17,17,$opacity);
17 | display: block;
18 | content: "";
19 | z-index: 1;
20 | }
--------------------------------------------------------------------------------
/src/Resource/js/mekaeils-package/layout/MainFooter.vue:
--------------------------------------------------------------------------------
1 |
2 |
39 |
40 |
53 |
54 |
--------------------------------------------------------------------------------
/src/Resource/js/mekaeils-package/layout/MobileMenu.vue:
--------------------------------------------------------------------------------
1 |
2 |
8 |
9 |
10 |
21 |
--------------------------------------------------------------------------------
/src/Resource/js/mekaeils-package/main.js:
--------------------------------------------------------------------------------
1 | // =========================================================
2 | // * Vue Material Kit - v1.2.0
3 | // =========================================================
4 | //
5 | // * Product Page: https://www.creative-tim.com/product/vue-material-kit
6 | // * Copyright 2019 Creative Tim (https://www.creative-tim.com)
7 | // * Licensed under MIT (https://github.com/creativetimofficial/vue-material-kit/blob/master/LICENSE.md)
8 | //
9 | // * Coded by Creative Tim
10 | //
11 | // =========================================================
12 | //
13 | // * The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
14 |
15 | import Vue from "vue";
16 | import Router from "./router";
17 |
18 | import MaterialKit from "./plugins/material-kit";
19 | Vue.use(MaterialKit);
20 |
21 | Vue.config.productionTip = false;
22 |
23 | const NavbarStore = {
24 | showNavbar: false
25 | };
26 |
27 | Vue.mixin({
28 | data() {
29 | return {
30 | NavbarStore
31 | };
32 | }
33 | });
34 |
35 | const app = new Vue({
36 | router: Router
37 | }).$mount('#app')
--------------------------------------------------------------------------------
/src/Resource/js/mekaeils-package/plugins/globalComponents.js:
--------------------------------------------------------------------------------
1 | import { DropDown } from "../views/components/Widgets";
2 | import { Parallax } from "../views/components/Widgets";
3 | import { VPopover } from "v-tooltip";
4 | /**
5 | * You can register global components here and use them as a plugin in your main Vue instance
6 | */
7 |
8 | const GlobalComponents = {
9 | install(Vue) {
10 | Vue.component("drop-down", DropDown);
11 | Vue.component(Parallax.name, Parallax);
12 | Vue.component("v-popover", VPopover);
13 | }
14 | };
15 |
16 | export default GlobalComponents;
17 |
--------------------------------------------------------------------------------
/src/Resource/js/mekaeils-package/plugins/globalDirectives.js:
--------------------------------------------------------------------------------
1 | import { directive as vClickOutside } from "vue-clickaway";
2 |
3 | /**
4 | * You can register global components here and use them as a plugin in your main Vue instance
5 | */
6 |
7 | const GlobalDirectives = {
8 | install(Vue) {
9 | Vue.directive("click-outside", vClickOutside);
10 | }
11 | };
12 |
13 | export default GlobalDirectives;
14 |
--------------------------------------------------------------------------------
/src/Resource/js/mekaeils-package/plugins/globalMixins.js:
--------------------------------------------------------------------------------
1 | /**
2 | * You can register global mixins here
3 | */
4 |
5 | const GlobalMixins = {
6 | install(Vue) {
7 | Vue.mixin({
8 | mounted() {
9 | let { bodyClass } = this.$options;
10 | if (bodyClass) {
11 | document.body.classList.add(bodyClass);
12 | }
13 | },
14 | beforeDestroy() {
15 | let { bodyClass } = this.$options;
16 | if (bodyClass) {
17 | document.body.classList.remove(bodyClass);
18 | }
19 | }
20 | });
21 | }
22 | };
23 |
24 | export default GlobalMixins;
25 |
--------------------------------------------------------------------------------
/src/Resource/js/mekaeils-package/plugins/material-kit.js:
--------------------------------------------------------------------------------
1 | import VueMaterial from "vue-material";
2 | import "vue-material/dist/vue-material.min.css";
3 | import "../assets/scss/material-kit.scss";
4 | import "../assets/demo.css";
5 | import globalDirectives from "./globalDirectives";
6 | import globalMixins from "./globalMixins";
7 | import globalComponents from "./globalComponents";
8 | import VueLazyload from "vue-lazyload";
9 | import VueCarousel from "vue-carousel";
10 |
11 | export default {
12 | install(Vue) {
13 | Vue.use(VueMaterial);
14 | Vue.use(globalDirectives);
15 | Vue.use(globalMixins);
16 | Vue.use(globalComponents);
17 | Vue.use(VueCarousel);
18 | Vue.use(VueLazyload, {
19 | observer: true,
20 | // optional
21 | observerOptions: {
22 | rootMargin: "0px",
23 | threshold: 0.1
24 | }
25 | });
26 | }
27 | };
28 |
--------------------------------------------------------------------------------
/src/Resource/js/mekaeils-package/router.js:
--------------------------------------------------------------------------------
1 | import Vue from "vue";
2 | import Router from "vue-router";
3 | import MaterialKit from "./views/Index.vue";
4 | import Index from "./views/App.vue";
5 | import Landing from "./views/Landing.vue";
6 | import Login from "./views/Login.vue";
7 | import Register from "./views/Register.vue";
8 | import Profile from "./views/Profile.vue";
9 | import MainNavbar from "./layout/MainNavbar.vue";
10 | import MainFooter from "./layout/MainFooter.vue";
11 |
12 | Vue.use(Router);
13 |
14 | // 2. Define some routes
15 | const routes = [
16 | {
17 | path: "/",
18 | name: "index",
19 | components: { default: Index, header: MainNavbar, footer: MainFooter },
20 | props: {
21 | header: { colorOnScroll: 400 },
22 | footer: { backgroundColor: "black" }
23 | }
24 | },
25 | {
26 | path: "/material-kit",
27 | name: "materialKit",
28 | components: { default: MaterialKit, header: MainNavbar, footer: MainFooter },
29 | props: {
30 | header: { colorOnScroll: 400 },
31 | footer: { backgroundColor: "black" }
32 | }
33 | },
34 | {
35 | path: "/landing",
36 | name: "landing",
37 | components: { default: Landing, header: MainNavbar, footer: MainFooter },
38 | props: {
39 | header: { colorOnScroll: 400 },
40 | footer: { backgroundColor: "black" }
41 | }
42 | },
43 | {
44 | path: "/users/login",
45 | name: "login",
46 | components: { default: Login, header: MainNavbar, footer: MainFooter },
47 | props: {
48 | header: { colorOnScroll: 400 }
49 | }
50 | },
51 | {
52 | path: "/users/register",
53 | name: "register",
54 | components: { default: Register, header: MainNavbar, footer: MainFooter },
55 | },
56 | {
57 | path: "/profile",
58 | name: "profile",
59 | components: { default: Profile, header: MainNavbar, footer: MainFooter },
60 | props: {
61 | header: { colorOnScroll: 400 },
62 | footer: { backgroundColor: "black" }
63 | }
64 | }
65 | ];
66 |
67 | // 3. Create the router instance and pass the `routes` option
68 | export default new Router({
69 | routes : routes,
70 | scrollBehavior: to => {
71 | if (to.hash) {
72 | return { selector: to.hash };
73 | } else {
74 | return { x: 0, y: 0 };
75 | }
76 | }
77 | });
78 |
79 |
--------------------------------------------------------------------------------
/src/Resource/js/mekaeils-package/views/App.vue:
--------------------------------------------------------------------------------
1 |
2 |
12 |
13 |
14 |
15 |
24 |
--------------------------------------------------------------------------------
/src/Resource/js/mekaeils-package/views/Login.vue:
--------------------------------------------------------------------------------
1 |
2 |
3 |
52 |
53 |
54 |
55 |
85 |
86 |
87 |
--------------------------------------------------------------------------------
/src/Resource/js/mekaeils-package/views/Register.vue:
--------------------------------------------------------------------------------
1 |
2 |
3 |
56 |
57 |
58 |
59 |
89 |
90 |
91 |
--------------------------------------------------------------------------------
/src/Resource/js/mekaeils-package/views/components/LaravelUserManagement.vue:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 | Laravel User Management Package
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 | Login Page
16 |
17 |
18 |
19 |
20 |
21 |
22 | Register Page
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
32 | Material Kit Demo
33 |
34 |
35 |
36 |
37 |
Landing Page
38 | |
39 |
Profile Page
40 |
41 |
42 |
43 |
44 |
45 |
46 |
47 |
48 | info_outline
49 |
50 |
IMPORTANT!
51 | All of the features for this theme available and you can use and create other pages with this theme. we don't delete other sections.
52 | If you want to use, it's an easy way of using it and will save your time.
53 | If you don't need another pages you can delete other pages and just take pages you want to use.
54 |
55 |
56 |
57 |
63 |
64 |
65 |
66 |
67 |
68 |
--------------------------------------------------------------------------------
/src/Resource/js/mekaeils-package/views/components/NavPillsSection.vue:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
Navigation Pills
6 |
7 |
8 |
With Icons
9 |
10 |
11 |
12 |
19 |
20 |
21 | Collaboratively administrate empowered markets via plug-and-play
22 | networks. Dynamically procrastinate B2C users after installed base
23 | benefits.
24 |
25 | Dramatically visualize customer directed convergence without
26 | revolutionary ROI.
27 |
28 |
29 | Efficiently unleash cross-media information without cross-media
30 | value. Quickly maximize timely deliverables for real-time schemas.
31 |
32 | Dramatically maintain clicks-and-mortar solutions without
33 | functional solutions.
34 |
35 |
36 | Completely synergize resource taxing relationships via premier
37 | niche markets. Professionally cultivate one-to-one customer
38 | service with robust ideas.
39 |
40 | Dynamically innovate resource-leveling customer service for state
41 | of the art customer service.
42 |
43 |
44 |
45 |
46 |
54 |
55 |
56 | Collaboratively administrate empowered markets via plug-and-play
57 | networks. Dynamically procrastinate B2C users after installed base
58 | benefits.
59 |
60 | Dramatically visualize customer directed convergence without
61 | revolutionary ROI.
62 |
63 |
64 | Efficiently unleash cross-media information without cross-media
65 | value. Quickly maximize timely deliverables for real-time schemas.
66 |
67 | Dramatically maintain clicks-and-mortar solutions without
68 | functional solutions.
69 |
70 |
71 |
72 |
73 |
74 |
75 |
76 |
77 |
86 |
87 |
88 |
--------------------------------------------------------------------------------
/src/Resource/js/mekaeils-package/views/components/NotificationsSection.vue:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
removeNotify(event, 'alert-info')"
11 | >
12 | clear
13 |
14 |
15 | info_outline
16 |
17 |
INFO ALERT : You've got some friends nearby, stop looking at
18 | your phone and find them...
19 |
20 |
21 |
22 |
23 |
removeNotify(event, 'alert-success')"
28 | >
29 | clear
30 |
31 |
32 | check
33 |
34 |
35 |
SUCCESS ALERT : Yuhuuu! You've got your $11.99 album from The
36 | Weeknd
37 |
38 |
39 |
40 |
41 |
removeNotify(event, 'alert-warning')"
46 | >
47 | clear
48 |
49 |
50 | warning
51 |
52 |
WARNING ALERT : Hey, it looks like you still have the
53 | "copyright © 2015" in your footer. Please update it!
54 |
55 |
56 |
57 |
58 |
removeNotify(event, 'alert-danger')"
63 | >
64 | clear
65 |
66 |
67 | info_outline
68 |
69 |
ERROR ALERT : Damn man! You screwed up the server this time.
70 | You should find a good excuse for your Boss...
71 |
72 |
73 |
74 |
75 |
76 |
77 |
90 |
91 |
92 |
--------------------------------------------------------------------------------
/src/Resource/js/mekaeils-package/views/components/Widgets/Badge.vue:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
33 |
34 |
--------------------------------------------------------------------------------
/src/Resource/js/mekaeils-package/views/components/Widgets/Dropdown.vue:
--------------------------------------------------------------------------------
1 |
2 |
23 |
24 |
58 |
--------------------------------------------------------------------------------
/src/Resource/js/mekaeils-package/views/components/Widgets/Modal.vue:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
9 |
10 |
11 |
12 |
13 |
14 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
33 |
34 |
58 |
--------------------------------------------------------------------------------
/src/Resource/js/mekaeils-package/views/components/Widgets/Parallax.vue:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
55 |
--------------------------------------------------------------------------------
/src/Resource/js/mekaeils-package/views/components/Widgets/Tabs.vue:
--------------------------------------------------------------------------------
1 |
2 |
10 |
11 |
12 |
13 |
14 |
23 | {{ tabName[index] }}
24 | {{ tabIcon[index] }}
25 |
26 |
27 |
28 |
29 |
30 |
36 |
37 | This is the default text!
38 |
39 |
40 |
41 |
42 |
43 |
44 |
45 |
46 |
80 |
81 |
82 |
--------------------------------------------------------------------------------
/src/Resource/js/mekaeils-package/views/components/Widgets/cards/LoginCard.vue:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
48 |
49 |
50 |
--------------------------------------------------------------------------------
/src/Resource/js/mekaeils-package/views/components/Widgets/cards/NavTabsCard.vue:
--------------------------------------------------------------------------------
1 |
2 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
21 |
--------------------------------------------------------------------------------
/src/Resource/js/mekaeils-package/views/components/Widgets/index.js:
--------------------------------------------------------------------------------
1 | import DropDown from "./Dropdown.vue";
2 | import Parallax from "./Parallax.vue";
3 | import Pagination from "./Pagination.vue";
4 | import Badge from "./Badge.vue";
5 | import NavTabsCard from "./cards/NavTabsCard.vue";
6 | import LoginCard from "./cards/LoginCard.vue";
7 | import Tabs from "./Tabs.vue";
8 | import Modal from "./Modal.vue";
9 |
10 | export {
11 | DropDown,
12 | Parallax,
13 | Pagination,
14 | Badge,
15 | NavTabsCard,
16 | LoginCard,
17 | Tabs,
18 | Modal
19 | };
20 |
--------------------------------------------------------------------------------
/src/Resource/lang/en/trans.php:
--------------------------------------------------------------------------------
1 | 'Forgot password?',
6 | 'do_you_have_account' => 'Don\'t have an account?',
7 | 'create' => 'Create',
8 | 'keep_me_signin' => 'Keep me signed in',
9 | 'sign_in' => 'SIGN IN',
10 | 'sign_in_to_continue' => 'Sign in to continue.',
11 | 'get_start' => 'Hello! let\'s get started',
12 | 'new_here' => 'New here?',
13 | 'sign_up_title' => 'Signing up is easy. It only takes a few steps',
14 | 'login' => 'Login',
15 | 'have_account' => 'Already have an account?',
16 | 'sign_up' => 'SIGN UP',
17 |
18 | 'your_account_does_not_activated' => 'Your account does not activated!',
19 | 'username_or_password_wrong' => 'Your username or password is wrong!',
20 | 'something_is_wrong' => 'Something is wrong!',
21 | 'default_role_does_not_exist' => 'Ooops! Default role does not exist!',
22 | 'account_created_successfully' => 'Your account created successfully!',
23 |
24 | /// FORM PLACEHOLDERS TEXT
25 | 'placeholders' => [
26 |
27 | 'password' => 'Password',
28 | 'confirm_password' => 'Password Confirmation',
29 | 'username' => 'Your Email',
30 | 'first_name' => 'First Name',
31 | 'last_name' => 'Last Name',
32 |
33 | ]
34 |
35 | ];
--------------------------------------------------------------------------------
/src/Resource/views/mekaeils-package/layouts/alert.blade.php:
--------------------------------------------------------------------------------
1 |
2 | @if($errors->any())
3 |
4 |
5 | @foreach ($errors->all() as $error)
6 | {{ $error }}
7 | @endforeach
8 |
9 |
10 | @endif
11 |
12 | @if (\Session::has("message"))
13 |
14 | {!! \Session::get("message")['text'] !!}
15 |
16 | @endif
17 |
--------------------------------------------------------------------------------
/src/Resource/views/mekaeils-package/layouts/breadcrumb.blade.php:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/src/Resource/views/mekaeils-package/layouts/footer.blade.php:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 | @yield('footer')
13 |