From 38e56324979459d7bc39f319c820b6d73d2a70ee Mon Sep 17 00:00:00 2001 From: crissdev Date: Sun, 15 Mar 2015 19:18:32 +0200 Subject: [PATCH] Fix #295 - sortService fails when sorting by date Undefined variable dateRE is used instead of window.kg.sortService.dateRE --- dist/KoGrid.js | 3 +-- dist/KoGrid.min.js | 2 +- dist/KoGrid.min.js.map | 2 +- src/classes/sortService.js | 3 +-- 4 files changed, 4 insertions(+), 6 deletions(-) diff --git a/dist/KoGrid.js b/dist/KoGrid.js index ed8431b1..452fcfd7 100644 --- a/dist/KoGrid.js +++ b/dist/KoGrid.js @@ -2029,7 +2029,7 @@ window.kg.sortService = { d = '0' + d; } dateA = y + m + d; - mtch = b.match(dateRE); + mtch = b.match(window.kg.sortService.dateRE); y = mtch[3]; d = mtch[2]; m = mtch[1]; @@ -2101,7 +2101,6 @@ window.kg.sortService = { } }); data(unwrappedData); - return; }, Sort: function (sortInfo, data) { if (window.kg.sortService.isSorting) { diff --git a/dist/KoGrid.min.js b/dist/KoGrid.min.js index 25797cc4..f9f56199 100644 --- a/dist/KoGrid.min.js +++ b/dist/KoGrid.min.js @@ -1,4 +1,4 @@ /*! KoGrid v2.1.5 | MIT License */ !function(e){"use strict";e.kg||(e.kg={}),e.kg.numberOfGrids=0,e.kg.eventStorage={};var t="__kg_selected__",o=8,n=6,i="asc",r="desc",a="_kg_field_",l="_kg_depth_",s="_kg_hidden_",c="_kg_column_",d=/<.+>/;e.kg.moveSelectionHandler=function(t,n){if(e.kg.utils.isNullOrUndefined(t)||e.kg.utils.isNullOrUndefined(t.config.selectedItems))return!0;var i=n.which||n.keyCode,r=38===i?-1:40===i?1:null;if(!r)return!0;var a=t.renderedRows(),l=a.indexOf(t.selectionService.lastClickedRow)+r;return 0>l||l>=a.length?!0:(t.selectionService.ChangeSelection(a[l],n),l>a.length-o?t.$viewport.scrollTop(t.$viewport.scrollTop()+t.config.rowHeight*o):o>l&&t.$viewport.scrollTop(t.$viewport.scrollTop()-t.config.rowHeight*o),!1)},String.prototype.trim||(String.prototype.trim=function(){return this.replace(/^\s+|\s+$/g,"")}),Array.prototype.indexOf||(Array.prototype.indexOf=function(e){var t=this.length>>>0,o=Number(arguments[1])||0;for(o=0>o?Math.ceil(o):Math.floor(o),0>o&&(o+=t);t>o;o++)if(o in this&&this[o]===e)return o;return-1}),Array.prototype.filter||(Array.prototype.filter=function(e){var t=Object(this),o=t.length>>>0;if("function"!=typeof e)throw new TypeError;for(var n=[],i=arguments[1],r=0;o>r;r++)if(r in t){var a=t[r];e.call(i,a,r,t)&&n.push(a)}return n}),e.kg.utils={visualLength:function(e){var t=document.getElementById("testDataLength");return t||(t=document.createElement("SPAN"),t.id="testDataLength",t.style.visibility="hidden",document.body.appendChild(t)),$(t).css("font",$(e).css("font")),t.innerHTML=$(e).text(),t.offsetWidth},forIn:function(e,t){for(var o in e)e.hasOwnProperty(o)&&t(e[o],o)},evalProperty:function(e,t){var o=ko.utils.unwrapObservable(e),n=t.split("."),i=0,r=ko.utils.unwrapObservable(o[n[i]]),a=n.length;for(i++;r&&a>i;)r=ko.utils.unwrapObservable(r[n[i]]),i++;return r},endsWith:function(e,t){return e&&t&&"string"==typeof e?-1!==e.indexOf(t,e.length-t.length):!1},isNullOrUndefined:function(e){return void 0===e||null===e?!0:!1},getElementsByClassName:function(e){for(var t=[],o=new RegExp("\\b"+e+"\\b"),n=document.getElementsByTagName("*"),i=0;i",o[0];);return e>4?e:void 0}()},$.extend(e.kg.utils,{isIe6:function(){return 6===e.kg.utils.ieVersion}(),isIe7:function(){return 7===e.kg.utils.ieVersion}(),isIe:function(){return void 0!==e.kg.utils.ieVersion}()}),e.kg.aggregateTemplate=function(){return'
( Items)
'},e.kg.defaultCellTemplate=function(){return"
"},e.kg.defaultGridTemplate=function(){return'
Drag a column header here and drop it to group by that column
  • x
Choose Columns:
Total Items: (Showing: )
Selected Items:
Page Size:
'},e.kg.defaultHeaderCellTemplate=function(){return"
"},e.kg.defaultHeaderRowTemplate=function(){return"
"},e.kg.defaultRowTemplate=function(){return"
"},ko.bindingHandlers.kgCell=function(){return{init:function(e,t,o,n,i){i.$userViewModel=i.$parent.$userViewModel;var r=function(t){var o=$(t);ko.applyBindings(i,o[0]),$(e).html(o)};return n.cellTemplate.then?n.cellTemplate.then(function(e){r(e)}):r(n.cellTemplate),{controlsDescendantBindings:!0}}}}(),ko.bindingHandlers.kgHeaderCell=function(){return{init:function(e,t,o,n,i){var r=i.extend({$grid:i.$parent,$userViewModel:i.$parent.$userViewModel}),a=function(t){var o=$(t);ko.applyBindings(r,o[0]),$(e).html(o)};return n.headerCellTemplate.then?n.headerCellTemplate.then(function(e){a(e)}):a(n.headerCellTemplate),{controlsDescendantBindings:!0}}}}(),ko.bindingHandlers.kgHeaderRow=function(){return{init:function(e,t,o,n,i){i.$userViewModel=i.$data.$userViewModel;var r=function(t){var o=$(t);ko.applyBindings(i,o[0]),$(e).html(o)};return n.headerRowTemplate.then?n.headerRowTemplate.then(function(e){r(e)}):r(n.headerRowTemplate),{controlsDescendantBindings:!0}}}}(),ko.bindingHandlers.mouseEvents=function(){return{init:function(e,t){var o=t();o.mouseDown&&$(e).mousedown(o.mouseDown)}}}(),ko.bindingHandlers.kgRow=function(){return{init:function(t,o,n,i,r){var a,l=o(),s=l.$grid=r.$parent;a=l.isAggRow?e.kg.aggregateTemplate():s.rowTemplate;var c=function(e){var o=$(e);l.$userViewModel=r.$parent.$userViewModel,ko.applyBindings(l,o[0]),$(t).html(o)};return a.then?a.then(function(e){c(e)}):c(a),{controlsDescendantBindings:!0}}}}(),ko.bindingHandlers.koGrid=function(){return{init:function(t,o,n,i,r){var a=o(),l=$(t);a.gridDim=new e.kg.Dimension({outerHeight:ko.observable(l.height()),outerWidth:ko.observable(l.width())});var s=new e.kg.Grid(a),c=$(e.kg.defaultGridTemplate());return a.data.subscribe(function(){s.$$selectionPhase||(s.searchProvider.evalFilter(),s.refreshDomSizes())}),ko.isObservable(a.columnDefs)&&a.columnDefs.subscribe(function(e){s.columns([]),s.config.columnDefs=e,s.buildColumns(),s.configureColumnWidths()}),l.addClass("koGrid").addClass(s.gridId.toString()),l.append(c),s.$userViewModel=r.$data,ko.applyBindings(s,c[0]),e.kg.domUtilityService.AssignGridContainers(l,s),s.configureColumnWidths(),s.refreshDomSizes(),s.eventProvider=new e.kg.EventProvider(s),$.each(s.config.plugins,function(e,t){"function"==typeof t.onGridInit&&t.onGridInit(s)}),e.kg.domUtilityService.BuildStyles(s),{controlsDescendantBindings:!0}}}}(),e.kg.Aggregate=function(e,t){var o=this;o.index=0,o.offsetTop=ko.observable(0),o.entity=e,o.label=ko.observable(e.gLabel),o.field=e.gField,o.depth=e.gDepth,o.parent=e.parent,o.children=e.children,o.aggChildren=e.aggChildren,o.aggIndex=e.aggIndex,o.collapsed=ko.observable(!0),o.isAggRow=!0,o.offsetLeft=ko.observable((25*e.gDepth).toString()+"px"),o.aggLabelFilter=e.aggLabelFilter,o.toggleExpand=function(){var e=o.collapsed();o.collapsed(!e),o.notifyChildren()},o.setExpand=function(e){o.collapsed(e),o.notifyChildren()},o.notifyChildren=function(){$.each(o.aggChildren,function(e,t){if(t.entity[s]=o.collapsed(),o.collapsed()){var n=o.collapsed();t.setExpand(n)}}),$.each(o.children,function(e,t){t[s]=o.collapsed()}),t.rowCache=[];var e=!1;$.each(t.aggCache,function(t,n){if(e){var i=30*o.children.length,r=o.collapsed();n.offsetTop(r?n.offsetTop()-i:n.offsetTop()+i)}else t==o.aggIndex&&(e=!0)}),t.renderedChange()},o.aggClass=ko.computed(function(){return o.collapsed()?"kgAggArrowCollapsed":"kgAggArrowExpanded"}),o.totalChildren=ko.computed(function(){if(o.aggChildren.length>0){var e=0,t=function(o){o.aggChildren.length>0?$.each(o.aggChildren,function(e,o){t(o)}):e+=o.children.length};return t(o),e}return o.children.length}),o.selected=ko.observable(!1),o.isEven=ko.observable(!1),o.isOdd=ko.observable(!1),o.toggleSelected=function(){return!0}},e.kg.Column=function(t,o){var n=this,a=t.colDef,l=500,s=0,c=null;n.eventTaget=void 0,n.width=a.width,n.groupIndex=ko.observable(0),n.isGroupedBy=ko.observable(!1),n.groupedByClass=ko.computed(function(){return n.isGroupedBy()?"kgGroupedByIcon":"kgGroupIcon"}),n.sortable=ko.observable(!1),n.resizable=ko.observable(!1),n.minWidth=a.minWidth?a.minWidth:50,n.maxWidth=a.maxWidth?a.maxWidth:9e3,n.headerRowHeight=t.headerRowHeight,n.displayName=ko.observable(a.displayName||a.field),n.index=t.index,n.isAggCol=t.isAggCol,n.cellClass=ko.observable(a.cellClass||""),n.cellFilter=a.cellFilter||a.cellFormatter,n.field=a.field,n.aggLabelFilter=a.cellFilter||a.cellFormatter||a.aggLabelFilter||a.aggLabelFormatter,n._visible=ko.observable(e.kg.utils.isNullOrUndefined(a.visible)||a.visible),n.visible=ko.computed({read:function(){return n._visible()},write:function(e){n.toggleVisible(e)}}),t.enableSort&&n.sortable(e.kg.utils.isNullOrUndefined(a.sortable)||a.sortable),t.enableResize&&n.resizable(e.kg.utils.isNullOrUndefined(a.resizable)||a.resizable),n.sortDirection=ko.observable(void 0),n.sortingAlgorithm=a.sortFn,n.headerClass=ko.observable(a.headerClass),n.headerCellTemplate=a.headerCellTemplate||e.kg.defaultHeaderCellTemplate(),n.cellTemplate=a.cellTemplate||e.kg.defaultCellTemplate(),a.cellTemplate&&!d.test(a.cellTemplate)&&(n.cellTemplate=e.kg.utils.getTemplatePromise(a.cellTemplate)),a.headerCellTemplate&&!d.test(a.headerCellTemplate)&&(n.headerCellTemplate=e.kg.utils.getTemplatePromise(a.headerCellTemplate)),n.getProperty=function(e){var t;return t=n.cellFilter?n.cellFilter(e.getProperty(n.field)):e.getProperty(n.field)},n.toggleVisible=function(t){var i;i=e.kg.utils.isNullOrUndefined(t)||"object"==typeof t?!n._visible():t,n._visible(i),e.kg.domUtilityService.BuildStyles(o)},n.showSortButtonUp=ko.computed(function(){return n.sortable?n.sortDirection()===r:n.sortable}),n.showSortButtonDown=ko.computed(function(){return n.sortable?n.sortDirection()===i:n.sortable}),n.noSortVisible=ko.computed(function(){return!n.sortDirection()}),n.sort=function(){if(!n.sortable())return!0;var e=n.sortDirection()===i?r:i;return n.sortDirection(e),t.sortCallback(n,e),!1},n.gripClick=function(e,o){o.stopPropagation(),s++,1===s?c=setTimeout(function(){s=0},l):(clearTimeout(c),t.resizeOnDataCallback(n),s=0)},n.gripOnMouseDown=function(t){return t.stopPropagation(),t.ctrlKey?(n.toggleVisible(),e.kg.domUtilityService.BuildStyles(o),o.config.columnsChanged(o.columns.peek()),!0):(n.eventTaget=t.target.parentElement,n.eventTaget.style.cursor="col-resize",n.startMousePosition=t.clientX,n.origWidth=n.width,$(document).mousemove(n.onMouseMove),$(document).mouseup(n.gripOnMouseUp),!1)},n.onMouseMove=function(t){t.stopPropagation();var i=t.clientX-n.startMousePosition,r=i+n.origWidth;return n.width=rn.maxWidth?n.maxWidth:r,e.kg.domUtilityService.BuildStyles(o),!1},n.gripOnMouseUp=function(e){return e.stopPropagation(),$(document).off("mousemove"),$(document).off("mouseup"),n.eventTaget.style.cursor=n.sortable()?"pointer":"default",n.eventTaget=void 0,o.config.columnsChanged(o.columns.peek()),!1}},e.kg.Dimension=function(e){this.outerHeight=null,this.outerWidth=null,$.extend(this,e)};var g=function(){var t=$("
");t.appendTo("body"),t.height(100).width(100).css("position","absolute").css("overflow","scroll"),t.append('
'),e.kg.domUtilityService.ScrollH=t.height()-t[0].clientHeight,e.kg.domUtilityService.ScrollW=t.width()-t[0].clientWidth,t.empty(),t.attr("style",""),t.append('M'),e.kg.domUtilityService.LetterW=t.children().first().width(),t.remove()};e.kg.domUtilityService={AssignGridContainers:function(t,o){o.$root=$(t),o.$topPanel=o.$root.find(".kgTopPanel"),o.$groupPanel=o.$root.find(".kgGroupPanel"),o.$headerContainer=o.$topPanel.find(".kgHeaderContainer"),o.$headerScroller=o.$topPanel.find(".kgHeaderScroller"),o.$headers=o.$headerScroller.children(),o.$viewport=o.$root.find(".kgViewport"),o.$canvas=o.$viewport.find(".kgCanvas"),o.$footerPanel=o.$root.find(".ngFooterPanel"),e.kg.domUtilityService.UpdateGridLayout(o)},UpdateGridLayout:function(e){var t=e.$viewport.scrollTop();e.elementDims.rootMaxW=e.$root.width(),e.elementDims.rootMaxH=e.$root.height(),e.refreshDomSizes(),e.adjustScrollTop(t,!0)},BuildStyles:function(t){var o,n=t.config.rowHeight,i=t.$styleSheet,r=t.gridId,a=t.visibleColumns(),l=0;i||(i=$("#"+r),i[0]||(i=$("