├── renovate.json ├── view ├── base │ └── web │ │ ├── css │ │ └── source │ │ │ └── _module.less │ │ ├── template │ │ └── grid │ │ │ ├── refresh │ │ │ └── refresh.html │ │ │ ├── sticky │ │ │ └── sticky.html │ │ │ └── toolbar.html │ │ └── js │ │ └── grid │ │ └── refresh │ │ └── refresh.js └── adminhtml │ └── ui_component │ └── sales_order_grid.xml ├── registration.php ├── composer.json ├── etc └── module.xml ├── .github └── FUNDING.yml ├── .gitignore ├── LICENSE └── README.md /renovate.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": [ 3 | "config:base" 4 | ] 5 | } 6 | -------------------------------------------------------------------------------- /view/base/web/css/source/_module.less: -------------------------------------------------------------------------------- 1 | .data-grid-filters-action-wrap { 2 | .action-default.adapttive-action-refresh { 3 | padding-left: 0.7rem !important; 4 | padding-right: 0.5rem !important; 5 | &:before { 6 | content: '\e61f' !important; 7 | } 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /view/base/web/template/grid/refresh/refresh.html: -------------------------------------------------------------------------------- 1 |
2 |
3 | 4 |
5 |
6 | -------------------------------------------------------------------------------- /registration.php: -------------------------------------------------------------------------------- 1 | 10 | * @copyright 2020 Milind Singh 11 | * @license MIT 12 | * @version 1.0.0 13 | */ 14 | 15 | use \Magento\Framework\Component\ComponentRegistrar; 16 | 17 | ComponentRegistrar::register(ComponentRegistrar::MODULE, 'Adapttive_Ui', __DIR__); 18 | -------------------------------------------------------------------------------- /composer.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "adapttive/advance-grid", 3 | "description": "Module for Magento2 provides enhanced ui grid with refresh and conditional filters.", 4 | "type": "magento2-module", 5 | "require": { 6 | "php": "~7.1.3||~7.2.0||~7.3.0||~7.4.0", 7 | "magento/module-ui": "101.1.*", 8 | "magento/framework": "102.0.*" 9 | }, 10 | "license": [ 11 | "MIT" 12 | ], 13 | "autoload": { 14 | "files": [ 15 | "registration.php" 16 | ], 17 | "psr-4": { 18 | "Adapttive\\Ui\\": "" 19 | } 20 | }, 21 | "version": "1.0.0" 22 | } 23 | -------------------------------------------------------------------------------- /etc/module.xml: -------------------------------------------------------------------------------- 1 | 2 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | -------------------------------------------------------------------------------- /.github/FUNDING.yml: -------------------------------------------------------------------------------- 1 | # These are supported funding model platforms 2 | 3 | github: # Replace with up to 4 GitHub Sponsors-enabled usernames e.g., [user1, user2] 4 | patreon: adapttive # Replace with a single Patreon username 5 | open_collective: # Replace with a single Open Collective username 6 | ko_fi: # Replace with a single Ko-fi username 7 | tidelift: # Replace with a single Tidelift platform-name/package-name e.g., npm/babel 8 | community_bridge: # Replace with a single Community Bridge project-name e.g., cloud-foundry 9 | liberapay: # Replace with a single Liberapay username 10 | issuehunt: # Replace with a single IssueHunt username 11 | otechie: # Replace with a single Otechie username 12 | custom: # Replace with up to 4 custom sponsorship URLs e.g., ['link1', 'link2'] 13 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | #--------------------------# 2 | # Magento Default Files # 3 | #--------------------------# 4 | 5 | /PATCH_*.sh 6 | 7 | /app/etc/local.xml 8 | 9 | /media/* 10 | !/media/.htaccess 11 | 12 | !/media/customer 13 | /media/customer/* 14 | !/media/customer/.htaccess 15 | 16 | !/media/dhl 17 | /media/dhl/* 18 | !/media/dhl/logo.jpg 19 | 20 | !/media/downloadable 21 | /media/downloadable/* 22 | !/media/downloadable/.htaccess 23 | 24 | !/media/xmlconnect 25 | /media/xmlconnect/* 26 | 27 | !/media/xmlconnect/custom 28 | /media/xmlconnect/custom/* 29 | !/media/xmlconnect/custom/ok.gif 30 | 31 | !/media/xmlconnect/original 32 | /media/xmlconnect/original/* 33 | !/media/xmlconnect/original/ok.gif 34 | 35 | !/media/xmlconnect/system 36 | /media/xmlconnect/system/* 37 | !/media/xmlconnect/system/ok.gif 38 | 39 | /var/* 40 | !/var/.htaccess 41 | 42 | !/var/package 43 | /var/package/* 44 | !/var/package/*.xml 45 | 46 | -------------------------------------------------------------------------------- /view/adminhtml/ui_component/sales_order_grid.xml: -------------------------------------------------------------------------------- 1 | 2 | 16 | 18 | 19 | 20 | 21 | Adapttive_Ui/grid/sticky/sticky 22 | 23 | 24 | 25 | 26 | 27 | -------------------------------------------------------------------------------- /view/base/web/js/grid/refresh/refresh.js: -------------------------------------------------------------------------------- 1 | /** 2 | * @api 3 | */ 4 | define([ 5 | 'ko', 6 | 'underscore', 7 | 'mageUtils', 8 | 'uiLayout', 9 | 'uiElement' 10 | ], function (ko, _, utils, layout, Element) { 11 | 'use strict'; 12 | 13 | return Element.extend({ 14 | defaults: { 15 | template: 'Adapttive_Ui/grid/refresh/refresh', 16 | }, 17 | 18 | /** 19 | * Initializes paging component. 20 | * 21 | * @returns {Refresh} Chainable. 22 | */ 23 | initialize: function () { 24 | this._super(); 25 | return this; 26 | }, 27 | 28 | 29 | /** 30 | * Refresh the current page. 31 | * 32 | * @returns {Refresh} Chainable. 33 | */ 34 | refresh: function () { 35 | this.source.initStorage().clearData(); 36 | this.source.reload({"refresh":true}); 37 | return this; 38 | }, 39 | 40 | loading: function () { 41 | return false 42 | } 43 | }); 44 | }); 45 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2020 Milind Singh 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /view/base/web/template/grid/sticky/sticky.html: -------------------------------------------------------------------------------- 1 | 7 |
8 | 9 | 10 | 11 |
12 |
13 |
14 | 15 | 16 | 17 | 18 |
19 | 20 |
21 |
22 | 23 | 24 | 25 | 26 |
27 |
28 | -------------------------------------------------------------------------------- /view/base/web/template/grid/toolbar.html: -------------------------------------------------------------------------------- 1 | 7 |
8 |
9 |
10 | 11 |
12 |
13 |
14 |
17 |
18 | 19 |
20 | 21 |
22 |
23 |
24 | 25 |
26 | 27 |
28 |
29 |
30 |
31 |
32 |
33 | 34 | 35 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # advance-grid 2 | 3 | Module for Magento 2 provides enhanced ui grid with refresh and conditional filters 4 | 5 | ![version](https://img.shields.io/packagist/v/adapttive/advance-grid) 6 | ![php](https://img.shields.io/packagist/php-v/adapttive/advance-grid) 7 | ![license](https://img.shields.io/packagist/l/adapttive/advance-grid) 8 | ![size](https://img.shields.io/github/repo-size/adapttive/advance-grid) 9 | ![stars](https://img.shields.io/github/stars/adapttive/advance-grid?style=social) 10 | ![contributors](https://img.shields.io/github/contributors/adapttive/advance-grid) 11 | 12 | ## installation 13 | 14 | `composer require adapttive/advance-grid` 15 | 16 | ## features 17 | 18 | - **refresh**: without the page reload ![ready](https://img.shields.io/badge/refresh-ready-green) 19 | - **filter**: with conditions ![under-development](https://img.shields.io/badge/filter-under--development-yellow) 20 | - **locking**: of columns for horizontal scroll ![under-development](https://img.shields.io/badge/locking-under--development-yellow) 21 | - **ajax actions**: without grid reload for individual rows ![under-development](https://img.shields.io/badge/ajax_actions-under--development-yellow) 22 | 23 | ## usage 24 | 25 | ### refresh 26 | 27 | - added to sales order grid by default 28 | - to add to other ui grids, add the following to ui grid xml: 29 | 30 | ```xml 31 | 32 | 33 | 34 | Adapttive_Ui/grid/sticky/sticky 35 | 36 | 37 | 38 | 39 | ``` 40 | --------------------------------------------------------------------------------