diff --git a/packages/Webkul/Ui/src/DataGrid/AbsGrid.php b/packages/Webkul/Ui/src/DataGrid/AbsGrid.php index 3f98abe59..939f9a57e 100644 --- a/packages/Webkul/Ui/src/DataGrid/AbsGrid.php +++ b/packages/Webkul/Ui/src/DataGrid/AbsGrid.php @@ -128,16 +128,18 @@ abstract class AbsGrid throw new \Exception('Multiple Search keys Found, Please Resolve the URL Manually'); } - $collection->where(function () use($collection, $info) { - foreach ($this->allColumns as $column) { - if($column['searchable'] == true) - $collection->orWhere($column['column'], 'like', '%'.$info['all'].'%'); - } - }); + if ($count_keys == 1) { + return $collection->where(function () use($collection, $info) { + foreach ($this->allColumns as $column) { + if($column['searchable'] == true) + $collection->orWhere($column['column'], 'like', '%'.$info['all'].'%'); + } + }); + } } else { if (array_keys($info)[0] == "like" || array_keys($info)[0] == "nlike") { foreach ($info as $condition => $filter_value) { - $collection->where( + return $collection->where( $columnName, config("datagrid.operators.{$condition}"), '%'.$filter_value.'%' @@ -146,13 +148,13 @@ abstract class AbsGrid } else { foreach ($info as $condition => $filter_value) { if($columnType == 'datetime') { - $collection->whereDate( + return $collection->whereDate( $columnName, config("datagrid.operators.{$condition}"), $filter_value ); } else { - $collection->where( + return $collection->where( $columnName, config("datagrid.operators.{$condition}"), $filter_value diff --git a/packages/Webkul/Ui/src/Resources/assets/sass/components.scss b/packages/Webkul/Ui/src/Resources/assets/sass/components.scss index 0e8d05174..a0cf1f83e 100644 --- a/packages/Webkul/Ui/src/Resources/assets/sass/components.scss +++ b/packages/Webkul/Ui/src/Resources/assets/sass/components.scss @@ -1,257 +1,79 @@ -/* Data grid css starts here */ .grid-container { - .filter-wrapper { - display: block; - box-sizing: border-box; + display: block; + width: 100%; + height: 100%; +} - .filter-row-one, - .filter-row-two { - display: flex; - flex-direction: row; - } - .filter-row-one { - height: 40px; - align-items: center; - justify-content: space-between; +.filter-row-one { + display: flex; + width: 100%; + flex-direction: row; + justify-content: space-between; + align-items: center; + margin-bottom: 10px; +} - .search-filter { - .control { - font-family: "montserrat", sans-serif; - padding-left: 10px; - width: 380px; - height: 36px; - border: 2px solid $control-border-color; - border-radius: 3px; - border-right: 0px; - border-top-right-radius: 0px; - border-bottom-right-radius: 0px; - font-size: 14px; - } - .ic-wrapper { - display: block; - height: 36px; - width: 36px; - border: 2px solid $control-border-color; - border-left: none; - border-radius: 2px; +.filter-row-two { + display: flex; + width: 100%; + flex-direction: row; + justify-content: flex-start; + align-items: center; + margin-bottom: 10px; +} - .search-icon { - margin-left: 4px; - margin-top: 4px; - height: 24px; - width: 24px; - } - } - } +.search-filter { + display: flex; + flex-direction: row; + align-items: center; + justify-content: flex-start; - .dropdown-filters { - display: inline-flex; - - .more-filters { - - .dropdown-toggle { - display: flex; - flex-direction: row; - align-items: center; - justify-content: center; - font-family: "montserrat", sans-serif; - padding-left: 5px; - height: 36px; - width: 150px; - border: 2px solid $control-border-color; - border-radius: 2px; - background-color: $color-white; - color: $filter-toggle-color; - font-size: 14px; - - .dropdown-header { - width: 100%; - display: flex; - flex-direction: row; - align-items: center; - justify-content: space-between; - - .arrow-down-icon { - margin-right: 5px; - } - } - } - - .dropdown-list { - .dropdown-container { - ul { - li.filter-column-dropdown { - .filter-column-select { - width: 100%; - background: $color-white; - border: 2px solid $control-border-color; - border-radius: 3px; - height: 36px; - display: inline-block; - vertical-align: middle; - -webkit-transition: 0.2s - cubic-bezier(0.4, 0, 0.2, 1); - transition: 0.2s - cubic-bezier(0.4, 0, 0.2, 1); - padding: 0px 5px; - font-family: "montserrat", sans-serif; - margin-top: 10px; - margin-bottom: 5px; - } - } - - li { - select { - background: $color-white; - border: 2px solid $control-border-color; - border-radius: 3px; - height: 36px; - width: 100%; - display: inline-block; - vertical-align: middle; - -webkit-transition: 0.2s - cubic-bezier(0.4, 0, 0.2, 1); - transition: 0.2s - cubic-bezier(0.4, 0, 0.2, 1); - padding: 0px 5px; - font-family: "montserrat", sans-serif; - margin-top: 10px; - margin-bottom: 5px; - } - - input { - background: #fff; - border: 2px solid #c7c7c7; - border-radius: 3px; - height: 36px; - width: 100%; - display: inline-block; - vertical-align: middle; - -webkit-transition: 0.2s - cubic-bezier(0.4, 0, 0.2, 1); - transition: 0.2s - cubic-bezier(0.4, 0, 0.2, 1); - padding: 0px 5px; - font-family: "montserrat", sans-serif; - margin-top: 10px; - margin-bottom: 5px; - } - } - - .filter-condition-dropdown-string { - display: none; - } - .filter-condition-dropdown-number { - display: none; - } - .filter-condition-dropdown-datetime { - display: none; - } - .filter-condition-dropdown-boolean { - display: none; - } - - .filter-response-string { - display: none; - } - .filter-response-boolean { - display: none; - } - .filter-response-datetime { - display: none; - } - .filter-response-number { - display: none; - } - } - } - } - } - } - } - .filter-row-two { - display: flex; - flex-direction: row; - flex-wrap: wrap; - margin-top: 6px; - margin-bottom: 6px; - - .filter-one { - margin-right: 10px; - - .filter-name { - margin-right: 5px; - } - - .filter-value { - display: inline-flex; - background: #e7e7e7; - padding-left: 5px; - color: $color-black-shade; - vertical-align: middle; - - .f-value { - margin: auto; - } - - .cross-icon { - margin: 5px; - height: 18px !important; - width: 18px !important; - cursor: pointer; - } - } - } - } + .control { + background: #ffffff; + border: 2px solid $control-border-color; + border-right: none; + border-top-right-radius: 0px; + border-bottom-right-radius: 0px; + border-radius: 3px; + height: 36px; + width: 360px; + padding-left: 10px; + font-size: 15px; + color: #8E8E8E; } - .table { - thead { - .mass-action-wrapper { - display: flex; - flex-direction: row; - justify-content: flex-start; - align-items: center; - .massaction-remove { - margin-top: 4px; - margin-right: 10px; - } + .contorl:focus { + border-color: $brand-color; + } - .selected-items { - margin-right: 15px; - } - } - tr { - th.grid_head { + .icon-wrapper { + border: 2px solid $control-border-color; + border-radius: 3px; + border-top-left-radius: 0px; + border-bottom-left-radius: 0px; + height: 36px; + width: 36px; + margin-left: -1px; - .sort-down-icon, .sort-up-icon { - margin-left: 5px; - margin-top: -3px; - vertical-align: middle; - } - } - - th.grid_head.sortable { - cursor: pointer; - } - - th { - text-transform: capitalize; - } - } - } - - tbody { - td.action { - a:first-child { - margin-right: 10px; - } - } - } - - .pagination { - margin-top:20px; + .search-icon { + margin-top: 3px; + margin-left: 3px; } } } -/* DataGrid css ends in here */ + +.dropdown-header { + display: inline-flex; + justify-content: space-between; + align-items: center; + height: 36px; + width: 100px; + border: 2px solid $control-border-color; + border-radius: 3px; + color: #8E8E8E; + padding: 0px 5px 0px 5px; + + .arrow-icon-down { + float: right; + } +} \ No newline at end of file diff --git a/packages/Webkul/Ui/src/Resources/views/testgrid/table.blade.php b/packages/Webkul/Ui/src/Resources/views/testgrid/table.blade.php index 24f266011..941bd0dcb 100644 --- a/packages/Webkul/Ui/src/Resources/views/testgrid/table.blade.php +++ b/packages/Webkul/Ui/src/Resources/views/testgrid/table.blade.php @@ -1,118 +1,134 @@
- - - - @include('ui::testgrid.body', ['records' => $results['records']]) -
+ @push('scripts') @@ -234,16 +253,12 @@ getResponse() { if(this.type == 'string') { - console.log(this.columnOrAlias, this.stringCondition, this.stringValue); this.formURL(this.columnOrAlias, this.stringCondition, this.stringValue) } else if(this.type == 'number') { - console.log(this.columnOrAlias, this.numberCondition, this.numberValue); this.formURL(this.columnOrAlias, this.numberCondition, this.numberValue); } else if(this.type == 'boolean') { - console.log(this.columnOrAlias, this.booleanCondition, this.booleanValue); this.formURL(this.columnOrAlias, this.booleanCondition, this.booleanValue); } else if(this.type == 'datetime') { - console.log(this.columnOrAlias, this.datetimeCondition, this.datetimeValue); this.formURL(this.columnOrAlias, this.datetimeCondition, this.datetimeValue); } }, diff --git a/packages/Webkul/Ui/webpack.mix.js b/packages/Webkul/Ui/webpack.mix.js index 62c9ba3ef..54dca326b 100644 --- a/packages/Webkul/Ui/webpack.mix.js +++ b/packages/Webkul/Ui/webpack.mix.js @@ -1,8 +1,8 @@ const { mix } = require("laravel-mix"); require("laravel-mix-merge-manifest"); -var publicPath = 'publishable/assets'; -// var publicPath = "../../../public/vendor/webkul/ui/assets"; +// var publicPath = 'publishable/assets'; +var publicPath = "../../../public/vendor/webkul/ui/assets"; mix.setPublicPath(publicPath).mergeManifest(); mix.disableNotifications();