From 36fbba7d2584aa4fc3f4c9a4a51b71206e6c9c9d Mon Sep 17 00:00:00 2001 From: Ad Schellevis Date: Wed, 17 Nov 2021 11:30:31 +0100 Subject: [PATCH 01/10] jquery.bootgrid.js: convert on append, pull https://github.com/opnsense/core/commit/2e5d8ecf758167640a1297403c4aa9c743fc3522 --- src/public.js | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/src/public.js b/src/public.js index 63579e6..ee5a414 100644 --- a/src/public.js +++ b/src/public.js @@ -487,9 +487,14 @@ Grid.prototype.append = function(rows) var appendedRows = []; for (var i = 0; i < rows.length; i++) { - if (appendRow.call(this, rows[i])) + var row = rows[i]; + for (var j = 0; j < this.columns.length; j++) { + var column = this.columns[j]; + row[column.id] = column.converter.from(row[column.id]); + } + if (appendRow.call(this, row)) { - appendedRows.push(rows[i]); + appendedRows.push(row); } } sortRows.call(this); From 857598b9d0707d805f8c467b760032c4c6fc906b Mon Sep 17 00:00:00 2001 From: Ad Schellevis Date: Wed, 17 Nov 2021 11:33:48 +0100 Subject: [PATCH 02/10] converters / datetime - ignore empty values --- src/public.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/public.js b/src/public.js index ee5a414..9589b29 100644 --- a/src/public.js +++ b/src/public.js @@ -260,10 +260,10 @@ Grid.defaults = { datetime: { // convert datetime type fields from unix timestamp to readable format from: function (value) { - return moment(parseInt(value)*1000); + return value ? moment(parseInt(value)*1000) : ""; }, to: function (value) { - return value.format("lll"); + return value ? value.format("lll") : ""; } }, memsize: { From 66e4409fac826531c65adb2aaca75ca19f8d3d31 Mon Sep 17 00:00:00 2001 From: Manuel Faux Date: Thu, 30 Dec 2021 10:44:38 +0100 Subject: [PATCH 03/10] Release 1.3.5 with date 11/17/2021 (#4) - 36fbba7d2584aa4fc3f4c9a4a51b71206e6c9c9d (opnsense/core@2e5d8ec) - 857598b9d0707d805f8c467b760032c4c6fc906b --- dist/jQuery.Bootgrid.1.3.5.nupkg | Bin 26454 -> 0 bytes dist/jquery.bootgrid-1.3.5.zip | Bin 29201 -> 29339 bytes dist/jquery.bootgrid.css | 4 ++-- dist/jquery.bootgrid.fa.js | 4 ++-- dist/jquery.bootgrid.js | 17 +++++++++++------ dist/jquery.bootgrid.min.css | 4 ++-- dist/jquery.bootgrid.min.js | 2 +- package-lock.json | 2 +- 8 files changed, 19 insertions(+), 14 deletions(-) delete mode 100644 dist/jQuery.Bootgrid.1.3.5.nupkg diff --git a/dist/jQuery.Bootgrid.1.3.5.nupkg b/dist/jQuery.Bootgrid.1.3.5.nupkg deleted file mode 100644 index f957c2e7a457095cf917b2eef27e4f29d70d551f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 26454 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

r{^Kvm89+$<=)e^}QC-t~6CKfl;L-23T8C+u%; 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 ldxQ-h4vQC*&~CjBHGT1qHSBY zeu?RS`O{B26LvFi4LejxL({t-5rNCL|887mp7|RMy~|QI@nl;ATiWY zdlpQJq|8)f1Zis^8;qgVM%s3~_f*=T947AxgjS5!zS4$Z$7?OA(tZZy8jK#1r;SJO z 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 diff --git a/dist/jquery.bootgrid.css b/dist/jquery.bootgrid.css index cb38fd5..b308bee 100644 --- a/dist/jquery.bootgrid.css +++ b/dist/jquery.bootgrid.css @@ -1,6 +1,6 @@ /*! - * jQuery Bootgrid v1.3.5 - 03/11/2019 - * Copyright © 2014-2015 Rafael J. Staib; Copyright © 2018-2019 Deciso B.V. (http://www.jquery-bootgrid.com) + * jQuery Bootgrid v1.3.5 - 11/17/2021 + * Copyright © 2014-2015 Rafael J. Staib; Copyright © 2018-2021 Deciso B.V. (http://www.jquery-bootgrid.com) * Licensed under the MIT license. See LICENSE.txt for more details. */ .bootgrid-header, diff --git a/dist/jquery.bootgrid.fa.js b/dist/jquery.bootgrid.fa.js index 62a75f5..bdf2cf0 100644 --- a/dist/jquery.bootgrid.fa.js +++ b/dist/jquery.bootgrid.fa.js @@ -1,6 +1,6 @@ /*! - * jQuery Bootgrid v1.3.5 - 03/11/2019 - * Copyright © 2014-2015 Rafael J. Staib; Copyright © 2018-2019 Deciso B.V. (http://www.jquery-bootgrid.com) + * jQuery Bootgrid v1.3.5 - 11/17/2021 + * Copyright © 2014-2015 Rafael J. Staib; Copyright © 2018-2021 Deciso B.V. (http://www.jquery-bootgrid.com) * Licensed under the MIT license. See LICENSE.txt for more details. */ ;(function ($, window, undefined) diff --git a/dist/jquery.bootgrid.js b/dist/jquery.bootgrid.js index 3b5faed..36d9cea 100644 --- a/dist/jquery.bootgrid.js +++ b/dist/jquery.bootgrid.js @@ -1,6 +1,6 @@ /*! - * jQuery Bootgrid v1.3.5 - 03/11/2019 - * Copyright © 2014-2015 Rafael J. Staib; Copyright © 2018-2019 Deciso B.V. (http://www.jquery-bootgrid.com) + * jQuery Bootgrid v1.3.5 - 11/17/2021 + * Copyright © 2014-2015 Rafael J. Staib; Copyright © 2018-2021 Deciso B.V. (http://www.jquery-bootgrid.com) * Licensed under the MIT license. See LICENSE.txt for more details. */ ;(function ($, window, undefined) @@ -1219,10 +1219,10 @@ Grid.defaults = { datetime: { // convert datetime type fields from unix timestamp to readable format from: function (value) { - return moment(parseInt(value)*1000); + return value ? moment(parseInt(value)*1000) : ""; }, to: function (value) { - return value.format("lll"); + return value ? value.format("lll") : ""; } }, memsize: { @@ -1446,9 +1446,14 @@ Grid.prototype.append = function(rows) var appendedRows = []; for (var i = 0; i < rows.length; i++) { - if (appendRow.call(this, rows[i])) + var row = rows[i]; + for (var j = 0; j < this.columns.length; j++) { + var column = this.columns[j]; + row[column.id] = column.converter.from(row[column.id]); + } + if (appendRow.call(this, row)) { - appendedRows.push(rows[i]); + appendedRows.push(row); } } sortRows.call(this); diff --git a/dist/jquery.bootgrid.min.css b/dist/jquery.bootgrid.min.css index 6084ecd..2828211 100644 --- a/dist/jquery.bootgrid.min.css +++ b/dist/jquery.bootgrid.min.css @@ -1,5 +1,5 @@ /*! - * jQuery Bootgrid v1.3.5 - 03/11/2019 - * Copyright © 2014-2015 Rafael J. Staib; Copyright © 2018-2019 Deciso B.V. (http://www.jquery-bootgrid.com) + * jQuery Bootgrid v1.3.5 - 11/17/2021 + * Copyright © 2014-2015 Rafael J. Staib; Copyright © 2018-2021 Deciso B.V. (http://www.jquery-bootgrid.com) * Licensed under the MIT license. See LICENSE.txt for more details. */.bootgrid-footer,.bootgrid-header{margin:15px 0}.bootgrid-footer a,.bootgrid-header a{outline:0}.bootgrid-footer .search,.bootgrid-header .search{display:inline-block;margin:0 20px 0 0;vertical-align:middle;width:180px}.bootgrid-footer .search .glyphicon,.bootgrid-header .search .glyphicon{top:0}.bootgrid-footer .search .fa,.bootgrid-header .search .fa{display:table-cell}.bootgrid-footer .search .search-field::-ms-clear,.bootgrid-footer .search.search-field::-ms-clear,.bootgrid-header .search .search-field::-ms-clear,.bootgrid-header .search.search-field::-ms-clear{display:none}.bootgrid-footer .pagination,.bootgrid-header .pagination{margin:0!important}.bootgrid-footer .infoBar,.bootgrid-header .actionBar{text-align:right}.bootgrid-footer .infoBar .btn-group>.btn-group .dropdown-menu,.bootgrid-header .actionBar .btn-group>.btn-group .dropdown-menu{text-align:left}.bootgrid-footer .infoBar .btn-group>.btn-group .dropdown-menu .dropdown-item,.bootgrid-header .actionBar .btn-group>.btn-group .dropdown-menu .dropdown-item{cursor:pointer;display:block;margin:0;padding:3px 20px;white-space:nowrap}.bootgrid-footer .infoBar .btn-group>.btn-group .dropdown-menu .dropdown-item:focus,.bootgrid-footer .infoBar .btn-group>.btn-group .dropdown-menu .dropdown-item:hover,.bootgrid-header .actionBar .btn-group>.btn-group .dropdown-menu .dropdown-item:focus,.bootgrid-header .actionBar .btn-group>.btn-group .dropdown-menu .dropdown-item:hover{color:#262626;text-decoration:none;background-color:#f5f5f5}.bootgrid-footer .infoBar .btn-group>.btn-group .dropdown-menu .dropdown-item .dropdown-item-checkbox,.bootgrid-footer .infoBar .btn-group>.btn-group .dropdown-menu .dropdown-item.dropdown-item-checkbox,.bootgrid-header .actionBar .btn-group>.btn-group .dropdown-menu .dropdown-item .dropdown-item-checkbox,.bootgrid-header .actionBar .btn-group>.btn-group .dropdown-menu .dropdown-item.dropdown-item-checkbox{margin:0 2px 4px 0;vertical-align:middle}.bootgrid-footer .infoBar .btn-group>.btn-group .dropdown-menu .dropdown-item.disabled,.bootgrid-header .actionBar .btn-group>.btn-group .dropdown-menu .dropdown-item.disabled{cursor:not-allowed}.bootgrid-table{table-layout:fixed}.bootgrid-table a{outline:0}.bootgrid-table th>.column-header-anchor{color:#333;cursor:not-allowed;display:block;position:relative;text-decoration:none}.bootgrid-table th>.column-header-anchor.sortable{cursor:pointer}.bootgrid-table th>.column-header-anchor>.text{display:block;margin:0 16px 0 0;overflow:hidden;-ms-text-overflow:ellipsis;-o-text-overflow:ellipsis;text-overflow:ellipsis;white-space:nowrap}.bootgrid-table th>.column-header-anchor>.icon{display:block;position:absolute;right:0;top:2px}.bootgrid-table th:active,.bootgrid-table th:hover{background:#fafafa}.bootgrid-table td{overflow:hidden;-ms-text-overflow:ellipsis;-o-text-overflow:ellipsis;text-overflow:ellipsis;white-space:nowrap}.bootgrid-table td.loading,.bootgrid-table td.no-results{background:#fff;text-align:center}.bootgrid-table td.select-cell,.bootgrid-table th.select-cell{text-align:center;width:30px}.bootgrid-table td.select-cell .select-box,.bootgrid-table th.select-cell .select-box{margin:0;outline:0}.table-responsive .bootgrid-table{table-layout:inherit!important}.table-responsive .bootgrid-table th>.column-header-anchor>.text{overflow:inherit!important;-ms-text-overflow:inherit!important;-o-text-overflow:inherit!important;text-overflow:inherit!important;white-space:inherit!important}.table-responsive .bootgrid-table td{overflow:inherit!important;-ms-text-overflow:inherit!important;-o-text-overflow:inherit!important;text-overflow:inherit!important;white-space:inherit!important} \ No newline at end of file diff --git a/dist/jquery.bootgrid.min.js b/dist/jquery.bootgrid.min.js index 8ca9d69..77b76a2 100644 --- a/dist/jquery.bootgrid.min.js +++ b/dist/jquery.bootgrid.min.js @@ -1 +1 @@ -!function(p,h,t){"use strict";var f=".rs.jquery.bootgrid";function n(e){var i=this;return!this.rows.contains(function(t){return i.identifier&&t[i.identifier]===e[i.identifier]})&&(this.rows.push(e),!0)}function g(t){var e=this.footer?this.footer.find(t):p(),i=this.header?this.header.find(t):p();return p.merge(e,i)}function v(t){return t?p.extend({},this.cachedParams,{ctx:t}):this.cachedParams}function m(t){return"."+p.trim(t).replace(/\s+/gm,".")}function l(){this.element.trigger("initialize"+f),function(){var s=this,t=this.element.find("thead > tr").first(),n=!1;t.children().each(function(){var t=p(this),e=t.data(),i={id:e.columnId,identifier:null==s.identifier&&e.identifier||!1,converter:s.options.converters[e.converter||e.type]||s.options.converters.string,text:t.html(),align:e.align||"left",headerAlign:e.headerAlign||"left",cssClass:e.cssClass||"",headerCssClass:e.headerCssClass||"",formatter:s.options.formatters[e.formatter]||null,order:n||"asc"!==e.order&&"desc"!==e.order?null:e.order,searchable:!(!1===e.searchable),sortable:!(!1===e.sortable),visible:!(!1===e.visible),visibleInSelection:!(!1===e.visibleInSelection),width:p.isNumeric(e.width)?e.width+"px":"string"==typeof e.width?e.width:null};s.columns.push(i),null!=i.order&&(s.sortDictionary[i.id]=i.order),i.identifier&&(s.identifier=i.id,s.converter=i.converter),s.options.multiSort||null===i.order||(n=!0)})}.call(this),this.selection=this.options.selection&&null!=this.identifier,function(){if(!this.options.ajax){var e=this,t=this.element.find("tbody > tr");t.each(function(){var t=p(this),i=t.children("td"),s={};p.each(e.columns,function(t,e){s[e.id]=e.converter.from(i.eq(t).text())}),n.call(e,s)}),a.call(this,this.rows.length),o.call(this)}}.call(this),function(){var t=this.options.templates,e=this.element.parent().hasClass(this.options.css.responsiveTable)?this.element.parent():this.element;this.element.addClass(this.options.css.table),0===this.element.children("tbody").length&&this.element.append(t.body);1&this.options.navigation&&(this.header=p(t.header.resolve(v.call(this,{id:this.element._bgId()+"-header"}))),e.before(this.header));2&this.options.navigation&&(this.footer=p(t.footer.resolve(v.call(this,{id:this.element._bgId()+"-footer"}))),e.after(this.footer))}.call(this),x.call(this),function(){if(0!==this.options.navigation){var t=this.options.css,e=m(t.search),i=g.call(this,e);if(0=s.options.searchSettings.characters)&&(h.clearTimeout(o),o=h.setTimeout(function(){y.call(s,e)},s.options.searchSettings.delay)))}),C.call(this,i,a)}}}.call(this),function(){if(0!==this.options.navigation){var t=this.options.css,e=m(t.actions),i=g.call(this,e);if(0 tr").on("click"+f,"> tr",function(t){t.stopPropagation();var e=p(this),i=null==n.identifier?e.data("row-id"):n.converter.from(e.data("row-id")+""),s=null==n.identifier?n.currentRows[i]:n.currentRows.first(function(t){return t[n.identifier]===i});n.selection&&n.options.rowSelect&&(e.hasClass(n.options.css.selected)?n.deselect([i]):n.select([i])),n.element.trigger("click"+f,[n.columns,s])})}.call(this,e)}else b.call(this)}.call(n,t),function(){if(0!==this.options.navigation){var t=m(this.options.css.infos),e=g.call(this,t);if(0this.total?this.total:i,start:0===this.total?0:i-this.rowCount+1,total:this.total})));C.call(this,e,s)}}}.call(n),function(){if(0!==this.options.navigation){var t=m(this.options.css.pagination),e=g.call(this,t)._bgShowAria(-1!==this.rowCount);if(-1!==this.rowCount&&0=this.options.padding?Math.max(l,1):Math.max(l-this.options.padding+r,1),c=2*this.options.padding+1,h=c<=n?c:n;w.call(this,o,"first","«","first")._bgEnableAria(1 td").first(),n=r.element.height()-e.height()-(s.height()+20),o=r.columns.where(u).length;r.selection&&(o+=1),i.html(t.loading.resolve(v.call(r,{columns:o}))),-1!==r.rowCount&&0 td").css("padding","20px 0 "+n+"px")}},250)}.call(this),this.options.ajax){var t=function(){var t={current:this.current,rowCount:this.rowCount,sort:this.sortDictionary,searchPhrase:this.searchPhrase},e=this.options.post;return e=p.isFunction(e)?e():e,this.options.requestHandler(p.extend(!0,t,e))}.call(this),i=function(){var t=this.options.url;return p.isFunction(t)?t():t}.call(this);if(null==i||"string"!=typeof i||0===i.length)throw new Error("Url setting must be a none empty string or a function that returns one.");this.xqr&&this.xqr.abort();var s={url:i,data:t,success:function(t){n.xqr=null,"string"==typeof t&&(t=p.parseJSON(t)),t=n.options.responseHandler(t),n.current=t.current,e(t.rows,t.total)},error:function(t,e,i){n.xqr=null,"abort"!==e&&(b.call(n),n.element._bgBusyAria(!1).trigger("loaded"+f))}};s=p.extend(this.options.ajaxSettings,s),this.xqr=p.ajax(s)}else{var o=0 tr"),a=this.options.css,c=this.options.templates,h="",u=this.options.sorting;if(this.selection){var e=this.options.multiSelect?c.select.resolve(v.call(l,{type:"checkbox",value:"all"})):"";h+=c.rawHeaderCell.resolve(v.call(l,{content:e,css:a.selectCell}))}if(p.each(this.columns,function(t,e){if(e.visible){var i=l.sortDictionary[e.id],s=u&&i&&"asc"===i?a.iconUp:u&&i&&"desc"===i?a.iconDown:"",n=c.icon.resolve(v.call(l,{iconCss:s})),o=e.headerAlign,r=0i[o.id]?r(1):e[o.id]n?t(e,i,n):0})}}var c=function(t,e){this.element=p(t),this.origin=this.element.clone(),this.options=p.extend(!0,{},c.defaults,this.element.data(),e);var i=this.options.rowCount=this.element.data().rowCount||e.rowCount||this.options.rowCount;this.columns=[],this.current=1,this.currentRows=[],this.identifier=null,this.selection=!1,this.converter=null,this.rowCount=p.isArray(i)?i[0]:i,this.rows=[],this.searchPhrase="",this.selectedRows=[],this.sortDictionary={},this.total=0,this.totalPages=0,this.cachedParams={lbl:this.options.labels,css:this.options.css,ctx:{}},this.header=null,this.footer=null,this.xqr=null};if(c.defaults={navigation:3,padding:2,columnSelection:!0,rowCount:[10,25,50,-1],selection:!1,multiSelect:!1,rowSelect:!1,keepSelection:!1,highlightRows:!1,sorting:!0,multiSort:!1,searchSettings:{delay:250,characters:1},ajax:!1,ajaxSettings:{method:"POST"},post:{},url:"",caseSensitive:!0,requestHandler:function(t){return t},responseHandler:function(t){return t},converters:{numeric:{from:function(t){return+t},to:function(t){return void 0===t?"":t+""}},string:{from:function(t){return t},to:function(t){return t}},datetime:{from:function(t){return moment(1e3*parseInt(t))},to:function(t){return t.format("lll")}},memsize:{from:function(t){for(var e=["","K","M","G","T","P","E","Z","Y"],i=parseInt(t),s=t.slice(-1).toUpperCase(),n=e.length-1;0<=n;n--)if(s===e[n]){i*=Math.pow(1024,n);break}return i},to:function(t){for(var e=["","K","M","G","T","P","E","Z","Y"],i=e.length-1;0<=i;i--)if(t>=5*Math.pow(1024,i))return parseInt(t/Math.pow(1024,i))+e[i];return parseInt(t)+""}},notprefixable:{to:function(t){return t.not?' '+t.val:t.val}}},css:{actions:"actions btn-group",center:"text-center",columnHeaderAnchor:"column-header-anchor",columnHeaderText:"text",dropDownItem:"dropdown-item",dropDownItemButton:"dropdown-item-button",dropDownItemCheckbox:"dropdown-item-checkbox",dropDownMenu:"dropdown btn-group",dropDownMenuItems:"dropdown-menu pull-right",dropDownMenuText:"dropdown-text",footer:"bootgrid-footer container-fluid",header:"bootgrid-header container-fluid",icon:"icon glyphicon",iconColumns:"glyphicon-th-list",iconDown:"glyphicon-chevron-down",iconRefresh:"glyphicon-refresh",iconSearch:"glyphicon-search",iconUp:"glyphicon-chevron-up",infos:"infos",left:"text-left",pagination:"pagination",paginationButton:"button",responsiveTable:"table-responsive",right:"text-right",search:"search form-group",searchField:"search-field form-control",selectBox:"select-box",selectCell:"select-cell",selected:"active",sortable:"sortable",table:"bootgrid-table table"},formatters:{},labels:{all:"All",infos:"Showing {{ctx.start}} to {{ctx.end}} of {{ctx.total}} entries",loading:"Loading...",noResults:"No results found!",refresh:"Refresh",search:"Search"},statusMapping:{0:"success",1:"info",2:"warning",3:"danger"},templates:{actionButton:'',actionDropDown:'

',actionDropDownItem:'
  • {{ctx.text}}
  • ',actionDropDownCheckboxItem:'
  • ',actions:'
    ',body:"",cell:'{{ctx.content}}',footer:'

    ',header:'

    ',headerCell:'{{ctx.column.text}}{{ctx.icon}}',icon:'',infos:'
    {{lbl.infos}}
    ',loading:'{{lbl.loading}}',noResults:'{{lbl.noResults}}',pagination:'
      ',paginationItem:'
    • {{ctx.text}}
    • ',rawHeaderCell:'{{ctx.content}}',row:"{{ctx.cells}}",search:'
      ',select:''}},c.prototype.append=function(t){if(this.options.ajax);else{for(var e=[],i=0;i=this.currentRows.length;for(i=0;!this.options.keepSelection&&o&&i tr "+n+":checked").trigger("click"+f),i=0;i tr[data-row-id="'+this.selectedRows[i]+'"]').addClass(this.options.css.selected)._bgAria("selected","true").find(n).prop("checked",!0);this.element.trigger("selected"+f,[s])}}return this},c.prototype.deselect=function(t){if(this.selection){t=t||this.currentRows.propValues(this.identifier);for(var e,i,s,n=[];0 tr[data-row-id="'+n[i][this.identifier]+'"]').removeClass(this.options.css.selected)._bgAria("selected","false").find(o).prop("checked",!1);this.element.trigger("deselected"+f,[n])}}return this},c.prototype.sort=function(t){var e=t?p.extend({},t):{};return e===this.sortDictionary||(this.sortDictionary=e,x.call(this),o.call(this),d.call(this)),this},c.prototype.getColumnSettings=function(){return p.merge([],this.columns)},c.prototype.getCurrentPage=function(){return this.current},c.prototype.getCurrentRows=function(){return p.merge([],this.currentRows)},c.prototype.getRowCount=function(){return this.rowCount},c.prototype.getSearchPhrase=function(){return this.searchPhrase},c.prototype.getSelectedRows=function(){return p.merge([],this.selectedRows)},c.prototype.getSortDictionary=function(){return p.extend({},this.sortDictionary)},c.prototype.getTotalPageCount=function(){return this.totalPages},c.prototype.getTotalRowCount=function(){return this.total},p.fn.extend({_bgAria:function(t,e){return e?this.attr("aria-"+t,e):this.attr("aria-"+t)},_bgBusyAria:function(t){return null==t||t?this._bgAria("busy","true"):this._bgAria("busy","false")},_bgRemoveAria:function(t){return this.removeAttr("aria-"+t)},_bgEnableAria:function(t){return null==t||t?this.removeClass("disabled")._bgAria("disabled","false"):this.addClass("disabled")._bgAria("disabled","true")},_bgEnableField:function(t){return null==t||t?this.removeAttr("disabled"):this.attr("disabled","disable")},_bgShowAria:function(t){return null==t||t?this.show()._bgAria("hidden","false"):this.hide()._bgAria("hidden","true")},_bgSelectAria:function(t){return null==t||t?this.addClass("active")._bgAria("selected","true"):this.removeClass("active")._bgAria("selected","false")},_bgId:function(t){return t?this.attr("id",t):this.attr("id")}}),!String.prototype.resolve){var r={checked:function(t){return"boolean"==typeof t?t?'checked="checked"':"":t}};String.prototype.resolve=function(t,n){var o=this;return p.each(t,function(t,e){if(null!=e&&"function"!=typeof e)if("object"==typeof e){var i=n?p.extend([],n):[];i.push(t),o=o.resolve(e,i)+""}else{r&&r[t]&&"function"==typeof r[t]&&(e=r[t](e)),t=n?n.join(".")+"."+t:t;var s=new RegExp("\\{\\{"+t+"\\}\\}","gm");o=o.replace(s,e.replace?e.replace(/\$/gi,"$"):e)}}),o}}Array.prototype.first||(Array.prototype.first=function(t){for(var e=0;ei?this.length>s?this.slice(i,s):this.slice(i):[]}),Array.prototype.where||(Array.prototype.where=function(t){for(var e=[],i=0;i tr").first(),o=!1;t.children().each(function(){var t=p(this),e=t.data(),i={id:e.columnId,identifier:null==s.identifier&&e.identifier||!1,converter:s.options.converters[e.converter||e.type]||s.options.converters.string,text:t.html(),align:e.align||"left",headerAlign:e.headerAlign||"left",cssClass:e.cssClass||"",headerCssClass:e.headerCssClass||"",formatter:s.options.formatters[e.formatter]||null,order:o||"asc"!==e.order&&"desc"!==e.order?null:e.order,searchable:!(!1===e.searchable),sortable:!(!1===e.sortable),visible:!(!1===e.visible),visibleInSelection:!(!1===e.visibleInSelection),width:p.isNumeric(e.width)?e.width+"px":"string"==typeof e.width?e.width:null};s.columns.push(i),null!=i.order&&(s.sortDictionary[i.id]=i.order),i.identifier&&(s.identifier=i.id,s.converter=i.converter),s.options.multiSort||null===i.order||(o=!0)})}.call(this),this.selection=this.options.selection&&null!=this.identifier,function(){if(!this.options.ajax){var e=this,t=this.element.find("tbody > tr");t.each(function(){var t=p(this),i=t.children("td"),s={};p.each(e.columns,function(t,e){s[e.id]=e.converter.from(i.eq(t).text())}),r.call(e,s)}),a.call(this,this.rows.length),D.call(this)}}.call(this),function(){var t=this.options.templates,e=this.element.parent().hasClass(this.options.css.responsiveTable)?this.element.parent():this.element;this.element.addClass(this.options.css.table),0===this.element.children("tbody").length&&this.element.append(t.body);1&this.options.navigation&&(this.header=p(t.header.resolve(v.call(this,{id:this.element._bgId()+"-header"}))),e.before(this.header));2&this.options.navigation&&(this.footer=p(t.footer.resolve(v.call(this,{id:this.element._bgId()+"-footer"}))),e.after(this.footer))}.call(this),x.call(this),function(){if(0!==this.options.navigation){var t=this.options.css,e=m(t.search),i=g.call(this,e);if(0=s.options.searchSettings.characters)&&(h.clearTimeout(n),n=h.setTimeout(function(){y.call(s,e)},s.options.searchSettings.delay)))}),C.call(this,i,a)}}}.call(this),function(){if(0!==this.options.navigation){var t=this.options.css,e=m(t.actions),i=g.call(this,e);if(0 tr").on("click"+f,"> tr",function(t){t.stopPropagation();var e=p(this),i=null==o.identifier?e.data("row-id"):o.converter.from(e.data("row-id")+""),s=null==o.identifier?o.currentRows[i]:o.currentRows.first(function(t){return t[o.identifier]===i});o.selection&&o.options.rowSelect&&(e.hasClass(o.options.css.selected)?o.deselect([i]):o.select([i])),o.element.trigger("click"+f,[o.columns,s])})}.call(this,e)}else b.call(this)}.call(o,t),function(){if(0!==this.options.navigation){var t=m(this.options.css.infos),e=g.call(this,t);if(0this.total?this.total:i,start:0===this.total?0:i-this.rowCount+1,total:this.total})));C.call(this,e,s)}}}.call(o),function(){if(0!==this.options.navigation){var t=m(this.options.css.pagination),e=g.call(this,t)._bgShowAria(-1!==this.rowCount);if(-1!==this.rowCount&&0=this.options.padding?Math.max(l,1):Math.max(l-this.options.padding+r,1),c=2*this.options.padding+1,h=c<=o?c:o;w.call(this,n,"first","«","first")._bgEnableAria(1 td").first(),o=r.element.height()-e.height()-(s.height()+20),n=r.columns.where(u).length;r.selection&&(n+=1),i.html(t.loading.resolve(v.call(r,{columns:n}))),-1!==r.rowCount&&0 td").css("padding","20px 0 "+o+"px")}},250)}.call(this),this.options.ajax){var t=function(){var t={current:this.current,rowCount:this.rowCount,sort:this.sortDictionary,searchPhrase:this.searchPhrase},e=this.options.post;return e=p.isFunction(e)?e():e,this.options.requestHandler(p.extend(!0,t,e))}.call(this),i=function(){var t=this.options.url;return p.isFunction(t)?t():t}.call(this);if(null==i||"string"!=typeof i||0===i.length)throw new Error("Url setting must be a none empty string or a function that returns one.");this.xqr&&this.xqr.abort();var s={url:i,data:t,success:function(t){o.xqr=null,"string"==typeof t&&(t=p.parseJSON(t)),t=o.options.responseHandler(t),o.current=t.current,e(t.rows,t.total)},error:function(t,e,i){o.xqr=null,"abort"!==e&&(b.call(o),o.element._bgBusyAria(!1).trigger("loaded"+f))}};s=p.extend(this.options.ajaxSettings,s),this.xqr=p.ajax(s)}else{var n=0 tr"),a=this.options.css,c=this.options.templates,h="",u=this.options.sorting;if(this.selection){var e=this.options.multiSelect?c.select.resolve(v.call(l,{type:"checkbox",value:"all"})):"";h+=c.rawHeaderCell.resolve(v.call(l,{content:e,css:a.selectCell}))}if(p.each(this.columns,function(t,e){if(e.visible){var i=l.sortDictionary[e.id],s=u&&i&&"asc"===i?a.iconUp:u&&i&&"desc"===i?a.iconDown:"",o=c.icon.resolve(v.call(l,{iconCss:s})),n=e.headerAlign,r=0i[n.id]?r(1):e[n.id]o?t(e,i,o):0})}}var c=function(t,e){this.element=p(t),this.origin=this.element.clone(),this.options=p.extend(!0,{},c.defaults,this.element.data(),e);var i=this.options.rowCount=this.element.data().rowCount||e.rowCount||this.options.rowCount;this.columns=[],this.current=1,this.currentRows=[],this.identifier=null,this.selection=!1,this.converter=null,this.rowCount=p.isArray(i)?i[0]:i,this.rows=[],this.searchPhrase="",this.selectedRows=[],this.sortDictionary={},this.total=0,this.totalPages=0,this.cachedParams={lbl:this.options.labels,css:this.options.css,ctx:{}},this.header=null,this.footer=null,this.xqr=null};if(c.defaults={navigation:3,padding:2,columnSelection:!0,rowCount:[10,25,50,-1],selection:!1,multiSelect:!1,rowSelect:!1,keepSelection:!1,highlightRows:!1,sorting:!0,multiSort:!1,searchSettings:{delay:250,characters:1},ajax:!1,ajaxSettings:{method:"POST"},post:{},url:"",caseSensitive:!0,requestHandler:function(t){return t},responseHandler:function(t){return t},converters:{numeric:{from:function(t){return+t},to:function(t){return void 0===t?"":t+""}},string:{from:function(t){return t},to:function(t){return t}},datetime:{from:function(t){return t?moment(1e3*parseInt(t)):""},to:function(t){return t?t.format("lll"):""}},memsize:{from:function(t){for(var e=["","K","M","G","T","P","E","Z","Y"],i=parseInt(t),s=t.slice(-1).toUpperCase(),o=e.length-1;0<=o;o--)if(s===e[o]){i*=Math.pow(1024,o);break}return i},to:function(t){for(var e=["","K","M","G","T","P","E","Z","Y"],i=e.length-1;0<=i;i--)if(t>=5*Math.pow(1024,i))return parseInt(t/Math.pow(1024,i))+e[i];return parseInt(t)+""}},notprefixable:{to:function(t){return t.not?' '+t.val:t.val}}},css:{actions:"actions btn-group",center:"text-center",columnHeaderAnchor:"column-header-anchor",columnHeaderText:"text",dropDownItem:"dropdown-item",dropDownItemButton:"dropdown-item-button",dropDownItemCheckbox:"dropdown-item-checkbox",dropDownMenu:"dropdown btn-group",dropDownMenuItems:"dropdown-menu pull-right",dropDownMenuText:"dropdown-text",footer:"bootgrid-footer container-fluid",header:"bootgrid-header container-fluid",icon:"icon glyphicon",iconColumns:"glyphicon-th-list",iconDown:"glyphicon-chevron-down",iconRefresh:"glyphicon-refresh",iconSearch:"glyphicon-search",iconUp:"glyphicon-chevron-up",infos:"infos",left:"text-left",pagination:"pagination",paginationButton:"button",responsiveTable:"table-responsive",right:"text-right",search:"search form-group",searchField:"search-field form-control",selectBox:"select-box",selectCell:"select-cell",selected:"active",sortable:"sortable",table:"bootgrid-table table"},formatters:{},labels:{all:"All",infos:"Showing {{ctx.start}} to {{ctx.end}} of {{ctx.total}} entries",loading:"Loading...",noResults:"No results found!",refresh:"Refresh",search:"Search"},statusMapping:{0:"success",1:"info",2:"warning",3:"danger"},templates:{actionButton:'',actionDropDown:'
      ',actionDropDownItem:'
    • {{ctx.text}}
    • ',actionDropDownCheckboxItem:'
    • ',actions:'
      ',body:"",cell:'{{ctx.content}}',footer:'

      ',header:'

      ',headerCell:'{{ctx.column.text}}{{ctx.icon}}',icon:'',infos:'
      {{lbl.infos}}
      ',loading:'{{lbl.loading}}',noResults:'{{lbl.noResults}}',pagination:'
        ',paginationItem:'
      • {{ctx.text}}
      • ',rawHeaderCell:'{{ctx.content}}',row:"{{ctx.cells}}",search:'
        ',select:''}},c.prototype.append=function(t){if(this.options.ajax);else{for(var e=[],i=0;i=this.currentRows.length;for(i=0;!this.options.keepSelection&&n&&i tr "+o+":checked").trigger("click"+f),i=0;i tr[data-row-id="'+this.selectedRows[i]+'"]').addClass(this.options.css.selected)._bgAria("selected","true").find(o).prop("checked",!0);this.element.trigger("selected"+f,[s])}}return this},c.prototype.deselect=function(t){if(this.selection){t=t||this.currentRows.propValues(this.identifier);for(var e,i,s,o=[];0 tr[data-row-id="'+o[i][this.identifier]+'"]').removeClass(this.options.css.selected)._bgAria("selected","false").find(n).prop("checked",!1);this.element.trigger("deselected"+f,[o])}}return this},c.prototype.sort=function(t){var e=t?p.extend({},t):{};return e===this.sortDictionary||(this.sortDictionary=e,x.call(this),D.call(this),d.call(this)),this},c.prototype.getColumnSettings=function(){return p.merge([],this.columns)},c.prototype.getCurrentPage=function(){return this.current},c.prototype.getCurrentRows=function(){return p.merge([],this.currentRows)},c.prototype.getRowCount=function(){return this.rowCount},c.prototype.getSearchPhrase=function(){return this.searchPhrase},c.prototype.getSelectedRows=function(){return p.merge([],this.selectedRows)},c.prototype.getSortDictionary=function(){return p.extend({},this.sortDictionary)},c.prototype.getTotalPageCount=function(){return this.totalPages},c.prototype.getTotalRowCount=function(){return this.total},p.fn.extend({_bgAria:function(t,e){return e?this.attr("aria-"+t,e):this.attr("aria-"+t)},_bgBusyAria:function(t){return null==t||t?this._bgAria("busy","true"):this._bgAria("busy","false")},_bgRemoveAria:function(t){return this.removeAttr("aria-"+t)},_bgEnableAria:function(t){return null==t||t?this.removeClass("disabled")._bgAria("disabled","false"):this.addClass("disabled")._bgAria("disabled","true")},_bgEnableField:function(t){return null==t||t?this.removeAttr("disabled"):this.attr("disabled","disable")},_bgShowAria:function(t){return null==t||t?this.show()._bgAria("hidden","false"):this.hide()._bgAria("hidden","true")},_bgSelectAria:function(t){return null==t||t?this.addClass("active")._bgAria("selected","true"):this.removeClass("active")._bgAria("selected","false")},_bgId:function(t){return t?this.attr("id",t):this.attr("id")}}),!String.prototype.resolve){var A={checked:function(t){return"boolean"==typeof t?t?'checked="checked"':"":t}};String.prototype.resolve=function(t,o){var n=this;return p.each(t,function(t,e){if(null!=e&&"function"!=typeof e)if("object"==typeof e){var i=o?p.extend([],o):[];i.push(t),n=n.resolve(e,i)+""}else{A&&A[t]&&"function"==typeof A[t]&&(e=A[t](e)),t=o?o.join(".")+"."+t:t;var s=new RegExp("\\{\\{"+t+"\\}\\}","gm");n=n.replace(s,e.replace?e.replace(/\$/gi,"$"):e)}}),n}}Array.prototype.first||(Array.prototype.first=function(t){for(var e=0;ei?this.length>s?this.slice(i,s):this.slice(i):[]}),Array.prototype.where||(Array.prototype.where=function(t){for(var e=[],i=0;i Date: Mon, 17 Jan 2022 20:07:59 +0100 Subject: [PATCH 04/10] Store sort order, column selection and row count in browser's local storage (#5) * Store sort order, column selection and row count in browser's local storage * Bugfix when restoring sort order from localStorage with multiSort disabled * Bugfix when restoring row count to pre-select entry in dropdown --- CHANGELOG.md | 4 ++++ bower.json | 2 +- dist/jquery.bootgrid-1.3.5.zip | Bin 29339 -> 0 bytes dist/jquery.bootgrid-1.4.0.zip | Bin 0 -> 30024 bytes dist/jquery.bootgrid.css | 2 +- dist/jquery.bootgrid.fa.js | 2 +- dist/jquery.bootgrid.js | 27 ++++++++++++++++++++++----- dist/jquery.bootgrid.min.css | 2 +- dist/jquery.bootgrid.min.js | 2 +- package.json | 2 +- src/internal.js | 24 ++++++++++++++++++++---- src/public.js | 1 + 12 files changed, 53 insertions(+), 15 deletions(-) delete mode 100644 dist/jquery.bootgrid-1.3.5.zip create mode 100644 dist/jquery.bootgrid-1.4.0.zip diff --git a/CHANGELOG.md b/CHANGELOG.md index 4c35228..26279a2 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,9 @@ # Changelog +## 1.4.0 +### Enhancements & Features +- Store sort order, column selection and row count in browser's localStorage + ## 1.3.3 ### Enhancements & Features - Update dependencies to 2018 versions, eliminating 72 vulnerabilities. diff --git a/bower.json b/bower.json index 253e8d8..8163658 100644 --- a/bower.json +++ b/bower.json @@ -13,7 +13,7 @@ "accessibility", "bootstrap" ], - "version": "1.3.5", + "version": "1.4.0", "authors": [ { "name": "Rafael Staib", diff --git a/dist/jquery.bootgrid-1.3.5.zip b/dist/jquery.bootgrid-1.3.5.zip deleted file mode 100644 index e0d9fc895443fbdf806a939752355d99744d9600..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 29339 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

        qK|0t_>Jz?BQO+;4i9n*Zrjd9 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 P#NQ|J@0Mjd{WJSNA2#)? literal 0 HcmV?d00001 diff --git a/dist/jquery.bootgrid.css b/dist/jquery.bootgrid.css index b308bee..1803491 100644 --- a/dist/jquery.bootgrid.css +++ b/dist/jquery.bootgrid.css @@ -1,5 +1,5 @@ /*! - * jQuery Bootgrid v1.3.5 - 11/17/2021 + * jQuery Bootgrid v1.4.0 - 12/31/2021 * Copyright © 2014-2015 Rafael J. Staib; Copyright © 2018-2021 Deciso B.V. (http://www.jquery-bootgrid.com) * Licensed under the MIT license. See LICENSE.txt for more details. */ diff --git a/dist/jquery.bootgrid.fa.js b/dist/jquery.bootgrid.fa.js index bdf2cf0..2af272b 100644 --- a/dist/jquery.bootgrid.fa.js +++ b/dist/jquery.bootgrid.fa.js @@ -1,5 +1,5 @@ /*! - * jQuery Bootgrid v1.3.5 - 11/17/2021 + * jQuery Bootgrid v1.4.0 - 12/31/2021 * Copyright © 2014-2015 Rafael J. Staib; Copyright © 2018-2021 Deciso B.V. (http://www.jquery-bootgrid.com) * Licensed under the MIT license. See LICENSE.txt for more details. */ diff --git a/dist/jquery.bootgrid.js b/dist/jquery.bootgrid.js index 36d9cea..d8b6e72 100644 --- a/dist/jquery.bootgrid.js +++ b/dist/jquery.bootgrid.js @@ -1,5 +1,5 @@ /*! - * jQuery Bootgrid v1.3.5 - 11/17/2021 + * jQuery Bootgrid v1.4.0 - 12/31/2021 * Copyright © 2014-2015 Rafael J. Staib; Copyright © 2018-2021 Deciso B.V. (http://www.jquery-bootgrid.com) * Licensed under the MIT license. See LICENSE.txt for more details. */ @@ -78,6 +78,7 @@ function init() loadColumns.call(this); // Loads columns from HTML thead tag this.selection = this.options.selection && this.identifier != null; + this.rowCount = localStorage.getItem('rowCount[' + this.uid + ']') || this.rowCount; loadRows.call(this); // Loads rows from HTML tbody tag if ajax is false prepareTable.call(this); renderTableHeader.call(this); @@ -112,6 +113,8 @@ function loadColumns() { var $this = $(this), data = $this.data(), + visibilityStorage = localStorage.getItem('visibleColumns[' + that.uid + '][' + data.columnId + ']'), + sortingStorage = localStorage.getItem('sortColumns[' + that.uid + '][' + data.columnId + ']'), column = { id: data.columnId, identifier: that.identifier == null && data.identifier || false, @@ -122,10 +125,13 @@ function loadColumns() cssClass: data.cssClass || "", headerCssClass: data.headerCssClass || "", formatter: that.options.formatters[data.formatter] || null, - order: (!sorted && (data.order === "asc" || data.order === "desc")) ? data.order : null, + order: !sorted ? + (sortingStorage === null ? (data.order === "asc" || data.order === "desc" ? data.order : null) : + (sortingStorage === "asc" || sortingStorage === "desc" ? sortingStorage : null)) : + null, // If no other column is sorted already (or multiSort is enabled), check if sorting was stored searchable: !(data.searchable === false), // default: true sortable: !(data.sortable === false), // default: true - visible: !(data.visible === false), // default: true + visible: visibilityStorage === null ? !(data.visible === false) : (visibilityStorage === 'true'), // default: true visibleInSelection: !(data.visibleInSelection === false), // default: true width: ($.isNumeric(data.width)) ? data.width + "px" : (typeof(data.width) === "string") ? data.width : null @@ -393,9 +399,10 @@ function renderColumnSelection(actions) var $this = $(this), checkbox = $this.find(checkboxSelector); + localStorage.setItem('visibleColumns[' + that.uid + '][' + column.id + ']', checkbox.prop("checked")); if (!checkbox.prop("disabled")) { - column.visible = checkbox.prop("checked"); + column.visible = localStorage.getItem('visibleColumns[' + that.uid + '][' + column.id + ']') === 'true'; var enable = that.columns.where(isVisible).length > 1; $this.parents(itemsSelector).find(selector + ":has(" + checkboxSelector + ":checked)") ._bgEnableAria(enable).find(checkboxSelector)._bgEnableField(enable); @@ -552,13 +559,14 @@ function renderRowCountSelection(actions) { var item = $(tpl.actionDropDownItem.resolve(getParams.call(that, { text: getText(value), action: value }))) - ._bgSelectAria(value === that.rowCount) + ._bgSelectAria(value.toString() === that.rowCount.toString()) .on("click" + namespace, menuItemSelector, function (e) { e.preventDefault(); var $this = $(this), newRowCount = $this.data("action"); + localStorage.setItem('rowCount[' + that.uid + ']', newRowCount); if (newRowCount !== that.rowCount) { // todo: sophisticated solution needed for calculating which page is selected @@ -843,11 +851,16 @@ function setTableHeaderSortDirection(element) { element.parents("tr").first().find(iconSelector).removeClass(css.iconDown + " " + css.iconUp); this.sortDictionary = {}; + for (var i = 0; i < this.columns.length; i++) + { + localStorage.removeItem('sortColumns[' + this.uid + '][' + this.columns[i].id + ']'); + } } if (sortOrder && sortOrder === "asc") { this.sortDictionary[columnId] = "desc"; + localStorage.setItem('sortColumns[' + this.uid + '][' + columnId + ']', "desc"); icon.removeClass(css.iconUp).addClass(css.iconDown); } else if (sortOrder && sortOrder === "desc") @@ -863,17 +876,20 @@ function setTableHeaderSortDirection(element) } } this.sortDictionary = newSort; + localStorage.removeItem('sortColumns[' + this.uid + '][' + columnId + ']'); icon.removeClass(css.iconDown); } else { this.sortDictionary[columnId] = "asc"; + localStorage.setItem('sortColumns[' + this.uid + '][' + columnId + ']', "asc"); icon.removeClass(css.iconDown).addClass(css.iconUp); } } else { this.sortDictionary[columnId] = "asc"; + localStorage.setItem('sortColumns[' + this.uid + '][' + columnId + ']', "asc"); icon.addClass(css.iconUp); } } @@ -997,6 +1013,7 @@ var Grid = function(element, options) this.header = null; this.footer = null; this.xqr = null; + this.uid = window.location.pathname + "#" + this.element.attr('id'); // todo: implement cache }; diff --git a/dist/jquery.bootgrid.min.css b/dist/jquery.bootgrid.min.css index 2828211..706ed21 100644 --- a/dist/jquery.bootgrid.min.css +++ b/dist/jquery.bootgrid.min.css @@ -1,5 +1,5 @@ /*! - * jQuery Bootgrid v1.3.5 - 11/17/2021 + * jQuery Bootgrid v1.4.0 - 12/31/2021 * Copyright © 2014-2015 Rafael J. Staib; Copyright © 2018-2021 Deciso B.V. (http://www.jquery-bootgrid.com) * Licensed under the MIT license. See LICENSE.txt for more details. */.bootgrid-footer,.bootgrid-header{margin:15px 0}.bootgrid-footer a,.bootgrid-header a{outline:0}.bootgrid-footer .search,.bootgrid-header .search{display:inline-block;margin:0 20px 0 0;vertical-align:middle;width:180px}.bootgrid-footer .search .glyphicon,.bootgrid-header .search .glyphicon{top:0}.bootgrid-footer .search .fa,.bootgrid-header .search .fa{display:table-cell}.bootgrid-footer .search .search-field::-ms-clear,.bootgrid-footer .search.search-field::-ms-clear,.bootgrid-header .search .search-field::-ms-clear,.bootgrid-header .search.search-field::-ms-clear{display:none}.bootgrid-footer .pagination,.bootgrid-header .pagination{margin:0!important}.bootgrid-footer .infoBar,.bootgrid-header .actionBar{text-align:right}.bootgrid-footer .infoBar .btn-group>.btn-group .dropdown-menu,.bootgrid-header .actionBar .btn-group>.btn-group .dropdown-menu{text-align:left}.bootgrid-footer .infoBar .btn-group>.btn-group .dropdown-menu .dropdown-item,.bootgrid-header .actionBar .btn-group>.btn-group .dropdown-menu .dropdown-item{cursor:pointer;display:block;margin:0;padding:3px 20px;white-space:nowrap}.bootgrid-footer .infoBar .btn-group>.btn-group .dropdown-menu .dropdown-item:focus,.bootgrid-footer .infoBar .btn-group>.btn-group .dropdown-menu .dropdown-item:hover,.bootgrid-header .actionBar .btn-group>.btn-group .dropdown-menu .dropdown-item:focus,.bootgrid-header .actionBar .btn-group>.btn-group .dropdown-menu .dropdown-item:hover{color:#262626;text-decoration:none;background-color:#f5f5f5}.bootgrid-footer .infoBar .btn-group>.btn-group .dropdown-menu .dropdown-item .dropdown-item-checkbox,.bootgrid-footer .infoBar .btn-group>.btn-group .dropdown-menu .dropdown-item.dropdown-item-checkbox,.bootgrid-header .actionBar .btn-group>.btn-group .dropdown-menu .dropdown-item .dropdown-item-checkbox,.bootgrid-header .actionBar .btn-group>.btn-group .dropdown-menu .dropdown-item.dropdown-item-checkbox{margin:0 2px 4px 0;vertical-align:middle}.bootgrid-footer .infoBar .btn-group>.btn-group .dropdown-menu .dropdown-item.disabled,.bootgrid-header .actionBar .btn-group>.btn-group .dropdown-menu .dropdown-item.disabled{cursor:not-allowed}.bootgrid-table{table-layout:fixed}.bootgrid-table a{outline:0}.bootgrid-table th>.column-header-anchor{color:#333;cursor:not-allowed;display:block;position:relative;text-decoration:none}.bootgrid-table th>.column-header-anchor.sortable{cursor:pointer}.bootgrid-table th>.column-header-anchor>.text{display:block;margin:0 16px 0 0;overflow:hidden;-ms-text-overflow:ellipsis;-o-text-overflow:ellipsis;text-overflow:ellipsis;white-space:nowrap}.bootgrid-table th>.column-header-anchor>.icon{display:block;position:absolute;right:0;top:2px}.bootgrid-table th:active,.bootgrid-table th:hover{background:#fafafa}.bootgrid-table td{overflow:hidden;-ms-text-overflow:ellipsis;-o-text-overflow:ellipsis;text-overflow:ellipsis;white-space:nowrap}.bootgrid-table td.loading,.bootgrid-table td.no-results{background:#fff;text-align:center}.bootgrid-table td.select-cell,.bootgrid-table th.select-cell{text-align:center;width:30px}.bootgrid-table td.select-cell .select-box,.bootgrid-table th.select-cell .select-box{margin:0;outline:0}.table-responsive .bootgrid-table{table-layout:inherit!important}.table-responsive .bootgrid-table th>.column-header-anchor>.text{overflow:inherit!important;-ms-text-overflow:inherit!important;-o-text-overflow:inherit!important;text-overflow:inherit!important;white-space:inherit!important}.table-responsive .bootgrid-table td{overflow:inherit!important;-ms-text-overflow:inherit!important;-o-text-overflow:inherit!important;text-overflow:inherit!important;white-space:inherit!important} \ No newline at end of file diff --git a/dist/jquery.bootgrid.min.js b/dist/jquery.bootgrid.min.js index 77b76a2..21dd490 100644 --- a/dist/jquery.bootgrid.min.js +++ b/dist/jquery.bootgrid.min.js @@ -1 +1 @@ -!function(p,h,t){"use strict";var f=".rs.jquery.bootgrid";function r(e){var i=this;return!this.rows.contains(function(t){return i.identifier&&t[i.identifier]===e[i.identifier]})&&(this.rows.push(e),!0)}function g(t){var e=this.footer?this.footer.find(t):p(),i=this.header?this.header.find(t):p();return p.merge(e,i)}function v(t){return t?p.extend({},this.cachedParams,{ctx:t}):this.cachedParams}function m(t){return"."+p.trim(t).replace(/\s+/gm,".")}function l(){this.element.trigger("initialize"+f),function(){var s=this,t=this.element.find("thead > tr").first(),o=!1;t.children().each(function(){var t=p(this),e=t.data(),i={id:e.columnId,identifier:null==s.identifier&&e.identifier||!1,converter:s.options.converters[e.converter||e.type]||s.options.converters.string,text:t.html(),align:e.align||"left",headerAlign:e.headerAlign||"left",cssClass:e.cssClass||"",headerCssClass:e.headerCssClass||"",formatter:s.options.formatters[e.formatter]||null,order:o||"asc"!==e.order&&"desc"!==e.order?null:e.order,searchable:!(!1===e.searchable),sortable:!(!1===e.sortable),visible:!(!1===e.visible),visibleInSelection:!(!1===e.visibleInSelection),width:p.isNumeric(e.width)?e.width+"px":"string"==typeof e.width?e.width:null};s.columns.push(i),null!=i.order&&(s.sortDictionary[i.id]=i.order),i.identifier&&(s.identifier=i.id,s.converter=i.converter),s.options.multiSort||null===i.order||(o=!0)})}.call(this),this.selection=this.options.selection&&null!=this.identifier,function(){if(!this.options.ajax){var e=this,t=this.element.find("tbody > tr");t.each(function(){var t=p(this),i=t.children("td"),s={};p.each(e.columns,function(t,e){s[e.id]=e.converter.from(i.eq(t).text())}),r.call(e,s)}),a.call(this,this.rows.length),D.call(this)}}.call(this),function(){var t=this.options.templates,e=this.element.parent().hasClass(this.options.css.responsiveTable)?this.element.parent():this.element;this.element.addClass(this.options.css.table),0===this.element.children("tbody").length&&this.element.append(t.body);1&this.options.navigation&&(this.header=p(t.header.resolve(v.call(this,{id:this.element._bgId()+"-header"}))),e.before(this.header));2&this.options.navigation&&(this.footer=p(t.footer.resolve(v.call(this,{id:this.element._bgId()+"-footer"}))),e.after(this.footer))}.call(this),x.call(this),function(){if(0!==this.options.navigation){var t=this.options.css,e=m(t.search),i=g.call(this,e);if(0=s.options.searchSettings.characters)&&(h.clearTimeout(n),n=h.setTimeout(function(){y.call(s,e)},s.options.searchSettings.delay)))}),C.call(this,i,a)}}}.call(this),function(){if(0!==this.options.navigation){var t=this.options.css,e=m(t.actions),i=g.call(this,e);if(0 tr").on("click"+f,"> tr",function(t){t.stopPropagation();var e=p(this),i=null==o.identifier?e.data("row-id"):o.converter.from(e.data("row-id")+""),s=null==o.identifier?o.currentRows[i]:o.currentRows.first(function(t){return t[o.identifier]===i});o.selection&&o.options.rowSelect&&(e.hasClass(o.options.css.selected)?o.deselect([i]):o.select([i])),o.element.trigger("click"+f,[o.columns,s])})}.call(this,e)}else b.call(this)}.call(o,t),function(){if(0!==this.options.navigation){var t=m(this.options.css.infos),e=g.call(this,t);if(0this.total?this.total:i,start:0===this.total?0:i-this.rowCount+1,total:this.total})));C.call(this,e,s)}}}.call(o),function(){if(0!==this.options.navigation){var t=m(this.options.css.pagination),e=g.call(this,t)._bgShowAria(-1!==this.rowCount);if(-1!==this.rowCount&&0=this.options.padding?Math.max(l,1):Math.max(l-this.options.padding+r,1),c=2*this.options.padding+1,h=c<=o?c:o;w.call(this,n,"first","«","first")._bgEnableAria(1 td").first(),o=r.element.height()-e.height()-(s.height()+20),n=r.columns.where(u).length;r.selection&&(n+=1),i.html(t.loading.resolve(v.call(r,{columns:n}))),-1!==r.rowCount&&0 td").css("padding","20px 0 "+o+"px")}},250)}.call(this),this.options.ajax){var t=function(){var t={current:this.current,rowCount:this.rowCount,sort:this.sortDictionary,searchPhrase:this.searchPhrase},e=this.options.post;return e=p.isFunction(e)?e():e,this.options.requestHandler(p.extend(!0,t,e))}.call(this),i=function(){var t=this.options.url;return p.isFunction(t)?t():t}.call(this);if(null==i||"string"!=typeof i||0===i.length)throw new Error("Url setting must be a none empty string or a function that returns one.");this.xqr&&this.xqr.abort();var s={url:i,data:t,success:function(t){o.xqr=null,"string"==typeof t&&(t=p.parseJSON(t)),t=o.options.responseHandler(t),o.current=t.current,e(t.rows,t.total)},error:function(t,e,i){o.xqr=null,"abort"!==e&&(b.call(o),o.element._bgBusyAria(!1).trigger("loaded"+f))}};s=p.extend(this.options.ajaxSettings,s),this.xqr=p.ajax(s)}else{var n=0 tr"),a=this.options.css,c=this.options.templates,h="",u=this.options.sorting;if(this.selection){var e=this.options.multiSelect?c.select.resolve(v.call(l,{type:"checkbox",value:"all"})):"";h+=c.rawHeaderCell.resolve(v.call(l,{content:e,css:a.selectCell}))}if(p.each(this.columns,function(t,e){if(e.visible){var i=l.sortDictionary[e.id],s=u&&i&&"asc"===i?a.iconUp:u&&i&&"desc"===i?a.iconDown:"",o=c.icon.resolve(v.call(l,{iconCss:s})),n=e.headerAlign,r=0i[n.id]?r(1):e[n.id]o?t(e,i,o):0})}}var c=function(t,e){this.element=p(t),this.origin=this.element.clone(),this.options=p.extend(!0,{},c.defaults,this.element.data(),e);var i=this.options.rowCount=this.element.data().rowCount||e.rowCount||this.options.rowCount;this.columns=[],this.current=1,this.currentRows=[],this.identifier=null,this.selection=!1,this.converter=null,this.rowCount=p.isArray(i)?i[0]:i,this.rows=[],this.searchPhrase="",this.selectedRows=[],this.sortDictionary={},this.total=0,this.totalPages=0,this.cachedParams={lbl:this.options.labels,css:this.options.css,ctx:{}},this.header=null,this.footer=null,this.xqr=null};if(c.defaults={navigation:3,padding:2,columnSelection:!0,rowCount:[10,25,50,-1],selection:!1,multiSelect:!1,rowSelect:!1,keepSelection:!1,highlightRows:!1,sorting:!0,multiSort:!1,searchSettings:{delay:250,characters:1},ajax:!1,ajaxSettings:{method:"POST"},post:{},url:"",caseSensitive:!0,requestHandler:function(t){return t},responseHandler:function(t){return t},converters:{numeric:{from:function(t){return+t},to:function(t){return void 0===t?"":t+""}},string:{from:function(t){return t},to:function(t){return t}},datetime:{from:function(t){return t?moment(1e3*parseInt(t)):""},to:function(t){return t?t.format("lll"):""}},memsize:{from:function(t){for(var e=["","K","M","G","T","P","E","Z","Y"],i=parseInt(t),s=t.slice(-1).toUpperCase(),o=e.length-1;0<=o;o--)if(s===e[o]){i*=Math.pow(1024,o);break}return i},to:function(t){for(var e=["","K","M","G","T","P","E","Z","Y"],i=e.length-1;0<=i;i--)if(t>=5*Math.pow(1024,i))return parseInt(t/Math.pow(1024,i))+e[i];return parseInt(t)+""}},notprefixable:{to:function(t){return t.not?' '+t.val:t.val}}},css:{actions:"actions btn-group",center:"text-center",columnHeaderAnchor:"column-header-anchor",columnHeaderText:"text",dropDownItem:"dropdown-item",dropDownItemButton:"dropdown-item-button",dropDownItemCheckbox:"dropdown-item-checkbox",dropDownMenu:"dropdown btn-group",dropDownMenuItems:"dropdown-menu pull-right",dropDownMenuText:"dropdown-text",footer:"bootgrid-footer container-fluid",header:"bootgrid-header container-fluid",icon:"icon glyphicon",iconColumns:"glyphicon-th-list",iconDown:"glyphicon-chevron-down",iconRefresh:"glyphicon-refresh",iconSearch:"glyphicon-search",iconUp:"glyphicon-chevron-up",infos:"infos",left:"text-left",pagination:"pagination",paginationButton:"button",responsiveTable:"table-responsive",right:"text-right",search:"search form-group",searchField:"search-field form-control",selectBox:"select-box",selectCell:"select-cell",selected:"active",sortable:"sortable",table:"bootgrid-table table"},formatters:{},labels:{all:"All",infos:"Showing {{ctx.start}} to {{ctx.end}} of {{ctx.total}} entries",loading:"Loading...",noResults:"No results found!",refresh:"Refresh",search:"Search"},statusMapping:{0:"success",1:"info",2:"warning",3:"danger"},templates:{actionButton:'',actionDropDown:'

        ',actionDropDownItem:'
      • {{ctx.text}}
      • ',actionDropDownCheckboxItem:'
      • ',actions:'
        ',body:"",cell:'{{ctx.content}}',footer:'

        ',header:'

        ',headerCell:'{{ctx.column.text}}{{ctx.icon}}',icon:'',infos:'
        {{lbl.infos}}
        ',loading:'{{lbl.loading}}',noResults:'{{lbl.noResults}}',pagination:'
          ',paginationItem:'
        • {{ctx.text}}
        • ',rawHeaderCell:'{{ctx.content}}',row:"{{ctx.cells}}",search:'
          ',select:''}},c.prototype.append=function(t){if(this.options.ajax);else{for(var e=[],i=0;i=this.currentRows.length;for(i=0;!this.options.keepSelection&&n&&i tr "+o+":checked").trigger("click"+f),i=0;i tr[data-row-id="'+this.selectedRows[i]+'"]').addClass(this.options.css.selected)._bgAria("selected","true").find(o).prop("checked",!0);this.element.trigger("selected"+f,[s])}}return this},c.prototype.deselect=function(t){if(this.selection){t=t||this.currentRows.propValues(this.identifier);for(var e,i,s,o=[];0 tr[data-row-id="'+o[i][this.identifier]+'"]').removeClass(this.options.css.selected)._bgAria("selected","false").find(n).prop("checked",!1);this.element.trigger("deselected"+f,[o])}}return this},c.prototype.sort=function(t){var e=t?p.extend({},t):{};return e===this.sortDictionary||(this.sortDictionary=e,x.call(this),D.call(this),d.call(this)),this},c.prototype.getColumnSettings=function(){return p.merge([],this.columns)},c.prototype.getCurrentPage=function(){return this.current},c.prototype.getCurrentRows=function(){return p.merge([],this.currentRows)},c.prototype.getRowCount=function(){return this.rowCount},c.prototype.getSearchPhrase=function(){return this.searchPhrase},c.prototype.getSelectedRows=function(){return p.merge([],this.selectedRows)},c.prototype.getSortDictionary=function(){return p.extend({},this.sortDictionary)},c.prototype.getTotalPageCount=function(){return this.totalPages},c.prototype.getTotalRowCount=function(){return this.total},p.fn.extend({_bgAria:function(t,e){return e?this.attr("aria-"+t,e):this.attr("aria-"+t)},_bgBusyAria:function(t){return null==t||t?this._bgAria("busy","true"):this._bgAria("busy","false")},_bgRemoveAria:function(t){return this.removeAttr("aria-"+t)},_bgEnableAria:function(t){return null==t||t?this.removeClass("disabled")._bgAria("disabled","false"):this.addClass("disabled")._bgAria("disabled","true")},_bgEnableField:function(t){return null==t||t?this.removeAttr("disabled"):this.attr("disabled","disable")},_bgShowAria:function(t){return null==t||t?this.show()._bgAria("hidden","false"):this.hide()._bgAria("hidden","true")},_bgSelectAria:function(t){return null==t||t?this.addClass("active")._bgAria("selected","true"):this.removeClass("active")._bgAria("selected","false")},_bgId:function(t){return t?this.attr("id",t):this.attr("id")}}),!String.prototype.resolve){var A={checked:function(t){return"boolean"==typeof t?t?'checked="checked"':"":t}};String.prototype.resolve=function(t,o){var n=this;return p.each(t,function(t,e){if(null!=e&&"function"!=typeof e)if("object"==typeof e){var i=o?p.extend([],o):[];i.push(t),n=n.resolve(e,i)+""}else{A&&A[t]&&"function"==typeof A[t]&&(e=A[t](e)),t=o?o.join(".")+"."+t:t;var s=new RegExp("\\{\\{"+t+"\\}\\}","gm");n=n.replace(s,e.replace?e.replace(/\$/gi,"$"):e)}}),n}}Array.prototype.first||(Array.prototype.first=function(t){for(var e=0;ei?this.length>s?this.slice(i,s):this.slice(i):[]}),Array.prototype.where||(Array.prototype.where=function(t){for(var e=[],i=0;i tr").first(),r=!1;t.children().each(function(){var t=p(this),e=t.data(),i=localStorage.getItem("visibleColumns["+n.uid+"]["+e.columnId+"]"),s=localStorage.getItem("sortColumns["+n.uid+"]["+e.columnId+"]"),o={id:e.columnId,identifier:null==n.identifier&&e.identifier||!1,converter:n.options.converters[e.converter||e.type]||n.options.converters.string,text:t.html(),align:e.align||"left",headerAlign:e.headerAlign||"left",cssClass:e.cssClass||"",headerCssClass:e.headerCssClass||"",formatter:n.options.formatters[e.formatter]||null,order:r?null:null===s?"asc"===e.order||"desc"===e.order?e.order:null:"asc"===s||"desc"===s?s:null,searchable:!(!1===e.searchable),sortable:!(!1===e.sortable),visible:null===i?!(!1===e.visible):"true"===i,visibleInSelection:!(!1===e.visibleInSelection),width:p.isNumeric(e.width)?e.width+"px":"string"==typeof e.width?e.width:null};n.columns.push(o),null!=o.order&&(n.sortDictionary[o.id]=o.order),o.identifier&&(n.identifier=o.id,n.converter=o.converter),n.options.multiSort||null===o.order||(r=!0)})}.call(this),this.selection=this.options.selection&&null!=this.identifier,this.rowCount=localStorage.getItem("rowCount["+this.uid+"]")||this.rowCount,function(){if(!this.options.ajax){var e=this,t=this.element.find("tbody > tr");t.each(function(){var t=p(this),i=t.children("td"),s={};p.each(e.columns,function(t,e){s[e.id]=e.converter.from(i.eq(t).text())}),r.call(e,s)}),a.call(this,this.rows.length),D.call(this)}}.call(this),function(){var t=this.options.templates,e=this.element.parent().hasClass(this.options.css.responsiveTable)?this.element.parent():this.element;this.element.addClass(this.options.css.table),0===this.element.children("tbody").length&&this.element.append(t.body);1&this.options.navigation&&(this.header=p(t.header.resolve(v.call(this,{id:this.element._bgId()+"-header"}))),e.before(this.header));2&this.options.navigation&&(this.footer=p(t.footer.resolve(v.call(this,{id:this.element._bgId()+"-footer"}))),e.after(this.footer))}.call(this),x.call(this),function(){if(0!==this.options.navigation){var t=this.options.css,e=m(t.search),i=g.call(this,e);if(0=s.options.searchSettings.characters)&&(h.clearTimeout(n),n=h.setTimeout(function(){y.call(s,e)},s.options.searchSettings.delay)))}),C.call(this,i,a)}}}.call(this),function(){if(0!==this.options.navigation){var t=this.options.css,e=m(t.actions),i=g.call(this,e);if(0 tr").on("click"+f,"> tr",function(t){t.stopPropagation();var e=p(this),i=null==o.identifier?e.data("row-id"):o.converter.from(e.data("row-id")+""),s=null==o.identifier?o.currentRows[i]:o.currentRows.first(function(t){return t[o.identifier]===i});o.selection&&o.options.rowSelect&&(e.hasClass(o.options.css.selected)?o.deselect([i]):o.select([i])),o.element.trigger("click"+f,[o.columns,s])})}.call(this,e)}else b.call(this)}.call(o,t),function(){if(0!==this.options.navigation){var t=m(this.options.css.infos),e=g.call(this,t);if(0this.total?this.total:i,start:0===this.total?0:i-this.rowCount+1,total:this.total})));C.call(this,e,s)}}}.call(o),function(){if(0!==this.options.navigation){var t=m(this.options.css.pagination),e=g.call(this,t)._bgShowAria(-1!==this.rowCount);if(-1!==this.rowCount&&0=this.options.padding?Math.max(l,1):Math.max(l-this.options.padding+r,1),c=2*this.options.padding+1,h=c<=o?c:o;w.call(this,n,"first","«","first")._bgEnableAria(1 td").first(),o=r.element.height()-e.height()-(s.height()+20),n=r.columns.where(u).length;r.selection&&(n+=1),i.html(t.loading.resolve(v.call(r,{columns:n}))),-1!==r.rowCount&&0 td").css("padding","20px 0 "+o+"px")}},250)}.call(this),this.options.ajax){var t=function(){var t={current:this.current,rowCount:this.rowCount,sort:this.sortDictionary,searchPhrase:this.searchPhrase},e=this.options.post;return e=p.isFunction(e)?e():e,this.options.requestHandler(p.extend(!0,t,e))}.call(this),i=function(){var t=this.options.url;return p.isFunction(t)?t():t}.call(this);if(null==i||"string"!=typeof i||0===i.length)throw new Error("Url setting must be a none empty string or a function that returns one.");this.xqr&&this.xqr.abort();var s={url:i,data:t,success:function(t){o.xqr=null,"string"==typeof t&&(t=p.parseJSON(t)),t=o.options.responseHandler(t),o.current=t.current,e(t.rows,t.total)},error:function(t,e,i){o.xqr=null,"abort"!==e&&(b.call(o),o.element._bgBusyAria(!1).trigger("loaded"+f))}};s=p.extend(this.options.ajaxSettings,s),this.xqr=p.ajax(s)}else{var n=0 tr"),a=this.options.css,c=this.options.templates,h="",u=this.options.sorting;if(this.selection){var e=this.options.multiSelect?c.select.resolve(v.call(l,{type:"checkbox",value:"all"})):"";h+=c.rawHeaderCell.resolve(v.call(l,{content:e,css:a.selectCell}))}if(p.each(this.columns,function(t,e){if(e.visible){var i=l.sortDictionary[e.id],s=u&&i&&"asc"===i?a.iconUp:u&&i&&"desc"===i?a.iconDown:"",o=c.icon.resolve(v.call(l,{iconCss:s})),n=e.headerAlign,r=0i[n.id]?r(1):e[n.id]o?t(e,i,o):0})}}var c=function(t,e){this.element=p(t),this.origin=this.element.clone(),this.options=p.extend(!0,{},c.defaults,this.element.data(),e);var i=this.options.rowCount=this.element.data().rowCount||e.rowCount||this.options.rowCount;this.columns=[],this.current=1,this.currentRows=[],this.identifier=null,this.selection=!1,this.converter=null,this.rowCount=p.isArray(i)?i[0]:i,this.rows=[],this.searchPhrase="",this.selectedRows=[],this.sortDictionary={},this.total=0,this.totalPages=0,this.cachedParams={lbl:this.options.labels,css:this.options.css,ctx:{}},this.header=null,this.footer=null,this.xqr=null,this.uid=h.location.pathname+"#"+this.element.attr("id")};if(c.defaults={navigation:3,padding:2,columnSelection:!0,rowCount:[10,25,50,-1],selection:!1,multiSelect:!1,rowSelect:!1,keepSelection:!1,highlightRows:!1,sorting:!0,multiSort:!1,searchSettings:{delay:250,characters:1},ajax:!1,ajaxSettings:{method:"POST"},post:{},url:"",caseSensitive:!0,requestHandler:function(t){return t},responseHandler:function(t){return t},converters:{numeric:{from:function(t){return+t},to:function(t){return void 0===t?"":t+""}},string:{from:function(t){return t},to:function(t){return t}},datetime:{from:function(t){return t?moment(1e3*parseInt(t)):""},to:function(t){return t?t.format("lll"):""}},memsize:{from:function(t){for(var e=["","K","M","G","T","P","E","Z","Y"],i=parseInt(t),s=t.slice(-1).toUpperCase(),o=e.length-1;0<=o;o--)if(s===e[o]){i*=Math.pow(1024,o);break}return i},to:function(t){for(var e=["","K","M","G","T","P","E","Z","Y"],i=e.length-1;0<=i;i--)if(t>=5*Math.pow(1024,i))return parseInt(t/Math.pow(1024,i))+e[i];return parseInt(t)+""}},notprefixable:{to:function(t){return t.not?' '+t.val:t.val}}},css:{actions:"actions btn-group",center:"text-center",columnHeaderAnchor:"column-header-anchor",columnHeaderText:"text",dropDownItem:"dropdown-item",dropDownItemButton:"dropdown-item-button",dropDownItemCheckbox:"dropdown-item-checkbox",dropDownMenu:"dropdown btn-group",dropDownMenuItems:"dropdown-menu pull-right",dropDownMenuText:"dropdown-text",footer:"bootgrid-footer container-fluid",header:"bootgrid-header container-fluid",icon:"icon glyphicon",iconColumns:"glyphicon-th-list",iconDown:"glyphicon-chevron-down",iconRefresh:"glyphicon-refresh",iconSearch:"glyphicon-search",iconUp:"glyphicon-chevron-up",infos:"infos",left:"text-left",pagination:"pagination",paginationButton:"button",responsiveTable:"table-responsive",right:"text-right",search:"search form-group",searchField:"search-field form-control",selectBox:"select-box",selectCell:"select-cell",selected:"active",sortable:"sortable",table:"bootgrid-table table"},formatters:{},labels:{all:"All",infos:"Showing {{ctx.start}} to {{ctx.end}} of {{ctx.total}} entries",loading:"Loading...",noResults:"No results found!",refresh:"Refresh",search:"Search"},statusMapping:{0:"success",1:"info",2:"warning",3:"danger"},templates:{actionButton:'',actionDropDown:'
          ',actionDropDownItem:'
        • {{ctx.text}}
        • ',actionDropDownCheckboxItem:'
        • ',actions:'
          ',body:"",cell:'{{ctx.content}}',footer:'

          ',header:'

          ',headerCell:'{{ctx.column.text}}{{ctx.icon}}',icon:'',infos:'
          {{lbl.infos}}
          ',loading:'{{lbl.loading}}',noResults:'{{lbl.noResults}}',pagination:'
            ',paginationItem:'
          • {{ctx.text}}
          • ',rawHeaderCell:'{{ctx.content}}',row:"{{ctx.cells}}",search:'
            ',select:''}},c.prototype.append=function(t){if(this.options.ajax);else{for(var e=[],i=0;i=this.currentRows.length;for(i=0;!this.options.keepSelection&&n&&i tr "+o+":checked").trigger("click"+f),i=0;i tr[data-row-id="'+this.selectedRows[i]+'"]').addClass(this.options.css.selected)._bgAria("selected","true").find(o).prop("checked",!0);this.element.trigger("selected"+f,[s])}}return this},c.prototype.deselect=function(t){if(this.selection){t=t||this.currentRows.propValues(this.identifier);for(var e,i,s,o=[];0 tr[data-row-id="'+o[i][this.identifier]+'"]').removeClass(this.options.css.selected)._bgAria("selected","false").find(n).prop("checked",!1);this.element.trigger("deselected"+f,[o])}}return this},c.prototype.sort=function(t){var e=t?p.extend({},t):{};return e===this.sortDictionary||(this.sortDictionary=e,x.call(this),D.call(this),d.call(this)),this},c.prototype.getColumnSettings=function(){return p.merge([],this.columns)},c.prototype.getCurrentPage=function(){return this.current},c.prototype.getCurrentRows=function(){return p.merge([],this.currentRows)},c.prototype.getRowCount=function(){return this.rowCount},c.prototype.getSearchPhrase=function(){return this.searchPhrase},c.prototype.getSelectedRows=function(){return p.merge([],this.selectedRows)},c.prototype.getSortDictionary=function(){return p.extend({},this.sortDictionary)},c.prototype.getTotalPageCount=function(){return this.totalPages},c.prototype.getTotalRowCount=function(){return this.total},p.fn.extend({_bgAria:function(t,e){return e?this.attr("aria-"+t,e):this.attr("aria-"+t)},_bgBusyAria:function(t){return null==t||t?this._bgAria("busy","true"):this._bgAria("busy","false")},_bgRemoveAria:function(t){return this.removeAttr("aria-"+t)},_bgEnableAria:function(t){return null==t||t?this.removeClass("disabled")._bgAria("disabled","false"):this.addClass("disabled")._bgAria("disabled","true")},_bgEnableField:function(t){return null==t||t?this.removeAttr("disabled"):this.attr("disabled","disable")},_bgShowAria:function(t){return null==t||t?this.show()._bgAria("hidden","false"):this.hide()._bgAria("hidden","true")},_bgSelectAria:function(t){return null==t||t?this.addClass("active")._bgAria("selected","true"):this.removeClass("active")._bgAria("selected","false")},_bgId:function(t){return t?this.attr("id",t):this.attr("id")}}),!String.prototype.resolve){var S={checked:function(t){return"boolean"==typeof t?t?'checked="checked"':"":t}};String.prototype.resolve=function(t,o){var n=this;return p.each(t,function(t,e){if(null!=e&&"function"!=typeof e)if("object"==typeof e){var i=o?p.extend([],o):[];i.push(t),n=n.resolve(e,i)+""}else{S&&S[t]&&"function"==typeof S[t]&&(e=S[t](e)),t=o?o.join(".")+"."+t:t;var s=new RegExp("\\{\\{"+t+"\\}\\}","gm");n=n.replace(s,e.replace?e.replace(/\$/gi,"$"):e)}}),n}}Array.prototype.first||(Array.prototype.first=function(t){for(var e=0;ei?this.length>s?this.slice(i,s):this.slice(i):[]}),Array.prototype.where||(Array.prototype.where=function(t){for(var e=[],i=0;i 1; $this.parents(itemsSelector).find(selector + ":has(" + checkboxSelector + ":checked)") ._bgEnableAria(enable).find(checkboxSelector)._bgEnableField(enable); @@ -542,13 +549,14 @@ function renderRowCountSelection(actions) { var item = $(tpl.actionDropDownItem.resolve(getParams.call(that, { text: getText(value), action: value }))) - ._bgSelectAria(value === that.rowCount) + ._bgSelectAria(value.toString() === that.rowCount.toString()) .on("click" + namespace, menuItemSelector, function (e) { e.preventDefault(); var $this = $(this), newRowCount = $this.data("action"); + localStorage.setItem('rowCount[' + that.uid + ']', newRowCount); if (newRowCount !== that.rowCount) { // todo: sophisticated solution needed for calculating which page is selected @@ -833,11 +841,16 @@ function setTableHeaderSortDirection(element) { element.parents("tr").first().find(iconSelector).removeClass(css.iconDown + " " + css.iconUp); this.sortDictionary = {}; + for (var i = 0; i < this.columns.length; i++) + { + localStorage.removeItem('sortColumns[' + this.uid + '][' + this.columns[i].id + ']'); + } } if (sortOrder && sortOrder === "asc") { this.sortDictionary[columnId] = "desc"; + localStorage.setItem('sortColumns[' + this.uid + '][' + columnId + ']', "desc"); icon.removeClass(css.iconUp).addClass(css.iconDown); } else if (sortOrder && sortOrder === "desc") @@ -853,17 +866,20 @@ function setTableHeaderSortDirection(element) } } this.sortDictionary = newSort; + localStorage.removeItem('sortColumns[' + this.uid + '][' + columnId + ']'); icon.removeClass(css.iconDown); } else { this.sortDictionary[columnId] = "asc"; + localStorage.setItem('sortColumns[' + this.uid + '][' + columnId + ']', "asc"); icon.removeClass(css.iconDown).addClass(css.iconUp); } } else { this.sortDictionary[columnId] = "asc"; + localStorage.setItem('sortColumns[' + this.uid + '][' + columnId + ']', "asc"); icon.addClass(css.iconUp); } } diff --git a/src/public.js b/src/public.js index 9589b29..b5b3e88 100644 --- a/src/public.js +++ b/src/public.js @@ -38,6 +38,7 @@ var Grid = function(element, options) this.header = null; this.footer = null; this.xqr = null; + this.uid = window.location.pathname + "#" + this.element.attr('id'); // todo: implement cache }; From 7b8da26bb89f7697e49b1b714f5eb87f4627637f Mon Sep 17 00:00:00 2001 From: Ad Schellevis Date: Wed, 17 Aug 2022 11:11:25 +0200 Subject: [PATCH 05/10] Minor bugfix in localstorage usage for rowCount rowCount should be an int, but localStorage items are saved as strings. parse --- src/internal.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/internal.js b/src/internal.js index 736e77c..0cebaf7 100644 --- a/src/internal.js +++ b/src/internal.js @@ -68,7 +68,7 @@ function init() loadColumns.call(this); // Loads columns from HTML thead tag this.selection = this.options.selection && this.identifier != null; - this.rowCount = localStorage.getItem('rowCount[' + this.uid + ']') || this.rowCount; + this.rowCount = parseInt(localStorage.getItem('rowCount[' + this.uid + ']')) || this.rowCount; loadRows.call(this); // Loads rows from HTML tbody tag if ajax is false prepareTable.call(this); renderTableHeader.call(this); From 292cfdf74930c79018af8110caf4fa4e5b5a8e1e Mon Sep 17 00:00:00 2001 From: Ad Schellevis Date: Mon, 26 Feb 2024 20:40:35 +0100 Subject: [PATCH 06/10] converters / datetime - when an epoch is offered as number, make sure to convert to moment() before sending it to the client. Adds support for datetime fields as integer/float data. --- src/public.js | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/public.js b/src/public.js index b5b3e88..7015126 100644 --- a/src/public.js +++ b/src/public.js @@ -264,6 +264,9 @@ Grid.defaults = { return value ? moment(parseInt(value)*1000) : ""; }, to: function (value) { + if (!Object.is(value)) { + value = moment(parseInt(value)*1000); + } return value ? value.format("lll") : ""; } }, From 96d071b1f19316c6a706a509eb593d83c7d13868 Mon Sep 17 00:00:00 2001 From: Stephan de Wit Date: Wed, 17 Apr 2024 16:32:34 +0200 Subject: [PATCH 07/10] converters / datetime - fix object check (#7) Object.is() checks equality between two parameters, not whether the variable is an object, better to use the built-in moment method for this. --- src/public.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/public.js b/src/public.js index 7015126..02256f2 100644 --- a/src/public.js +++ b/src/public.js @@ -264,7 +264,7 @@ Grid.defaults = { return value ? moment(parseInt(value)*1000) : ""; }, to: function (value) { - if (!Object.is(value)) { + if (!moment.isMoment(value)) { value = moment(parseInt(value)*1000); } return value ? value.format("lll") : ""; From c12ecbbf684b1cee75292a367ba50579d146f97f Mon Sep 17 00:00:00 2001 From: Ad Schellevis Date: Wed, 17 Apr 2024 16:35:28 +0200 Subject: [PATCH 08/10] dist: sync with https://github.com/opnsense/jquery-bootgrid/pull/7 --- dist/jquery.bootgrid.js | 3 +++ 1 file changed, 3 insertions(+) diff --git a/dist/jquery.bootgrid.js b/dist/jquery.bootgrid.js index d8b6e72..6d2a001 100644 --- a/dist/jquery.bootgrid.js +++ b/dist/jquery.bootgrid.js @@ -1239,6 +1239,9 @@ Grid.defaults = { return value ? moment(parseInt(value)*1000) : ""; }, to: function (value) { + if (!moment.isMoment(value)) { + value = moment(parseInt(value)*1000); + } return value ? value.format("lll") : ""; } }, From 6a7d7284a233fc2ae5ee3fef17debc9a48c05999 Mon Sep 17 00:00:00 2001 From: Ad Schellevis Date: Mon, 2 Dec 2024 16:55:20 +0100 Subject: [PATCH 09/10] use fontawesome 6 icons --- dist/jquery.bootgrid.css | 8 +++++--- src/public.js | 12 ++++++------ 2 files changed, 11 insertions(+), 9 deletions(-) diff --git a/dist/jquery.bootgrid.css b/dist/jquery.bootgrid.css index 1803491..18111da 100644 --- a/dist/jquery.bootgrid.css +++ b/dist/jquery.bootgrid.css @@ -18,12 +18,14 @@ vertical-align: middle; width: 180px; } -.bootgrid-header .search .glyphicon, -.bootgrid-footer .search .glyphicon { +.bootgrid-header .search .fa-solid, +.bootgrid-footer .search .fa-solid { top: 0; } .bootgrid-header .search .fa, -.bootgrid-footer .search .fa { +.bootgrid-header .search .fa-solid, +.bootgrid-footer .search .fa, +.bootgrid-footer .search .fa-solid { display: table-cell; } .bootgrid-header .search.search-field::-ms-clear, diff --git a/src/public.js b/src/public.js index 02256f2..2d143c4 100644 --- a/src/public.js +++ b/src/public.js @@ -327,12 +327,12 @@ Grid.defaults = { dropDownMenuText: "dropdown-text", // must be a unique class name or constellation of class names within the actionDropDown footer: "bootgrid-footer container-fluid", header: "bootgrid-header container-fluid", - icon: "icon glyphicon", - iconColumns: "glyphicon-th-list", - iconDown: "glyphicon-chevron-down", - iconRefresh: "glyphicon-refresh", - iconSearch: "glyphicon-search", - iconUp: "glyphicon-chevron-up", + icon: "icon fa-solid", + iconColumns: "fa-list", + iconDown: "fa-chevron-down", + iconRefresh: "fa-arrows-rotate", + iconSearch: "fa-magnifying-glass", + iconUp: "fa-chevron-up", infos: "infos", // must be a unique class name or constellation of class names within the header and footer, left: "text-left", pagination: "pagination", // must be a unique class name or constellation of class names within the header and footer From 747890a640e859adc0e1e10f54a0f0e502e96962 Mon Sep 17 00:00:00 2001 From: Stephan de Wit Date: Wed, 19 Mar 2025 09:08:40 +0100 Subject: [PATCH 10/10] provide option for initial search phrase (#8) --- dist/jquery.bootgrid.js | 7 +++++-- src/internal.js | 5 ++++- src/public.js | 2 +- 3 files changed, 10 insertions(+), 4 deletions(-) diff --git a/dist/jquery.bootgrid.js b/dist/jquery.bootgrid.js index 6d2a001..5b3769d 100644 --- a/dist/jquery.bootgrid.js +++ b/dist/jquery.bootgrid.js @@ -728,12 +728,15 @@ function renderSearchField() var that = this, tpl = this.options.templates, timer = null, // fast keyup detection - currentValue = "", + currentValue = this.searchPhrase, searchFieldSelector = getCssSelector(css.searchField), search = $(tpl.search.resolve(getParams.call(this))), searchField = (search.is(searchFieldSelector)) ? search : search.find(searchFieldSelector); + // populate search field if initial search phrase provided + $(searchField).val(currentValue); + searchField.on("keyup" + namespace, function (e) { e.stopPropagation(); @@ -1000,7 +1003,7 @@ var Grid = function(element, options) this.converter = null; // The converter for the column that is marked as identifier this.rowCount = ($.isArray(rowCount)) ? rowCount[0] : rowCount; this.rows = []; - this.searchPhrase = ""; + this.searchPhrase = this.options.initialSearchPhrase || ""; this.selectedRows = []; this.sortDictionary = {}; this.total = 0; diff --git a/src/internal.js b/src/internal.js index 0cebaf7..98a648e 100644 --- a/src/internal.js +++ b/src/internal.js @@ -718,12 +718,15 @@ function renderSearchField() var that = this, tpl = this.options.templates, timer = null, // fast keyup detection - currentValue = "", + currentValue = this.searchPhrase, searchFieldSelector = getCssSelector(css.searchField), search = $(tpl.search.resolve(getParams.call(this))), searchField = (search.is(searchFieldSelector)) ? search : search.find(searchFieldSelector); + // populate search field if initial search phrase provided + $(searchField).val(currentValue); + searchField.on("keyup" + namespace, function (e) { e.stopPropagation(); diff --git a/src/public.js b/src/public.js index 2d143c4..62bd50a 100644 --- a/src/public.js +++ b/src/public.js @@ -25,7 +25,7 @@ var Grid = function(element, options) this.converter = null; // The converter for the column that is marked as identifier this.rowCount = ($.isArray(rowCount)) ? rowCount[0] : rowCount; this.rows = []; - this.searchPhrase = ""; + this.searchPhrase = this.options.initialSearchPhrase || ""; this.selectedRows = []; this.sortDictionary = {}; this.total = 0;