From f97b9a6831e29aecfc9f46b0cd67574943d12960 Mon Sep 17 00:00:00 2001 From: Samuel Georges Date: Thu, 1 Oct 2015 18:13:15 +1000 Subject: [PATCH] Allows custom toolbar buttons to be injected Removes the assumption that all anchors are pagination links Make code easier to read in places Sorry, had to use jQuery in some places too --- .../widgets/table/assets/js/build-min.js | 21 +++++++----- .../assets/js/table.datasource.client.js | 3 +- .../assets/js/table.helper.navigation.js | 33 ++++++++++++------- .../backend/widgets/table/assets/js/table.js | 3 ++ 4 files changed, 39 insertions(+), 21 deletions(-) diff --git a/modules/backend/widgets/table/assets/js/build-min.js b/modules/backend/widgets/table/assets/js/build-min.js index 72c4570f9..75d7d2f88 100644 --- a/modules/backend/widgets/table/assets/js/build-min.js +++ b/modules/backend/widgets/table/assets/js/build-min.js @@ -288,6 +288,8 @@ if(!this.validate()){ev.preventDefault() return} var fieldName=this.options.alias.indexOf('[')>-1?this.options.alias+'[TableData]':this.options.alias+'TableData';data.options.data[fieldName]=this.dataSource.getAllData()}} Table.prototype.onToolbarClick=function(ev){var target=this.getEventTarget(ev),cmd=target.getAttribute('data-cmd') +if(!cmd) +return switch(cmd){case'record-add-below':this.addRecord('below') break case'record-add-above':this.addRecord('above') @@ -397,12 +399,11 @@ var paginationContainer=this.tableObj.getElement().querySelector('.pagination'), this.pageCount=this.calculatePageCount(recordCount,this.tableObj.options.recordsPerPage) if(!paginationContainer){paginationContainer=document.createElement('div') paginationContainer.setAttribute('class','pagination') -newPaginationContainer=true}else -curRecordCount=this.getRecordCount(paginationContainer) +newPaginationContainer=true} +else{curRecordCount=this.getRecordCount(paginationContainer)} if(newPaginationContainer||curRecordCount!=recordCount){paginationContainer.setAttribute('data-record-count',recordCount) var pageList=this.buildPaginationLinkList(recordCount,this.tableObj.options.recordsPerPage,this.pageIndex) -if(!newPaginationContainer) -paginationContainer.replaceChild(pageList,paginationContainer.children[0]) +if(!newPaginationContainer){paginationContainer.replaceChild(pageList,paginationContainer.children[0])} else{paginationContainer.appendChild(pageList) this.tableObj.getElement().appendChild(paginationContainer)}}else{this.markActiveLinkItem(paginationContainer,this.pageIndex)}} Navigation.prototype.calculatePageCount=function(recordCount,recordsPerPage){var pageCount=Math.ceil(recordCount/recordsPerPage) @@ -415,6 +416,7 @@ Navigation.prototype.buildPaginationLinkList=function(recordCount,recordsPerPage for(var i=0;i