Datagrid, storefront

This commit is contained in:
prashant-webkul 2018-07-12 12:42:48 +05:30
parent a20c5daaab
commit 8e959dcbe1
97 changed files with 71408 additions and 1943 deletions

View File

@ -1,7 +1,10 @@
{
"name": "jitendra-webkul/bagisto",
"description": "The Laravel Framework.",
"keywords": ["framework", "laravel"],
"keywords": [
"framework",
"laravel"
],
"license": "MIT",
"type": "project",
"require": {
@ -39,6 +42,7 @@
"Webkul\\Admin\\": "packages/Webkul/Admin/src",
"Webkul\\Ui\\": "packages/Webkul/Ui/src",
"Webkul\\Attribute\\": "packages/Webkul/Attribute/src",
"Webkul\\Shop\\": "packages/Webkul/Shop/src",
"Webkul\\Core\\": "packages/Webkul/Core/src"
}
},
@ -49,8 +53,7 @@
},
"extra": {
"laravel": {
"dont-discover": [
]
"dont-discover": []
}
},
"scripts": {

212
composer.lock generated
View File

@ -4,7 +4,7 @@
"Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies",
"This file is @generated automatically"
],
"content-hash": "1cfe5a0cb070df958cccb486627d42f2",
"content-hash": "e246cc7d779ef4098f86e289fe65a215",
"packages": [
{
"name": "commerceguys/intl",
@ -619,16 +619,16 @@
},
{
"name": "laravel/framework",
"version": "v5.6.24",
"version": "v5.6.27",
"source": {
"type": "git",
"url": "https://github.com/laravel/framework.git",
"reference": "56290edeb0d8051826d40b4cbd8ed3c30348b2b5"
"reference": "2fe661f2444410a576aa40054ad9b7fe0bb5cee5"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/laravel/framework/zipball/56290edeb0d8051826d40b4cbd8ed3c30348b2b5",
"reference": "56290edeb0d8051826d40b4cbd8ed3c30348b2b5",
"url": "https://api.github.com/repos/laravel/framework/zipball/2fe661f2444410a576aa40054ad9b7fe0bb5cee5",
"reference": "2fe661f2444410a576aa40054ad9b7fe0bb5cee5",
"shasum": ""
},
"require": {
@ -754,7 +754,7 @@
"framework",
"laravel"
],
"time": "2018-06-04T14:51:03+00:00"
"time": "2018-07-10T13:47:01+00:00"
},
{
"name": "laravel/tinker",
@ -1087,16 +1087,16 @@
},
{
"name": "nwidart/laravel-modules",
"version": "3.2.1",
"version": "3.3.0",
"source": {
"type": "git",
"url": "https://github.com/nWidart/laravel-modules.git",
"reference": "5250efef2505c47687ebe4c0368a4f0cd01c84ef"
"reference": "6e27f17ebf27c07bc6aeb83d5cc5a547cfa0c204"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/nWidart/laravel-modules/zipball/5250efef2505c47687ebe4c0368a4f0cd01c84ef",
"reference": "5250efef2505c47687ebe4c0368a4f0cd01c84ef",
"url": "https://api.github.com/repos/nWidart/laravel-modules/zipball/6e27f17ebf27c07bc6aeb83d5cc5a547cfa0c204",
"reference": "6e27f17ebf27c07bc6aeb83d5cc5a547cfa0c204",
"shasum": ""
},
"require": {
@ -1153,20 +1153,20 @@
"nwidart",
"rad"
],
"time": "2018-04-16T17:35:14+00:00"
"time": "2018-06-21T17:40:05+00:00"
},
{
"name": "paragonie/random_compat",
"version": "v2.0.15",
"version": "v2.0.17",
"source": {
"type": "git",
"url": "https://github.com/paragonie/random_compat.git",
"reference": "10bcb46e8f3d365170f6de9d05245aa066b81f09"
"reference": "29af24f25bab834fcbb38ad2a69fa93b867e070d"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/paragonie/random_compat/zipball/10bcb46e8f3d365170f6de9d05245aa066b81f09",
"reference": "10bcb46e8f3d365170f6de9d05245aa066b81f09",
"url": "https://api.github.com/repos/paragonie/random_compat/zipball/29af24f25bab834fcbb38ad2a69fa93b867e070d",
"reference": "29af24f25bab834fcbb38ad2a69fa93b867e070d",
"shasum": ""
},
"require": {
@ -1202,7 +1202,7 @@
"pseudorandom",
"random"
],
"time": "2018-06-08T15:26:40+00:00"
"time": "2018-07-04T16:31:37+00:00"
},
{
"name": "propaganistas/laravel-intl",
@ -1634,16 +1634,16 @@
},
{
"name": "swiftmailer/swiftmailer",
"version": "v6.0.2",
"version": "v6.1.1",
"source": {
"type": "git",
"url": "https://github.com/swiftmailer/swiftmailer.git",
"reference": "412333372fb6c8ffb65496a2bbd7321af75733fc"
"reference": "aa899fef280b1c1aec8d5d4ac069af7f80c89a23"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/swiftmailer/swiftmailer/zipball/412333372fb6c8ffb65496a2bbd7321af75733fc",
"reference": "412333372fb6c8ffb65496a2bbd7321af75733fc",
"url": "https://api.github.com/repos/swiftmailer/swiftmailer/zipball/aa899fef280b1c1aec8d5d4ac069af7f80c89a23",
"reference": "aa899fef280b1c1aec8d5d4ac069af7f80c89a23",
"shasum": ""
},
"require": {
@ -1654,10 +1654,14 @@
"mockery/mockery": "~0.9.1",
"symfony/phpunit-bridge": "~3.3@dev"
},
"suggest": {
"ext-intl": "Needed to support internationalized email addresses",
"true/punycode": "Needed to support internationalized email addresses, if ext-intl is not installed"
},
"type": "library",
"extra": {
"branch-alias": {
"dev-master": "6.0-dev"
"dev-master": "6.1-dev"
}
},
"autoload": {
@ -1679,26 +1683,26 @@
}
],
"description": "Swiftmailer, free feature-rich PHP mailer",
"homepage": "http://swiftmailer.symfony.com",
"homepage": "https://swiftmailer.symfony.com",
"keywords": [
"email",
"mail",
"mailer"
],
"time": "2017-09-30T22:39:41+00:00"
"time": "2018-07-04T11:12:44+00:00"
},
{
"name": "symfony/console",
"version": "v4.1.0",
"version": "v4.1.1",
"source": {
"type": "git",
"url": "https://github.com/symfony/console.git",
"reference": "2d5d973bf9933d46802b01010bd25c800c87c242"
"reference": "70591cda56b4b47c55776ac78e157c4bb6c8b43f"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/symfony/console/zipball/2d5d973bf9933d46802b01010bd25c800c87c242",
"reference": "2d5d973bf9933d46802b01010bd25c800c87c242",
"url": "https://api.github.com/repos/symfony/console/zipball/70591cda56b4b47c55776ac78e157c4bb6c8b43f",
"reference": "70591cda56b4b47c55776ac78e157c4bb6c8b43f",
"shasum": ""
},
"require": {
@ -1753,11 +1757,11 @@
],
"description": "Symfony Console Component",
"homepage": "https://symfony.com",
"time": "2018-05-30T07:26:09+00:00"
"time": "2018-05-31T10:17:53+00:00"
},
{
"name": "symfony/css-selector",
"version": "v4.1.0",
"version": "v4.1.1",
"source": {
"type": "git",
"url": "https://github.com/symfony/css-selector.git",
@ -1810,16 +1814,16 @@
},
{
"name": "symfony/debug",
"version": "v4.1.0",
"version": "v4.1.1",
"source": {
"type": "git",
"url": "https://github.com/symfony/debug.git",
"reference": "449f8b00b28ab6e6912c3e6b920406143b27193b"
"reference": "dbe0fad88046a755dcf9379f2964c61a02f5ae3d"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/symfony/debug/zipball/449f8b00b28ab6e6912c3e6b920406143b27193b",
"reference": "449f8b00b28ab6e6912c3e6b920406143b27193b",
"url": "https://api.github.com/repos/symfony/debug/zipball/dbe0fad88046a755dcf9379f2964c61a02f5ae3d",
"reference": "dbe0fad88046a755dcf9379f2964c61a02f5ae3d",
"shasum": ""
},
"require": {
@ -1862,11 +1866,11 @@
],
"description": "Symfony Debug Component",
"homepage": "https://symfony.com",
"time": "2018-05-16T14:33:22+00:00"
"time": "2018-06-08T09:39:36+00:00"
},
{
"name": "symfony/event-dispatcher",
"version": "v4.1.0",
"version": "v4.1.1",
"source": {
"type": "git",
"url": "https://github.com/symfony/event-dispatcher.git",
@ -1929,16 +1933,16 @@
},
{
"name": "symfony/finder",
"version": "v4.1.0",
"version": "v4.1.1",
"source": {
"type": "git",
"url": "https://github.com/symfony/finder.git",
"reference": "087e2ee0d74464a4c6baac4e90417db7477dc238"
"reference": "84714b8417d19e4ba02ea78a41a975b3efaafddb"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/symfony/finder/zipball/087e2ee0d74464a4c6baac4e90417db7477dc238",
"reference": "087e2ee0d74464a4c6baac4e90417db7477dc238",
"url": "https://api.github.com/repos/symfony/finder/zipball/84714b8417d19e4ba02ea78a41a975b3efaafddb",
"reference": "84714b8417d19e4ba02ea78a41a975b3efaafddb",
"shasum": ""
},
"require": {
@ -1974,20 +1978,20 @@
],
"description": "Symfony Finder Component",
"homepage": "https://symfony.com",
"time": "2018-05-16T14:33:22+00:00"
"time": "2018-06-19T21:38:16+00:00"
},
{
"name": "symfony/http-foundation",
"version": "v4.1.0",
"version": "v4.1.1",
"source": {
"type": "git",
"url": "https://github.com/symfony/http-foundation.git",
"reference": "a916c88390fb861ee21f12a92b107d51bb68af99"
"reference": "4f9c7cf962e635b0b26b14500ac046e07dbef7f3"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/symfony/http-foundation/zipball/a916c88390fb861ee21f12a92b107d51bb68af99",
"reference": "a916c88390fb861ee21f12a92b107d51bb68af99",
"url": "https://api.github.com/repos/symfony/http-foundation/zipball/4f9c7cf962e635b0b26b14500ac046e07dbef7f3",
"reference": "4f9c7cf962e635b0b26b14500ac046e07dbef7f3",
"shasum": ""
},
"require": {
@ -2028,20 +2032,20 @@
],
"description": "Symfony HttpFoundation Component",
"homepage": "https://symfony.com",
"time": "2018-05-25T14:55:38+00:00"
"time": "2018-06-19T21:38:16+00:00"
},
{
"name": "symfony/http-kernel",
"version": "v4.1.0",
"version": "v4.1.1",
"source": {
"type": "git",
"url": "https://github.com/symfony/http-kernel.git",
"reference": "b5ab9d4cdbfd369083744b6b5dfbf454e31e5f90"
"reference": "29c094a1c4f8209b7e033f612cbbd69029e38955"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/symfony/http-kernel/zipball/b5ab9d4cdbfd369083744b6b5dfbf454e31e5f90",
"reference": "b5ab9d4cdbfd369083744b6b5dfbf454e31e5f90",
"url": "https://api.github.com/repos/symfony/http-kernel/zipball/29c094a1c4f8209b7e033f612cbbd69029e38955",
"reference": "29c094a1c4f8209b7e033f612cbbd69029e38955",
"shasum": ""
},
"require": {
@ -2049,13 +2053,13 @@
"psr/log": "~1.0",
"symfony/debug": "~3.4|~4.0",
"symfony/event-dispatcher": "~4.1",
"symfony/http-foundation": "~4.1",
"symfony/http-foundation": "^4.1.1",
"symfony/polyfill-ctype": "~1.8"
},
"conflict": {
"symfony/config": "<3.4",
"symfony/dependency-injection": "<4.1",
"symfony/var-dumper": "<4.1",
"symfony/var-dumper": "<4.1.1",
"twig/twig": "<1.34|<2.4,>=2"
},
"provide": {
@ -2076,7 +2080,7 @@
"symfony/stopwatch": "~3.4|~4.0",
"symfony/templating": "~3.4|~4.0",
"symfony/translation": "~3.4|~4.0",
"symfony/var-dumper": "~4.1"
"symfony/var-dumper": "^4.1.1"
},
"suggest": {
"symfony/browser-kit": "",
@ -2115,7 +2119,7 @@
],
"description": "Symfony HttpKernel Component",
"homepage": "https://symfony.com",
"time": "2018-05-30T12:52:34+00:00"
"time": "2018-06-25T13:06:45+00:00"
},
{
"name": "symfony/polyfill-ctype",
@ -2288,16 +2292,16 @@
},
{
"name": "symfony/process",
"version": "v4.1.0",
"version": "v4.1.1",
"source": {
"type": "git",
"url": "https://github.com/symfony/process.git",
"reference": "73445bd33b0d337c060eef9652b94df72b6b3434"
"reference": "1d1677391ecf00d1c5b9482d6050c0c27aa3ac3a"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/symfony/process/zipball/73445bd33b0d337c060eef9652b94df72b6b3434",
"reference": "73445bd33b0d337c060eef9652b94df72b6b3434",
"url": "https://api.github.com/repos/symfony/process/zipball/1d1677391ecf00d1c5b9482d6050c0c27aa3ac3a",
"reference": "1d1677391ecf00d1c5b9482d6050c0c27aa3ac3a",
"shasum": ""
},
"require": {
@ -2333,20 +2337,20 @@
],
"description": "Symfony Process Component",
"homepage": "https://symfony.com",
"time": "2018-05-30T07:26:09+00:00"
"time": "2018-05-31T10:17:53+00:00"
},
{
"name": "symfony/routing",
"version": "v4.1.0",
"version": "v4.1.1",
"source": {
"type": "git",
"url": "https://github.com/symfony/routing.git",
"reference": "180b51c66d10f09e562c9ebc395b39aacb2cf8a2"
"reference": "b38b9797327b26ea2e4146a40e6e2dc9820a6932"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/symfony/routing/zipball/180b51c66d10f09e562c9ebc395b39aacb2cf8a2",
"reference": "180b51c66d10f09e562c9ebc395b39aacb2cf8a2",
"url": "https://api.github.com/repos/symfony/routing/zipball/b38b9797327b26ea2e4146a40e6e2dc9820a6932",
"reference": "b38b9797327b26ea2e4146a40e6e2dc9820a6932",
"shasum": ""
},
"require": {
@ -2359,7 +2363,6 @@
},
"require-dev": {
"doctrine/annotations": "~1.0",
"doctrine/common": "~2.2",
"psr/log": "~1.0",
"symfony/config": "~3.4|~4.0",
"symfony/dependency-injection": "~3.4|~4.0",
@ -2411,20 +2414,20 @@
"uri",
"url"
],
"time": "2018-05-30T07:26:09+00:00"
"time": "2018-06-19T21:38:16+00:00"
},
{
"name": "symfony/translation",
"version": "v4.1.0",
"version": "v4.1.1",
"source": {
"type": "git",
"url": "https://github.com/symfony/translation.git",
"reference": "16328f5b217cebc8dd4adfe4aeeaa8c377581f5a"
"reference": "b6d8164085ee0b6debcd1b7a131fd6f63bb04854"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/symfony/translation/zipball/16328f5b217cebc8dd4adfe4aeeaa8c377581f5a",
"reference": "16328f5b217cebc8dd4adfe4aeeaa8c377581f5a",
"url": "https://api.github.com/repos/symfony/translation/zipball/b6d8164085ee0b6debcd1b7a131fd6f63bb04854",
"reference": "b6d8164085ee0b6debcd1b7a131fd6f63bb04854",
"shasum": ""
},
"require": {
@ -2480,20 +2483,20 @@
],
"description": "Symfony Translation Component",
"homepage": "https://symfony.com",
"time": "2018-05-30T07:26:09+00:00"
"time": "2018-06-22T08:59:39+00:00"
},
{
"name": "symfony/var-dumper",
"version": "v4.1.0",
"version": "v4.1.1",
"source": {
"type": "git",
"url": "https://github.com/symfony/var-dumper.git",
"reference": "bc88ad53e825ebacc7b190bbd360781fce381c64"
"reference": "b2eebaec085d1f2cafbad7644733d494a3bbbc9b"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/symfony/var-dumper/zipball/bc88ad53e825ebacc7b190bbd360781fce381c64",
"reference": "bc88ad53e825ebacc7b190bbd360781fce381c64",
"url": "https://api.github.com/repos/symfony/var-dumper/zipball/b2eebaec085d1f2cafbad7644733d494a3bbbc9b",
"reference": "b2eebaec085d1f2cafbad7644733d494a3bbbc9b",
"shasum": ""
},
"require": {
@ -2555,7 +2558,7 @@
"debug",
"dump"
],
"time": "2018-04-29T07:56:09+00:00"
"time": "2018-06-23T12:23:56+00:00"
},
{
"name": "tijsverkoyen/css-to-inline-styles",
@ -2683,28 +2686,28 @@
},
{
"name": "vlucas/phpdotenv",
"version": "v2.4.0",
"version": "v2.5.0",
"source": {
"type": "git",
"url": "https://github.com/vlucas/phpdotenv.git",
"reference": "3cc116adbe4b11be5ec557bf1d24dc5e3a21d18c"
"reference": "6ae3e2e6494bb5e58c2decadafc3de7f1453f70a"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/vlucas/phpdotenv/zipball/3cc116adbe4b11be5ec557bf1d24dc5e3a21d18c",
"reference": "3cc116adbe4b11be5ec557bf1d24dc5e3a21d18c",
"url": "https://api.github.com/repos/vlucas/phpdotenv/zipball/6ae3e2e6494bb5e58c2decadafc3de7f1453f70a",
"reference": "6ae3e2e6494bb5e58c2decadafc3de7f1453f70a",
"shasum": ""
},
"require": {
"php": ">=5.3.9"
},
"require-dev": {
"phpunit/phpunit": "^4.8 || ^5.0"
"phpunit/phpunit": "^4.8.35 || ^5.0"
},
"type": "library",
"extra": {
"branch-alias": {
"dev-master": "2.4-dev"
"dev-master": "2.5-dev"
}
},
"autoload": {
@ -2714,7 +2717,7 @@
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"BSD-3-Clause-Attribution"
"BSD-3-Clause"
],
"authors": [
{
@ -2729,7 +2732,7 @@
"env",
"environment"
],
"time": "2016-09-01T10:05:43+00:00"
"time": "2018-07-01T10:25:50+00:00"
}
],
"packages-dev": [
@ -3143,16 +3146,16 @@
},
{
"name": "myclabs/deep-copy",
"version": "1.8.0",
"version": "1.8.1",
"source": {
"type": "git",
"url": "https://github.com/myclabs/DeepCopy.git",
"reference": "478465659fd987669df0bd8a9bf22a8710e5f1b6"
"reference": "3e01bdad3e18354c3dce54466b7fbe33a9f9f7f8"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/myclabs/DeepCopy/zipball/478465659fd987669df0bd8a9bf22a8710e5f1b6",
"reference": "478465659fd987669df0bd8a9bf22a8710e5f1b6",
"url": "https://api.github.com/repos/myclabs/DeepCopy/zipball/3e01bdad3e18354c3dce54466b7fbe33a9f9f7f8",
"reference": "3e01bdad3e18354c3dce54466b7fbe33a9f9f7f8",
"shasum": ""
},
"require": {
@ -3187,20 +3190,20 @@
"object",
"object graph"
],
"time": "2018-05-29T17:25:09+00:00"
"time": "2018-06-11T23:09:50+00:00"
},
{
"name": "nunomaduro/collision",
"version": "v2.0.2",
"version": "v2.0.3",
"source": {
"type": "git",
"url": "https://github.com/nunomaduro/collision.git",
"reference": "245958b02c6a9edf24627380f368333ac5413a51"
"reference": "b1f606399ae77e9479b5597cd1aa3d8ea0078176"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/nunomaduro/collision/zipball/245958b02c6a9edf24627380f368333ac5413a51",
"reference": "245958b02c6a9edf24627380f368333ac5413a51",
"url": "https://api.github.com/repos/nunomaduro/collision/zipball/b1f606399ae77e9479b5597cd1aa3d8ea0078176",
"reference": "b1f606399ae77e9479b5597cd1aa3d8ea0078176",
"shasum": ""
},
"require": {
@ -3211,7 +3214,8 @@
},
"require-dev": {
"laravel/framework": "5.6.*",
"phpunit/phpunit": "~7.0"
"phpstan/phpstan": "^0.9.2",
"phpunit/phpunit": "~7.2"
},
"type": "library",
"extra": {
@ -3249,7 +3253,7 @@
"php",
"symfony"
],
"time": "2018-03-21T20:11:24+00:00"
"time": "2018-06-16T22:05:52+00:00"
},
{
"name": "phar-io/manifest",
@ -3819,16 +3823,16 @@
},
{
"name": "phpunit/phpunit",
"version": "7.2.4",
"version": "7.2.6",
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/phpunit.git",
"reference": "00bc0b93f0ff4f557e9ea766557fde96da9a03dd"
"reference": "400a3836ee549ae6f665323ac3f21e27eac7155f"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/00bc0b93f0ff4f557e9ea766557fde96da9a03dd",
"reference": "00bc0b93f0ff4f557e9ea766557fde96da9a03dd",
"url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/400a3836ee549ae6f665323ac3f21e27eac7155f",
"reference": "400a3836ee549ae6f665323ac3f21e27eac7155f",
"shasum": ""
},
"require": {
@ -3844,7 +3848,7 @@
"php": "^7.1",
"phpspec/prophecy": "^1.7",
"phpunit/php-code-coverage": "^6.0.7",
"phpunit/php-file-iterator": "^2.0",
"phpunit/php-file-iterator": "^2.0.1",
"phpunit/php-text-template": "^1.2.1",
"phpunit/php-timer": "^2.0",
"sebastian/comparator": "^3.0",
@ -3899,7 +3903,7 @@
"testing",
"xunit"
],
"time": "2018-06-05T03:40:05+00:00"
"time": "2018-06-21T13:13:39+00:00"
},
{
"name": "sebastian/code-unit-reverse-lookup",
@ -3948,16 +3952,16 @@
},
{
"name": "sebastian/comparator",
"version": "3.0.0",
"version": "3.0.1",
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/comparator.git",
"reference": "ed5fd2281113729f1ebcc64d101ad66028aeb3d5"
"reference": "591a30922f54656695e59b1f39501aec513403da"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/sebastianbergmann/comparator/zipball/ed5fd2281113729f1ebcc64d101ad66028aeb3d5",
"reference": "ed5fd2281113729f1ebcc64d101ad66028aeb3d5",
"url": "https://api.github.com/repos/sebastianbergmann/comparator/zipball/591a30922f54656695e59b1f39501aec513403da",
"reference": "591a30922f54656695e59b1f39501aec513403da",
"shasum": ""
},
"require": {
@ -4008,7 +4012,7 @@
"compare",
"equality"
],
"time": "2018-04-18T13:33:00+00:00"
"time": "2018-06-14T15:05:28+00:00"
},
{
"name": "sebastian/diff",

View File

@ -118,6 +118,13 @@ return [
| this array to grant expanded functionality to your applications.
|
*/
/*
Code Editor
*/
'editor' =>'vscode',
'providers' => [
@ -163,12 +170,13 @@ return [
App\Providers\EventServiceProvider::class,
App\Providers\RouteServiceProvider::class,
Webkul\User\Providers\UserServiceProvider::class,
Webkul\Admin\Providers\AdminServiceProvider::class,
Webkul\Ui\Providers\UiServiceProvider::class,
Webkul\Attribute\Providers\AttributeServiceProvider::class,
Webkul\Core\Providers\CoreServiceProvider::class
Webkul\Core\Providers\CoreServiceProvider::class,
Webkul\Shop\Providers\ShopServiceProvider::class
],
/*
@ -217,7 +225,6 @@ return [
'URL' => Illuminate\Support\Facades\URL::class,
'Validator' => Illuminate\Support\Facades\Validator::class,
'View' => Illuminate\Support\Facades\View::class,
'Datagrid' => Webkul\Ui\DataGrid\Facades\DataGrid::class
],

14128
packages/Webkul/Admin/package-lock.json generated Normal file

File diff suppressed because it is too large Load Diff

View File

@ -19,8 +19,20 @@ class DashboardController extends Controller
*
* @return \Illuminate\Http\Response
*/
protected $_config;
public function __construct()
{
$this->_config = request('_config');
}
public function index()
{
return view('admin::dashboard.index');
}
}
public function loadCatalog()
{
return view($this->_config['view']);
}
}

View File

@ -21,10 +21,57 @@ class DataGridController extends Controller
* @return \Illuminate\Http\Response
*/
public function index()
{
{
// DataGrid::make([
// 'name' => 'admin',
// 'select' => 'a.id',
// 'table' => 'admins as a',
// 'join' => [
// [
// 'join' => 'leftjoin',
// 'table' => 'roles as r',
// 'primaryKey' => 'a.role_id',
// 'condition' => '=',
// 'secondaryKey' => 'r.id',
// ]
// ],
// 'columns' => [
// [
// 'name' => 'a.id',
// 'type' => 'string',
// 'label' => 'Id',
// 'sortable' => true,
// 'filterable' => false,
// ],
// [
// 'name' => 'a.name',
// 'type' => 'string',
// 'label' => 'Name',
// 'sortable' => true,
// 'filterable' => true,
// // will create on run time query
// 'filter' => [
// 'function' => 'where', // andwhere
// 'condition' => ['a.name', '=', 'Admin'] // multiarray
// ],
// 'attributes' => [
// 'class' => 'class-a class-b',
// 'data-attr' => 'whatever you want',
// 'onclick' => "window.alert('alert from datagrid column')"
// ],
// 'wrapper' => function ($value, $object) {
// return '<a href="'.$value.'">' . $object->name . '</a>';
// },
// ]
// ],
// // 'css' => []
// ]);
//Make case without any aliasing or joins
DataGrid::make([
'name' => 'admin',
'select' => 'a.id',
'name' => 'admins',
// 'select' => 'a.id',
'table' => 'admins as a',
'join' => [
[
@ -32,36 +79,45 @@ class DataGridController extends Controller
'table' => 'roles as r',
'primaryKey' => 'a.role_id',
'condition' => '=',
'secondryKey' => 'r.id',
'secondaryKey' => 'r.id',
]
],
'columns' => [
[
'name' => 'a.id as aila',
'name' => 'a.id',
'type' => 'string',
'label' => 'Id',
'label' => 'Admin ID',
'sortable' => true,
'filterable' => true,
],
[
'name' => 'a.name',
'name' => 'a.email',
'type' => 'string',
'label' => 'Name',
'label' => 'Admin E-Mail',
'sortable' => true,
'filterable' => true,
],
[
'name' => 'r.name',
'type' => 'string',
'label' => 'Role Name',
'sortable' => true,
'filterable' => false,
// will create on run time query
// 'filter' => [
// 'function' => 'where', // andwhere
// 'condition' => ['u.user_id', '=', '1'] // multiarray
// 'function' => 'where', // orwhere
// 'condition' => ['name', '=', 'Admin'] // multiarray
// ],
'attributes' => [
'class' => 'class-a class-b',
'data-attr' => 'whatever you want',
'onclick' => "window.alert('alert from datagrid column')"
],
'wrapper' => function($value, $object){
'wrapper' => function ($value, $object) {
return '<a href="'.$value.'">' . $object->name . '</a>';
},
]
],
],
// 'css' => []
@ -69,9 +125,6 @@ class DataGridController extends Controller
$result = DataGrid::render();
// dump($result);
// dd('datagrid');
return $result;
}
}
}

View File

@ -0,0 +1,109 @@
<?php
namespace Webkul\Admin\Http\ViewComposers\DataGrids;
use Illuminate\View\View;
use Webkul\Ui\DataGrid\Facades\DataGrid;
// use App\Repositories\UserRepository;
class UserComposer
{
/**
* The user repository implementation.
*
* @var UserRepository
*/
protected $users;
/**
* Create a new profile composer.
*
* @param UserRepository $users
* @return void
*/
// public function __construct(UserRepository $users)
// {
// // Dependencies automatically resolved by service container...
// $this->users = $users;
// }
/**
* Bind data to the view.
*
* @param View $view
* @return void
*/
public function compose(View $view)
{
$datagrid = DataGrid::make([
'name' => 'admin',
// 'select' => 'id',
'table' => 'admins as a',
'join' => [
// [
// 'join' => 'leftjoin',
// 'table' => 'roles as r',
// 'primaryKey' => 'a.role_id',
// 'condition' => '=',
// 'secondaryKey' => 'r.id',
// ]
],
'columns' => [
[
'name' => 'a.id',
'type' => 'string',
'label' => 'Admin ID',
'sortable' => true,
'filterable' => false,
],
[
'name' => 'a.name',
'type' => 'string',
'label' => 'Name',
'sortable' => true,
'filterable' => false,
// will create on run time query
// 'filter' => [
// 'function' => 'where', // orwhere
// 'condition' => ['name', '=', 'Admin'] // multiarray
// ],
'attributes' => [
'class' => 'class-a class-b',
'data-attr' => 'whatever you want',
'onclick' => "window.alert('alert from datagrid column')"
],
// 'wrapper' => function ($value, $object) {
// return '<a href="'.$value.'">' . $object->name . '</a>';
// },
],
[
'name' => 'a.role_id',
'type' => 'string',
'label' => 'Admin Role ID',
'sortable' => true,
'filterable' => false,
],
[
'name' => 'a.email',
'type' => 'string',
'label' => 'Admin Email',
'sortable' => true,
'filterable' => false,
],
[
'name' => 'a.status',
'type' => 'string',
'label' => 'Admin Status',
'sortable' => true,
'filterable' => false,
],
],
// 'css' => []
]);
$view->with('datagrid', $datagrid);
// $view->with('count', $this->users->count());
}
}

View File

@ -6,6 +6,7 @@ use Illuminate\Support\ServiceProvider;
use Illuminate\Support\Facades\Event;
use Illuminate\Support\Facades\Blade;
use Webkul\Admin\Providers\EventServiceProvider;
use Webkul\Admin\Providers\ComposerServiceProvider;
class AdminServiceProvider extends ServiceProvider
{
@ -28,9 +29,12 @@ class AdminServiceProvider extends ServiceProvider
$this->composeView();
Blade::directive('continue', function() { return "<?php continue; ?>"; });
Blade::directive('continue', function () {
return "<?php continue; ?>";
});
$this->app->register(EventServiceProvider::class);
$this->app->register(ComposerServiceProvider::class);
}
/**
@ -40,19 +44,19 @@ class AdminServiceProvider extends ServiceProvider
*/
protected function composeView()
{
view()->composer(['admin::layouts.nav-left', 'admin::layouts.nav-aside', 'admin::layouts.tabs'], function($view) {
view()->composer(['admin::layouts.nav-left', 'admin::layouts.nav-aside', 'admin::layouts.tabs'], function ($view) {
$menu = current(Event::fire('admin.menu.create'));
$keys = explode('.', $menu->currentKey);
$subMenus = $tabs = [];
if(count($keys) > 1) {
if (count($keys) > 1) {
$subMenus = [
'items' => $menu->sortItems(array_get($menu->items, current($keys) . '.children')),
'current' => $menu->current,
'currentKey' => $menu->currentKey
];
if(count($keys) > 2) {
if (count($keys) > 2) {
$tabs = [
'items' => $menu->sortItems(array_get($menu->items, implode('.children.', array_slice($keys, 0, 2)) . '.children')),
'current' => $menu->current,
@ -73,7 +77,8 @@ class AdminServiceProvider extends ServiceProvider
public function register()
{
$this->mergeConfigFrom(
__DIR__ . '/../Config/auth.php', 'auth'
__DIR__ . '/../Config/auth.php',
'auth'
);
}

View File

@ -0,0 +1,38 @@
<?php
namespace Webkul\Admin\Providers;
use Illuminate\Support\Facades\Event;
use Illuminate\Support\Facades\Blade;
use Illuminate\Support\ServiceProvider;
use View;
class ComposerServiceProvider extends ServiceProvider
{
/**
* Register bindings in the container.
*
* @return void
*/
public function boot()
{
// Using class based composers...
View::composer('admin::users.users.index', 'Webkul\Admin\Http\ViewComposers\DataGrids\UserComposer');
// Using Closure based composers...
// View::composer('admin::users.index', function ($view) {
// //
// });
}
/**
* Register the service provider.
*
* @return void
*/
public function register()
{
//
}
}

View File

@ -15,11 +15,11 @@ body {
min-height: 100%;
}
.navbar-top {
.navbar-top {
height: 60px;
background: #FFFFFF;
background: #ffffff;
font-size: 0;
@include box-shadow(0 3px 6px 0 rgba(0,0,0,0.05));
@include box-shadow(0 3px 6px 0 rgba(0, 0, 0, 0.05));
border-bottom: 1px solid $border-color;
position: fixed;
left: 0;
@ -44,7 +44,7 @@ body {
display: inline-block;
vertical-align: middle;
.profile-info {
.profile-info {
display: inline-block;
vertical-align: middle;
text-align: left;
@ -59,7 +59,7 @@ body {
.dropdown-list {
top: 63px;
}
.name {
color: #000311;
display: block;
@ -67,7 +67,7 @@ body {
}
.role {
font-size: 14px;
color: #8E8E8E;
color: #8e8e8e;
display: block;
text-align: left;
}
@ -76,7 +76,7 @@ body {
margin-left: 10px;
}
}
}
}
}
.navbar-left {
@ -90,7 +90,6 @@ body {
z-index: 2;
ul.menubar {
li.menu-item {
height: 90px;
padding: 10px 5px;
@ -99,12 +98,12 @@ body {
text-transform: uppercase;
a {
color: #A2A2A2;
color: #a2a2a2;
}
&.active {
a {
color: #0041FF;
color: #0041ff;
}
}
}
@ -122,14 +121,14 @@ body {
z-index: 1;
overflow-x: hidden;
overflow-y: auto;
.aside-nav {
width: 280px;
position: fixed;
top: 60px;
bottom: 0;
border-right: 1px solid $border-color;
background: #F8F9FA;
background: #f8f9fa;
padding-top: 10px;
overflow-y: auto;
z-index: 4;
@ -164,7 +163,7 @@ body {
&.full-page {
padding: 25px;
}
.page-header {
display: block;
@ -182,4 +181,41 @@ body {
display: inline-block;
}
}
}
}
//style for dummy datagrid
// .page-content {
// .table-container {
// .search-filter-wrapper {
// display: inline-block;
// box-sizing: border-box;
// width: 100%;
// padding-top: 7px;
// padding-bottom: 7px;
// .search-products {
// width: 300px;
// border: 2px solid $border-color;
// border-radius: 3px;
// height: 30px;
// padding-left: 5px;
// }
// .icon-wrapper {
// margin: 0px;
// display: inline-block;
// vertical-align: middle;
// border: 1px solid #c7c7c7;
// border-radius: 4px;
// padding-left: 5px;
// padding-right: 5px;
// .search-icon {
// height: 24px;
// width: 24px;
// }
// }
// }
// }
// }

View File

@ -1,21 +1,27 @@
@extends('admin::layouts.content')
@section('page_title')
@stop
@section('content')
<div class="content">
<div class="page-header">
<div class="page-title">
</div>
<div class="page-action">
<a href="{{ route('admin.users.create') }}" class="btn btn-lg btn-primary">
{{ __('Add User') }}
</a>
{{ __('Add User') }}
</a>
</div>
</div>
<div class="page-content">
{!! $datagrid->render() !!}
</div>
</div>
@stop

1
packages/Webkul/Shop/.gitignore vendored Normal file
View File

@ -0,0 +1 @@
/node_modules

View File

@ -0,0 +1,25 @@
{
"name": "webkul/laravel-shop",
"license": "MIT",
"authors": [
{
"name": "Prashant",
"email": "prashant@webkul.com"
}
],
"require": {},
"autoload": {
"psr-4": {
"Webkul\\Shop\\": "src/"
}
},
"extra": {
"laravel": {
"providers": [
"Webkul\\Shop\\Providers\\ShopServiceProvider"
],
"aliases": {}
}
},
"minimum-stability": "dev"
}

14062
packages/Webkul/Shop/package-lock.json generated Normal file

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,20 @@
{
"private": true,
"scripts": {
"dev": "npm run development",
"development": "cross-env NODE_ENV=development node_modules/webpack/bin/webpack.js --progress --hide-modules --config=node_modules/laravel-mix/setup/webpack.config.js",
"watch": "cross-env NODE_ENV=development node_modules/webpack/bin/webpack.js --watch --progress --hide-modules --config=node_modules/laravel-mix/setup/webpack.config.js",
"watch-poll": "cross-env npm run watch -- --watch-poll --progress",
"hot": "cross-env NODE_ENV=development node_modules/webpack-dev-server/bin/webpack-dev-server.js --inline --hot --config=node_modules/laravel-mix/setup/webpack.config.js",
"prod": "npm run production",
"production": "cross-env NODE_ENV=production node_modules/webpack/bin/webpack.js --no-progress --hide-modules --config=node_modules/laravel-mix/setup/webpack.config.js"
},
"devDependencies": {
"axios": "^0.18",
"cross-env": "^5.1.4",
"laravel-mix": "^2.1",
"laravel-mix-merge-manifest": "^0.1.1",
"jquery": "^3.2",
"vue": "^2.1.10"
}
}

View File

@ -0,0 +1,27 @@
<?php
namespace Webkul\Shop\Http\Controllers;
use Illuminate\Http\Request;
use Illuminate\Http\Response;
use Illuminate\Routing\Controller;
/**
* Admin user session controller
*
* @author Jitendra Singh <jitendra@webkul.com>
* @copyright 2018 Webkul Software Pvt Ltd (http://www.webkul.com)
*/
class HomeController extends controller
{
protected $_config;
public function __construct()
{
$this->_config = request('_config');
}
public function index(){
return view($this->_config['view']);
}
}

View File

@ -0,0 +1,12 @@
<?php
Route::group(['middleware' => ['web']], function () {
Route::get('/', 'Webkul\Shop\Http\Controllers\HomeController@index')->defaults('_config', [
'view' => 'shop::home.index'
]);
});
Route::group(['middleware' => ['web']], function () {
Route::get('/foo', 'Webkul\Shop\Http\Controllers\HomeController@index1');
});

View File

@ -0,0 +1,34 @@
<?php
namespace Webkul\Shop\Providers;
use Illuminate\Support\ServiceProvider;
class ShopServiceProvider extends ServiceProvider
{
/**
* Bootstrap services.
*
* @return void
*/
public function boot()
{
include __DIR__ . '/../Http/routes.php';
$this->publishes([
__DIR__ . '/../../publishable/assets' => public_path('vendor/webkul/shop/assets'),
], 'public');
$this->loadViewsFrom(__DIR__ . '/../Resources/views', 'shop');
}
/**
* Register services.
*
* @return void
*/
public function register()
{
}
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 851 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 278 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 320 KiB

View File

@ -0,0 +1,14 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg width="106px" height="16px" viewBox="0 0 106 16" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<!-- Generator: Sketch 50.2 (55047) - http://www.bohemiancoding.com/sketch -->
<title>Star-5</title>
<desc>Created with Sketch.</desc>
<defs></defs>
<g id="Star-5" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
<polygon id="Star" fill="#242424" points="8.41169779 13.2668737 3.21298265 16 4.2058489 10.2111456 2.29816166e-14 6.11145618 5.81234022 5.26687371 8.41169779 0 11.0110554 5.26687371 16.8233956 6.11145618 12.6175467 10.2111456 13.6104129 16"></polygon>
<polygon id="Star" fill="#242424" points="31.4116978 13.2668737 26.2129827 16 27.2058489 10.2111456 23 6.11145618 28.8123402 5.26687371 31.4116978 0 34.0110554 5.26687371 39.8233956 6.11145618 35.6175467 10.2111456 36.6104129 16"></polygon>
<polygon id="Star" fill="#242424" points="53.4116978 13.2668737 48.2129827 16 49.2058489 10.2111456 45 6.11145618 50.8123402 5.26687371 53.4116978 0 56.0110554 5.26687371 61.8233956 6.11145618 57.6175467 10.2111456 58.6104129 16"></polygon>
<polygon id="Star" fill="#242424" points="75.4116978 13.2668737 70.2129827 16 71.2058489 10.2111456 67 6.11145618 72.8123402 5.26687371 75.4116978 0 78.0110554 5.26687371 83.8233956 6.11145618 79.6175467 10.2111456 80.6104129 16"></polygon>
<polygon id="Star" fill="#242424" points="97.4116978 13.2668737 92.2129827 16 93.2058489 10.2111456 89 6.11145618 94.8123402 5.26687371 97.4116978 0 100.011055 5.26687371 105.823396 6.11145618 101.617547 10.2111456 102.610413 16"></polygon>
</g>
</svg>

After

Width:  |  Height:  |  Size: 1.7 KiB

View File

@ -0,0 +1,10 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg width="18px" height="18px" viewBox="0 0 18 18" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<!-- Generator: Sketch 50.2 (55047) - http://www.bohemiancoding.com/sketch -->
<title>arrow-down</title>
<desc>Created with Sketch.</desc>
<defs></defs>
<g id="arrow-down" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
<polygon id="Rectangle-2" fill="#A5A5A5" transform="translate(9.000000, 8.000000) rotate(-45.000000) translate(-9.000000, -8.000000) " points="6 5 12 11 6 11"></polygon>
</g>
</svg>

After

Width:  |  Height:  |  Size: 633 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.0 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 96 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 202 KiB

View File

@ -0,0 +1,20 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg width="24px" height="24px" viewBox="0 0 24 24" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<!-- Generator: Sketch 50.2 (55047) - http://www.bohemiancoding.com/sketch -->
<title>icon-menu</title>
<desc>Created with Sketch.</desc>
<defs></defs>
<g id="icon-menu" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd" stroke-linecap="round">
<g id="Group-2" transform="translate(4.000000, 5.000000)" stroke="#242424" stroke-width="3">
<g id="Group" transform="translate(0.000000, 6.000000)">
<path d="M1,1.5 L15,1.5" id="Line-2"></path>
</g>
<g id="Group-Copy">
<path d="M1,1.5 L15,1.5" id="Line-2"></path>
</g>
<g id="Group-Copy-2" transform="translate(0.000000, 12.000000)">
<path d="M1,1.5 L15,1.5" id="Line-2"></path>
</g>
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 1002 B

View File

@ -0,0 +1,11 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg width="24px" height="24px" viewBox="0 0 24 24" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<!-- Generator: Sketch 50.2 (55047) - http://www.bohemiancoding.com/sketch -->
<title>icon-search</title>
<desc>Created with Sketch.</desc>
<defs></defs>
<g id="icon-search" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
<circle id="Oval-2" stroke="#242424" stroke-width="3" cx="10.5" cy="10.5" r="7"></circle>
<path d="M15.5,15.5 L21.5,21.5" id="Line" stroke="#242424" stroke-width="3" stroke-linecap="round" stroke-linejoin="round"></path>
</g>
</svg>

After

Width:  |  Height:  |  Size: 694 B

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 7.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.7 KiB

View File

@ -0,0 +1,13 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg width="24px" height="24px" viewBox="0 0 24 24" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<!-- Generator: Sketch 50.2 (55047) - http://www.bohemiancoding.com/sketch -->
<title>icon-offer</title>
<desc>Created with Sketch.</desc>
<defs></defs>
<g id="icon-offer" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
<polygon id="Star" fill="#FF6472" points="12 21.8341033 8.29179607 23.8299999 6.46471607 20.0352146 2.29179607 19.4698579 3.04372246 15.325663 0 12.415 3.04372246 9.50433697 2.29179607 5.360142 6.46471607 4.79478531 8.29179607 1 12 2.99589665 15.7082039 1 17.5352839 4.79478531 21.7082039 5.360142 20.9562775 9.50433697 24 12.415 20.9562775 15.325663 21.7082039 19.4698579 17.5352839 20.0352146 15.7082039 23.8299999"></polygon>
<text id="%" font-family="Montserrat-Regular, Montserrat" font-size="12" font-weight="normal" letter-spacing="-0.2879999" fill="#FFFFFF">
<tspan x="7.8559999" y="17">%</tspan>
</text>
</g>
</svg>

After

Width:  |  Height:  |  Size: 1.1 KiB

View File

@ -0,0 +1,10 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg width="32px" height="32px" viewBox="0 0 32 32" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<!-- Generator: Sketch 50.2 (55047) - http://www.bohemiancoding.com/sketch -->
<title>Wishlist</title>
<desc>Created with Sketch.</desc>
<defs></defs>
<g id="Wishlist" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd" stroke-linecap="round">
<path d="M15.9962711,26 C15.9962711,26 3.82641602,21.6804199 5.05062701,11.3846154 C5.38182072,8.59922485 8.45774362,6 11.3052808,6 C13.3974625,6 15.1753096,7.5626878 15.9962711,9.07692308 C16.9857769,7.57771184 18.5950798,6 20.6872614,6 C23.5347986,6 26.6121993,8.59909844 26.9419152,11.3846154 C28.2089844,22.0891113 15.9962711,26 15.9962711,26 Z" id="heart" stroke="#FF6472" stroke-width="3" fill-rule="nonzero"></path>
</g>
</svg>

After

Width:  |  Height:  |  Size: 905 B

View File

@ -0,0 +1,10 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg width="32px" height="32px" viewBox="0 0 32 32" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<!-- Generator: Sketch 50.2 (55047) - http://www.bohemiancoding.com/sketch -->
<title>Wishlist-Add</title>
<desc>Created with Sketch.</desc>
<defs></defs>
<g id="Wishlist-Add" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd" stroke-linecap="round">
<path d="M15.9962711,26 C15.9962711,26 3.82641602,21.6804199 5.05062701,11.3846154 C5.38182072,8.59922485 8.45774362,6 11.3052808,6 C13.3974625,6 15.1753096,7.5626878 15.9962711,9.07692308 C16.9857769,7.57771184 18.5950798,6 20.6872614,6 C23.5347986,6 26.6121993,8.59909844 26.9419152,11.3846154 C28.2089844,22.0891113 15.9962711,26 15.9962711,26 Z" id="heart" stroke="#FF6472" stroke-width="3" fill="#FF6472" fill-rule="nonzero"></path>
</g>
</svg>

After

Width:  |  Height:  |  Size: 928 B

View File

@ -0,0 +1,92 @@
window.jQuery = window.$ = $ = require("jquery");
window.Vue = require("vue");
// window.VeeValidate = require('vee-validate');
// Vue.use(VeeValidate);
//pure JS for resizing of browser purposes only
$(window).resize(function() {
var w = $(document).width();
var window = {};
window.width = $(document).width();
window.height = $(document).height();
if (window.width < 785) {
$(".header").css("margin-bottom", "0");
$(".header-top").css("margin-bottom", "0");
$("ul.search-container").css("display", "none");
$(".header-bottom").css("display", "none");
$("div.right-content").css("display", "none");
$(".right-responsive").css("display", "inherit");
} else if (window.width > 785) {
$(".header").css("margin-bottom", "21px");
$(".header-top").css("margin-bottom", "16px");
$("ul.search-container").css("display", "inherit");
$(".header-bottom").css("display", "block");
$("div.right-content").css("display", "inherit");
$(".right-responsive").css("display", "none");
}
});
$(document).ready(function() {
/* Responsiveness script goes here */
var w = $(document).width();
var window = {};
window.width = $(document).width();
window.height = $(document).height();
if (window.width < 785) {
$(".header").css("margin-bottom", "0");
$(".header-top").css("margin-bottom", "0");
$("ul.search-container").css("display", "none");
$(".header-bottom").css("display", "none");
$("div.right-content").css("display", "none");
$(".right-responsive").css("display", "inherit");
}
/* Responsiveness script ends here */
const app = new Vue({
el: "#app",
mounted: function() {
this.addServerErrors();
this.addFlashMessages();
},
methods: {
onSubmit: function(e) {
this.$validator.validateAll().then(result => {
if (result) {
e.target.submit();
}
});
},
addServerErrors: function() {
var scope = null;
for (var key in serverErrors) {
const field = this.$validator.fields.find({
name: key,
scope: scope
});
if (field) {
this.$validator.errors.add({
id: field.id,
field: key,
msg: serverErrors[key][0],
scope: scope
});
}
}
},
addFlashMessages: function() {
const flashes = this.$refs.flashes;
flashMessages.forEach(function(flash) {
flashes.addFlash(flash);
}, this);
},
responsiveHeader: function() {}
}
});
});

View File

@ -0,0 +1,8 @@
$font-name: "Montserrat", sans-serif;
$background-color: #f2f2f2;
$list-heading-color: rgba(165, 165, 165, 1);
$list-color: #242424;
$subscribe-btn-color: black;
$logo-color: #0031f0;
$border-color: #c7c7c7;
$offer-color: #ff6472;

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,9 @@
@extends('shop::layouts.master')
@section('slider')
@include('shop::layouts.slider')
@endsection
@section('content-wrapper')
@include('shop::layouts.featuredproductgrid')
@include('shop::layouts.newproductgrid')
@include('shop::layouts.newsupdategrid')
@endsection

View File

@ -0,0 +1,20 @@
<div class="product-card">
<div class="product-image">
<img src="vendor/webkul/shop/assets/images/grid.png" />
</div>
<div class="product-name">
<span>Red Black Tees</span>
</div>
<div class="product-price">
<span>$65.00</span>
</div>
<div class="product-ratings">
<span>
<img src="vendor/webkul/shop/assets/images/5star.svg" />
</span>
</div>
<div class="cart-fav-seg">
<button class="btn btn-lg btn-primary addtocart">Add to Cart</button>
<span><img src="vendor/webkul/shop/assets/images/wishadd.svg" /></span>
</div>
</div>

View File

@ -0,0 +1,89 @@
<section class="featured-products">
<div class="featured-heading">
Featured Products<br/>
<span class="featured-seperator" style="color:lightgrey;">_____</span>
</div>
<div class="featured-grid">
<div class="product-card">
<div class="product-image">
<img src="vendor/webkul/shop/assets/images/grid.png" />
</div>
<div class="product-name">
<span>Red Black Tees</span>
</div>
<div class="product-price">
<span>$65.00</span>
</div>
<div class="product-ratings">
<span>
<img src="vendor/webkul/shop/assets/images/5star.svg" />
</span>
</div>
<div class="cart-fav-seg">
<button class="btn btn-md btn-primary addtocart">Add to Cart</button>
<span><img src="vendor/webkul/shop/assets/images/wishadd.svg" /></span>
</div>
</div>
<div class="product-card">
<div class="product-image">
<img src="vendor/webkul/shop/assets/images/gogs.png" />
</div>
<div class="product-name">
<span>Red Black Tees</span>
</div>
<div class="product-price">
<span>$65.00</span>
</div>
<div class="product-ratings">
<span>
<img src="vendor/webkul/shop/assets/images/5star.svg" />
</span>
</div>
<div class="cart-fav-seg">
<button class="btn btn-md btn-primary addtocart">Add to Cart</button>
<span><img src="vendor/webkul/shop/assets/images/wishadd.svg" /></span>
</div>
</div>
<div class="product-card">
<div class="product-image">
<img src="vendor/webkul/shop/assets/images/grid.png" />
</div>
<div class="product-name">
<span>Red Black Tees</span>
</div>
<div class="product-price">
<span>$65.00</span>
</div>
<div class="product-ratings">
<span>
<img src="vendor/webkul/shop/assets/images/5star.svg" />
</span>
</div>
<div class="cart-fav-seg">
<button class="btn btn-md btn-primary addtocart">Add to Cart</button>
<span><img src="vendor/webkul/shop/assets/images/wishadd.svg" /></span>
</div>
</div>
<div class="product-card">
<div class="product-image">
<img src="vendor/webkul/shop/assets/images/gogs.png" />
</div>
<div class="product-name">
<span>Red Black Tees</span>
</div>
<div class="product-price">
<span>$65.00</span>
</div>
<div class="product-ratings">
<span>
<img src="vendor/webkul/shop/assets/images/5star.svg" />
</span>
</div>
<div class="cart-fav-seg">
<button class="btn btn-md btn-primary addtocart">Add to Cart</button>
<span><img src="vendor/webkul/shop/assets/images/wishadd.svg" /></span>
</div>
</div>
</div>
</section>

View File

@ -0,0 +1,66 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>Foo</title>
<style>
.container {
box-sizing: border-box;
max-width: 50%;
border: 1px solid green;
height: 95vh;
}
.last-grid {
display: grid;
grid-template-columns: repeat(2, minmax(47.5%, 1fr));
grid-gap: 5%;
}
.block1 {
display: block;
box-sizing: border-box;
background: pink;
height: 95vh;
}
.block2 {
display: block;
box-sizing: border-box;
/* background: red; */
height: 95vh;
display: grid;
grid-template-rows: 47.5% 47.5%;
grid-row-gap: 5%;
}
.sub-block1 {
display: block;
box-sizing: border-box;
background: green;
}
.sub-block2 {
display: block;
box-sizing: border-box;
background: paleturquoise;
}
</style>
</head>
<body>
<div class="container">
<div class="last-grid">
<div class="block1"></div>
<div class="block2">
<div class="sub-block1"></div>
<div class="sub-block2"></div>
</div>
</div>
</div>
</body>
</html>

View File

@ -0,0 +1,47 @@
<div class="footer">
<div class="footer-content">
<div class="footer-list-container">
<div class="list-container">
<span class="list-heading">Categories</span>
<ul class="list-group">
<li>MEN</li>
<li>Women</li>
<li>Kids</li>
<li>Accessories</li>
<li>Home & Living</li>
</ul>
</div>
<div class="list-container">
<span class="list-heading">Quick Links</span>
<ul class="list-group">
<li>About Us</li>
<li>Return Policy</li>
<li>Refund Policy</li>
<li>Terms and conditions</li>
<li>Terms of Use</li>
<li>Contact Us</li>
</ul>
</div>
<div class="list-container">
<span class="list-heading">Connect With Us</span>
<ul class="list-group">
<li><span class="icon-wrapper"><span class="icon icon-dashboard"></span></span>Facebook</li>
<li><span class="icon-wrapper"><span class="icon icon-dashboard"></span></span>Twitter</li>
<li><span class="icon-wrapper"><span class="icon icon-dashboard"></span></span>Instagram</li>
<li><span class="icon-wrapper"><span class="icon icon-dashboard"></span></span>Google+</li>
<li><span class="icon-wrapper"><span class="icon icon-dashboard"></span></span>LinkedIn</li>
</ul>
</div>
<div class="list-container">
<span class="list-heading">Subscribe Newsletter</span>
<div class="form-container">
<div class="control-group">
<input type="text" class="control subscribe-field" placeholder="Email Address"><br/>
<button class="btn btn-md btn-primary">Subscribe</button>
</div>
</div>
</div>
</div>
</div>
</div>

View File

@ -0,0 +1,68 @@
<div class="header">
<div class="header-top">
<div class="left-content">
<ul class="logo-container">
<li>
<img class="logo" src="vendor/webkul/shop/assets/images/logo.svg" />
</li>
</ul>
<ul class="search-container">
<li class="search-group">
<input type="search" class="search-field" placeholder="Search for products">
<div class="q-c">
<span class="icon search-icon"></span>
</div>
</li>
</ul>
</div>
<div class="right-content">
<ul class="search-dropdown-container">
<li class="search-dropdown">
</li>
</ul>
<ul class="account-dropdown-container">
<li class="account-dropdown">
<span class="icon icon-account"></span>
<span class="account">Account</span>
<span class="icon arrow-down-icon"></span>
</li>
</ul>
<ul class="product-dropdown-container">
<li class="product-dropdown">
<span class="icon icon-cart"></span>
<span class="cart"><span class="cart-count">5</span>Products</span>
<span class="icon arrow-down-icon"></span>
</li>
</ul>
<ul class="ham-dropdown-container">
<li class="ham-dropdown">
</li>
</ul>
</div>
<div class="right-responsive">
<ul class="right-wrapper">
<li class="search-box"><span class="icon search-icon"></span></li>
<li class="account-box"><span class="icon icon-account"></span></li>
<li class="cart-box"><span class="icon icon-cart"></span></li>
<li class="menu-box"><span class="icon sortable-icon"></span></li>
</ul>
</div>
</div>
<div class="header-bottom">
<ul class="menu-bar">
<li>Men</li>
<li>Women</li>
<li>Kids</li>
<li>Accessories</li>
<li>Home & Living</li>
<li>
<img class="icon" src="vendor/webkul/shop/assets/images/offer-zone.svg" style="margin-right:5px;" />Offer
Zone
</li>
</ul>
</div>
</div>

View File

@ -0,0 +1,47 @@
<!DOCTYPE html>
<html lang="{{ config('app.locale') }}">
<head>
<title>@yield('page_title')</title>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta name="csrf-token" content="{{ csrf_token() }}">
<link rel="stylesheet" href="{{ asset('vendor/webkul/shop/assets/css/shop.css') }}">
<link rel="stylesheet" href="{{ asset('vendor/webkul/ui/assets/css/ui.css') }}"> @yield('head') @yield('css')
</head>
<body>
<div id="app">
@include('shop::layouts.header') @yield('slider')
<div class="main-container-wrapper">
<div class="content-container">
@yield('content-wrapper')
</div>
</div>
@include('shop::layouts.footer')
</div>
<script type="text/javascript">
window.flashMessages = [];
@if($success = session('success'))
window.flashMessages = [{'type': 'alert-success', 'message': "{{ $success }}" }];
@elseif($warning = session('warning'))
window.flashMessages = [{'type': 'alert-warning', 'message': "{{ $warning }}" }];
@elseif($error = session('error'))
window.flashMessages = [{'type': 'alert-error', 'message': "{{ $error }}" }];
@endif
window.serverErrors = [];
@if (count($errors))
window.serverErrors = @json($errors->getMessages());
@endif
</script>
<script type="text/javascript" src="{{ asset('vendor/webkul/shop/assets/js/shop.js') }}"></script>
<script type="text/javascript" src="{{ asset('vendor/webkul/ui/assets/js/ui.js') }}"></script>
@yield('javascript')
</body>
</html>

View File

@ -0,0 +1,89 @@
<section class="featured-products">
<div class="featured-heading">
New Products<br/>
<span class="featured-seperator" style="color:lightgrey;">_____</span>
</div>
<div class="featured-grid">
<div class="product-card">
<div class="product-image">
<img src="vendor/webkul/shop/assets/images/new.png" />
</div>
<div class="product-name">
<span>Red Black Tees</span>
</div>
<div class="product-price">
<span>$65.00</span>
</div>
<div class="product-ratings">
<span>
<img src="vendor/webkul/shop/assets/images/5star.svg" />
</span>
</div>
<div class="cart-fav-seg">
<button class="btn btn-lg btn-primary addtocart">Add to Cart</button>
<span><img src="vendor/webkul/shop/assets/images/wishadd.svg" /></span>
</div>
</div>
<div class="product-card">
<div class="product-image">
<img src="vendor/webkul/shop/assets/images/new.png" />
</div>
<div class="product-name">
<span>Red Black Tees</span>
</div>
<div class="product-price">
<span>$65.00</span>
</div>
<div class="product-ratings">
<span>
<img src="vendor/webkul/shop/assets/images/5star.svg" />
</span>
</div>
<div class="cart-fav-seg">
<button class="btn btn-lg btn-primary addtocart">Add to Cart</button>
<span><img src="vendor/webkul/shop/assets/images/wishadd.svg" /></span>
</div>
</div>
<div class="product-card">
<div class="product-image">
<img src="vendor/webkul/shop/assets/images/new.png" />
</div>
<div class="product-name">
<span>Red Black Tees</span>
</div>
<div class="product-price">
<span>$65.00</span>
</div>
<div class="product-ratings">
<span>
<img src="vendor/webkul/shop/assets/images/5star.svg" />
</span>
</div>
<div class="cart-fav-seg">
<button class="btn btn-lg btn-primary addtocart">Add to Cart</button>
<span><img src="vendor/webkul/shop/assets/images/wishadd.svg" /></span>
</div>
</div>
<div class="product-card">
<div class="product-image">
<img src="vendor/webkul/shop/assets/images/new.png" />
</div>
<div class="product-name">
<span>Red Black Tees</span>
</div>
<div class="product-price">
<span>$65.00</span>
</div>
<div class="product-ratings">
<span>
<img src="vendor/webkul/shop/assets/images/5star.svg" />
</span>
</div>
<div class="cart-fav-seg">
<button class="btn btn-lg btn-primary addtocart">Add to Cart</button>
<span><img src="vendor/webkul/shop/assets/images/wishadd.svg" /></span>
</div>
</div>
</div>
</section>

View File

@ -0,0 +1,15 @@
<section class="news-update">
<div class="news-update-grid">
<div class="block1">
<img src="vendor/webkul/shop/assets/images/1.png" />
</div>
<div class="block2">
<div class="sub-block1">
<img src="vendor/webkul/shop/assets/images/2.png" />
</div>
<div class="sub-block2">
<img src="vendor/webkul/shop/assets/images/3.png" />
</div>
</div>
</div>
</section>

View File

@ -0,0 +1,9 @@
<section class="slider-block">
<div class="slider-content">
<ul class="slider-images">
<li>
<img class="slider-item" src="vendor/webkul/shop/assets/images/banner.png" />
</li>
</ul>
</div>
</section>

22
packages/Webkul/Shop/webpack.mix.js vendored Normal file
View File

@ -0,0 +1,22 @@
const { mix } = require("laravel-mix");
require("laravel-mix-merge-manifest");
// var publicPath = 'publishable/assets';
var publicPath = "../../../public/vendor/webkul/shop/assets";
mix.setPublicPath(publicPath).mergeManifest();
mix.disableNotifications();
mix.js([__dirname + "/src/Resources/assets/js/app.js"], "js/shop.js")
// .copyDirectory(
// __dirname + "/src/Resources/assets/images",
// publicPath + "/images"
// )
.sass(__dirname + "/src/Resources/assets/sass/app.scss", "css/shop.css")
.options({
processCssUrls: false
});
if (mix.inProduction()) {
mix.version();
}

14062
packages/Webkul/Ui/package-lock.json generated Normal file

File diff suppressed because it is too large Load Diff

View File

@ -1,45 +1,39 @@
<?php
namespace Webkul\Ui\DataGrid;
use Illuminate\Http\Request;
use Illuminate\Support\Collection;
use Illuminate\Pagination\Paginator;
use Illuminate\Support\Facades\DB;
use Webkul\Ui\DataGrid\Helpers\Column;
use Webkul\Ui\DataGrid\Helpers\Pagination;
use Webkul\Ui\DataGrid\Helpers\Css;
class DataGrid
{
{
/**
* Name of DataGrid
*
* @var string
*/
protected $name;
/**
* select from table(s)
*
* @var string
*/
protected $select;
/**
* Table
*
* @var String Classs name $table
*/
protected $table;
/**
* Join
*
* @var Array name $join
*
*
* [
* 'join' => 'left',
* 'table' => 'posts',
@ -50,28 +44,25 @@ class DataGrid
* ]
*/
protected $join;
/**
* Collection Object of Column $columns
*
* @var Collection
*/
protected $columns;
/**
* Pagination $pagination
*
* @var Pagination
*/
protected $pagination;
/**
* Css $css
*
* @var Css
*/
protected $css;
/*
public function __construct(
$name = null ,
@ -87,11 +78,14 @@ class DataGrid
$columns,
$pagination
);
return $this;
Separates the bags in the array of make attributes
}
*/
public function make($args){
public function make($args)
{
// list($name, $select, $table, $join, $columns) = array_values($args);
$name = $select = $table = false;
$join = $columns = $css = [];
@ -99,26 +93,27 @@ class DataGrid
return $this->build($name, $select, $table, $join, $columns, $css);
}
//starts buikding the queries on the basis of selects, joins and filter with
//attributes for class names and styles.
public function build(
$name = null,
$select = false,
$select = false,
$table = null,
array $join = [],
array $columns = null,
array $css = [],
Pagination $pagination = null
){
) {
$this->request = Request::capture();
$this->setName($name);
$this->setSelect($select);
$this->setTable($table);
$this->setJoin($join);
$this->addColumns($columns, true);
$this->setCss($css);
// $this->addPagination($pagination);
return $this;
}
@ -127,6 +122,7 @@ class DataGrid
*
* @return $this
*/
public function setName(string $name)
{
$this->name = $name ?: 'Default' . time();
@ -138,6 +134,7 @@ class DataGrid
*
* @return $this
*/
public function setSelect($select)
{
$this->select = $select ?: false;
@ -149,6 +146,7 @@ class DataGrid
*
* @return $this
*/
public function setTable(string $table)
{
$this->table = $table ?: false;
@ -160,6 +158,7 @@ class DataGrid
*
* @return $this
*/
public function setJoin(array $join)
{
$this->join = $join ?: [];
@ -177,12 +176,14 @@ class DataGrid
*
* @return $this
*/
public function addColumns($columns = [], $reCreate = false)
{
if($reCreate) $this->columns = new Collection();
if($columns){
foreach($columns as $column){
if ($reCreate) {
$this->columns = new Collection();
}
if ($columns) {
foreach ($columns as $column) {
$this->addColumn($column);
}
}
@ -194,16 +195,16 @@ class DataGrid
*
* @return $this
*/
public function addColumn($column = [])
{
if($column instanceof Column){
if ($column instanceof Column) {
$this->columns->push($column);
}elseif(gettype($column) == 'array' && $column){
} elseif (gettype($column) == 'array' && $column) {
$this->columns->push(new Column($column, $this->request));
}else{
} else {
throw new \Exception("DataGrid: Add Column argument is not valid!");
}
return $this;
}
@ -212,31 +213,33 @@ class DataGrid
*
* @return $this
*/
private function addColumnMultiple($column = [], $multiple = false)
{
if($column instanceof Column){
if($multiple){
if($this->columns->offsetExists($column->getName()))
if ($column instanceof Column) {
if ($multiple) {
if ($this->columns->offsetExists($column->getName())) {
$this->columns->offsetSet($column->getName(). time(), $column);
else
} else {
$this->columns->offsetSet($column->getName(), $column);
}else{
}
} else {
$this->columns->offsetSet($column->getName(), $column);
}
}elseif(gettype($column) == 'array' && $column){
} elseif (gettype($column) == 'array' && $column) {
$columnObj = new Column($column);
if($multiple){
if($this->columns->offsetExists($columnObj->getName()))
if ($multiple) {
if ($this->columns->offsetExists($columnObj->getName())) {
$this->columns->offsetSet($columnObj->getName(). time(), $columnObj);
else
} else {
$this->columns->offsetSet($columnObj->getName(), $columnObj);
}else{
}
} else {
$this->columns->offsetSet($columnObj->getName(), $columnObj);
}
}else{
} else {
throw new \Exception("DataGrid: Add Column argument is not valid!");
}
return $this;
}
@ -245,108 +248,171 @@ class DataGrid
*
* @return $this
*/
public function addPagination($pagination = [])
{
if($pagination instanceof Pagination){
if ($pagination instanceof Pagination) {
$this->pagination = $pagination;
}elseif(gettype($pagination) == 'array' && $pagination){
} elseif (gettype($pagination) == 'array' && $pagination) {
$this->pagination = new Pagination($pagination);
}else{
} else {
throw new \Exception("DataGrid: Pagination argument is not valid!");
}
return $this;
}
private function getSelect()
{
$select = [];
foreach($this->columns as $column){
foreach ($this->columns as $column) {
$select[] = $column->name;
}
$this->query->select(...$select);
if($this->select) $this->query->addselect($this->select);
if ($this->select) {
$this->query->addselect($this->select);
}
}
/**
* ->join('contacts', 'users.id', '=', 'contacts.user_id')
*/
private function getQueryWithJoin()
{
foreach($this->join as $join){
$this->query->{$join['join']}($join['table'], $join['primaryKey'], $join['condition'], $join['secondryKey']);
foreach ($this->join as $join) {
$this->query->{$join['join']}($join['table'], $join['primaryKey'], $join['condition'], $join['secondaryKey']);
}
}
private function getQueryWithColumnFilters()
{
foreach($this->columns as $column){
if($column->filter){
if (count($column->filter['condition']) == count($column->filter['condition'], COUNT_RECURSIVE)){
$this->query->{$column->filter['function']}(current($column->filter['condition']));
}else{
if(count($column->filter['condition']) == 3)
foreach ($this->columns as $column) {
if ($column->filter) { // if the filter bag in array exists then these will be applied.
if (count($column->filter['condition']) == count($column->filter['condition'], COUNT_RECURSIVE)) {
$this->query->{$column->filter['function']}(...$column->filter['condition']);
} else {
if (count($column->filter['condition']) == 3) {
$this->query->{$column->filter['function']}(
extract(
array_combine(
// ['key', 'condition', 'value'],
// ['key', 'condition', 'value'],
array_fill( //will work with all kind of where conditions
0,
( count( $column->filter['condition']) - 1 ),
0,
(count($column->filter['condition']) - 1),
'array_fill_nikhil'.time()
),
$column->filter['condition']
)
)
);
}
}
}
}
}
private function getQueryWithFilters(){
foreach($this->columns as $column){
dd($this->request);
if($column->filterable){
if ($filter = $this->request->offsetGet($column->correct(false))){
if($condition = $this->request->offsetGet($column->correct(false).'.condition')){
$this->query->andwhere(
$this->correct(false),
$condition,
$filter
);
private function getQueryWithFilters()
{
//solve aliasing for table when as is used with table name
//No kind of aliasing at all
foreach ($this->columns as $column) {
if ($column->filterable) { //condition is required managing params from users i.e url or request
if ($columnFromRequest = $this->request->offsetGet($column->correctFilterSorting())) {
if ($filter = $columnFromRequest['filter']) {
if ($condition = $columnFromRequest['condition']) {
$this->query->where(
$column->correctFilterSorting(),
$condition,
$filter
);
}
}
}
}
}
$query = ['sort' => $this->correct(false)];
if(($sort = $this->request->offsetGet('sort')) && $sort == $this->correct(false)){
if(!$order = $this->request->offsetGet('order')){
$query['order'] = self::ORDER_DESC;
}else{
$query['order'] = ($order == self::ORDER_DESC ? self::ORDER_ASC : self::ORDER_DESC);
}
}else{
$query['order'] = self::ORDER_DESC;
}
return '?'.http_build_query(array_merge($this->request->query->all(), $query));
//follow a case where table is aliased and joins are not present
}
private function getDbQueryResults()
{
//flags
$table_alias = false;
$join_table_alias = false;
$allowed_joins = false;
$other_joins = false;
$join_good = false;
//prepare query object
$this->query = DB::table($this->table);
$this->getSelect();
$this->getQueryWithJoin();
$this->getQueryWithColumnFilters();
//explode if alias is available
$exploded = explode('as', $this->table);
if (isset($exploded)) {
$table_alias = true;
$table_name = trim($exploded[0]);
$table_alias = trim($exploded[1]);
}
//Run this if there are any selects priorly.
if (!empty($this->select)) {
$this->getSelect();
}
//Run this if there are joins
if (!empty($this->join)) {
foreach ($this->join as $join) {
$name = strtolower($join['join']);
if ($name=='leftjoin' || $name=='left join' || $name=='rightjoin' || $name=='right join') {
//check if the aliasing on the primary table and primaryKey in join is also the same
$primary_key_alias = trim(explode('.', $join['primaryKey'])[0]);
//got allowed joins i.e left or right
if ($primary_key_alias == $table_alias) {
$join_table_alias = explode('as', $join['table']);
if (isset($join_table_alias)) {
$alias1 = trim($join_table_alias[1]);
//check if the secondary table match column is not having '.' and has proper alias
$secondary_join_column = $join['secondaryKey'];
if (isset($secondary_join_column)) {
$exploded_secondary = explode('.', $secondary_join_column);
$alias2 = trim($exploded_secondary[0]);
if ($alias1 == $alias2) {
$this->getQueryWithJoin();
} else {
dd('Aliases of Join table and the secondary key columns do not match');
}
} else {
dd('improper aliasing of the join columns');
}
} else {
dd('join table alias or secondary table alias is not found');
}
} else {
dump($primary_key_alias, $table_alias);
dd('primary key and primary table aliases do not match');
}
} else {
$other_joins = true;
}
}
}
//Check for column filter bags and resolve aliasing
foreach ($this->columns as $column) {
//run this if there are columns with filter bag
$this->getQueryWithColumnFilters();
}
//Run this if there are filters or sort params or range params in the urls
$this->getQueryWithFilters();
dd($this->query);
// dump($this->query);
$this->results = $this->query->get();
return $this->results;
}
@ -354,12 +420,11 @@ class DataGrid
/**
* @return view
*/
public function render()
{
{
$this->getDbQueryResults();
dump($this->columns);
// dump($this->columns);
return view('ui::datagrid.index', [
'css' => $this->css,
'results' => $this->results,

View File

@ -4,7 +4,7 @@ namespace Webkul\Ui\DataGrid\Helpers;
use Illuminate\Http\Request;
class Column extends AbstractFillable
{
{
const SORT = 'sort';
const ORDER_DESC = 'DESC';
const ORDER_ASC = 'ASC';
@ -12,7 +12,8 @@ class Column extends AbstractFillable
private $request = null;
private $readableName = false;
private $value = false;
private $sortHtml = '<a href="%s">%s</a>';
// private $sortHtml = '<a href="%s">%s</a>';
private $sortHtml = '<span href="%s">%s</span>';
// protected $name;
// protected $type;
@ -25,8 +26,8 @@ class Column extends AbstractFillable
/**
* Without Array it will treat it like string
*
* Without Array it will treat it like string
*
* [
* 'name',
* 'Name',
@ -45,7 +46,8 @@ class Column extends AbstractFillable
* },
* ]
*/
protected function setFillable(){
protected function setFillable()
{
$this->fillable = [
'name',
'type',
@ -69,56 +71,79 @@ class Column extends AbstractFillable
];
}
public function __construct($args, $request = null){
public function __construct($args, $request = null)
{
parent::__construct($args);
$this->request = $request ?: Request::capture();
}
private function correct($tillDot = true){
public function correctFilterSorting()
{
$return = $this->name;
$as = explode('as', $this->name);
if(count($as) > 1) return trim(end($as));
if (count($as) > 1) {
$return = trim(current($as));
}
if(!$tillDot) return $this->name;
$dot = explode('.', $this->name);
if($dot) return trim(end($dot));
return $return;
}
private function wrap($obj){
if($this->wrapper && is_callable($this->wrapper)){
public function correct($tillDot = true)
{
$as = explode('as', $this->name);
if (count($as) > 1) {
return trim(end($as));
}
if (!$tillDot) {
return $this->name;
}
$dot = explode('.', $this->name);
if ($dot) {
return trim(end($dot));
}
}
private function wrap($obj)
{
if ($this->wrapper && is_callable($this->wrapper)) {
$this->value = call_user_func($this->wrapper, $this->value, $obj);
}
}
private function sortingUrl(){
private function sortingUrl()
{
$query = ['sort' => $this->correct(false)];
if(($sort = $this->request->offsetGet('sort')) && $sort == $this->correct(false)){
if(!$order = $this->request->offsetGet('order')){
if (($sort = $this->request->offsetGet('sort')) && $sort == $this->correct(false)) {
if (!$order = $this->request->offsetGet('order')) {
$query['order'] = self::ORDER_DESC;
}else{
} else {
$query['order'] = ($order == self::ORDER_DESC ? self::ORDER_ASC : self::ORDER_DESC);
}
}else{
} else {
$query['order'] = self::ORDER_DESC;
}
return '?'.http_build_query(array_merge($this->request->query->all(), $query));
}
/**
* need to process xss check on properties like label shouln't include <script>alert('Kaboom!')</script>
* need to process css check on properties like label shouln't include <script>alert('Kaboom!')</script>
*/
public function sorting(){
if($this->sortable){
public function sorting()
{
if ($this->sortable) {
return vsprintf($this->sortHtml, [$this->sortingUrl(), $this->label]);
}else{
} else {
return $this->label;
}
}
public function render($obj){
if(property_exists($obj, ( $this->readableName = $this->correct()) ) ){
public function render($obj)
{
if (property_exists($obj, ($this->readableName = $this->correct()))) {
$this->value = $obj->{$this->readableName};
$this->wrap($obj);
}

View File

@ -0,0 +1,10 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg width="18px" height="18px" viewBox="0 0 18 18" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<!-- Generator: Sketch 50.2 (55047) - http://www.bohemiancoding.com/sketch -->
<title>Icon-Crossed</title>
<desc>Created with Sketch.</desc>
<defs></defs>
<g id="Icon-Crossed" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
<path d="M9,8.35557738 L12.2221131,5.13346429 C12.4000655,4.9555119 12.6885833,4.9555119 12.8665357,5.13346429 C13.0444881,5.31141669 13.0444881,5.59993452 12.8665357,5.77788691 L9.64442262,9 L12.8665357,12.2221131 C13.0444881,12.4000655 13.0444881,12.6885833 12.8665357,12.8665357 C12.6885833,13.0444881 12.4000655,13.0444881 12.2221131,12.8665357 L9,9.64442262 L5.77788691,12.8665357 C5.59993452,13.0444881 5.31141669,13.0444881 5.13346429,12.8665357 C4.9555119,12.6885833 4.9555119,12.4000655 5.13346429,12.2221131 L8.35557738,9 L5.13346429,5.77788691 C4.9555119,5.59993452 4.9555119,5.31141669 5.13346429,5.13346429 C5.31141669,4.9555119 5.59993452,4.9555119 5.77788691,5.13346429 L9,8.35557738 Z" id="Combined-Shape" fill="#8E8E8E"></path>
</g>
</svg>

After

Width:  |  Height:  |  Size: 1.2 KiB

View File

@ -0,0 +1,10 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg width="18px" height="18px" viewBox="0 0 18 18" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<!-- Generator: Sketch 50.2 (55047) - http://www.bohemiancoding.com/sketch -->
<title>Check-Accent</title>
<desc>Created with Sketch.</desc>
<defs></defs>
<g id="Check-Accent" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round">
<polyline id="Path-2" stroke="#0041FF" stroke-width="3" points="2 10 6 14 15 5"></polyline>
</g>
</svg>

After

Width:  |  Height:  |  Size: 606 B

View File

@ -0,0 +1,11 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg width="18px" height="18px" viewBox="0 0 18 18" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<!-- Generator: Sketch 50.2 (55047) - http://www.bohemiancoding.com/sketch -->
<title>Cross-Accent</title>
<desc>Created with Sketch.</desc>
<defs></defs>
<g id="Cross-Accent" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round">
<path d="M4.5,13.5 L13.5,4.5" id="Path-2" stroke="#0041FF" stroke-width="3" transform="translate(9.000000, 9.000000) scale(-1, 1) translate(-9.000000, -9.000000) "></path>
<path d="M4.5,13.5 L13.5,4.5" id="Path-2" stroke="#0041FF" stroke-width="3"></path>
</g>
</svg>

After

Width:  |  Height:  |  Size: 778 B

View File

@ -0,0 +1,16 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg width="32px" height="32px" viewBox="0 0 32 32" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<!-- Generator: Sketch 50.2 (55047) - http://www.bohemiancoding.com/sketch -->
<title>Icon-Cross</title>
<desc>Created with Sketch.</desc>
<defs></defs>
<g id="Icon-Cross" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
<g id="Group" transform="translate(4.000000, 4.000000)">
<circle id="Oval-10" fill="#0041FF" transform="translate(12.000000, 12.000000) scale(-1, 1) translate(-12.000000, -12.000000) " cx="12" cy="12" r="12"></circle>
<g id="Group-2" transform="translate(8.000000, 8.000000)" stroke="#FFFFFF" stroke-linecap="round" stroke-linejoin="round" stroke-width="3">
<path d="M0,7.5 L7.33886719,0" id="Path-13-Copy" transform="translate(3.669434, 3.750000) scale(-1, 1) translate(-3.669434, -3.750000) "></path>
<path d="M0,7.5 L7.33886719,0" id="Path-13-Copy-2"></path>
</g>
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 1.1 KiB

View File

@ -0,0 +1,13 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg width="24px" height="24px" viewBox="0 0 24 24" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<!-- Generator: Sketch 50.2 (55047) - http://www.bohemiancoding.com/sketch -->
<title>icon-account</title>
<desc>Created with Sketch.</desc>
<defs></defs>
<g id="icon-account" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
<g id="Group" transform="translate(3.000000, 2.000000)" stroke="#242424" stroke-width="3">
<path d="M1.65002717,16.5 L16.3499728,16.5 C15.6550673,13.0766395 12.6284369,10.5 9,10.5 C5.37156313,10.5 2.34493267,13.0766395 1.65002717,16.5 Z" id="Combined-Shape"></path>
<circle id="Oval-3" cx="9" cy="4" r="2.5"></circle>
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 822 B

View File

@ -0,0 +1,18 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg width="24px" height="24px" viewBox="0 0 24 24" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<!-- Generator: Sketch 50.2 (55047) - http://www.bohemiancoding.com/sketch -->
<title>icon-cart</title>
<desc>Created with Sketch.</desc>
<defs></defs>
<g id="icon-cart" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
<g id="Group" transform="translate(2.000000, 2.000000)">
<path d="M3.5,1.5 L8.5,13.5" id="Line-2" stroke="#242424" stroke-width="3" stroke-linecap="round"></path>
<path d="M15.5,5.5 L19.5,13.5" id="Line-2" stroke="#242424" stroke-width="3" stroke-linecap="round" transform="translate(17.500000, 9.500000) scale(-1, 1) translate(-17.500000, -9.500000) "></path>
<path d="M5.5,5.5 L19.5,5.5" id="Line-2" stroke="#242424" stroke-width="3" stroke-linecap="round"></path>
<path d="M0.5,1.5 L3.5,1.5" id="Line-2" stroke="#242424" stroke-width="3" stroke-linecap="round"></path>
<path d="M8.5,13.5 L15.5,13.5" id="Line-2" stroke="#242424" stroke-width="3" stroke-linecap="round"></path>
<circle id="Oval" fill="#242424" cx="9" cy="18" r="2"></circle>
<circle id="Oval" fill="#242424" cx="15" cy="18" r="2"></circle>
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 1.3 KiB

View File

@ -0,0 +1,13 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg width="24px" height="24px" viewBox="0 0 24 24" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<!-- Generator: Sketch 50.2 (55047) - http://www.bohemiancoding.com/sketch -->
<title>icon-offer</title>
<desc>Created with Sketch.</desc>
<defs></defs>
<g id="icon-offer" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
<polygon id="Star" fill="#FF6472" points="12 21.8341033 8.29179607 23.8299999 6.46471607 20.0352146 2.29179607 19.4698579 3.04372246 15.325663 0 12.415 3.04372246 9.50433697 2.29179607 5.360142 6.46471607 4.79478531 8.29179607 1 12 2.99589665 15.7082039 1 17.5352839 4.79478531 21.7082039 5.360142 20.9562775 9.50433697 24 12.415 20.9562775 15.325663 21.7082039 19.4698579 17.5352839 20.0352146 15.7082039 23.8299999"></polygon>
<text id="%" font-family="Montserrat-Regular, Montserrat" font-size="12" font-weight="normal" letter-spacing="-0.2879999" fill="#FFFFFF">
<tspan x="7.8559999" y="17">%</tspan>
</text>
</g>
</svg>

After

Width:  |  Height:  |  Size: 1.1 KiB

View File

@ -20,8 +20,8 @@ a:hover,
a:visited,
a:focus,
a:active {
text-decoration: none;
color: $brand-color;
text-decoration: none;
color: $brand-color;
}
ul {
@ -32,13 +32,13 @@ ul {
h1 {
font-size: 28px;
color: #3A3A3A;
color: #3a3a3a;
margin-top: 0;
}
h2 {
font-size: 18px;
color: #3A3A3A;
color: #3a3a3a;
}
.hide {
@ -46,7 +46,10 @@ h2 {
}
.btn {
@include box-shadow(0 1px 4px 0 rgba(0, 0, 0, 0.20), 0 0 8px 0 rgba(0, 0, 0, 0.10));
@include box-shadow(
0 1px 4px 0 rgba(0, 0, 0, 0.2),
0 0 8px 0 rgba(0, 0, 0, 0.1)
);
border-radius: 3px;
border: none;
color: #fff;
@ -54,7 +57,9 @@ h2 {
transition: 0.2s cubic-bezier(0.4, 0, 0.2, 1);
font: inherit;
&:hover, &:active, &:focus {
&:hover,
&:active,
&:focus {
opacity: 0.75;
border: none;
}
@ -82,20 +87,22 @@ h2 {
&[disabled="disabled"]:hover,
&[disabled="disabled"]:active {
cursor: not-allowed;
background: #B1B1AE;
background: #b1b1ae;
box-shadow: none;
opacity: 1;
}
}
.dropdown-open {
position: relative;
}
.dropdown-list {
width: 200px;
@include box-shadow(0 2px 4px 0 rgba(0,0,0,0.16), 0 0 9px 0 rgba(0,0,0,0.16));
@include box-shadow(
0 2px 4px 0 rgba(0, 0, 0, 0.16),
0 0 9px 0 rgba(0, 0, 0, 0.16)
);
border-radius: 3px;
background-color: #FFFFFF;
background-color: #ffffff;
position: absolute;
display: none;
z-index: 10;
@ -127,16 +134,16 @@ h2 {
font-size: 15px;
display: inline-block;
text-transform: uppercase;
color: #9E9E9E;
color: #9e9e9e;
font-weight: 700;
padding-bottom: 5px;
}
ul {
margin: 0px;
list-style-type: none;
padding: 0px;
li {
padding: 5px 0px;
@ -145,7 +152,10 @@ h2 {
cursor: pointer;
}
a:link, a:active, a:visited, a:focus {
a:link,
a:active,
a:visited,
a:focus {
color: #333333;
display: block;
}
@ -169,14 +179,14 @@ h2 {
thead th {
font-weight: 700;
padding: 12px 10px;
background: #F8F9FA;
color: #3A3A3A;
background: #f8f9fa;
color: #3a3a3a;
}
tbody td {
padding: 12px 10px;
border-bottom: solid 1px #D3D3D3;
color: #3A3A3A;
border-bottom: solid 1px #d3d3d3;
color: #3a3a3a;
}
}
}
@ -184,16 +194,18 @@ h2 {
.dropdown-btn {
min-width: 150px;
text-align: left;
background: #FFFFFF;
background: #ffffff;
border: 2px solid $control-border-color;
border-radius: 3px;
font-size: 14px;
color: #8E8E8E;
color: #8e8e8e;
padding: 8px 35px 8px 10px;
cursor: pointer;
position: relative;
&:hover, &:active, &:focus {
&:hover,
&:active,
&:focus {
opacity: 0.75;
border: 2px solid $control-border-color;
}
@ -208,25 +220,26 @@ h2 {
.pagination {
.page-item {
background: #FFFFFF;
background: #ffffff;
border: 2px solid $control-border-color;
border-radius: 3px;
padding: 7px 14px;
margin-right: 5px;
font-size: 16px;
display: inline-block;
color: #8E8E8E;
color: #8e8e8e;
vertical-align: middle;
text-decoration: none;
&.previous, &.next {
&.previous,
&.next {
padding: 6px 9px;
}
&.active {
background: #0041FF;
background: #0041ff;
color: #fff;
border-color: #0041FF;
border-color: #0041ff;
}
.icon {
@ -251,7 +264,7 @@ h2 {
}
.checkbox-view {
background-image: url('../images/Checkbox.svg');
background-image: url("../images/Checkbox.svg");
height: 24px;
width: 24px;
margin: 0;
@ -261,7 +274,7 @@ h2 {
}
input:checked + .checkbox-view {
background-image: url('../images/Checkbox-Checked.svg');
background-image: url("../images/Checkbox-Checked.svg");
}
input:disabled + .checkbox-view {
@ -274,7 +287,7 @@ h2 {
position: relative;
display: block;
margin: 10px 5px 5px 0px;
input {
left: 0;
opacity: 0;
@ -284,7 +297,7 @@ h2 {
}
.radio-view {
background-image: url('../images/controls.svg');
background-image: url("../images/controls.svg");
background-position: -21px 0px;
height: 20px;
width: 20px;
@ -314,7 +327,7 @@ h2 {
label {
display: block;
color: #3A3A3A;
color: #3a3a3a;
}
textarea.control {
@ -341,8 +354,8 @@ h2 {
}
&[disabled="disabled"] {
border-color: #D3D3D3;
background-color: #D3D3D3;
border-color: #d3d3d3;
background-color: #d3d3d3;
cursor: not-allowed;
}
}
@ -350,12 +363,12 @@ h2 {
.control-info {
display: block;
font-style: italic;
color: #6F6F6F;
color: #6f6f6f;
}
.control-error {
display: none;
color: #FF5656;
color: #ff5656;
margin-top: 5px;
}
@ -381,7 +394,8 @@ h2 {
padding: 15px;
border-radius: 3px;
display: inline-block;
box-shadow: 0px 4px 15.36px 0.64px rgba(0, 0, 0, 0.1), 0px 2px 6px 0px rgba(0, 0, 0, 0.12);
box-shadow: 0px 4px 15.36px 0.64px rgba(0, 0, 0, 0.1),
0px 2px 6px 0px rgba(0, 0, 0, 0.12);
position: relative;
animation: jelly 0.5s ease-in-out;
transform-origin: center top;
@ -408,7 +422,7 @@ h2 {
}
p {
color: #FFFFFF;
color: #ffffff;
margin: 0px;
padding: 0px;
font-size: 15px;
@ -417,7 +431,6 @@ h2 {
}
.tabs {
ul {
border-bottom: solid 1px $border-color;
@ -443,7 +456,7 @@ h2 {
.accordian {
.accordian-header {
font-size: 18px;
color: #3A3A3A;
color: #3a3a3a;
border-bottom: solid 1px $border-color;
padding: 20px 15px;
cursor: pointer;
@ -465,7 +478,6 @@ h2 {
}
.tree-container {
.tree-item {
padding-left: 30px;
display: inline-block;
@ -489,7 +501,7 @@ h2 {
display: inline-block;
margin-right: 10px;
cursor: pointer;
background-image: url('../images/Expand-Light.svg');
background-image: url("../images/Expand-Light.svg");
width: 18px;
height: 18px;
vertical-align: middle;
@ -497,22 +509,127 @@ h2 {
&.active {
> .expand-icon {
background-image: url('../images/Expand-Light-On.svg');
background-image: url("../images/Expand-Light-On.svg");
}
}
}
> .tree-item {
padding-left: 0;
}
}
.panel {
box-shadow: 0 2px 25px 0 rgba(0,0,0,0.15);
box-shadow: 0 2px 25px 0 rgba(0, 0, 0, 0.15);
border-radius: 5px;
background: #fff;
.panel-content {
padding: 20px;
}
}
}
/* DataGrid */
.grid-container {
margin-top: 30px;
.filter-wrapper {
display: block;
box-sizing: border-box;
.filter-row-one,
.filter-row-two {
display: flex;
flex-direction: row;
// flex-wrap: wrap;
}
.filter-row-one {
height: 40px;
align-items: center;
justify-content: space-between;
.search-filter {
.control {
font-family: "montserrat", sans-serif;
padding-left: 5px;
width: 380px;
height: 36px;
border: 2px solid $control-border-color;
border-radius: 3px;
font-size: 14px;
}
}
.dropdown-filters {
display: inline-flex;
.column-filter {
margin-right: 5px;
.control {
font-family: "montserrat", sans-serif;
padding-left: 5px;
height: 36px;
width: 150px;
border: 2px solid $control-border-color;
border-radius: 3px;
background-color: white;
color: #8e8e8e;
font-size: 14px;
}
}
.more-filters {
margin-right: 5px;
.control {
font-family: "montserrat", sans-serif;
padding-left: 5px;
height: 36px;
width: 150px;
border: 2px solid $control-border-color;
border-radius: 3px;
background-color: white;
color: #8e8e8e;
font-size: 14px;
}
}
}
}
.filter-row-two {
display: flex;
flex-direction: row;
flex-wrap: wrap;
margin-top: 15px;
margin-bottom: 15px;
.filter-one {
margin-right: 10px;
.filter-name {
margin-right: 5px;
}
.filter-value {
display: inline-flex;
background: #e7e7e7;
height: 36px;
padding-left: 5px;
padding-right: 10px;
padding-top: 8px;
padding-bottom: 5px;
color: #000311;
vertical-align: middle;
.cross-icon {
height: 18px !important;
width: 18px !important;
}
}
}
}
}
}
/* DataGrid css ends in here */

View File

@ -12,143 +12,149 @@
}
.dashboard-icon {
@extend %menu-properties;
background-image: url('../images/Icon-Dashboard.svg');
background-image: url("../images/Icon-Dashboard.svg");
}
.catalog-icon {
@extend %menu-properties;
background-image: url('../images/Icon-Catalog.svg');
background-image: url("../images/Icon-Catalog.svg");
}
.configuration-icon {
@extend %menu-properties;
background-image: url('../images/Icon-Configure.svg');
background-image: url("../images/Icon-Configure.svg");
}
.settings-icon {
@extend %menu-properties;
background-image: url('../images/Icon-Settings.svg');
background-image: url("../images/Icon-Settings.svg");
}
.angle-right-icon {
background-image: url('../images/Angle-Right.svg');
background-image: url("../images/Angle-Right.svg");
width: 17px;
height: 17px;
}
.angle-left-icon {
background-image: url('../images/Angle-Right.svg');
background-image: url("../images/Angle-Right.svg");
width: 17px;
height: 17px;
}
.arrow-down-icon {
background-image: url('../images/Arrow-Down-Light.svg');
background-image: url("../images/Arrow-Down-Light.svg");
width: 14px;
height: 8px;
}
.arrow-right-icon {
background-image: url('../images/Arrow-Right.svg');
background-image: url("../images/Arrow-Right.svg");
width: 18px;
height: 18px;
}
.white-cross-sm-icon {
background-image: url('../images/Icon-Sm-Cross-White.svg');
background-image: url("../images/Icon-Sm-Cross-White.svg");
width: 18px;
height: 18px;
}
.accordian-up-icon {
background-image: url('../images/Accordion-Arrow-Up.svg');
background-image: url("../images/Accordion-Arrow-Up.svg");
width: 24px;
height: 24px;
}
.accordian-down-icon {
background-image: url('../images/Accordion-Arrow-Down.svg');
background-image: url("../images/Accordion-Arrow-Down.svg");
width: 24px;
height: 24px;
}
.cross-icon {
background-image: url("../images/Icon-Crossed.svg");
width: 24px;
height: 24px;
}
.trash-icon {
background-image: url('../images/Icon-Trash.svg');
background-image: url("../images/Icon-Trash.svg");
width: 24px;
height: 24px;
}
.remove-icon {
background-image: url('../images/Icon-remove.svg');
background-image: url("../images/Icon-remove.svg");
width: 24px;
height: 24px;
}
.pencil-lg-icon {
background-image: url('../images/Icon-Pencil-Large.svg');
background-image: url("../images/Icon-Pencil-Large.svg");
width: 24px;
height: 24px;
}
.search-icon {
background-image: url('../images/icon-search.svg');
background-image: url("../images/icon-search.svg");
width: 24px;
height: 24px;
}
.sortable-icon {
background-image: url('../images/Icon-Sortable.svg');
background-image: url("../images/Icon-Sortable.svg");
width: 24px;
height: 24px;
}
.sort-down-icon {
background-image: url('../images/Icon-Sort-Down.svg');
background-image: url("../images/Icon-Sort-Down.svg");
width: 18px;
height: 18px;
}
.primary-back-icon {
background-image: url('../images/Icon-Back-Primary.svg');
background-image: url("../images/Icon-Back-Primary.svg");
width: 24px;
height: 24px;
}
.active {
.dashboard-icon {
background-image: url('../images/Icon-Dashboard-Active.svg');
background-image: url("../images/Icon-Dashboard-Active.svg");
}
.catalog-icon {
background-image: url('../images/Icon-Catalog-Active.svg');
background-image: url("../images/Icon-Catalog-Active.svg");
}
.settings-icon {
background-image: url('../images/Icon-Settings-Active.svg');
background-image: url("../images/Icon-Settings-Active.svg");
}
.configuration-icon {
background-image: url('../images/Icon-Configure-Active.svg');
background-image: url("../images/Icon-Configure-Active.svg");
}
.arrow-down-icon {
background-image: url('../images/Arrow-Down.svg');
background-image: url("../images/Arrow-Down.svg");
width: 14px;
height: 8px;
}
&.dashboard-icon {
background-image: url('../images/Icon-Dashboard-Active.svg');
background-image: url("../images/Icon-Dashboard-Active.svg");
}
&.settings-icon {
background-image: url('../images/Icon-Settings-Active.svg');
background-image: url("../images/Icon-Settings-Active.svg");
}
&.configuration-icon {
@extend %menu-properties;
background-image: url('../images/Icon-Configure-Active.svg');
background-image: url("../images/Icon-Configure-Active.svg");
}
&.arrow-down-icon {
background-image: url('../images/Arrow-Down.svg');
background-image: url("../images/Arrow-Down.svg");
width: 14px;
height: 8px;
}
}
}

View File

@ -1,18 +1,18 @@
<div class="{{ $css->datagrid }}">
<table class="{{ $css->table }}">
<thread class="{{ $css->thread }}">
<tr>
@foreach ($columns as $column)
<td class="{{ $css->thead_td }}">{{ $column->lable }}</td>
@endforeach
</tr>
</thread>
<tbody class="{{ $css->tbody }}">
<tr>
@foreach ($results as $result)
<td class="{{ $css->tbody_td }}">{{ $result->{$columns[$loop->index]->name} }}</td>
@endforeach
</tr>
</tbody>
</table>
</div>
<div class="{{ $css->datagrid }}">
<table class="{{ $css->table }}">
<thread class="{{ $css->thread }}">
<tr>
@foreach ($columns as $column)
<td class="{{ $css->thead_td }}">{{ $column->lable }}</td>
@endforeach
</tr>
</thread>
<tbody class="{{ $css->tbody }}">
<tr>
@foreach ($results as $result)
<td class="{{ $css->tbody_td }}">{{ $result->{$columns[$loop->index]->name} }}</td>
@endforeach
</tr>
</tbody>
</table>
</div>

View File

@ -1,28 +1,97 @@
<div class="{{ $css->datagrid }}">
<div class="{{ $css->filter }}">
Filtering Will be here
</div>
<div class="grid-container{{-- $css->datagrid --}}">
<div class="{{ $css->filter }} filter-wrapper">
{{-- <div class="filter-row-one">
<div class="search-filter">
<input type="search" class="control" placeholder="Search Users" />
</div>
<div class="dropdown-filters">
<div class="column-filter">
<select class="control">
<option selected disabled>Columns</option>
<option>All Columns</option>
<option>Column 1</option>
<option>Column 2</option>
<option>Column 3</option>
<table class="{{ $css->table }}">
<thead class="{{ $css->thead }}">
<tr>
@foreach ($columns as $column)
<td class="{{ $css->thead_td }}">{!! $column->sorting() !!}</td>
@endforeach
</tr>
</thead>
<tbody class="{{ $css->tbody }}">
<tr>
@foreach ($results as $result)
</select>
</div>
<div class="more-filters">
<select class="control">
<option selected disabled>Filters</option>
<option>Filter 1</option>
<option>Filter 2</option>
<option>Filter 3</option>
<option>Filter 4</option>
</select>
</div>
</div>
</div>
<div class="filter-row-two">
<span class="filter-one">
<span class="filter-name">
Stock
</span>
<span class="filter-value">
Available
<span class="icon cross-icon"></span>
</span>
</span>
<span class="filter-one">
<span class="filter-name">
Stock
</span>
<span class="filter-value">
Available
<span class="icon cross-icon"></span>
</span>
</span>
<span class="filter-one">
<span class="filter-name">
Stock
</span>
<span class="filter-value">
Available
<span class="icon cross-icon"></span>
</span>
</span>
</div> --}}
</div>
<div class="table">
<table class="{{ $css->table }}">
<thead class="{{-- $css->thead --}}">
<tr>
@foreach ($columns as $column)
<td class="{{ $css->tbody_td }}">{!! $column->render($result) !!}</td>
<th class="{{-- $css->thead_td --}}">{!! $column->sorting() !!}</th>
@endforeach
@endforeach
</tr>
</tbody>
</table>
</tr>
</thead>
<tbody class="{{ $css->tbody }}">
<div class="{{ $css->pagination }}">
Pagination Will be here
@foreach ($results as $result)
<tr>
@foreach ($columns as $column)
<td class="{{-- $css->tbody_td --}}">{!! $column->render($result) !!}</td>
@endforeach
</tr>
@endforeach
</tbody>
</table>
<div class="{{ $css->pagination }}" style="margin-top:15px;">
{{-- <div class="pagination">
<a class="page-item previous">
<i class="icon angle-right-icon"></i>
</a>
<a class="page-item">1</a>
<a class="page-item" href="#status/6/page/2">2</a>
<a class="page-item active" href="#status/6/page/3">3</a>
<a class="page-item" href="#status/6/page/4">4</a>
<a class="page-item" href="#status/6/page/5">5</a>
<a href="#status/6/page/2" class="page-item next">
<i class="icon angle-left-icon"></i>
</a>
</div> --}}
</div>
</div>
</div>
</div>

View File

@ -1,23 +1,28 @@
const { mix } = require('laravel-mix');
require('laravel-mix-merge-manifest');
const { mix } = require("laravel-mix");
require("laravel-mix-merge-manifest");
// var publicPath = 'publishable/assets';
var publicPath = '../../../public/vendor/webkul/ui/assets';
var publicPath = "../../../public/vendor/webkul/ui/assets";
mix.setPublicPath(publicPath).mergeManifest();
mix.disableNotifications();
mix.js([
__dirname + '/src/Resources/assets/js/app.js',
__dirname + '/src/Resources/assets/js/dropdown.js'
], 'js/ui.js')
.copyDirectory( __dirname + '/src/Resources/assets/images', publicPath + '/images')
.sass( __dirname + '/src/Resources/assets/sass/app.scss', 'css/ui.css')
mix.js(
[
__dirname + "/src/Resources/assets/js/app.js",
__dirname + "/src/Resources/assets/js/dropdown.js"
],
"js/ui.js"
)
.copyDirectory(
__dirname + "/src/Resources/assets/images",
publicPath + "/images"
)
.sass(__dirname + "/src/Resources/assets/sass/app.scss", "css/ui.css")
.options({
'processCssUrls': false
processCssUrls: false
});
if (mix.inProduction()) {
mix.version();
}
}

View File

@ -10,14 +10,16 @@ class AdminsTableSeeder extends Seeder
{
public function run()
{
$role = Role::first();
$admin = new Admin();
$admin->name = 'Admin';
$admin->email = 'admin@example.com';
$admin->password = bcrypt('admin123');
$admin->status = true;
$admin->role_id = $role->id;
$admin->save();
$i=0;
for ($i=0;$i<10;$i++) {
$role = Role::first();
$admin = new Admin();
$admin->name = random_str(8);
$admin->email = random_str(10).'@example.com';
$admin->password = bcrypt('admin123');
$admin->status = 1;
$admin->role_id = $role->id;
$admin->save();
}
}
}
}

2
public/js/app.js vendored

File diff suppressed because one or more lines are too long

View File

@ -1,10 +1,3 @@
{
"/js/app.js": "/js/app.js",
"/css/app.css": "/css/app.css",
"/js/admin.js": "/js/admin.js",
"/css/admin.css": "/css/admin.css",
"/public/vendor/admin/js/admin.js": "/public/vendor/admin/js/admin.js",
"/public/vendor/admin/css/admin.css": "/public/vendor/admin/css/admin.css",
"/vendor/admin/js/admin.js": "/vendor/admin/js/admin.js",
"/vendor/admin/css/admin.css": "/vendor/admin/css/admin.css"
"/js/app.js": "/js/app.js"
}

View File

@ -10,7 +10,7 @@
.navbar-top {
height: 60px;
background: #FFFFFF;
background: #ffffff;
font-size: 0;
-webkit-box-shadow: 0 3px 6px 0 rgba(0, 0, 0, 0.05);
box-shadow: 0 3px 6px 0 rgba(0, 0, 0, 0.05);
@ -65,7 +65,7 @@
.navbar-top .navbar-top-right .profile-info .role {
font-size: 14px;
color: #8E8E8E;
color: #8e8e8e;
display: block;
text-align: left;
}
@ -94,11 +94,11 @@
}
.navbar-left ul.menubar li.menu-item a {
color: #A2A2A2;
color: #a2a2a2;
}
.navbar-left ul.menubar li.menu-item.active a {
color: #0041FF;
color: #0041ff;
}
.content-container {
@ -120,7 +120,7 @@
top: 60px;
bottom: 0;
border-right: 1px solid rgba(162, 162, 162, 0.2);
background: #F8F9FA;
background: #f8f9fa;
padding-top: 10px;
overflow-y: auto;
z-index: 4;

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,21 @@
/* Author: Prashant Singh */
.footer {
background-color: #f2f2f2;
font-family: Montserrat-Regular;
display: block;
max-width: 1600px;
max-height: 344px;
margin-bottom: 0%;
height: 344px;
color: #ff242424;
font-size: 14px;
letter-spacing: -0.22px;
line-height: 18px;
}
.footer .category-list {
font-size: 16px;
color: #a5a5a5;
letter-spacing: -0.26px;
line-height: 19px;
}

File diff suppressed because it is too large Load Diff

Binary file not shown.

After

Width:  |  Height:  |  Size: 851 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 278 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 320 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 320 KiB

View File

@ -0,0 +1,14 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg width="106px" height="16px" viewBox="0 0 106 16" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<!-- Generator: Sketch 50.2 (55047) - http://www.bohemiancoding.com/sketch -->
<title>Star-5</title>
<desc>Created with Sketch.</desc>
<defs></defs>
<g id="Star-5" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
<polygon id="Star" fill="#242424" points="8.41169779 13.2668737 3.21298265 16 4.2058489 10.2111456 2.29816166e-14 6.11145618 5.81234022 5.26687371 8.41169779 0 11.0110554 5.26687371 16.8233956 6.11145618 12.6175467 10.2111456 13.6104129 16"></polygon>
<polygon id="Star" fill="#242424" points="31.4116978 13.2668737 26.2129827 16 27.2058489 10.2111456 23 6.11145618 28.8123402 5.26687371 31.4116978 0 34.0110554 5.26687371 39.8233956 6.11145618 35.6175467 10.2111456 36.6104129 16"></polygon>
<polygon id="Star" fill="#242424" points="53.4116978 13.2668737 48.2129827 16 49.2058489 10.2111456 45 6.11145618 50.8123402 5.26687371 53.4116978 0 56.0110554 5.26687371 61.8233956 6.11145618 57.6175467 10.2111456 58.6104129 16"></polygon>
<polygon id="Star" fill="#242424" points="75.4116978 13.2668737 70.2129827 16 71.2058489 10.2111456 67 6.11145618 72.8123402 5.26687371 75.4116978 0 78.0110554 5.26687371 83.8233956 6.11145618 79.6175467 10.2111456 80.6104129 16"></polygon>
<polygon id="Star" fill="#242424" points="97.4116978 13.2668737 92.2129827 16 93.2058489 10.2111456 89 6.11145618 94.8123402 5.26687371 97.4116978 0 100.011055 5.26687371 105.823396 6.11145618 101.617547 10.2111456 102.610413 16"></polygon>
</g>
</svg>

After

Width:  |  Height:  |  Size: 1.7 KiB

View File

@ -0,0 +1,10 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg width="18px" height="18px" viewBox="0 0 18 18" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<!-- Generator: Sketch 50.2 (55047) - http://www.bohemiancoding.com/sketch -->
<title>arrow-down</title>
<desc>Created with Sketch.</desc>
<defs></defs>
<g id="arrow-down" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
<polygon id="Rectangle-2" fill="#A5A5A5" transform="translate(9.000000, 8.000000) rotate(-45.000000) translate(-9.000000, -8.000000) " points="6 5 12 11 6 11"></polygon>
</g>
</svg>

After

Width:  |  Height:  |  Size: 633 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.0 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 96 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 202 KiB

View File

@ -0,0 +1,20 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg width="24px" height="24px" viewBox="0 0 24 24" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<!-- Generator: Sketch 50.2 (55047) - http://www.bohemiancoding.com/sketch -->
<title>icon-menu</title>
<desc>Created with Sketch.</desc>
<defs></defs>
<g id="icon-menu" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd" stroke-linecap="round">
<g id="Group-2" transform="translate(4.000000, 5.000000)" stroke="#242424" stroke-width="3">
<g id="Group" transform="translate(0.000000, 6.000000)">
<path d="M1,1.5 L15,1.5" id="Line-2"></path>
</g>
<g id="Group-Copy">
<path d="M1,1.5 L15,1.5" id="Line-2"></path>
</g>
<g id="Group-Copy-2" transform="translate(0.000000, 12.000000)">
<path d="M1,1.5 L15,1.5" id="Line-2"></path>
</g>
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 1002 B

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 7.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.7 KiB

View File

@ -0,0 +1,13 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg width="24px" height="24px" viewBox="0 0 24 24" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<!-- Generator: Sketch 50.2 (55047) - http://www.bohemiancoding.com/sketch -->
<title>icon-offer</title>
<desc>Created with Sketch.</desc>
<defs></defs>
<g id="icon-offer" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
<polygon id="Star" fill="#FF6472" points="12 21.8341033 8.29179607 23.8299999 6.46471607 20.0352146 2.29179607 19.4698579 3.04372246 15.325663 0 12.415 3.04372246 9.50433697 2.29179607 5.360142 6.46471607 4.79478531 8.29179607 1 12 2.99589665 15.7082039 1 17.5352839 4.79478531 21.7082039 5.360142 20.9562775 9.50433697 24 12.415 20.9562775 15.325663 21.7082039 19.4698579 17.5352839 20.0352146 15.7082039 23.8299999"></polygon>
<text id="%" font-family="Montserrat-Regular, Montserrat" font-size="12" font-weight="normal" letter-spacing="-0.2879999" fill="#FFFFFF">
<tspan x="7.8559999" y="17">%</tspan>
</text>
</g>
</svg>

After

Width:  |  Height:  |  Size: 1.1 KiB

View File

@ -0,0 +1,10 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg width="32px" height="32px" viewBox="0 0 32 32" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<!-- Generator: Sketch 50.2 (55047) - http://www.bohemiancoding.com/sketch -->
<title>Wishlist</title>
<desc>Created with Sketch.</desc>
<defs></defs>
<g id="Wishlist" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd" stroke-linecap="round">
<path d="M15.9962711,26 C15.9962711,26 3.82641602,21.6804199 5.05062701,11.3846154 C5.38182072,8.59922485 8.45774362,6 11.3052808,6 C13.3974625,6 15.1753096,7.5626878 15.9962711,9.07692308 C16.9857769,7.57771184 18.5950798,6 20.6872614,6 C23.5347986,6 26.6121993,8.59909844 26.9419152,11.3846154 C28.2089844,22.0891113 15.9962711,26 15.9962711,26 Z" id="heart" stroke="#FF6472" stroke-width="3" fill-rule="nonzero"></path>
</g>
</svg>

After

Width:  |  Height:  |  Size: 905 B

View File

@ -0,0 +1,10 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg width="32px" height="32px" viewBox="0 0 32 32" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<!-- Generator: Sketch 50.2 (55047) - http://www.bohemiancoding.com/sketch -->
<title>Wishlist-Add</title>
<desc>Created with Sketch.</desc>
<defs></defs>
<g id="Wishlist-Add" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd" stroke-linecap="round">
<path d="M15.9962711,26 C15.9962711,26 3.82641602,21.6804199 5.05062701,11.3846154 C5.38182072,8.59922485 8.45774362,6 11.3052808,6 C13.3974625,6 15.1753096,7.5626878 15.9962711,9.07692308 C16.9857769,7.57771184 18.5950798,6 20.6872614,6 C23.5347986,6 26.6121993,8.59909844 26.9419152,11.3846154 C28.2089844,22.0891113 15.9962711,26 15.9962711,26 Z" id="heart" stroke="#FF6472" stroke-width="3" fill="#FF6472" fill-rule="nonzero"></path>
</g>
</svg>

After

Width:  |  Height:  |  Size: 928 B

View File

@ -0,0 +1,81 @@
/******/ (function(modules) { // webpackBootstrap
/******/ // The module cache
/******/ var installedModules = {};
/******/
/******/ // The require function
/******/ function __webpack_require__(moduleId) {
/******/
/******/ // Check if module is in cache
/******/ if(installedModules[moduleId]) {
/******/ return installedModules[moduleId].exports;
/******/ }
/******/ // Create a new module (and put it into the cache)
/******/ var module = installedModules[moduleId] = {
/******/ i: moduleId,
/******/ l: false,
/******/ exports: {}
/******/ };
/******/
/******/ // Execute the module function
/******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__);
/******/
/******/ // Flag the module as loaded
/******/ module.l = true;
/******/
/******/ // Return the exports of the module
/******/ return module.exports;
/******/ }
/******/
/******/
/******/ // expose the modules object (__webpack_modules__)
/******/ __webpack_require__.m = modules;
/******/
/******/ // expose the module cache
/******/ __webpack_require__.c = installedModules;
/******/
/******/ // define getter function for harmony exports
/******/ __webpack_require__.d = function(exports, name, getter) {
/******/ if(!__webpack_require__.o(exports, name)) {
/******/ Object.defineProperty(exports, name, {
/******/ configurable: false,
/******/ enumerable: true,
/******/ get: getter
/******/ });
/******/ }
/******/ };
/******/
/******/ // getDefaultExport function for compatibility with non-harmony modules
/******/ __webpack_require__.n = function(module) {
/******/ var getter = module && module.__esModule ?
/******/ function getDefault() { return module['default']; } :
/******/ function getModuleExports() { return module; };
/******/ __webpack_require__.d(getter, 'a', getter);
/******/ return getter;
/******/ };
/******/
/******/ // Object.prototype.hasOwnProperty.call
/******/ __webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };
/******/
/******/ // __webpack_public_path__
/******/ __webpack_require__.p = "/";
/******/
/******/ // Load entry module and return exports
/******/ return __webpack_require__(__webpack_require__.s = 0);
/******/ })
/************************************************************************/
/******/ ([
/* 0 */
/***/ (function(module, exports, __webpack_require__) {
(function webpackMissingModule() { throw new Error("Cannot find module \"/home/users/prashant.singh/www/html/bagisto/packages/Webkul/Shop/src/Resources/assets/js/app.js\""); }());
module.exports = __webpack_require__(1);
/***/ }),
/* 1 */
/***/ (function(module, exports) {
// removed by extract-text-webpack-plugin
/***/ })
/******/ ]);

21996
public/vendor/webkul/shop/assets/js/shop.js vendored Normal file

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,80 @@
/******/ (function(modules) { // webpackBootstrap
/******/ // The module cache
/******/ var installedModules = {};
/******/
/******/ // The require function
/******/ function __webpack_require__(moduleId) {
/******/
/******/ // Check if module is in cache
/******/ if(installedModules[moduleId]) {
/******/ return installedModules[moduleId].exports;
/******/ }
/******/ // Create a new module (and put it into the cache)
/******/ var module = installedModules[moduleId] = {
/******/ i: moduleId,
/******/ l: false,
/******/ exports: {}
/******/ };
/******/
/******/ // Execute the module function
/******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__);
/******/
/******/ // Flag the module as loaded
/******/ module.l = true;
/******/
/******/ // Return the exports of the module
/******/ return module.exports;
/******/ }
/******/
/******/
/******/ // expose the modules object (__webpack_modules__)
/******/ __webpack_require__.m = modules;
/******/
/******/ // expose the module cache
/******/ __webpack_require__.c = installedModules;
/******/
/******/ // define getter function for harmony exports
/******/ __webpack_require__.d = function(exports, name, getter) {
/******/ if(!__webpack_require__.o(exports, name)) {
/******/ Object.defineProperty(exports, name, {
/******/ configurable: false,
/******/ enumerable: true,
/******/ get: getter
/******/ });
/******/ }
/******/ };
/******/
/******/ // getDefaultExport function for compatibility with non-harmony modules
/******/ __webpack_require__.n = function(module) {
/******/ var getter = module && module.__esModule ?
/******/ function getDefault() { return module['default']; } :
/******/ function getModuleExports() { return module; };
/******/ __webpack_require__.d(getter, 'a', getter);
/******/ return getter;
/******/ };
/******/
/******/ // Object.prototype.hasOwnProperty.call
/******/ __webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };
/******/
/******/ // __webpack_public_path__
/******/ __webpack_require__.p = "/";
/******/
/******/ // Load entry module and return exports
/******/ return __webpack_require__(__webpack_require__.s = 0);
/******/ })
/************************************************************************/
/******/ ([
/* 0 */
/***/ (function(module, exports, __webpack_require__) {
module.exports = __webpack_require__(1);
/***/ }),
/* 1 */
/***/ (function(module, exports) {
// removed by extract-text-webpack-plugin
/***/ })
/******/ ]);

View File

@ -0,0 +1,8 @@
{
"/js/footer.js": "/js/footer.js",
"/css/footer.css": "/css/footer.css",
"/js/ui.js": "/js/ui.js",
"/css/shop.css": "/css/shop.css",
"/js/shop.js": "/js/shop.js",
"/css/ui.css": "/css/ui.css"
}

View File

@ -69,6 +69,12 @@
height: 24px;
}
.cross-icon {
background-image: url("../images/Icon-Crossed.svg");
width: 24px;
height: 24px;
}
.trash-icon {
background-image: url("../images/Icon-Trash.svg");
width: 24px;
@ -252,13 +258,13 @@ ul {
h1 {
font-size: 28px;
color: #3A3A3A;
color: #3a3a3a;
margin-top: 0;
}
h2 {
font-size: 18px;
color: #3A3A3A;
color: #3a3a3a;
}
.hide {
@ -306,7 +312,7 @@ h2 {
.btn[disabled="disabled"], .btn[disabled="disabled"]:hover, .btn[disabled="disabled"]:active {
cursor: not-allowed;
background: #B1B1AE;
background: #b1b1ae;
-webkit-box-shadow: none;
box-shadow: none;
opacity: 1;
@ -321,7 +327,7 @@ h2 {
-webkit-box-shadow: 0 2px 4px 0 rgba(0, 0, 0, 0.16), 0 0 9px 0 rgba(0, 0, 0, 0.16);
box-shadow: 0 2px 4px 0 rgba(0, 0, 0, 0.16), 0 0 9px 0 rgba(0, 0, 0, 0.16);
border-radius: 3px;
background-color: #FFFFFF;
background-color: #ffffff;
position: absolute;
display: none;
z-index: 10;
@ -358,7 +364,7 @@ h2 {
font-size: 15px;
display: inline-block;
text-transform: uppercase;
color: #9E9E9E;
color: #9e9e9e;
font-weight: 700;
padding-bottom: 5px;
}
@ -378,7 +384,10 @@ h2 {
cursor: pointer;
}
.dropdown-list .dropdown-container ul li a:link, .dropdown-list .dropdown-container ul li a:active, .dropdown-list .dropdown-container ul li a:visited, .dropdown-list .dropdown-container ul li a:focus {
.dropdown-list .dropdown-container ul li a:link,
.dropdown-list .dropdown-container ul li a:active,
.dropdown-list .dropdown-container ul li a:visited,
.dropdown-list .dropdown-container ul li a:focus {
color: #333333;
display: block;
}
@ -401,24 +410,24 @@ h2 {
.table table thead th {
font-weight: 700;
padding: 12px 10px;
background: #F8F9FA;
color: #3A3A3A;
background: #f8f9fa;
color: #3a3a3a;
}
.table table tbody td {
padding: 12px 10px;
border-bottom: solid 1px #D3D3D3;
color: #3A3A3A;
border-bottom: solid 1px #d3d3d3;
color: #3a3a3a;
}
.dropdown-btn {
min-width: 150px;
text-align: left;
background: #FFFFFF;
background: #ffffff;
border: 2px solid #C7C7C7;
border-radius: 3px;
font-size: 14px;
color: #8E8E8E;
color: #8e8e8e;
padding: 8px 35px 8px 10px;
cursor: pointer;
position: relative;
@ -437,14 +446,14 @@ h2 {
}
.pagination .page-item {
background: #FFFFFF;
background: #ffffff;
border: 2px solid #C7C7C7;
border-radius: 3px;
padding: 7px 14px;
margin-right: 5px;
font-size: 16px;
display: inline-block;
color: #8E8E8E;
color: #8e8e8e;
vertical-align: middle;
text-decoration: none;
}
@ -454,9 +463,9 @@ h2 {
}
.pagination .page-item.active {
background: #0041FF;
background: #0041ff;
color: #fff;
border-color: #0041FF;
border-color: #0041ff;
}
.pagination .page-item .icon {
@ -543,7 +552,7 @@ h2 {
.control-group label {
display: block;
color: #3A3A3A;
color: #3a3a3a;
}
.control-group textarea.control {
@ -572,20 +581,20 @@ h2 {
}
.control-group .control[disabled="disabled"] {
border-color: #D3D3D3;
background-color: #D3D3D3;
border-color: #d3d3d3;
background-color: #d3d3d3;
cursor: not-allowed;
}
.control-group .control-info {
display: block;
font-style: italic;
color: #6F6F6F;
color: #6f6f6f;
}
.control-group .control-error {
display: none;
color: #FF5656;
color: #ff5656;
margin-top: 5px;
}
@ -642,7 +651,7 @@ h2 {
}
.alert-wrapper .alert p {
color: #FFFFFF;
color: #ffffff;
margin: 0px;
padding: 0px;
font-size: 15px;
@ -671,7 +680,7 @@ h2 {
.accordian .accordian-header {
font-size: 18px;
color: #3A3A3A;
color: #3a3a3a;
border-bottom: solid 1px rgba(162, 162, 162, 0.2);
padding: 20px 15px;
cursor: pointer;
@ -740,3 +749,126 @@ h2 {
.panel .panel-content {
padding: 20px;
}
/* DataGrid */
.grid-container {
margin-top: 30px;
}
.grid-container .filter-wrapper {
display: block;
-webkit-box-sizing: border-box;
box-sizing: border-box;
}
.grid-container .filter-wrapper .filter-row-one,
.grid-container .filter-wrapper .filter-row-two {
display: -webkit-box;
display: -ms-flexbox;
display: flex;
-webkit-box-orient: horizontal;
-webkit-box-direction: normal;
-ms-flex-direction: row;
flex-direction: row;
}
.grid-container .filter-wrapper .filter-row-one {
height: 40px;
-webkit-box-align: center;
-ms-flex-align: center;
align-items: center;
-webkit-box-pack: justify;
-ms-flex-pack: justify;
justify-content: space-between;
}
.grid-container .filter-wrapper .filter-row-one .search-filter .control {
font-family: "montserrat", sans-serif;
padding-left: 5px;
width: 380px;
height: 36px;
border: 2px solid #C7C7C7;
border-radius: 3px;
font-size: 14px;
}
.grid-container .filter-wrapper .filter-row-one .dropdown-filters {
display: -webkit-inline-box;
display: -ms-inline-flexbox;
display: inline-flex;
}
.grid-container .filter-wrapper .filter-row-one .dropdown-filters .column-filter {
margin-right: 5px;
}
.grid-container .filter-wrapper .filter-row-one .dropdown-filters .column-filter .control {
font-family: "montserrat", sans-serif;
padding-left: 5px;
height: 36px;
width: 150px;
border: 2px solid #C7C7C7;
border-radius: 3px;
background-color: white;
color: #8e8e8e;
font-size: 14px;
}
.grid-container .filter-wrapper .filter-row-one .dropdown-filters .more-filters {
margin-right: 5px;
}
.grid-container .filter-wrapper .filter-row-one .dropdown-filters .more-filters .control {
font-family: "montserrat", sans-serif;
padding-left: 5px;
height: 36px;
width: 150px;
border: 2px solid #C7C7C7;
border-radius: 3px;
background-color: white;
color: #8e8e8e;
font-size: 14px;
}
.grid-container .filter-wrapper .filter-row-two {
display: -webkit-box;
display: -ms-flexbox;
display: flex;
-webkit-box-orient: horizontal;
-webkit-box-direction: normal;
-ms-flex-direction: row;
flex-direction: row;
-ms-flex-wrap: wrap;
flex-wrap: wrap;
margin-top: 15px;
margin-bottom: 15px;
}
.grid-container .filter-wrapper .filter-row-two .filter-one {
margin-right: 10px;
}
.grid-container .filter-wrapper .filter-row-two .filter-one .filter-name {
margin-right: 5px;
}
.grid-container .filter-wrapper .filter-row-two .filter-one .filter-value {
display: -webkit-inline-box;
display: -ms-inline-flexbox;
display: inline-flex;
background: #e7e7e7;
height: 36px;
padding-left: 5px;
padding-right: 10px;
padding-top: 8px;
padding-bottom: 5px;
color: #000311;
vertical-align: middle;
}
.grid-container .filter-wrapper .filter-row-two .filter-one .filter-value .cross-icon {
height: 18px !important;
width: 18px !important;
}
/* DataGrid css ends in here */

View File

@ -0,0 +1,10 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg width="18px" height="18px" viewBox="0 0 18 18" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<!-- Generator: Sketch 50.2 (55047) - http://www.bohemiancoding.com/sketch -->
<title>Icon-Crossed</title>
<desc>Created with Sketch.</desc>
<defs></defs>
<g id="Icon-Crossed" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
<path d="M9,8.35557738 L12.2221131,5.13346429 C12.4000655,4.9555119 12.6885833,4.9555119 12.8665357,5.13346429 C13.0444881,5.31141669 13.0444881,5.59993452 12.8665357,5.77788691 L9.64442262,9 L12.8665357,12.2221131 C13.0444881,12.4000655 13.0444881,12.6885833 12.8665357,12.8665357 C12.6885833,13.0444881 12.4000655,13.0444881 12.2221131,12.8665357 L9,9.64442262 L5.77788691,12.8665357 C5.59993452,13.0444881 5.31141669,13.0444881 5.13346429,12.8665357 C4.9555119,12.6885833 4.9555119,12.4000655 5.13346429,12.2221131 L8.35557738,9 L5.13346429,5.77788691 C4.9555119,5.59993452 4.9555119,5.31141669 5.13346429,5.13346429 C5.31141669,4.9555119 5.59993452,4.9555119 5.77788691,5.13346429 L9,8.35557738 Z" id="Combined-Shape" fill="#8E8E8E"></path>
</g>
</svg>

After

Width:  |  Height:  |  Size: 1.2 KiB

View File

@ -0,0 +1,10 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg width="18px" height="18px" viewBox="0 0 18 18" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<!-- Generator: Sketch 50.2 (55047) - http://www.bohemiancoding.com/sketch -->
<title>Check-Accent</title>
<desc>Created with Sketch.</desc>
<defs></defs>
<g id="Check-Accent" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round">
<polyline id="Path-2" stroke="#0041FF" stroke-width="3" points="2 10 6 14 15 5"></polyline>
</g>
</svg>

After

Width:  |  Height:  |  Size: 606 B

View File

@ -0,0 +1,11 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg width="18px" height="18px" viewBox="0 0 18 18" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<!-- Generator: Sketch 50.2 (55047) - http://www.bohemiancoding.com/sketch -->
<title>Cross-Accent</title>
<desc>Created with Sketch.</desc>
<defs></defs>
<g id="Cross-Accent" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round">
<path d="M4.5,13.5 L13.5,4.5" id="Path-2" stroke="#0041FF" stroke-width="3" transform="translate(9.000000, 9.000000) scale(-1, 1) translate(-9.000000, -9.000000) "></path>
<path d="M4.5,13.5 L13.5,4.5" id="Path-2" stroke="#0041FF" stroke-width="3"></path>
</g>
</svg>

After

Width:  |  Height:  |  Size: 778 B

View File

@ -0,0 +1,16 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg width="32px" height="32px" viewBox="0 0 32 32" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<!-- Generator: Sketch 50.2 (55047) - http://www.bohemiancoding.com/sketch -->
<title>Icon-Cross</title>
<desc>Created with Sketch.</desc>
<defs></defs>
<g id="Icon-Cross" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
<g id="Group" transform="translate(4.000000, 4.000000)">
<circle id="Oval-10" fill="#0041FF" transform="translate(12.000000, 12.000000) scale(-1, 1) translate(-12.000000, -12.000000) " cx="12" cy="12" r="12"></circle>
<g id="Group-2" transform="translate(8.000000, 8.000000)" stroke="#FFFFFF" stroke-linecap="round" stroke-linejoin="round" stroke-width="3">
<path d="M0,7.5 L7.33886719,0" id="Path-13-Copy" transform="translate(3.669434, 3.750000) scale(-1, 1) translate(-3.669434, -3.750000) "></path>
<path d="M0,7.5 L7.33886719,0" id="Path-13-Copy-2"></path>
</g>
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 1.1 KiB

View File

@ -0,0 +1,13 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg width="24px" height="24px" viewBox="0 0 24 24" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<!-- Generator: Sketch 50.2 (55047) - http://www.bohemiancoding.com/sketch -->
<title>icon-account</title>
<desc>Created with Sketch.</desc>
<defs></defs>
<g id="icon-account" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
<g id="Group" transform="translate(3.000000, 2.000000)" stroke="#242424" stroke-width="3">
<path d="M1.65002717,16.5 L16.3499728,16.5 C15.6550673,13.0766395 12.6284369,10.5 9,10.5 C5.37156313,10.5 2.34493267,13.0766395 1.65002717,16.5 Z" id="Combined-Shape"></path>
<circle id="Oval-3" cx="9" cy="4" r="2.5"></circle>
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 822 B

View File

@ -0,0 +1,18 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg width="24px" height="24px" viewBox="0 0 24 24" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<!-- Generator: Sketch 50.2 (55047) - http://www.bohemiancoding.com/sketch -->
<title>icon-cart</title>
<desc>Created with Sketch.</desc>
<defs></defs>
<g id="icon-cart" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
<g id="Group" transform="translate(2.000000, 2.000000)">
<path d="M3.5,1.5 L8.5,13.5" id="Line-2" stroke="#242424" stroke-width="3" stroke-linecap="round"></path>
<path d="M15.5,5.5 L19.5,13.5" id="Line-2" stroke="#242424" stroke-width="3" stroke-linecap="round" transform="translate(17.500000, 9.500000) scale(-1, 1) translate(-17.500000, -9.500000) "></path>
<path d="M5.5,5.5 L19.5,5.5" id="Line-2" stroke="#242424" stroke-width="3" stroke-linecap="round"></path>
<path d="M0.5,1.5 L3.5,1.5" id="Line-2" stroke="#242424" stroke-width="3" stroke-linecap="round"></path>
<path d="M8.5,13.5 L15.5,13.5" id="Line-2" stroke="#242424" stroke-width="3" stroke-linecap="round"></path>
<circle id="Oval" fill="#242424" cx="9" cy="18" r="2"></circle>
<circle id="Oval" fill="#242424" cx="15" cy="18" r="2"></circle>
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 1.3 KiB

View File

@ -0,0 +1,13 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg width="24px" height="24px" viewBox="0 0 24 24" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<!-- Generator: Sketch 50.2 (55047) - http://www.bohemiancoding.com/sketch -->
<title>icon-offer</title>
<desc>Created with Sketch.</desc>
<defs></defs>
<g id="icon-offer" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
<polygon id="Star" fill="#FF6472" points="12 21.8341033 8.29179607 23.8299999 6.46471607 20.0352146 2.29179607 19.4698579 3.04372246 15.325663 0 12.415 3.04372246 9.50433697 2.29179607 5.360142 6.46471607 4.79478531 8.29179607 1 12 2.99589665 15.7082039 1 17.5352839 4.79478531 21.7082039 5.360142 20.9562775 9.50433697 24 12.415 20.9562775 15.325663 21.7082039 19.4698579 17.5352839 20.0352146 15.7082039 23.8299999"></polygon>
<text id="%" font-family="Montserrat-Regular, Montserrat" font-size="12" font-weight="normal" letter-spacing="-0.2879999" fill="#FFFFFF">
<tspan x="7.8559999" y="17">%</tspan>
</text>
</g>
</svg>

After

Width:  |  Height:  |  Size: 1.1 KiB