摘要:非必設(shè)項(xiàng)篩選條件列表數(shù)組對象。格式在使用時(shí)該參數(shù)為必設(shè)項(xiàng)。前端雞湯前端框架前端相關(guān)篩選選中項(xiàng),字符串默認(rèn)為。非必設(shè)項(xiàng),選中的過濾條件將會覆蓋否為多選布爾值默認(rèn)為。刷新更新查詢條件其它更多請直接訪問查看當(dāng)前版本
GridManager Angular 1.x
基于 Angular 1.x 的 GridManager 封裝, 用于便捷的在 Angular 中使用GridManager.
列表項(xiàng)目
實(shí)現(xiàn)功能寬度調(diào)整: 表格的列寬度可進(jìn)行拖拽式調(diào)整
位置更換: 表格的列位置進(jìn)行拖拽式調(diào)整
配置列: 可通過配置對列進(jìn)行顯示隱藏轉(zhuǎn)換
表頭吸頂: 在表存在可視區(qū)域的情況下,表頭將一直存在于頂部
排序: 表格單項(xiàng)排序或組合排序
分頁: 表格ajax分頁,包含選擇每頁顯示總條數(shù)和跳轉(zhuǎn)至指定頁功能
用戶偏好記憶: 記住用戶行為,含用戶調(diào)整的列寬、列順序、列可視狀態(tài)及每頁顯示條數(shù)
序號: 自動生成序號列
全選: 自動生成全選列
導(dǎo)出: 當(dāng)前頁數(shù)據(jù)下載,和僅針對已選中的表格下載
右鍵菜單: 常用功能在菜單中可進(jìn)行快捷操作
過濾: 通過對列進(jìn)行過濾達(dá)到快速搜索效果
API該文檔為原生GridManager的文檔,angular-1.x版本除了在columnData.text columnData.template topFullColumn.template中可以使用angular模版外,其它使用方式相同。
API
Demo該示例為原生GridManager的示例,angular-1.x版本除了在columnData.text columnData.template topFullColumn.template中可以使用angular模版外,其它使用方式相同。
簡單的示例
復(fù)雜的示例
Core codeGridManager
jTool
ENVES2015 + webpack + angular 1.x + GridManager
安裝npm install gridmanager-angular.1.x --save項(xiàng)目中引用
es2015引入方式
import gridManager from "gridmanager-angular-1.x";
通過script標(biāo)簽引入
示例
function AppController($window, $rootScope, $scope, $element, $gridManager){ $scope.testClick = (row) => { console.log("click", row); }; // 常量: 搜索條件 $scope.TYPE_MAP = { "1": "HTML/CSS", "2": "nodeJS", "3": "javaScript", "4": "前端雞湯", "5": "PM Coffee", "6": "前端框架", "7": "前端相關(guān)" }; $scope.searchForm = { title: "", info: "" }; /** * 搜索事件 */ $scope.onSearch = () => { console.log("onSearch"); $gridManager.setQuery("testAngular", $scope.searchForm); }; $scope.onReset = () => { $scope.searchForm = { title: "", info: "" }; }; // 表格渲染回調(diào)函數(shù) // query為gmOptions中配置的query $scope.callback = function(query) { console.log("callback => ", query); }; $scope.option = { gridManagerName: "testAngular", width: "100%", height: "100%", supportAjaxPage:true, isCombSorting: true, disableCache: false, ajax_data: function () { return "https://www.lovejavascript.com/blogManager/getBlogList"; }, ajax_type: "POST", columnData: [ { key: "pic", remind: "the pic", width: "110px", align: "center", text: "縮略圖", // ng template template: ` ` },{ key: "title", remind: "the title", align: "left", text: "標(biāo)題", sorting: "", // 使用函數(shù)返回 ng template template: function() { return "{{row.title}}"; } },{ key: "type", remind: "the type", text: "博文分類", align: "center", width: "150px", sorting: "", // 表頭篩選條件, 該值由用戶操作后會將選中的值以{key: value}的形式覆蓋至query參數(shù)內(nèi)。非必設(shè)項(xiàng) filter: { // 篩選條件列表, 數(shù)組對象。格式: [{value: "1", text: "HTML/CSS"}],在使用filter時(shí)該參數(shù)為必設(shè)項(xiàng)。 option: [ {value: "1", text: "HTML/CSS"}, {value: "2", text: "nodeJS"}, {value: "3", text: "javaScript"}, {value: "4", text: "前端雞湯"}, {value: "5", text: "PM Coffee"}, {value: "6", text: "前端框架"}, {value: "7", text: "前端相關(guān)"} ], // 篩選選中項(xiàng),字符串, 默認(rèn)為""。 非必設(shè)項(xiàng),選中的過濾條件將會覆蓋query selected: "3", // 否為多選, 布爾值, 默認(rèn)為false。非必設(shè)項(xiàng) isMultiple: true }, // isShow: false, template: `` },{ key: "info", remind: "the info", width: "300px", text: "簡介" },{ key: "username", remind: "the username", align: "center", width: "100px", text: "作者", // 使用函數(shù)返回 dom string template: `{{row.username}}` },{ key: "createDate", width: "130px", text: "創(chuàng)建時(shí)間", sorting: "DESC", // 使用函數(shù)返回 htmlString template: function(createDate, rowObject){ return new Date(createDate).toLocaleDateString(); } },{ key: "lastDate", width: "130px", text: "最后修改時(shí)間", sorting: "", // 使用函數(shù)返回 htmlString template: function(lastDate, rowObject){ return new Date(lastDate).toLocaleDateString(); } },{ key: "action", remind: "the action", width: "100px", align: "center", text: "操作", // 直接返回 htmlString template: "刪除" } ] }; /** * 模擬刪除 * @param row * @param index */ $scope.delectRowData = function(row, index) { if(window.confirm(`確認(rèn)要?jiǎng)h除當(dāng)前頁第[${index}]條的["${row.title}]?`)){ console.log("----刪除操作開始----"); $gridManager.refreshGrid("testAngular"); // $element[0].querySelector("table[grid-manager="testAngular"]").GM("refreshGrid"); console.log("數(shù)據(jù)沒變是正常的, 因?yàn)檫@只是個(gè)示例,并不會真實(shí)刪除數(shù)據(jù)."); console.log("----刪除操作完成----"); } }; } AppController.inject = ["$window", "$rootScope", "$scope", "$element", "$gridManager"]; angular .module("myApp", ["gridManager"]) .controller("AppController", AppController);調(diào)用公開方法
以下方法需要在已經(jīng)存在gridManager實(shí)例的Angular環(huán)境下使用。
// 刷新 $gridManager.refreshGrid("testAngular"); // 更新查詢條件 $gridManager.setQuery("testAngular", {name: "baukh"}); // ...其它更多請直接訪問[API](http://gridmanager.lovejavascript.com/api/index.html)查看當(dāng)前版本
import gridManager from "gridmanager-angular-1.x"; console.log("GridManager", angular.module("gridManager").version);
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/103265.html
摘要:歷程啟動于年月日不曾想這一堅(jiān)持已經(jīng)多天了。每個(gè)午飯后晚飯前。期間對的認(rèn)知與實(shí)踐提升明顯,并沉淀下名為的類庫。每次發(fā)布前的,成為一種風(fēng)險(xiǎn)把控。在此之前從沒有如此的認(rèn)同單元測試,也相信這終將會成為一種大家都遵守的契約。 GridManager歷程 GridManager 啟動于2015年02月10日, 不曾想這一堅(jiān)持已經(jīng)1200多天了??傁霝榇擞涗浶┦裁?,但一直未曾動手。午飯后,公司很安靜...
摘要:基于的封裝用于便捷的在中使用除過特性外,其它與相同。刷新更新查詢條件其它更多請直接訪問查看當(dāng)前版本的版本的版本 GridManager React 基于 React 的 GridManager 封裝, 用于便捷的在 React 中使用GridManager. 除過React特性外,其它API與GridManager API相同。 showImg(https://segmentfault...
摘要:基于的封裝用于便捷的在中使用除過特性外,其它與相同。非必設(shè)項(xiàng)篩選條件列表數(shù)組對象。格式在使用時(shí)該參數(shù)為必設(shè)項(xiàng)。并且使用服務(wù)需要提前通過將注冊至全局組件。刷新或更新查詢條件或其它更多請直接訪問查看當(dāng)前版本 GridManager Vue 基于 Vue 的 GridManager 封裝, 用于便捷的在 Vue 中使用GridManager. 除過Vue特性外,其它API與GridManag...
摘要:優(yōu)勢純原生實(shí)現(xiàn),不依賴任何框架使用簡單快捷,功能強(qiáng)大與用戶進(jìn)行溝通,采納來自于使用的需求,并不間段的進(jìn)行升級維護(hù)特色功能表格的列寬度可進(jìn)行拖拽式調(diào)整表格的列位置進(jìn)行拖拽式調(diào)整可通過配置對列進(jìn)行顯示隱藏轉(zhuǎn)換在表存在可視區(qū)域的情況下表頭將一直存 GridManager showImg(https://segmentfault.com/img/bV4Mff?w=1146&h=538); 優(yōu)勢...
閱讀 1337·2021-09-04 16:40
閱讀 3464·2021-07-28 00:13
閱讀 2889·2019-08-30 11:19
閱讀 2623·2019-08-29 12:29
閱讀 3176·2019-08-29 12:24
閱讀 1131·2019-08-26 13:28
閱讀 2404·2019-08-26 12:01
閱讀 3455·2019-08-26 11:35