diff --git a/Source.Vx.Grid/Source.Vx.Grid/dist/min/js/vx.grid.bundle.min.js b/Source.Vx.Grid/Source.Vx.Grid/dist/min/js/vx.grid.bundle.min.js index 16d4b6a..76b828a 100644 --- a/Source.Vx.Grid/Source.Vx.Grid/dist/min/js/vx.grid.bundle.min.js +++ b/Source.Vx.Grid/Source.Vx.Grid/dist/min/js/vx.grid.bundle.min.js @@ -1,7 +1,7 @@ var duScrollDefaultEasing=function(e){"use strict";return e<.5?Math.pow(2*e,2)/2:1-Math.pow(2*(1-e),2)/2};angular.module("duScroll",["duScroll.scrollspy","duScroll.smoothScroll","duScroll.scrollContainer","duScroll.spyContext","duScroll.scrollHelpers"]).value("duScrollDuration",350).value("duScrollSpyWait",100).value("duScrollGreedy",!1).value("duScrollOffset",0).value("duScrollEasing",duScrollDefaultEasing),angular.module("duScroll.scrollHelpers",["duScroll.requestAnimation"]).run(["$window","$q","cancelAnimation","requestAnimation","duScrollEasing","duScrollDuration","duScrollOffset",function(e,t,n,r,o,l,i){"use strict";var u=angular.element.prototype,c=function(e){return"undefined"!=typeof HTMLDocument&&e instanceof HTMLDocument||e.nodeType&&e.nodeType===e.DOCUMENT_NODE},a=function(e){return"undefined"!=typeof HTMLElement&&e instanceof HTMLElement||e.nodeType&&e.nodeType===e.ELEMENT_NODE},s=function(e){return a(e)||c(e)?e:e[0]};u.scrollTo=function(t,n,r,o){var l;if(angular.isElement(t)?l=this.scrollToElement:r&&(l=this.scrollToAnimated),l)return l.apply(this,arguments);var i=s(this);return c(i)?e.scrollTo(t,n):(i.scrollLeft=t,void(i.scrollTop=n))};var d,f;u.scrollToAnimated=function(e,l,i,u){i&&!u&&(u=o);var c=this.scrollLeft(),a=this.scrollTop(),s=Math.round(e-c),p=Math.round(l-a),m=null,g=this,v="scroll mousedown mousewheel touchmove keydown",h=function(e){(!e||e.which>0)&&(g.unbind(v,h),n(d),f.reject(),d=null)};if(d&&h(),f=t.defer(),!s&&!p)return f.resolve(),f.promise;var y=function(e){null===m&&(m=e);var t=e-m,n=t>=i?1:u(t/i);g.scrollTo(c+Math.ceil(s*n),a+Math.ceil(p*n)),n<1?d=r(y):(g.unbind(v,h),d=null,f.resolve())};return g.scrollTo(c,a),g.bind(v,h),d=r(y),f.promise},u.scrollToElement=function(e,t,n,r){var o=s(this);angular.isNumber(t)&&!isNaN(t)||(t=i);var l=this.scrollTop()+s(e).getBoundingClientRect().top-t;return a(o)&&(l-=o.getBoundingClientRect().top),this.scrollTo(0,l,n,r)};var p={scrollLeft:function(t,n,r){if(angular.isNumber(t))return this.scrollTo(t,this.scrollTop(),n,r);var o=s(this);return c(o)?e.scrollX||document.documentElement.scrollLeft||document.body.scrollLeft:o.scrollLeft},scrollTop:function(t,n,r){if(angular.isNumber(t))return this.scrollTo(this.scrollTop(),t,n,r);var o=s(this);return c(o)?e.scrollY||document.documentElement.scrollTop||document.body.scrollTop:o.scrollTop}};u.scrollToElementAnimated=function(e,t,n,r){return this.scrollToElement(e,t,n||l,r)},u.scrollTopAnimated=function(e,t,n){return this.scrollTop(e,t||l,n)},u.scrollLeftAnimated=function(e,t,n){return this.scrollLeft(e,t||l,n)};var m=function(e,t){return function(n,r,o){return r?t.apply(this,arguments):e.apply(this,arguments)}};for(var g in p)u[g]=u[g]?m(u[g],p[g]):p[g]}]),angular.module("duScroll.polyfill",[]).factory("polyfill",["$window",function(e){"use strict";var t=["webkit","moz","o","ms"];return function(n,r){if(e[n])return e[n];for(var o,l=n.substr(0,1).toUpperCase()+n.substr(1),i=0;it.clientWidth||t.scrollHeight>t.clientHeight)&&R.css("display","block")}function z(){"undefined"!=typeof d.vsAutoresize&&(A=!0,I(),a.$root&&!a.$root.$$phase&&a.$apply()),P()&&(a.$apply(),a.$broadcast("vsSetOffset-refresh"))}function w(e){F=void 0,U=void 0,V=C,_=0,P(e),y(T?a.sizesCumulative[C]:a.elementSize*C),a.$evalAsync(function(){a.$broadcast("vsSetOffset-refresh")}),a.$emit("vsRepeatReinitialized",a.startIndex,a.endIndex)}function y(e){if(E){if(O.css({width:a.offsetBefore+e+a.offsetAfter+"px",height:"100%"}),p&&p.$fillElement){var t=p.$fillElement[0].parentNode.querySelector("[ng-repeat]");t&&p.$fillElement.css({width:t.scrollWidth+"px"})}}else O.css({height:a.offsetBefore+e+a.offsetAfter+"px",width:"100%"}),p&&p.$fillElement&&(t=p.$fillElement[0].parentNode.querySelector("[ng-repeat]"),t&&p.$fillElement.css({height:t.scrollHeight+"px"}));O.css({height:"0",width:"100%","min-height":"0","min-width":"100%"})}function M(){var e=s(H[0],D);e!==G&&(w(),a.$root&&!a.$root.$$phase&&(a.$apply(),a.$broadcast("vsSetOffset-refresh"))),G=e}function b(e){var t=!1;return void 0!==e&&"number"==typeof e&&(t=Math.max(e,0),H[0][X]!==t?(H[0][X]=t,L=!0):t=!1,a.$emit("vsRepeatScrolled",t)),t}function P(e){var t,n,l,r,f=o(H[0],X),d=s(H[0],D),u=c[0]===H[0]?0:i(c[0],H[0],E),p=!0,m=a.startIndex,v=a.endIndex;if(e&&void 0!==e.elementSize&&(a.elementSize=e.elementSize),e&&void 0!==e.scrollIndex){if("undefined"!=typeof a.scrollSettings&&(a.scrollSettings.scrollIndex=e.scrollIndex),T?(r=a.sizes[e.scrollIndex],l=a.sizesCumulative[e.scrollIndex]):(r=a.elementSize,l=e.scrollIndex*a.elementSize),void 0!==e.scrollIndexPosition)switch("undefined"!=typeof a.scrollSettings&&(a.scrollSettings.scrollIndexPosition=e.scrollIndexPosition),t=0,typeof e.scrollIndexPosition){case"number":t=e.scrollIndexPosition+a.offsetBefore;break;case"string":switch(e.scrollIndexPosition){case"top":t=a.offsetBefore;break;case"middle":t=(d-r)/2;break;case"bottom":t=d-r-a.offsetAfter;break;case"inview":case"inview#top":case"inview#middle":case"inview#bottom":case"inview#auto":H[0][X]<=l&&H[0][X]+d-r>=l?(p=!1,t=l-H[0][X]):("inview#top"!==e.scrollIndexPosition&&"inview"!==e.scrollIndexPosition||(t=a.offsetBefore),"inview#bottom"===e.scrollIndexPosition&&(t=d-r+a.offsetAfter),"inview#middle"===e.scrollIndexPosition&&(t=(d-r)/2),"inview#auto"===e.scrollIndexPosition&&(t=H[0][X]<=l?d-r+a.offsetAfter:a.offsetBefore));break;default:console.warn("Incorrect scrollIndexPosition string value")}break;default:console.warn("Incorrect scrollIndexPosition type")}else p=!1,t=T?a.sizesCumulative[e.scrollIndex]-H[0][X]:e.scrollIndex*a.elementSize-H[0][X];if(m=e.scrollIndex,T){for(;a.sizesCumulative[m]>a.sizesCumulative[e.scrollIndex]-t;)m--;for(n=Math.max(m,0),m=Math.max(Math.floor(m-a.excess/2),0),v=m;a.sizesCumulative[v]e.scrollIndex*a.elementSize-t;)m--;n=Math.max(m,0),m=Math.max(Math.floor(m-a.excess/2),0),v=Math.min(m+Math.ceil(d/a.elementSize)+a.excess/2,C)}}else if(T){for(m=0;a.sizesCumulative[m]0&&m--,m=Math.max(Math.floor(m-a.excess/2),0),v=m;a.sizesCumulative[v]=a.excess/2||0===a.startIndex&&0!==F?h=!0:(Math.abs(a.endIndex-U)>=a.excess/2||a.endIndex===C&&U!==C)&&(h=!0):h=a.startIndex!==F||a.endIndex!==U),h&&(a.startIndex=a.startIndex==a.endIndex&&a.endIndex>0?0:a.startIndex,a[x]=k.slice(a.startIndex,a.endIndex),a.$emit("vsRepeatInnerCollectionUpdated",a.startIndex,a.endIndex,F,U),k.length==a.endIndex?a.$emit("vsRepeatCollectionCompletelyRendered",k.length):a.$emit("vsRepeatCollectionPartiallyRendered"),F=a.startIndex,U=a.endIndex),h}var C,R,O,B=t.element(u),k=[],E="undefined"!=typeof d.vsHorizontal,A=!d.vsRepeat,T=!!d.vsSize||!!d.vsSizeProperty,H=d.vsScrollParent?"window"===d.vsScrollParent?t.element(e):f.call(c,d.vsScrollParent):c,W=E?"left":"top",L=!1,q="vsOptions"in d?a.$eval(d.vsOptions):{},D=E?"clientWidth":"clientHeight",Y=E?"offsetWidth":"offsetHeight",X=E?"scrollLeft":"scrollTop";if(!("vsSize"in d)&&"vsSizeProperty"in d&&console.warn("vs-size-property attribute is deprecated. Please use vs-size attrubute which also accepts angular expressions."),0===H.length)throw"Specified scroll parent selector did not match any element";a.$scrollParent=H,T&&(a.sizesCumulative=[]),a.elementSize=+d.vsRepeat||s(H[0],D)||50,a.offsetBefore=0,a.offsetAfter=0,a.excess=2,a.scrollSettings={scrollIndex:0,scrollIndexPosition:"top"},a.$watch(d.vsScrollSettings,function(e){"undefined"!=typeof e&&(a.scrollSettings=e,w(a.scrollSettings))},!0),Object.keys($).forEach(function(e){d[e]&&d.$observe(e,function(t){a[$[e]]=+t,w()})}),a.$watchCollection(v,function(e){k=e||[],S()}),B.attr("ng-repeat",m+" in "+x+(h?" "+h:"")).addClass("vs-repeat-repeated-element");var N=T?"(sizesCumulative[$index + startIndex] + offsetBefore)":"(($index + startIndex) * elementSize + offsetBefore)";B.attr("vs-set-offset",N),B.attr("vs-set-offset-positioning-property",W),n(B)(a),c.append(B),O=t.element('
').css({position:"relative","min-height":"100%","min-width":"100%"}),c.append(O),n(O)(a),a.$fillElement=O;var j={};l&&"window"!==d.vsScrollParent&&(R=t.element('
').on(r,function(e){e.preventDefault(),e.stopPropagation(),e.originalEvent&&(e=e.originalEvent),H[0].scrollLeft+=e.deltaX||-e.wheelDeltaX,H[0].scrollTop+=e.deltaY||-e.wheelDeltaY}).on("mousemove",function(e){j.x===e.clientX&&j.y===e.clientY||t.element(this).css("display","none"),j={x:e.clientX,y:e.clientY}}).css("display","none"),O.append(R)),a.startIndex=0,a.endIndex=0,H.on("scroll",function(){L?L=!1:P()&&(a.$apply(),a.$broadcast("vsSetOffset-refresh"))}),l&&H.on(r,g),t.element(e).on("resize",z),a.$on("$destroy",function(){t.element(e).off("resize",z)}),a.$on("vsRepeatTrigger",S),a.$on("vsRepeatResize",function(){A=!0,I()});var F,U,V,_;a.$on("vsRenderAll",function(){q.latch&&setTimeout(function(){var e=C;_=Math.max(e,_),a.endIndex=q.latch?_:e,a[x]=k.slice(a.startIndex,a.endIndex),U=a.endIndex,a.$apply(function(){a.$emit("vsRenderAllDone")})})});var G;a.$watch(function(){"function"==typeof e.requestAnimationFrame?e.requestAnimationFrame(M):M()})}}}}}]).directive("vsSetOffset",[function(){return function(e,t,n){function s(){t.css(o,e.$eval(n.vsSetOffset)+"px")}var o=n.vsSetOffsetPositioningProperty;s(),e.$on("vsSetOffset-refresh",s)}}]);t.element(document.head).append([""].join("")),"undefined"!=typeof module&&module.exports&&(module.exports=d.name)}(window,window.angular); !function(){"use strict";var n=function(n,t){return{replace:!0,scope:{onChange:"&",jsonData:"=",options:"="},compile:function(o,r){var e=function(o,r,e){function i(){t(function(){try{var n=c.get();o.onChange({json:n})}catch(t){var n=c.getText();o.onChange({json:n})}})}var a={mode:"tree",change:i};a=angular.extend(a,o.options);var c=new n(r[0],a);o.$watch("jsonData",function(n){c.set(n)})};return e},template:'
'}};angular.module("angular-json-editor",[]).provider("JSONEditor",function(){function n(t){return angular.forEach(arguments,function(o){o!==t&&angular.forEach(o,function(o,r){t[r]&&t[r].constructor&&t[r].constructor===Object?n(t[r],o):t[r]=o})}),t}var t={defaults:{options:{indentation:2,search:!1,name:"vxgrid",mode:"code"}}};this.configure=function(o){n(t,o)},this.$get=["$window",function(o){var r=o.JSONEditor;return n(r,t),o.JSONEditor}]}).directive("jsonEditor",["JSONEditor","$timeout",n])}(); -!function(){"use strict";function e(){function e(){return Math.floor(65536*(1+Math.random())).toString(16).substring(1)}return e()+e()+"_"+e()}String.prototype.capitalizeFirstLetter=function(){return this.charAt(0).toUpperCase()+this.slice(1)},String.prototype.replaceAll=function(e,n){var t=new RegExp(e,"g");return this.replace(t,n)},window.requestAnimFrame=function(){return window.requestAnimationFrame||window.webkitRequestAnimationFrame||window.mozRequestAnimationFrame||window.oRequestAnimationFrame||window.msRequestAnimationFrame||function(e,n){window.setTimeout(e,1e3/60)}}(),angular.module("vx.grid.modules",["ngSanitize","ui.bootstrap","vs-repeat","angular-json-editor","duScroll"]).directive("vxGrid",function(){return{restrict:"E",scope:{config:"=",scrollParent:"="},controller:["$scope","$uibModal","$sce","$timeout","$rootScope","$window","$filter","$q","$compile",function(n,t,i,o,l,r,d,a,f){function c(e){_.each(n.vxConfig.columnDefConfigs,function(n){n.id==e&&(n.filterLimit=n.filterLimit+2)}),"$apply"!=n.$root.$$phase&&"$digest"!=n.$root.$$phase&&n.$digest()}function v(e,n,t){var i=t+"_"+n+"_key_",o="string";return null==e.value?i+="null":null==e.value?i+="null":"object"!=typeof e.value?(i+=e.value.toString().replace(/\s+/g,"_"),o=e.type):(i+=JSON.stringify(e.value).replace(/\s+/g,"_"),o="object"),{key:i,type:o}}n.vxColSettings={},n.posLeft=1,n.posTop=0;var u={},s=angular.element(r);n.getWindowDimensions=function(){return{h:s.height(),w:s.width()}},n.resetVxInstance=function(){u={},n.vxColSettings={primaryId:null,dropdDownEnabled:{},dropdDownLoaded:{},dropdDownOpen:{},dropDownSort:{},dropDownFilters:{},dropDownGroup:{},colFiltersStatus:{},colFilterPairs:{},colFiltersActivated:{},lastProcessedForFilters:{},multiSelected:[],multiSelColDependent:!1,reverseSettings:{},groupPredicate:{},groupByColActivated:{},rowSelected:{},vxRowClass:{},vxRowSelectionDisable:{},revealWrapRowData:!1,selectAllEnabled:!0,menu:!1,xsViewEnabled:!1,xsRowTitleTemplateAvailable:!1,xsSearch:"",searchToken:"",inlineEditState:{},colWithInlineEdits:[],groupKeys:{},allRowSelected:!1,allRowSelectionDisabled:!1,filterSearchToken:{},enteredSearchToken:{},saveInProgress:{}};var e=(new Date,new Date),t=new Date;1==n.config.hybrid?n.vxConfig=n.config:n.vxConfig=angular.copy(n.config),e=new Date,t=new Date;var i=_.find(n.vxConfig.columnDefConfigs,function(e){return 1==e.primary}),l="_uid";if("undefined"!=typeof i&&null!=i?(_.each(n.vxConfig.vxData,function(e,n){1!=e.fillEmptyElement&&(e[i.id]=e[i.id].toString(),e[l]=e[i.id]),e._vxCreated=(new Date).getTime()}),l=i.id):_.each(n.vxConfig.vxData,function(e,n){e[l]=n}),n.config.id=n.vxConfig.id="undefined"==typeof n.vxConfig.id?_.uniqueId("_vxUID_"):n.vxConfig.id,n.vxConfig.editRowID=n.vxConfig.id+"_edit_row",n.vxConfig.saveRowID=n.vxConfig.id+"_save_row",n.vxConfig.selectRowID=n.vxConfig.id+"_sel_row",n.vxColSettings.primaryId=l,1==n.vxConfig.inlineEditingEnabled&&1!=n.vxConfig.hybrid){var r=_.find(n.vxConfig.columnDefConfigs,function(e){return 0==e.id.localeCompare("inlinediting")});if("undefined"==typeof r||null==r||r=={}){var a={id:"inlinediting",columnName:"Edit",renderDefn:!0,renderHeadDefn:!0,ddSort:!1,ddGroup:!1,ddFilters:!1,width:"50",locked:!0,headTabIndex:-1,cellDefn:'
',inlineEditOnColumnEnabled:!1};n.vxConfig.columnDefConfigs.unshift(a)}_.each(n.vxConfig.vxData,function(e,t){var i=e[n.vxColSettings.primaryId];n.vxColSettings.inlineEditState[i]=n.config.allRowsInDefaultEdit||!1})}if(e=new Date,1==n.vxConfig.selectionEnabled){var r=_.find(n.vxConfig.columnDefConfigs,function(e){return 0==e.id.localeCompare("checkbox")});if("undefined"==typeof r||null==r||r=={}){var a={id:"checkbox",columnName:"Row Selection",columnIsRowSelect:!0,renderDefn:!0,renderHeadDefn:!0,ddSort:!1,ddGroup:!1,ddFilters:!1,width:"50",locked:!0,headTabIndex:-1,headerDefn:'
',cellDefn:'
{{::row[vxConfig.ariaPrimary]}}'};n.vxConfig.columnDefConfigs.unshift(a)}_.each(n.vxConfig.vxData,function(e,t){var i=e[n.vxColSettings.primaryId];n.vxColSettings.rowSelected[i]=!1,n.vxColSettings.vxRowSelectionDisable[i]=!1})}e=new Date,n.multiBoxFilters=[];var c=[{prop:"enableDropdownsInHeader",defValue:!1},{prop:"selectionEnabled",defValue:!1},{prop:"selectionAtMyRisk",defValue:!1},{prop:"preserveSelectionOnFilters",defValue:!1},{prop:"multiSelectionEnabled",defValue:!1},{prop:"showGridStats",defValue:!1},{prop:"showGridOptions",defValue:!1},{prop:"selectAllOnRenderAll",defValue:!1},{prop:"virtualization",defValue:!0},{prop:"pagination",defValue:!1},{prop:"pageLength",defValue:20},{prop:"data",defValue:[]},{prop:"vxFilteredData",defValue:[]},{prop:"xsRowTitleTemplate",defValue:'
{{row[vxColSettings.primaryId]}}
'},{prop:"inlineAddRowEnabled",defValue:!1},{prop:"inlineEditSyncEnabled",defValue:!1},{prop:"inlineDeletingEnabled",defValue:!1},{prop:"inlineSaveOverrideEnabled",defValue:!1},{prop:"inlineDeleteOverrideEnabled",defValue:!1},{prop:"allRowsInDefaultEdit",defValue:!1},{prop:"jsonEditorEnabled",defValue:!1},{prop:"allRowsSelectionEnabled",defValue:!1},{prop:"sortPredicate",defValue:n.vxColSettings.primaryId},{prop:"sortPredicateFn",defValue:n.vxColSettings.primaryId},{prop:"reverseSortDirection",defValue:!1},{prop:"emptyFill",defValue:"No records to display ..."},{prop:"caption",defValue:"sample vx grid table caption"},{prop:"loaderGifSrc",defValue:"/resource/loaderWhite36.GIF"},{prop:"ariaPrimary",defValue:n.vxColSettings.primaryId},{prop:"xsTemplate",defValue:!1},{prop:"bindOnce",defValue:!1},{prop:"hybrid",defValue:!1},{prop:"latchExcess",defValue:5}];if(_.each(c,function(e){"undefined"!==n.vxConfig[e.prop]&&null!=n.vxConfig[e.prop]&&n.vxConfig[e.prop]!={}||(n.vxConfig[e.prop]=e.defValue)}),n.vxColSettings.vxRowClass=n.vxConfig.initialRowClasses||{},n.getWindowDimensions().w<768&&(n.vxColSettings.xsViewEnabled=n.vxConfig.xsTemplate,n.vxConfig.latchExcess=5),e=new Date,n.vxColSettings.selectAllOnRenderAll=n.vxConfig.selectAllOnRenderAll,_.each(n.vxConfig.columnDefConfigs,function(e){var t=[{prop:"renderDefn",defValue:!1},{prop:"renderHeadDefn",defValue:!1},{prop:"ddSort",defValue:!1},{prop:"ddGroup",defValue:!1},{prop:"ddFilters",defValue:!1},{prop:"ddFiltersWithSearch",defValue:!1},{prop:"dropDownEnabled",defValue:!1},{prop:"hidden",defValue:!1},{prop:"xsHidden",defValue:!1},{prop:"locked",defValue:!1},{prop:"primary",defValue:!1},{prop:"width",defValue:"200"},{prop:"headerDefn",defValue:""},{prop:"cellDefn",defValue:""},{prop:"filterCellDefn",defValue:""},{prop:"inlineEditOnColumnEnabled",defValue:!1},{prop:"inlineEditValidation",defValue:!1},{prop:"editDefn",defValue:null},{prop:"editDefnTemplate",defValue:null},{prop:"headTabIndex",defValue:0},{prop:"columnIsRowSelect",defValue:!1},{prop:"columnIsDate",defValue:!1},{prop:"columnDatePipe",defValue:"dd/MM/yyyy"},{prop:"renderHybridCellDefn",defValue:!1},{prop:"hybridCompile",defValue:!1},{prop:"filterLimit",defValue:10},{prop:"scopeIsRow",defValue:!1}];_.each(t,function(n){"undefined"!==e[n.prop]&&null!=e[n.prop]&&e[n.prop]!={}||(e[n.prop]=n.defValue)}),e.effectiveWidth=e.width,e.idCollection=[];var i=[{prop:"orderLocked",defValue:!1},{prop:"widthLocked",defValue:!1},{prop:"visbilityLocked",defValue:!1}];_.each(i,function(n){"undefined"===e[n.prop]||null==e[n.prop]||e[n.prop]=={}?e[n.prop]=e.locked:e[n.prop]=e.locked||e[n.prop]}),n.vxColSettings.reverseSettings[e.id]=!1,"undefined"!=typeof e.dropDownEnabled&&null!=e.dropDownEnabled&&1==e.dropDownEnabled&&1==n.vxConfig.enableDropdownsInHeader?n.vxColSettings.dropdDownEnabled[e.id]=!0:n.vxColSettings.dropdDownEnabled[e.id]=!1,n.vxColSettings.dropdDownLoaded[e.id]=!1,n.vxColSettings.dropdDownOpen[e.id]=!1,"undefined"!=typeof e.renderDefn&&null!=e.renderDefn&&e.renderDefn!={}&&1==e.renderDefn&&(e.cellDefn=e.cellDefn.replaceAll("VX_ROW_POINT","row[vxColSettings.primaryId]"),e.cellDefn=e.cellDefn.replaceAll("VX_DATA_POINT","row[header.id]"),e.cellDefn=e.cellDefn.replaceAll("VX_ROW","row"),e.cellDefn=e.cellDefn.replaceAll("VX_CONFIG","vxConfig")),1==e.inlineEditOnColumnEnabled&&1!=n.vxConfig.hybrid&&(""!=e.editDefn&&null!=e.editDefn||(e.editDefn=''),e.editDefn=e.editDefn.replaceAll("VX_ROW_POINT","row[vxColSettings.primaryId]"),e.editDefn=e.editDefn.replaceAll("VX_DATA_POINT","row[header.id]"),e.editDefn=e.editDefn.replaceAll("VX_ROW","row"),e.editDefn=e.editDefn.replaceAll("VX_CONFIG","vxConfig"),n.vxColSettings.colWithInlineEdits.push(e.id),e.editDefn.indexOf("vx-keep-watch")!=-1&&(e.editDefn=e.editDefn.replaceAll("vx-keep-watch",'vx-keep-watch-row-id="{{row[vxColSettings.primaryId]}}" vx-keep-watch-field="'+e.id+'" vx-keep-watch')),1==e.inlineEditValidation&&(n.vxConfig.invalidRows={},n.vxConfig.invalidRowFields={},_.each(n.vxConfig.vxData,function(e,t){var i=e[n.vxColSettings.primaryId];n.vxConfig.invalidRows[i]=!1,n.vxConfig.invalidRowFields[i]={}}),e.editDefn=e.editDefn.replaceAll("VX_INVALID_ROW","vxConfig.invalidRows[row[vxColSettings.primaryId]] == true"),e.editDefn=e.editDefn.replaceAll("VX_INVALID_FIELD_ROW","vxConfig.invalidRowFields[row[vxColSettings.primaryId]]."+e.id+" == true")))}),e=new Date,n.vxConfig.columnDefConfigs=n.calculateEffectiveWidths(n.vxConfig.columnDefConfigs),"undefined"!=typeof n.vxConfig.multiSelectionDependentCol&&null!=n.vxConfig.multiSelectionDependentCol&&n.vxConfig.multiSelectionDependentCol!={}&&""!=n.vxConfig.multiSelectionDependentCol&&(n.vxColSettings.multiSelColDependent=!0),"undefined"!=typeof n.vxConfig.xsRowTitleTemplate&&null!=n.vxConfig.xsRowTitleTemplate&&n.vxConfig.xsRowTitleTemplate!={}&&""!=n.vxConfig.xsRowTitleTemplate&&(n.vxColSettings.xsRowTitleTemplateAvailable=!0),1==n.vxConfig.inlineAddRowEnabled&&1!=n.vxConfig.hybrid&&("undefined"==typeof n.vxConfig.newRowTemplate||null==n.vxConfig.newRowTemplate||n.vxConfig.newRowTemplate=={}||""==n.vxConfig.newRowTemplate)){var v=angular.copy(n.vxConfig.data[0]);_.each(n.vxConfig.columnDefConfigs,function(e){switch(typeof n.vxConfig.newRowTemplate[e.id]){case"boolean":n.vxConfig.newRowTemplate[e.id]=!1;break;case"number":n.vxConfig.newRowTemplate[e.id]=0;break;case"string":n.vxConfig.newRowTemplate[e.id]="";break;default:n.vxConfig.newRowTemplate[e.id]=null}}),n.vxConfig.newRowTemplate=v}n.$watch("getWindowDimensions()",function(e,t){n.vxColSettings.xsViewEnabled=!1,n.vxConfig.columnDefConfigs=n.calculateEffectiveWidths(n.vxConfig.columnDefConfigs)},!0);s.bind("resize",function(){n.$apply()}),n.config.getVxCounts=function(){if("undefined"!=typeof n.vxConfig&&null!=n.vxConfig&&n.vxConfig!={}&&"undefined"!==n.vxConfig.id&&null!=n.vxConfig.id&&n.vxConfig.id!={}){var e={id:n.vxConfig.id,data:{vxAllDataLength:n.getAllRowLength(),vxFilteredDataLength:n.multiBoxFilters.length>0?1!=n.vxConfig.hybrid?n.vxConfig.vxFilteredData.length:n.vxConfig.vxData.length:0,vxSelectedDataLength:n.vxColSettings.multiSelected.length}};return e}},n.config.getAppliedFilters=function(){if("undefined"!=typeof n.vxConfig&&null!=n.vxConfig&&n.vxConfig!={}&&"undefined"!==n.vxConfig.id&&null!=n.vxConfig.id&&n.vxConfig.id!={}){var e=_.map(n.multiBoxFilters,function(e){return{column:e.col,label:e.label,key:e.key}});return e}},n.config.getData=function(){return n.vxConfig.data},n.config.getActiveDataSet=function(){return n.vxConfig.vxData},n.config.getFilteredDataSet=function(){return n.vxConfig.vxFilteredData},n.config.setRowFieldValidation=function(e,t,i){if("undefined"==typeof n.vxConfig.invalidRowFields[e]&&(n.vxConfig.invalidRows[e]=!1,n.vxConfig.invalidRowFields[e]={}),1==n.vxConfig.inlineEditSyncEnabled){var o=_.filter(n.vxColSettings.multiSelected,function(n){return 0==n.localeCompare(e)});"undefined"!=typeof o&&null!=o&&o.length>0&&_.each(n.vxColSettings.multiSelected,function(e){n.vxConfig.invalidRows[e]=!i,n.vxConfig.invalidRowFields[e][t]=!i})}n.vxConfig.invalidRows[e]=!i,n.vxConfig.invalidRowFields[e][t]=!i},n.config.getSelectedRows=function(){if(1==n.vxConfig.selectionAtMyRisk){n.vxColSettings.multiSelected=[];for(var e in n.vxColSettings.rowSelected)1==n.vxColSettings.rowSelected[e]&&"undefined"!=typeof e&&"undefined"!=e.toString()&&n.vxColSettings.multiSelected.push(e)}return n.vxColSettings.multiSelected},n.config.getRowsBeingEdited=function(){var e=[];if("undefined"!=typeof n.vxColSettings.inlineEditState&&null!=n.vxColSettings.inlineEditState)for(var t in n.vxColSettings.inlineEditState)1==n.vxColSettings.inlineEditState[t]&&e.push(t);return e},n.config.modifyRows=function(e,t){var i=[];return _.each(e,function(e){var o=e[n.vxColSettings.primaryId],l=_.find(n.vxConfig.vxData,function(e){return 0==e[n.vxColSettings.primaryId].localeCompare(o)}),r=_.find(n.vxConfig.data,function(e){return 0==e[n.vxColSettings.primaryId].localeCompare(o)});if("undefined"!=typeof l&&"undefined"!=typeof r){if("undefined"==typeof t||0==t.length)for(var d in e)0!=d.localeCompare(n.vxColSettings.primaryId)&&(l[d]=e[d],r[d]=e[d]);else t.length>0&&_.each(t,function(n){l[n]=e[n],r[n]=e[n]});i.push(r),1==n.vxConfig.hybrid&&n.hybridUpdateRows(i)}}),i},n.config.selectRows=function(e){var t=[];return _.each(e,function(e){var i=n.vxColSettings.rowSelected[e];if(("undefined"==typeof i||null==i||0==i)&&(n.vxColSettings.rowSelected[e]=!0,n.vxColSettings.multiSelected.push(e),t.push(e),1==n.vxConfig.hybrid)){var o=angular.element(document.getElementById("vx_row-sel_in_"+e));"undefined"!=typeof o&&null!=o&&o.length>0&&$(o).prop("checked",!0);var l=angular.element(document.getElementById("_vxMulLength"+n.vxConfig.id));"undefined"!=typeof l&&null!=l&&l.length>0&&$(l).text(d("vxNumberFixedLen")(n.vxColSettings.multiSelected.length,2))}}),t},n.config.deselectRows=function(e){var t=[];return _.each(e,function(e){var i=n.vxColSettings.rowSelected[e];if("undefined"!=typeof i&&1==i){if(n.vxColSettings.rowSelected[e]=!1,n.vxColSettings.multiSelected=_.reject(n.vxColSettings.multiSelected,function(n){0==e.localeCompare(n)}),t.push(e),1==n.vxConfig.hybrid){var o=angular.element(document.getElementById("vx_row-sel_in_"+e));"undefined"!=typeof o&&null!=o&&o.length>0&&$(o).prop("checked",!1)}if(1==n.vxConfig.hybrid){var l=angular.element(document.getElementById("_vxMulLength"+n.vxConfig.id));"undefined"!=typeof l&&null!=l&&l.length>0&&$(l).text(d("vxNumberFixedLen")(n.vxColSettings.multiSelected.length,2))}}}),t},n.config.sortByColumn=function(e,t){var i=_.find(n.vxConfig.columnDefConfigs,function(n){return 0==n.id.localeCompare(e)});"undefined"!=typeof i&&null!=i&&(n.vxConfig.sortPredicate=i.id,i.customSortEnabled?n.vxConfig.sortPredicateFn=i.customSortFn:n.vxConfig.sortPredicateFn=i.id,n.vxConfig.reverseSortDirection=t)},n.config.resetColumnFilters=function(e){_.each(e,function(e){n.vxColSettings.dropdDownLoaded[e]=!1,n.vxColSettings.colFilterPairs[e]={}})},n.config.removeRows=function(e){0==n.vxConfig.hybrid?(n.vxConfig.vxData=_.reject(n.vxConfig.vxData,function(t){return 1==_.contains(e,t[n.vxColSettings.primaryId])}),n.vxColSettings.multiSelected=_.difference(n.vxColSettings.multiSelected,e)):1==n.vxConfig.hybrid&&n.config.hybridDeleteRows(e)},n.buildFns(),n.config.changeRowClass=n.changeRowClass,n.$emit("vxGridSettingsBuilt",{id:n.vxConfig.id}),e=new Date;var g=null,x=null,C=48,p=n.vxConfig.latchExcess,S=0,m=!1,h=0;n.config.hybridDeleteRows=function(e){window.requestAnimFrame(function(){angular.forEach(e,function(e){var t=angular.element(document.getElementById(e));t.remove(),n.vxColSettings.inlineEditState[e]=!1,n.vxColSettings.rowSelected[e]=!1,n.vxColSettings.saveInProgress[e]=!1}),n._origData=_.reject(n._origData,function(t){return 1==_.contains(e,t[n.vxColSettings.primaryId])}),n.vxConfig.vxFilteredData=_.reject(n.vxConfig.vxFilteredData,function(t){return 1==_.contains(e,t[n.vxColSettings.primaryId])}),n.vxConfig.vxData=_.reject(n.vxConfig.vxData,function(t){return 1==_.contains(e,t[n.vxColSettings.primaryId])}),n.vxColSettings.multiSelected=_.difference(n.vxColSettings.multiSelected,e);var t=angular.element(document.getElementById("_vxMulLength"+n.vxConfig.id));"undefined"!=typeof t&&null!=t&&t.length>0&&$(t).text(d("vxNumberFixedLen")(n.vxColSettings.multiSelected.length,2)),n.$$phase||n.$apply()})},n.hybridUpdateRows=function(e){angular.forEach(e,function(e){var t=n.hybridGetRowTmpl(e),i=angular.element(document.getElementById(t.rowId));i.empty(),i.replaceWith(t.rowTmpl),t.compile&&f(i.contents())(n)})},n.resetHybridGrid=function(){S=0,m=!1,h=0,n.prepHybrid()},n.prepHybrid=function(){g=angular.element(document.getElementById("_vxHybrid"+n.vxConfig.id)),x=angular.element(document.getElementById("_vxScrollContainer"+n.vxConfig.id)),g.empty();var e=x.height(),t=Math.ceil(e/C)+p,i=_.first(n.vxConfig.vxFilteredData,t);n.appendRows(i),S+=t,x.on("scroll",function(){n.debPep()})},n.prepForScrollInsertion=function(){var e=g.height()-(x.height()+x.scrollTop());if(x.scrollTop()>h&&(e<0&&(e=0),e0&&$(r).text(d("vxNumberFixedLen")(n.vxColSettings.multiSelected.length,2)),"function"==typeof n.config.rowSelectionCallback&&n.config.rowSelectionCallback(o)}else n.rowSelectionChanged(t)}})})}},e=new Date,1==n.vxConfig.hybrid&&(e=new Date,n.vxConfig.vxFilteredData=n.vxConfig.vxData||[],o(n.prepHybrid,100))},n.editRow=function(e){if(1==n.vxConfig.inlineEditSyncEnabled&&n.vxColSettings.multiSelected.length>0){var t=_.filter(n.vxColSettings.multiSelected,function(n){return 0==n.localeCompare(e)});"undefined"!=typeof t&&null!=t&&t.length>0&&_.each(n.vxColSettings.multiSelected,function(e){n.vxColSettings.inlineEditState[e]=!0})}n.vxColSettings.inlineEditState[e]=!0},n.editInProgressCount=function(){var e=0;if("undefined"!=typeof n.vxColSettings.inlineEditState&&null!=n.vxColSettings.inlineEditState)for(var t in n.vxColSettings.inlineEditState)e=1==n.vxColSettings.inlineEditState[t]?e+1:e;return e},n.$on("vxInlineEditFieldChange",function(e,t){if(1==n.vxConfig.inlineEditSyncEnabled){var i=_.filter(n.vxColSettings.multiSelected,function(e){return 0==e.localeCompare(t.rowId)});"undefined"!=typeof i&&null!=i&&i.length>0&&_.each(n.vxColSettings.multiSelected,function(e){var i=_.find(n.vxConfig.vxData,function(t){return t[n.vxColSettings.primaryId]==e});"undefined"!=typeof i&&null!=i&&1==n.vxColSettings.inlineEditState[e]&&(i[t.field]=t.value)})}}),n.savingRows=function(e){var t=_.find(n.vxConfig.vxData,function(t){return t[n.vxColSettings.primaryId]==e});if("undefined"!=typeof t&&1==t.newRow)if(1==n.vxConfig.inlineSaveOverrideEnabled){n.vxColSettings.saveInProgress[e]=!0;var i=a.defer();i.promise.then(function(i){"undefined"!=typeof t.row&&1==i.save?(t.newRow=!1,_.each(n.vxConfig.columnDefConfigs,function(e){t[e.id]=i.row[e.id]})):n.vxConfig.data.unshift(t),n.vxColSettings.inlineEditState[e]="undefined"==typeof i.save||null==i.save||1!=i.save,n.$emit("vxGridRowSave",{id:n.vxConfig.id,data:t,save:!n.vxColSettings.inlineEditState[e]}),n.vxColSettings.saveInProgress[e]=!1},function(i){n.vxColSettings.saveInProgress[e]=!1,n.vxColSettings.inlineEditState[e]=!0,t.newRow=!0}),i.resolve(n.config.fnInlineSaveOverride(t,null))}else"undefined"!=typeof o?_.each(n.vxConfig.columnDefConfigs,function(e){o[e.id]=t[e.id]}):n.vxConfig.data.unshift(t),n.vxColSettings.inlineEditState[e]=!1,n.$emit("vxGridRowSaved",{id:n.vxConfig.id,data:t});else{var o=_.find(n.vxConfig.data,function(t){return t[n.vxColSettings.primaryId]==e});if("undefined"!=typeof t&&"undefined"!=typeof o&&1==n.vxConfig.inlineSaveOverrideEnabled){n.vxColSettings.saveInProgress[e]=!0;var i=a.defer();i.promise.then(function(i){"undefined"!=typeof i.row&&1==i.save&&_.each(n.vxColSettings.colWithInlineEdits,function(e){o[e]=i.row[e]}),n.vxColSettings.inlineEditState[e]="undefined"==typeof i.save||null==i.save||1!=i.save,n.$emit("vxGridRowSave",{id:n.vxConfig.id,data:t,save:!n.vxColSettings.inlineEditState[e]}),n.vxColSettings.saveInProgress[e]=!1},function(t){n.vxColSettings.saveInProgress[e]=!1,n.vxColSettings.inlineEditState[e]=!0}),i.resolve(n.config.fnInlineSaveOverride(t,o))}}},n.saveRow=function(e){var t=!1;if(1==n.vxConfig.inlineEditSyncEnabled){var i=_.filter(n.vxColSettings.multiSelected,function(n){return 0==n.localeCompare(e)});"undefined"!=typeof i&&null!=i&&i.length>0&&_.each(n.vxColSettings.multiSelected,function(e){n.savingRows(e),t=!0})}t||n.savingRows(e)},n.revertEdits=function(){if("undefined"!=typeof n.vxColSettings.multiSelected&&null!=n.vxColSettings.multiSelected&n.vxColSettings.multiSelected.length>0&&(_.each(n.vxColSettings.multiSelected,function(e){if(n.revertEditForRow(e),n.vxColSettings.rowSelected[e]=!1,1==n.vxConfig.hybrid){var t=angular.element(document.getElementById("vx_row-sel_in_"+e));"undefined"!=typeof t&&null!=t&&t.length>0&&$(t).prop("checked",!1)}}),n.vxColSettings.multiSelected=[],1==n.vxConfig.hybrid)){var e=angular.element(document.getElementById("_vxMulLength"+n.vxConfig.id));"undefined"!=typeof e&&null!=e&&e.length>0&&$(e).text(d("vxNumberFixedLen")(n.vxColSettings.multiSelected.length,2))}},n.revertEditForRow=function(e){var t=_.find(n.vxConfig.vxData,function(t){return t[n.vxColSettings.primaryId]==e});if("undefined"!=typeof t&&1==t.newRow){if(n.vxColSettings.inlineEditState[e]=!1,n.vxColSettings.rowSelected[e]=!1,1==n.vxConfig.hybrid){var i=angular.element(document.getElementById("vx_row-sel_in_"+e));"undefined"!=typeof i&&null!=i&&i.length>0&&$(i).prop("checked",!1)}if(n.vxColSettings.multiSelected=_.reject(n.vxColSettings.multiSelected,function(n){0==e.localeCompare(n)}),n.vxConfig.vxData=_.reject(n.vxConfig.vxData,function(t){return 0==t[n.vxColSettings.primaryId].localeCompare(e)}),n.$emit("vxGridRowEditRevert",{id:n.vxConfig.id,data:t}),1==n.vxConfig.hybrid){var o=angular.element(document.getElementById("_vxMulLength"+n.vxConfig.id));"undefined"!=typeof o&&null!=o&&o.length>0&&$(o).text(d("vxNumberFixedLen")(n.vxColSettings.multiSelected.length,2))}}else{var l=_.find(n.vxConfig.data,function(t){return t[n.vxColSettings.primaryId]==e});if("undefined"!=typeof t&&"undefined"!=typeof l){if(_.each(n.vxColSettings.colWithInlineEdits,function(e){t[e]=l[e]}),n.vxColSettings.inlineEditState[e]=!1,n.vxColSettings.rowSelected[e]=!1,1==n.vxConfig.hybrid){var i=angular.element(document.getElementById("vx_row-sel_in_"+e));"undefined"!=typeof i&&null!=i&&i.length>0&&$(i).prop("checked",!1)}if(n.vxColSettings.multiSelected=_.reject(n.vxColSettings.multiSelected,function(n){0==e.localeCompare(n)}),n.$emit("vxGridRowEditRevert",{id:n.vxConfig.id,data:l}),1==n.vxConfig.hybrid){var o=angular.element(document.getElementById("_vxMulLength"+n.vxConfig.id));"undefined"!=typeof o&&null!=o&&o.length>0&&$(o).text(d("vxNumberFixedLen")(n.vxColSettings.multiSelected.length,2))}}}},n.addNewRow=function(){n.vxConfig.sortPredicate="_vxCreated",n.vxConfig.sortPredicateFn="_vxCreated",n.vxConfig.reverseSortDirection=!0;var t=angular.copy(n.vxConfig.newRowTemplate),i=e();t[n.vxColSettings.primaryId]=i,t.newRow=!0,t._vxCreated=(new Date).getTime(),n.vxColSettings.inlineEditState[i]=!0,n.vxConfig.vxData.unshift(t)},n.deleteRows=function(){if("undefined"!=typeof n.vxColSettings.multiSelected&&null!=n.vxColSettings.multiSelected&n.vxColSettings.multiSelected.length>0)if(1==n.vxConfig.inlineDeleteOverrideEnabled){_.each(n.vxColSettings.multiSelected,function(e){n.vxColSettings.saveInProgress[e]=!0});var e=a.defer(),t=angular.copy(_.filter(n.vxConfig.vxData,function(e){return 1==_.contains(n.vxColSettings.multiSelected,e[n.vxColSettings.primaryId])}));e.promise.then(function(e){if(e.rows.length>0){var t=_.map(e.rows,function(e){return e[n.vxColSettings.primaryId]});if(n.vxConfig.vxData=_.reject(n.vxConfig.vxData,function(e){return 1==_.contains(t,e[n.vxColSettings.primaryId])}),n.$emit("vxGridRowsDeleted",{id:n.vxConfig.id,data:t}),_.each(t,function(e){n.vxColSettings.inlineEditState[e]=!1,n.vxColSettings.rowSelected[e]=!1,n.vxColSettings.saveInProgress[e]=!1}),n.vxColSettings.multiSelected=_.difference(n.vxColSettings.multiSelected,t),1==n.vxConfig.hybrid){var i=angular.element(document.getElementById("_vxMulLength"+n.vxConfig.id));"undefined"!=typeof i&&null!=i&&i.length>0&&$(i).text(d("vxNumberFixedLen")(n.vxColSettings.multiSelected.length,2))}}},function(e){}).then(function(){_.each(n.vxColSettings.multiSelected,function(e){n.vxColSettings.saveInProgress[e]=!1})}),e.resolve(n.config.fnInlineDeleteOverride(t))}else if(n.vxConfig.vxData=_.reject(n.vxConfig.vxData,function(e){return 1==_.contains(n.vxColSettings.multiSelected,e[n.vxColSettings.primaryId])}),n.$emit("vxGridRowsDeleted",{id:n.vxConfig.id,data:n.vxColSettings.multiSelected}),_.each(n.vxColSettings.multiSelected,function(e){n.vxColSettings.inlineEditState[e]=!1,n.vxColSettings.rowSelected[e]=!1}),n.vxColSettings.multiSelected=[],1==n.vxConfig.hybrid){var i=angular.element(document.getElementById("_vxMulLength"+n.vxConfig.id));"undefined"!=typeof i&&null!=i&&i.length>0&&$(i).text(d("vxNumberFixedLen")(n.vxColSettings.multiSelected.length,2))}},n.activatePage=function(e){n.vxColSettings.activePage=e,n.vxColSettings.vxPageStartPosition=e>0?e*n.vxConfig.pageLength:0,n.vxColSettings.allRowSelected=!1},n.debouncedSearch=_.debounce(function(){n.vxColSettings.xsSearch=angular.copy(n.vxColSettings.searchToken)},50),n.keyUpSearch=function(e){13==e.keyCode?n.vxColSettings.xsSearch=angular.copy(n.vxColSettings.searchToken):8==e.keyCode&&""==n.vxColSettings.searchToken&&(n.vxColSettings.xsSearch=angular.copy(n.vxColSettings.searchToken))},n.filtTokenChange=function(e){n.vxColSettings.filterSearchToken[e]=n.vxColSettings.enteredSearchToken[e],_.each(n.vxConfig.columnDefConfigs,function(n){n.id==e&&(n.filterLimit=10,u[e]=0)})},n.debFiltTokenChange=_.debounce(n.filtTokenChange,10),n.filterTokenChnagedRapid=function(e){""==n.vxColSettings.enteredSearchToken[e]?(_.each(n.vxConfig.columnDefConfigs,function(n){n.id==e&&(n.filterLimit=10,u[e]=0)}),n.vxColSettings.filterSearchToken[e]=""):n.debFiltTokenChange(e)},n.filterAssignVar=function(e){var t=angular.element(document.getElementById(e+"_searchfilters_"+n.vxConfig.id));"undefined"!=typeof t&&t.length>0&&(n.vxColSettings.filterSearchToken[e]=t[0].value,_.each(n.vxConfig.columnDefConfigs,function(n){n.id==e&&(n.filterLimit=10,u[e]=0)}))},n.isValidHeaderName=function(e,n){return 0==e.renderHeadDefn&&"undefined"!=typeof n&&null!=n&&""!=n},n.headerClick=function(e,t){var i=!0,l=$(t.target);if("undefined"!=typeof l&&null!=l&l.length>0){var r=l.closest("ul.dropdown-menu");"undefined"!=typeof r&&null!=r&r.length>0&&(i=!1)}if(0!=i){var d=n.selfEle.find(".vxTableScrollContainer"),a=(n.selfEle.find(".vxHeadRowCell .dropdown ul.dropdown-menu"),n.getWindowDimensions().h/2);_.each(n.selfEle.find(".vxHeadRowCell .dropdown ul.dropdown-menu"),function(e){ -var n=Math.min(Math.floor(d.height())-48,a);$(e).css("max-height",n+"px")}),_.each(n.vxConfig.columnDefConfigs,function(t){0!=t.id.localeCompare(e.id)&&(n.vxColSettings.dropdDownOpen[t.id]=!1)});var f=_.find(n.vxConfig.columnDefConfigs,function(n){return 0==n.id.localeCompare(e.id)});if("undefined"!=typeof f&&null!=f)if(0==n.vxColSettings.dropdDownEnabled[f.id])n.sortClick(e);else{n.vxColSettings.dropdDownLoaded[f.id]=!1,n.vxColSettings.dropdDownOpen[f.id]=!n.vxColSettings.dropdDownOpen[f.id];var c=_.filter(n.multiBoxFilters,function(e){return 0!=e.col.localeCompare(f.id)}),s=c.length>0,g=!1;"undefined"!=typeof n.vxColSettings.colFilterPairs[f.id]&&null!=n.vxColSettings.colFilterPairs[f.id]&&n.vxColSettings.colFilterPairs[f.id]!={}&&n.vxColSettings.colFilterPairs[f.id].length>0&&(g=!0),0==s&&1==g?(n.vxColSettings.dropdDownLoaded[f.id]=!0,_.each(n.vxColSettings.colFilterPairs[f.id],function(e){e.disabled=!1})):o(function(){if(f.idCollection=[],1==f.ddSort&&(n.vxColSettings.dropDownSort[f.id]=!0,f.idCollection.push(n.vxConfig.id+"_"+f.id+"_sort")),1==f.ddGroup&&1!=n.vxConfig.hybrid&&(n.vxColSettings.dropDownGroup[f.id]=!0,f.idCollection.push(n.vxConfig.id+"_"+f.id+"_group"),f.idCollection.push(n.vxConfig.id+"_"+f.id+"_ungroup")),1==f.ddFilters){if(f.idCollection.push(n.vxConfig.id+"_"+f.id+"_clearfilters"),f.idCollection.push(f.id+"_searchfilters_"+n.vxConfig.id),f.idCollection.push(f.id+"_invokesearchfilters_"+n.vxConfig.id),0==g){n.vxColSettings.dropDownFilters[f.id]=!0,n.vxColSettings.colFilterPairs[f.id]=[];var t=[],i=_.uniq(_.map(n.vxConfig.vxData,function(e){var n={value:e[f.id],type:""};return"undefined"!=typeof n.value&&null!=n.value&&n.value!={}&&"object"!=typeof n.value&&"number"!=typeof n.value&&"boolean"!=typeof n.value?n.value=n.value.trim():"boolean"==typeof n.value?n.value=n.value.toString().trim():"[object Date]"===Object.prototype.toString.call(n.value)&&(n.value=n.value.getTime(),n.type="date"),n}),function(e){return e.value});i=_.reject(i,function(e){return"undefined"==typeof e.value||e.value=={}}),_.each(i.sort(),function(e,i){var o=v(e,f.id,"col"),l=o.key,r=o.type,d=""===e.value||" "===e.value?"< blank >":e.value;d=null==e.value?" < null >":d;var a={key:l,label:e.value,name:d,col:f.id,type:r,disabled:!1,action:"filter"};"undefined"!=typeof f.filterCellDefn&&null!=f.filterCellDefn&&f.filterCellDefn!={}&&""!=f.filterCellDefn?(a.filterDefn=f.filterCellDefn.replaceAll("VX_DATA_POINT","filter.name"),a.filterDefnAvailable=!0):a.filterDefnAvailable=!1,t.push(a),f.idCollection.push(n.vxConfig.id+"_"+f.id+"_filter_"+i),n.vxColSettings.colFiltersStatus[l]=!1}),t=_.sortBy(t,"label"),_.each(t,function(e){n.vxColSettings.colFilterPairs[f.id].push(e)}),n.vxColSettings.filterSearchToken[f.id]="",n.vxColSettings.colFiltersActivated[f.id]=!1}else{var i=_.uniq(_.map(n.vxConfig.vxFilteredData,function(e){return"[object Date]"===Object.prototype.toString.call(e[f.id])?e[f.id].getTime():"[object Boolean]"===Object.prototype.toString.call(e[f.id])?e[f.id].toString():e[f.id]}));_.each(n.vxColSettings.colFilterPairs[f.id],function(e){1!=_.contains(i,e.label)?e.disabled=!0:e.disabled=!1})}if(1==s){var o=_.last(n.multiBoxFilters),i=_.uniq(_.map(n.vxConfig.vxFilteredData,function(e){return"[object Date]"===Object.prototype.toString.call(e[f.id])?e[f.id].getTime():"[object Boolean]"===Object.prototype.toString.call(e[f.id])?e[f.id].toString():e[f.id]}));0!=o.col.localeCompare(f.id)&&_.each(n.vxColSettings.colFilterPairs[f.id],function(e){1!=_.contains(i,e.label)?e.disabled=!0:e.disabled=!1})}u[f.id]=0,e.filterLimit=10;var l=angular.element(document.getElementById(n.vxConfig.id+"-dropdwon-menu-"+f.id));l.on("scroll",function(e){var t=f.id,i=$(e.target).scrollTop();i>u[t]&&(n.debouncedIncrementFilter(t),u[t]=i)})}n.vxColSettings.dropdDownLoaded[f.id]=!0},500)}}},n.debouncedIncrementFilter=_.throttle(c,500),n.sortClick=function(e){var t=_.find(n.vxConfig.columnDefConfigs,function(n){return 0==n.id.localeCompare(e.id)});"undefined"!=typeof t&&null!=t&&t.ddSort&&(0!=n.vxConfig.sortPredicate.localeCompare(t.id)&&(n.vxConfig.sortPredicate=t.id,t.customSortEnabled?n.vxConfig.sortPredicateFn=t.customSortFn:n.vxConfig.sortPredicateFn=t.id),n.vxColSettings.reverseSettings[t.id]=!n.vxColSettings.reverseSettings[t.id],n.vxConfig.reverseSortDirection=n.vxColSettings.reverseSettings[t.id],1==n.vxConfig.hybrid&&(n.vxConfig.vxFilteredData=_.sortBy(n.vxConfig.vxFilteredData,n.vxConfig.sortPredicateFn),1==n.vxConfig.reverseSortDirection&&n.vxConfig.vxFilteredData.reverse(),n.resetHybridGrid()))},n.getVisibleHeaderCounts=function(){return _.filter(n.vxConfig.columnDefConfigs,function(e){return 1!=e.hidden}).length},n.groupClick=function(e){if(n.clearFilters(),1!=n.vxColSettings.groupByColActivated[e.id]){n.vxConfig.sortPredicate=null;var t=[],i=e.id,o=e.columnName,l=_.uniq(_.pluck(n.vxConfig.vxData,i)),r=_.groupBy(_.sortBy(n.vxConfig.vxData,i),i);n.vxColSettings.groupKeys[i]=[],_.each(l,function(e){var l=v(e,i,"groupcol").key;if(n.vxColSettings.groupKeys[i].push(l),r[e].length>0){n.vxColSettings.groupPredicate[l]=!1;var d={type:"groupRow",colName:o,col:i,value:e,groupId:l,cellDefn:'
'};d.cellDefn=d.cellDefn.replaceAll("VX_ROW_POINT","vxColSettings.groupPredicate[row.groupId]"),t.push(d),t=_.union(t,r[e])}}),n.vxConfig.vxData=t,n.vxColSettings.groupByColActivated[e.id]=!0}},n.unGroupClick=function(e){if(n.clearFilters(),1==n.vxColSettings.groupByColActivated[e.id]){var t=_.find(n.vxConfig.columnDefConfigs,function(n){return 0==n.id.localeCompare(e.id)});"undefined"!=typeof t&&null!=t&&(n.vxConfig.sortPredicate=t.id,t.customSortEnabled?n.vxConfig.sortPredicateFn=t.customSortFn:n.vxConfig.sortPredicateFn=t.id),n.vxConfig.vxData=_.reject(n.vxConfig.vxData,function(e){return"undefined"!=typeof e.type&&null!=e.type&&0==e.type.localeCompare("groupRow")}),n.vxColSettings.groupByColActivated[e.id]=!1}},n.getAllRowLength=function(){if(n.config.noData)return 0;if(1==n.vxConfig.hybrid)return n._origData.length;var e=_.filter(n.vxConfig.vxData,function(e){return"undefined"==typeof e.type||null==e.type||0!=e.type.localeCompare("groupRow")||1==e.fillEmptyElement}).length;return e},n.removeGroupings=function(){_.each(n.vxConfig.columnDefConfigs,function(e){n.unGroupClick(e)}),n.vxColSettings.groupPredicate={}},n.groupSelectionChanged=function(e){n.emitArray=[];var t=n.vxColSettings.groupPredicate[e.groupId],i=_.filter(n.vxConfig.vxFilteredData,function(n){return"groupRow"!=n.type&&0==n[e.col].localeCompare(e.value)});if(_.each(i,function(e){if(0==n.vxColSettings.multiSelColDependent||1==n.vxColSettings.multiSelColDependent&&0==e[n.vxConfig.multiSelectionDependentCol]){var i=e[n.vxColSettings.primaryId];if(n.vxColSettings.rowSelected[i]!=t){n.vxColSettings.rowSelected[i]=t;({key:e[n.vxConfig.onSelectionReturnCol],value:n.vxColSettings.rowSelected[i],_pKey:i});n.emitArray.push(i),t?n.vxColSettings.multiSelected.push(i):n.vxColSettings.multiSelected=_.reject(n.vxColSettings.multiSelected,function(e){return 0==e.localeCompare(i)})}}}),1==n.vxConfig.hybrid){var o=angular.element(document.getElementById("_vxMulLength"+n.vxConfig.id));"undefined"!=typeof o&&null!=o&&o.length>0&&$(o).text(d("vxNumberFixedLen")(n.vxColSettings.multiSelected.length,2))}n.$emit("vxGridRwSelectionChange",{id:n.vxConfig.id,data:n.emitArray})},n.allRowSelectionChanged=function(){var e=n.vxColSettings.allRowSelected;if(1==e){if(_.each(n.vxConfig.vxFilteredData,function(t,i){var o=!0;if(1==n.vxConfig.pagination&&0==n.vxConfig.virtualization&&(i>=n.vxColSettings.vxPageStartPosition&&i0&&$(r).prop("checked",!0)}}}),_.each(n.vxConfig.columnDefConfigs,function(e){1==n.vxColSettings.dropDownGroup[e.id]&&1==n.vxColSettings.groupByColActivated[e.id]&&_.each(n.vxColSettings.groupKeys[e.id],function(e){n.vxColSettings.groupPredicate[e]=!0})}),n.vxColSettings.multiSelected=_.reject(n.vxColSettings.multiSelected,function(e){return"undefined"==typeof e||null==e||e=={}}),1==n.vxConfig.hybrid){var t=angular.element(document.getElementById("_vxMulLength"+n.vxConfig.id));"undefined"!=typeof t&&null!=t&&t.length>0&&$(t).text(d("vxNumberFixedLen")(n.vxColSettings.multiSelected.length,2))}n.$emit("vxGridRowAllSelectionChange",{id:n.vxConfig.id,data:{toggledTo:e,array:n.vxColSettings.multiSelected}})}else 0==e&&(n.clearSelection(),n.$emit("vxGridRowAllSelectionChange",{id:n.vxConfig.id,data:{toggledTo:e,array:n.vxColSettings.multiSelected}}));if(1==n.vxConfig.hybrid){var t=angular.element(document.getElementById("_vxMulLength"+n.vxConfig.id));"undefined"!=typeof t&&null!=t&&t.length>0&&$(t).text(d("vxNumberFixedLen")(n.vxColSettings.multiSelected.length,2))}},n.rowSelectionChanged=function(e){var t=e,i=_.find(n.vxConfig.vxData,function(t){return t[n.vxColSettings.primaryId]==e}),o={key:i[n.vxConfig.onSelectionReturnCol],value:n.vxColSettings.rowSelected[t],_pKey:t},l=!0;if(1==n.vxColSettings.rowSelected[t]&&1==n.vxColSettings.multiSelColDependent){l=!1;var r=n.vxConfig.multiSelectionDependentCol;if(1==i[r]&&0==n.vxColSettings.multiSelected.length)l=!0;else if(0==i[r]&&n.vxColSettings.multiSelected.length>=1){var a=n.vxColSettings.multiSelected[0],f=_.find(n.vxConfig.vxData,function(e){return 0==e[n.vxColSettings.primaryId].localeCompare(a)});"undefined"!=typeof f&&null!=f&&f!={}&&1==f[r]?(l=!1,n.vxColSettings.rowSelected[t]=!1):l=!0}else 0==i[r]?l=!0:n.vxColSettings.rowSelected[t]=!1}else 0==n.vxColSettings.rowSelected[t]&&(n.vxColSettings.multiSelected=_.reject(n.vxColSettings.multiSelected,function(e){return 0==e.localeCompare(t)}),l=!1,n.vxColSettings.allRowSelected=!1,n.$emit("vxGridRowSelectionChange",{id:n.vxConfig.id,data:o}));if(l){var c=_.find(n.vxColSettings.multiSelected,function(e){return 0==e.localeCompare(t)});"undefined"!=typeof c&&null!=c||n.vxColSettings.multiSelected.push(t),n.$emit("vxGridRowSelectionChange",{id:n.vxConfig.id,data:o}),0==n.vxConfig.multiSelectionEnabled&&(_.each(n.vxColSettings.multiSelected,function(e){0!=e.localeCompare(t)&&(n.vxColSettings.rowSelected[e]=!1)}),n.vxColSettings.multiSelected=_.reject(n.vxColSettings.multiSelected,function(e){return 0!=e.localeCompare(t)}))}if(1==n.vxConfig.hybrid){var v=angular.element(document.getElementById("_vxMulLength"+n.vxConfig.id));"undefined"!=typeof v&&null!=v&&v.length>0&&$(v).text(d("vxNumberFixedLen")(n.vxColSettings.multiSelected.length,2))}},n.filterClick=function(e,t){0==n.vxConfig.preserveSelectionOnFilters&&n.clearSelection();var i=n.vxColSettings.colFiltersStatus[t.key];if(0==i){n.multiBoxFilters=_.reject(n.multiBoxFilters,function(e){return 0==e.key.localeCompare(t.key)});var o=_.find(n.multiBoxFilters,function(e){return 0==e.col.localeCompare(t.col)});"undefined"!=typeof o&&null!=o&&o!={}&&0!=o.length||(n.vxColSettings.colFiltersActivated[e.id]=!1)}else{var l=_.find(n.multiBoxFilters,function(e){return 0==e.key.localeCompare(t.key)});"undefined"!=typeof l&&null!=l&&l!={}||n.multiBoxFilters.push(t),n.vxColSettings.colFiltersActivated[e.id]=!0}1==n.vxConfig.hybrid&&(n.vxConfig.vxFilteredData=d("vxGridMultiBoxFilters")(n._origData,n.multiBoxFilters),n.resetHybridGrid())},n.filterClearClick=function(e){if(1==n.vxColSettings.colFiltersActivated[e.id]){n.clearSelection();var t=_.filter(n.multiBoxFilters,function(n){return 0==n.col.localeCompare(e.id)});t.length>0&&_.each(t,function(e){n.vxColSettings.colFiltersStatus[e.key]=!1}),n.multiBoxFilters=_.reject(n.multiBoxFilters,function(n){return 0==n.col.localeCompare(e.id)}),n.vxColSettings.colFiltersActivated[e.id]=!1,n.vxColSettings.filterSearchToken[e.id]=""}if(""!=n.vxColSettings.filterSearchToken[e.id]){n.vxColSettings.filterSearchToken[e.id]="";var i=angular.element(document.getElementById(e.id+"_searchfilters_"+n.vxConfig.id));"undefined"!=typeof i&&i.length>0&&(i[0].value="")}1==n.vxConfig.hybrid&&(n.vxConfig.vxFilteredData=d("vxGridMultiBoxFilters")(n._origData,n.multiBoxFilters),n.resetHybridGrid())},n.clearFilters=function(){n.multiBoxFilters.length>0&&_.each(n.vxConfig.columnDefConfigs,function(e){n.filterClearClick(e)}),n.multiBoxFilters=[]},n.selectAllFiltered=function(){n.vxColSettings.multiSelected.length>0&&n.clearSelection(),n.emitArray=[];var e="";1!=n.vxConfig.hybrid?e="vxFilteredData":(n.vxConfig.hybrid=!0)&&(e="vxFilteredData"),_.each(n.vxConfig[e],function(e){if(0==n.vxColSettings.multiSelColDependent||1==n.vxColSettings.multiSelColDependent&&0==e[n.vxConfig.multiSelectionDependentCol]){if(n.vxColSettings.rowSelected[e[n.vxColSettings.primaryId]]=!0,1==n.vxConfig.hybrid){var t=angular.element(document.getElementById("vx_row-sel_in_"+e[n.vxColSettings.primaryId]));"undefined"!=typeof t&&null!=t&&t.length>0&&$(t).prop("checked",!0)}var i=e[n.vxColSettings.primaryId],o={key:e[n.vxConfig.onSelectionReturnCol],value:n.vxColSettings.rowSelected[i],_pKey:i};if(n.emitArray.push(o),1==n.vxColSettings.rowSelected[i]){var l=_.find(n.vxColSettings.multiSelected,function(e){return 0==e.localeCompare(i)});"undefined"!=typeof l&&null!=l||n.vxColSettings.multiSelected.push(i)}}}),n.$emit("vxGridRowMultiSelectionChange",{id:n.vxConfig.id,data:n.emitArray})},n.clearSelection=function(){if(n.emitArray=[],_.each(n.vxColSettings.multiSelected,function(e){if(n.vxColSettings.rowSelected[e]=!1,1==n.vxConfig.hybrid){var t=angular.element(document.getElementById("vx_row-sel_in_"+e));"undefined"!=typeof t&&null!=t&&t.length>0&&$(t).prop("checked",!1)}var i=_.find(n.vxConfig.vxData,function(t){return"groupRow"!=t.type&&0==t[n.vxColSettings.primaryId].localeCompare(e)});if("undefined"!=typeof i&&null!=i){var o={key:i[n.vxConfig.onSelectionReturnCol],value:n.vxColSettings.rowSelected[e],_pKey:e};n.emitArray.push(o)}n.vxColSettings.multiSelected=[],n.vxColSettings.allRowSelected=!1,_.each(n.vxConfig.columnDefConfigs,function(e){1==n.vxColSettings.dropDownGroup[e.id]&&1==n.vxColSettings.groupByColActivated[e.id]&&_.each(n.vxColSettings.groupKeys[e.id],function(e){n.vxColSettings.groupPredicate[e]=!1})})}),1==n.vxConfig.hybrid){var e=angular.element(document.getElementById("_vxMulLength"+n.vxConfig.id));"undefined"!=typeof e&&null!=e&&e.length>0&&$(e).text(d("vxNumberFixedLen")(n.vxColSettings.multiSelected.length,2))}n.$emit("vxGridRowMultiSelectionChange",{id:n.vxConfig.id,data:n.emitArray})},n.upDownKeyDownHandlerHeaderMenu=function(e,t){if(40==e.keyCode||27==e.keyCode)if(40==e.keyCode){var i=$(e.target).siblings().find('[tabindex="0"]');i.length>0&&$(i[0]).focus()}else if(27==e.keyCode&&1==n.vxColSettings.dropdDownOpen[t]){n.vxColSettings.dropdDownOpen[t]=!1;var o=$(e.target).closest(".dropdown").find("button");o&&o.length>0&&$(o).focus()}},n.findIdToBeFocussed=function(e,n,t){var i=e;if(t)for(i+1==n.length&&(i=-1);i<=n.length;){var o=$("#"+n[i+1]);if($(o).is('[tabindex="0"]'))return n[i+1];i+=1}else if(!t)for(0==i&&(i=n.length);i>=1;){var o=$("#"+n[i-1]);if($(o).is('[tabindex="0"]'))return n[i-1];i-=1}return e},n.findFocussable=function(e,t,i){var o=$(e).attr("id"),l=_.find(n.vxConfig.columnDefConfigs,function(e){return e.id==t});if("undefined"!=typeof l&&null!=l){var r=l.idCollection,d=_.indexOf(r,o);return d!=-1&&d!=r.length&&1==i?n.findIdToBeFocussed(d,r,!0):d!=-1&&0==i?n.findIdToBeFocussed(d,r,!1):null}},n.shiftKeyPressed=!1,n.upDowKeyUpHandlerHeaderMenuItems=function(e,t){16==e.keyCode&&(n.shiftKeyPressed=!1)},n.upDowKeyDownHandlerHeaderMenuItems=function(e,t){var i=!1;if(16==e.keyCode&&(n.shiftKeyPressed=!0),40!=e.keyCode&&38!=e.keyCode&&27!=e.keyCode&&9!=e.keyCode)return!1;if(40==e.keyCode||9==e.keyCode&&0==n.shiftKeyPressed){var o=n.findFocussable($(e.target),t,!0);$("#"+o).is('[tabindex="0"]')&&$("#"+o).focus(),i=!0}else if(38==e.keyCode||9==e.keyCode&&1==n.shiftKeyPressed){var o=n.findFocussable($(e.target),t,!1);null==o?$(e.target).closest(".dropdown").find("button").focus():$("#"+o).is('[tabindex="0"]')&&$("#"+o).focus(),i=!0}else if(27==e.keyCode&&1==n.vxColSettings.dropdDownOpen[t]){n.vxColSettings.dropdDownOpen[t]=!1;var l=$(e.target).closest(".dropdown").find("button");l&&l.length>0&&$(l).focus()}i&&(e.stopPropagation(),e.preventDefault())},n.openManageColumns=function(){var e=t.open({templateUrl:"template/vx-grid/vx-grid-manage-columns-modal.html",windowClass:"vxGridManageColMod",controller:["$scope","$uibModalInstance","originalSettings",function(e,n,t){e.headerSelected=null,e.headerSelectedForVisChange=null,e.copyForWidthVisChange=t,_.each(e.copyForWidthVisChange,function(e,n){e.order=n,e.chars=Math.ceil((e.width-20)/7),e.selected=!1}),e.swapAbove=function(n){if(0==n.locked){var t=n.order,i=n.order,o=!0;do{i-=1,o=!0;var l=_.find(e.copyForWidthVisChange,function(e){return e.order==i&&0==e.orderLocked});"undefined"!=typeof l&&null!=l&&l!={}||(o=!1)}while(!o&&i>=0);if(o&&i>=0){var l=_.find(e.copyForWidthVisChange,function(e){return e.order==i&&0==e.orderLocked});"undefined"!=typeof l&&null!=l&&l!={}&&(l.order=t,n.order=i)}}},e.swapBelow=function(n){if(0==n.locked){var t=n.order,i=n.order,o=!0;do{i+=1,o=!0;var l=_.find(e.copyForWidthVisChange,function(e){return e.order==i&&0==e.orderLocked});"undefined"!=typeof l&&null!=l&&l!={}||(o=!1)}while(!o&&i<=e.copyForWidthVisChange.length-1);if(o&&i<=e.copyForWidthVisChange.length-1){var l=_.find(e.copyForWidthVisChange,function(e){return e.order==i&&0==e.orderLocked});"undefined"!=typeof l&&null!=l&&l!={}&&(l.order=t,n.order=i)}}},e.makeVisible=function(n){var t=_.find(e.copyForWidthVisChange,function(e){return 0==e.id.localeCompare(n.id)});"undefined"!=typeof t&&null!=t&&t!={}&&0==t.visbilityLocked&&(t.hidden=!1)},e.makeHidden=function(n){var t=_.find(e.copyForWidthVisChange,function(e){return 0==e.id.localeCompare(n.id)});"undefined"!=typeof t&&null!=t&&t!={}&&0==t.visbilityLocked&&(t.hidden=!0)},e.saveChangeInConfig=function(){var t=[];t=_.sortBy(e.copyForWidthVisChange,function(n){var t=_.find(e.copyForWidthVisChange,function(e){return 0==e.id.localeCompare(n.id)});return"undefined"!=typeof t&&null!=t&&t!={}?t.order:1}),n.close(t)},e.widthChanged=function(e){e.width=Math.ceil(7*e.chars)+20},e.selectHeader=function(n){1!=n.locked&&(n.selected=!n.selected,_.each(e.copyForWidthVisChange,function(e){0!=e.id.localeCompare(n.id)&&(e.selected=!1)}),1==n.selected?e.headerSelected=n:e.headerSelected=null)},e.cancelChangeInConfig=function(){n.dismiss()},e.upDownKeyPressHandler=function(n){var t=!1;38!=n.keyCode&&40!=n.keyCode||(t=e.upDownMovement(n)),t&&(n.stopPropagation(),n.preventDefault())},e.upDownMovement=function(e){var n=!1;if(38==e.keyCode){var t=$(e.target).prev();t.length>0&&$(t[0]).attr("tabindex")!=-1&&$(t)[0].focus(),n=!0}else if(40==e.keyCode){var t=$(e.target).next();t.length>0&&$(t[0]).attr("tabindex")!=-1&&$(t)[0].focus(),n=!0}return n}}],backdrop:"static",resolve:{originalSettings:function(){return angular.copy(n.vxConfig.columnDefConfigs)}}});e.result.then(function(e){e=n.calculateEffectiveWidths(e),n.vxConfig.columnDefConfigs=e,1==n.vxConfig.hybrid&&n.resetHybridGrid(),n.$emit("vxGridSettingsChanged",{id:n.vxConfig.id,data:e})},function(e){})},n.calculateEffectiveWidths=function(e){var t=_.reduce(e,function(e,n){var t=0;return 0==n.hidden&&(t=parseInt(n.width)),e+t},0),i=n.selfEle.find(".vxTableScrollContainer").width(),o=0;return _.each(e,function(e){if(i>t){var n=parseInt(e.width)/t*(i-t);e.effectiveWidth=parseInt(e.width)+n}else e.effectiveWidth=e.width;e.effectiveWidth=Math.floor(e.effectiveWidth),o+=e.effectiveWidth}),e},n.openJsonEditor=function(){var e=t.open({templateUrl:"template/vx-grid/vx-grid-json-editor-modal.html",windowClass:"vxGridManageColMod",controller:["$scope","$modalInstance","griddata",function(e,n,t){e.data=angular.copy(t),e.changeData=[],e.configuration={editable:!0,viewButtonClass:"btn-info",editButtonClass:"btn-success"},e.jsonOptions={mode:"code",modes:["tree","form","code","text"],history:!1},e.onChangeJSON=function(n){e.changeData=n},e.saveChangeInConfig=function(){n.close(e.changeData)},e.cancelChangeInConfig=function(){n.dismiss()}}],backdrop:"static",resolve:{griddata:function(){return angular.copy(n.vxConfig.vxData)}}});e.result.then(function(e){n.vxConfig.vxData=e,n.$emit("vxGridDataChanged",{id:n.vxConfig.id,data:e})},function(e){})},n.revealWrapToggle=function(){n.vxColSettings.revealWrapRowData=!n.vxColSettings.revealWrapRowData},n.xsReset=function(){n.vxColSettings.xsSearch=""},n.justScrollTop=function(){var e=n.selfEle.find(".vxTableContainer.scrollTableContainer");o(function(){$(e).animate({scrollTop:0},500)},10)},n.justScrollDown=function(){var e=n.selfEle.find(".vxTableContainer.scrollTableContainer"),t=$(e).scrollTop()||0;0==n.vxConfig.hybrid?o(function(){$(e).animate({scrollTop:t+96},33)},10):1==n.vxConfig.hybrid&&(n.prepForScrollInsertion(),o(function(){$(e).animate({scrollTop:t+100},300)},10))},n.showScrollDownArrow=function(){var e=n.selfEle.find(".vxTableContainer.scrollTableContainer"),t=n.selfEle.find(".scrollTableContainer table.vxTable");return"undefined"!=typeof e&&"undefined"!=typeof t&&null!=e&&null!=t&&t.height()>e.height()},n.showScrollUpArrow=function(){var e=n.selfEle.find(".vxTableContainer.scrollTableContainer"),t=n.selfEle.find(".scrollTableContainer table.vxTable");return"undefined"!=typeof e&&"undefined"!=typeof t&&null!=e&&null!=t&&t.height()>e.height()&&e.scrollTop()>48},n.outsideHeader=function(e){1==n.vxColSettings.dropdDownOpen[e.id]&&(n.vxColSettings.dropdDownOpen[e.id]=!1,n.$$phase||n.$apply())},n.$on("vsRepeatCollectionPartiallyRendered",function(e,t){n.$emit("vxPartiallyRendered",{id:n.vxConfig.id,data:t}),1==n.vxConfig.selectAllOnRenderAll&&(n.vxColSettings.selectAllEnabled=!1,n.$emit("vxPartiallyRenderedSelectAllDisabled",{id:n.vxConfig.id,data:t}))}),n.$on("vsRepeatCollectionCompletelyRendered",function(e,t){n.$emit("vxCompletelyRendered",{id:n.vxConfig.id,data:t}),1==n.vxConfig.selectAllOnRenderAll&&(n.vxColSettings.selectAllEnabled=!0,n.$emit("vxCompletelyRenderedSelectAllEnabled",{id:n.vxConfig.id,data:t}))}),n.buildFns=function(){var e=["openJsonEditor","openManageColumns","resetVxInstance","clearFilters","selectAllFiltered","clearSelection","revealWrapToggle"];_.each(e,function(e){var t="vxGrid"+e.capitalizeFirstLetter(),i=e+"()";n.$on(t,function(e,t){0==t.id.localeCompare(n.vxConfig.id)&&n.$eval(i)}),n.config[e]=function(){n.$eval(i)}})},n.$on("vxGridChangeRowClass",function(e,t){0==t.id.localeCompare(n.vxConfig.id)&&n.changeRowClass(t.data)}),n.changeRowClass=function(e){for(var t in e)n.vxColSettings.vxRowClass[t]=e[t];"$apply"!=n.$root.$$phase&&"$digest"!=n.$root.$$phase&&n.$apply()},n.$on("vxGridResetRowClass",function(e,t){0==t.id.localeCompare(n.vxConfig.id)&&(n.vxColSettings.vxRowClass={})}),n.$on("vxGridDisableRowSelection",function(e,t){0==t.id.localeCompare(n.vxConfig.id)&&_.each(t.data,function(e){n.vxColSettings.vxRowSelectionDisable[e.key]=e.value})}),n.$on("vxGridResetDisableRowSelection",function(e,t){if(0==t.id.localeCompare(n.vxConfig.id))for(var i in n.vxColSettings.vxRowSelectionDisable)n.vxColSettings.vxRowSelectionDisable[i]=!1})}],replace:!0,templateUrl:"template/vx-grid/vx-grid.html",link:function(e,n,t){e.selfEle=n,e.$watchCollection("config.data",function(n){n=n||[];var t=new Date;"undefined"!=typeof n&&0==n.length?(n=[{fillEmptyElement:!0}],e.config.noData=!0,1==e.config.hybrid&&"undefined"!=typeof e.vxConfig&&angular.element(document.getElementById("_vxHybrid"+e.vxConfig.id)).empty()):e.config.noData=!1,1==e.config.hybrid?(e.config.vxData=_.clone(n),e._origData=_.clone(n)):e.config.vxData=angular.copy(n),t=new Date,delete e.vxConfig,e.resetVxInstance()}),1!=e.config.hybrid&&e.$watchCollection("vxConfig.vxFilteredData",function(n){n.length>=0&&1==e.vxConfig.pagination&&(e.vxColSettings.pages=_.range(Math.ceil(n.length/parseInt(e.vxConfig.pageLength))),e.vxColSettings.vxPageEnabled=e.vxColSettings.pages.length>1,e.vxColSettings.activePage=0,e.vxColSettings.vxPageStartPosition=0)}),e.getvxTableContainerWidth=function(){var n=0;return _.each(e.vxConfig.columnDefConfigs,function(e){0==e.hidden&&(n+=e.effectiveWidth)}),e.vxConfig.totalWidth=n+"px",e.vxConfig.totalWidth},e.getNonHiddenColCount=function(){var n=1;return"undefined"!=typeof e.vxConfig.columnDefConfigs&&e.vxConfig.columnDefConfigs.length>0&&(n=_.filter(e.vxConfig.columnDefConfigs,function(e){return 0==e.hidden}).length),n}}}}).directive("vxCompile",["$compile",function(e){return function(n,t,i){n.$watch(function(e){return e.$eval(i.vxCompile)},function(i){t.html(i),e(t.contents())(n)})}}]).directive("vxCompileCloneLink",["$compile",function(e){var n={},t={};return function(i,o,l){var r=null;l.vxCompileCloneLink in n?r=t[l.vxCompileCloneLink]:(t[l.vxCompileCloneLink]=i.$eval(l.vxCompileCloneLink),r=t[l.vxCompileCloneLink]);var d=null;r in n?d=n[r]:(n[r]=e(r),d=n[r]),d(i,function(e,n){o.append(e)})}}]).directive("vxEditFocusDisable",["$rootScope","$parse",function(e,n){var t={},i={},o=["input","select","button","textarea","object"];return{restrict:"AEC",link:function(e,l,r){var d=(n(r.vxEditFocusDisable),$(l).attr("id"));e.$watch(r.vxEditFocusDisable,function(e){if(e){i[d]={available:!0,stack:[]},_.each(o,function(e){var n=$(l).find(e);n.length>0&&_.each(n,function(e){var n=$(e).attr("id");"undefined"!=typeof n&&null!=n&&""!=n||($(e).attr("id",_.uniqueId("elemid")),n=$(e).attr("id")),i[d].stack.push(n)})});var n=$(l).find("[tabindex]");n.length>0&&_.each(n,function(e){var n=$(e).attr("tabindex");if(n!=-1&&0==_.contains(o,e.nodeName.toUpperCase())&&0==_.contains(i[d].stack,t)){var t=$(e).attr("id");"undefined"!=typeof t&&null!=t&&""!=t||($(e).attr("id",_.uniqueId("elemid")),t=$(e).attr("id")),i[d].stack.push(t)}}),_.each(i[d].stack,function(e){t[e]=$("#"+e).attr("tabindex")||0,$("#"+e).attr("tabindex",-1)})}else 0==e&&"undefined"!=typeof i[d]&&"undefined"!=typeof i[d].available&&1==i[d].available&&(_.each(i[d].stack,function(e){var n=t[e];$("#"+e).attr("tabindex",n)}),i[d].available=!1)})}}}]).directive("axKey",["$rootScope","$parse",function(e,n){return{restrict:"A",compile:function(t,i){var o=n(i.axKey);return function(n,t){function l(t){var i=function(){o(n,{$event:t})};e.$$phase?n.$evalAsync(i):n.$apply(i)}t.attr("role")||t.attr("role","button"),t.attr("tabindex")||t.attr("tabindex",0);var r=[],d=0;r.push(n.$watch(i.axDisabled||i.ngDisabled,function(e){e?(d=t.attr("tabindex"),t.attr("tabindex",-1),t.attr("aria-disabled",!0)):(t.attr("tabindex",0),t.attr("aria-disabled",!1))})),t.on("click",function(e){n.$eval(i.axDisabled)||n.$eval(i.ngDisabled)||l(e)}),t.on("keyup",function(e){n.$eval(i.axDisabled)||n.$eval(i.ngDisabled)||13!=e.keyCode&&32!=e.keyCode||l(e)}),n.$on("$destroy",function(){for(;r.length;)r.shift()()})}}}}]).directive("vxKeepWatch",function(){return{restrict:"AEC",link:function(e,n,t){var i=t.vxKeepWatch,o=!1;e.$watch(t[i],function(n){o?e.$emit("vxInlineEditFieldChange",{field:t.vxKeepWatchField,value:n,rowId:t.vxKeepWatchRowId}):o=!0})}}}).filter("vxGridMultiBoxFilters",function(){return function(e,n){if("undefined"!=typeof n&&null!=n&&n.length>0){var t=e,i=e,o=_.groupBy(n,"col");for(var l in o){var r=o[l],d=[];_.each(r,function(e){d=_.union(d,_.filter(i,function(n){return"undefined"!=typeof e.label&&null!=e.label&&e.label!={}&&"undefined"!=typeof n[e.col]&&null!=n[e.col]&&n[e.col]!={}?"date"==e.type?"undefined"!=typeof n[e.col]&&n[e.col]!={}&&null!=n[e.col]&&""!=n[e.col]&&n[e.col].getTime()==e.label:"object"==e.type?0==JSON.stringify(n[e.col]).localeCompare(JSON.stringify(e.label)):0==n[e.col].toString().trim().localeCompare(e.label):n[e.col]==e.label}))}),t=_.intersection(t,d)}return t}return e}}).directive("clickOutsideHeader",["$document","$parse",function(e,n){return{restrict:"A",link:function(t,i,o){var l=void 0!==o.outsideIfNot?o.outsideIfNot.replace(", ",",").split(","):[];void 0!==o.id&&l.push(o.id);var r=n(o.clickOutsideHeader);e.on("click",function(e){try{var n=$(e.target).closest("th.vxHeadRowCell");"undefined"!=typeof n&&null!=n&&0!=n.length||t.$eval(o.checkClickOutside)&&t.$eval(r)}catch(e){}})}}}]).filter("vxNumberFixedLen",function(){return function(e,n){var t=parseInt(e,10);if(n=parseInt(n,10),isNaN(t)||isNaN(n))return e;for(t=""+t;t.length
',inlineEditOnColumnEnabled:!1};n.vxConfig.columnDefConfigs.unshift(a)}_.each(n.vxConfig.vxData,function(e,t){var i=e[n.vxColSettings.primaryId];n.vxColSettings.inlineEditState[i]=n.config.allRowsInDefaultEdit||!1})}if(e=new Date,1==n.vxConfig.selectionEnabled){var r=_.find(n.vxConfig.columnDefConfigs,function(e){return 0==e.id.localeCompare("checkbox")});if("undefined"==typeof r||null==r||r=={}){var a={id:"checkbox",columnName:"Row Selection",columnIsRowSelect:!0,renderDefn:!0,renderHeadDefn:!0,ddSort:!1,ddGroup:!1,ddFilters:!1,width:"50",locked:!0,headTabIndex:-1,headerDefn:'
',cellDefn:'
{{::row[vxConfig.ariaPrimary]}}'};n.vxConfig.columnDefConfigs.unshift(a)}_.each(n.vxConfig.vxData,function(e,t){var i=e[n.vxColSettings.primaryId];n.vxColSettings.rowSelected[i]=!1,n.vxColSettings.vxRowSelectionDisable[i]=!1})}e=new Date,n.multiBoxFilters=[];var c=[{prop:"enableDropdownsInHeader",defValue:!1},{prop:"selectionEnabled",defValue:!1},{prop:"selectionAtMyRisk",defValue:!1},{prop:"preserveSelectionOnFilters",defValue:!1},{prop:"multiSelectionEnabled",defValue:!1},{prop:"showGridStats",defValue:!1},{prop:"showGridOptions",defValue:!1},{prop:"selectAllOnRenderAll",defValue:!1},{prop:"virtualization",defValue:!0},{prop:"pagination",defValue:!1},{prop:"pageLength",defValue:20},{prop:"data",defValue:[]},{prop:"vxFilteredData",defValue:[]},{prop:"xsRowTitleTemplate",defValue:'
{{row[vxColSettings.primaryId]}}
'},{prop:"inlineAddRowEnabled",defValue:!1},{prop:"inlineEditSyncEnabled",defValue:!1},{prop:"inlineDeletingEnabled",defValue:!1},{prop:"inlineSaveOverrideEnabled",defValue:!1},{prop:"inlineDeleteOverrideEnabled",defValue:!1},{prop:"allRowsInDefaultEdit",defValue:!1},{prop:"jsonEditorEnabled",defValue:!1},{prop:"allRowsSelectionEnabled",defValue:!1},{prop:"sortPredicate",defValue:n.vxColSettings.primaryId},{prop:"sortPredicateFn",defValue:n.vxColSettings.primaryId},{prop:"reverseSortDirection",defValue:!1},{prop:"emptyFill",defValue:"No records to display ..."},{prop:"caption",defValue:"sample vx grid table caption"},{prop:"loaderGifSrc",defValue:"/resource/loaderWhite36.GIF"},{prop:"ariaPrimary",defValue:n.vxColSettings.primaryId},{prop:"xsTemplate",defValue:!1},{prop:"bindOnce",defValue:!1},{prop:"hybrid",defValue:!1},{prop:"latchExcess",defValue:5}];if(_.each(c,function(e){"undefined"!==n.vxConfig[e.prop]&&null!=n.vxConfig[e.prop]&&n.vxConfig[e.prop]!={}||(n.vxConfig[e.prop]=e.defValue)}),n.vxColSettings.vxRowClass=n.vxConfig.initialRowClasses||{},n.getWindowDimensions().w<768&&(n.vxColSettings.xsViewEnabled=n.vxConfig.xsTemplate,n.vxConfig.latchExcess=5),e=new Date,n.vxColSettings.selectAllOnRenderAll=n.vxConfig.selectAllOnRenderAll,_.each(n.vxConfig.columnDefConfigs,function(e){var t=[{prop:"renderDefn",defValue:!1},{prop:"renderHeadDefn",defValue:!1},{prop:"ddSort",defValue:!1},{prop:"ddGroup",defValue:!1},{prop:"ddFilters",defValue:!1},{prop:"ddFiltersWithSearch",defValue:!1},{prop:"dropDownEnabled",defValue:!1},{prop:"hidden",defValue:!1},{prop:"xsHidden",defValue:!1},{prop:"locked",defValue:!1},{prop:"primary",defValue:!1},{prop:"width",defValue:"200"},{prop:"headerDefn",defValue:""},{prop:"cellDefn",defValue:""},{prop:"filterCellDefn",defValue:""},{prop:"inlineEditOnColumnEnabled",defValue:!1},{prop:"inlineEditValidation",defValue:!1},{prop:"editDefn",defValue:null},{prop:"editDefnTemplate",defValue:null},{prop:"headTabIndex",defValue:0},{prop:"columnIsRowSelect",defValue:!1},{prop:"columnIsDate",defValue:!1},{prop:"columnDatePipe",defValue:"dd/MM/yyyy"},{prop:"renderHybridCellDefn",defValue:!1},{prop:"hybridCompile",defValue:!1},{prop:"filterLimit",defValue:10},{prop:"scopeIsRow",defValue:!1}];_.each(t,function(n){"undefined"!==e[n.prop]&&null!=e[n.prop]&&e[n.prop]!={}||(e[n.prop]=n.defValue)}),e.effectiveWidth=e.width,e.idCollection=[];var i=[{prop:"orderLocked",defValue:!1},{prop:"widthLocked",defValue:!1},{prop:"visbilityLocked",defValue:!1}];_.each(i,function(n){"undefined"===e[n.prop]||null==e[n.prop]||e[n.prop]=={}?e[n.prop]=e.locked:e[n.prop]=e.locked||e[n.prop]}),n.vxColSettings.reverseSettings[e.id]=!1,"undefined"!=typeof e.dropDownEnabled&&null!=e.dropDownEnabled&&1==e.dropDownEnabled&&1==n.vxConfig.enableDropdownsInHeader?n.vxColSettings.dropdDownEnabled[e.id]=!0:n.vxColSettings.dropdDownEnabled[e.id]=!1,n.vxColSettings.dropdDownLoaded[e.id]=!1,n.vxColSettings.dropdDownOpen[e.id]=!1,"undefined"!=typeof e.renderDefn&&null!=e.renderDefn&&e.renderDefn!={}&&1==e.renderDefn&&(e.cellDefn=e.cellDefn.replaceAll("VX_ROW_POINT","row[vxColSettings.primaryId]"),e.cellDefn=e.cellDefn.replaceAll("VX_DATA_POINT","row[header.id]"),e.cellDefn=e.cellDefn.replaceAll("VX_ROW","row"),e.cellDefn=e.cellDefn.replaceAll("VX_CONFIG","vxConfig")),1==e.inlineEditOnColumnEnabled&&1!=n.vxConfig.hybrid&&(""!=e.editDefn&&null!=e.editDefn||(e.editDefn=''),e.editDefn=e.editDefn.replaceAll("VX_ROW_POINT","row[vxColSettings.primaryId]"),e.editDefn=e.editDefn.replaceAll("VX_DATA_POINT","row[header.id]"),e.editDefn=e.editDefn.replaceAll("VX_ROW","row"),e.editDefn=e.editDefn.replaceAll("VX_CONFIG","vxConfig"),n.vxColSettings.colWithInlineEdits.push(e.id),e.editDefn.indexOf("vx-keep-watch")!=-1&&(e.editDefn=e.editDefn.replaceAll("vx-keep-watch",'vx-keep-watch-row-id="{{row[vxColSettings.primaryId]}}" vx-keep-watch-field="'+e.id+'" vx-keep-watch')),1==e.inlineEditValidation&&(n.vxConfig.invalidRows={},n.vxConfig.invalidRowFields={},_.each(n.vxConfig.vxData,function(e,t){var i=e[n.vxColSettings.primaryId];n.vxConfig.invalidRows[i]=!1,n.vxConfig.invalidRowFields[i]={}}),e.editDefn=e.editDefn.replaceAll("VX_INVALID_ROW","vxConfig.invalidRows[row[vxColSettings.primaryId]] == true"),e.editDefn=e.editDefn.replaceAll("VX_INVALID_FIELD_ROW","vxConfig.invalidRowFields[row[vxColSettings.primaryId]]."+e.id+" == true")))}),e=new Date,n.vxConfig.columnDefConfigs=n.calculateEffectiveWidths(n.vxConfig.columnDefConfigs),"undefined"!=typeof n.vxConfig.multiSelectionDependentCol&&null!=n.vxConfig.multiSelectionDependentCol&&n.vxConfig.multiSelectionDependentCol!={}&&""!=n.vxConfig.multiSelectionDependentCol&&(n.vxColSettings.multiSelColDependent=!0),"undefined"!=typeof n.vxConfig.xsRowTitleTemplate&&null!=n.vxConfig.xsRowTitleTemplate&&n.vxConfig.xsRowTitleTemplate!={}&&""!=n.vxConfig.xsRowTitleTemplate&&(n.vxColSettings.xsRowTitleTemplateAvailable=!0),1==n.vxConfig.inlineAddRowEnabled&&1!=n.vxConfig.hybrid&&("undefined"==typeof n.vxConfig.newRowTemplate||null==n.vxConfig.newRowTemplate||n.vxConfig.newRowTemplate=={}||""==n.vxConfig.newRowTemplate)){var v=angular.copy(n.vxConfig.data[0]);_.each(n.vxConfig.columnDefConfigs,function(e){switch(typeof n.vxConfig.newRowTemplate[e.id]){case"boolean":n.vxConfig.newRowTemplate[e.id]=!1;break;case"number":n.vxConfig.newRowTemplate[e.id]=0;break;case"string":n.vxConfig.newRowTemplate[e.id]="";break;default:n.vxConfig.newRowTemplate[e.id]=null}}),n.vxConfig.newRowTemplate=v}n.$watch("getWindowDimensions()",function(e,t){n.vxColSettings.xsViewEnabled=!1,n.vxConfig.columnDefConfigs=n.calculateEffectiveWidths(n.vxConfig.columnDefConfigs)},!0);s.bind("resize",function(){n.$apply()}),n.config.getVxCounts=function(){if("undefined"!=typeof n.vxConfig&&null!=n.vxConfig&&n.vxConfig!={}&&"undefined"!==n.vxConfig.id&&null!=n.vxConfig.id&&n.vxConfig.id!={}){var e={id:n.vxConfig.id,data:{vxAllDataLength:n.getAllRowLength(),vxFilteredDataLength:n.multiBoxFilters.length>0?1!=n.vxConfig.hybrid?n.vxConfig.vxFilteredData.length:n.vxConfig.vxData.length:0,vxSelectedDataLength:n.vxColSettings.multiSelected.length}};return e}},n.config.getAppliedFilters=function(){if("undefined"!=typeof n.vxConfig&&null!=n.vxConfig&&n.vxConfig!={}&&"undefined"!==n.vxConfig.id&&null!=n.vxConfig.id&&n.vxConfig.id!={}){var e=_.map(n.multiBoxFilters,function(e){return{column:e.col,label:e.label,key:e.key}});return e}},n.config.getData=function(){return n.vxConfig.data},n.config.getActiveDataSet=function(){return n.vxConfig.vxData},n.config.getFilteredDataSet=function(){return n.vxConfig.vxFilteredData},n.config.setRowFieldValidation=function(e,t,i){if("undefined"==typeof n.vxConfig.invalidRowFields[e]&&(n.vxConfig.invalidRows[e]=!1,n.vxConfig.invalidRowFields[e]={}),1==n.vxConfig.inlineEditSyncEnabled){var o=_.filter(n.vxColSettings.multiSelected,function(n){return 0==n.localeCompare(e)});"undefined"!=typeof o&&null!=o&&o.length>0&&_.each(n.vxColSettings.multiSelected,function(e){n.vxConfig.invalidRows[e]=!i,n.vxConfig.invalidRowFields[e][t]=!i})}n.vxConfig.invalidRows[e]=!i,n.vxConfig.invalidRowFields[e][t]=!i},n.config.getSelectedRows=function(){if(1==n.vxConfig.selectionAtMyRisk){n.vxColSettings.multiSelected=[];for(var e in n.vxColSettings.rowSelected)1==n.vxColSettings.rowSelected[e]&&"undefined"!=typeof e&&"undefined"!=e.toString()&&n.vxColSettings.multiSelected.push(e)}return n.vxColSettings.multiSelected},n.config.getRowsBeingEdited=function(){var e=[];if("undefined"!=typeof n.vxColSettings.inlineEditState&&null!=n.vxColSettings.inlineEditState)for(var t in n.vxColSettings.inlineEditState)1==n.vxColSettings.inlineEditState[t]&&e.push(t);return e},n.config.modifyRows=function(e,t){var i=[];return _.each(e,function(e){var o=e[n.vxColSettings.primaryId],l=_.find(n.vxConfig.vxData,function(e){return 0==e[n.vxColSettings.primaryId].localeCompare(o)}),r=_.find(n.vxConfig.data,function(e){return 0==e[n.vxColSettings.primaryId].localeCompare(o)});if("undefined"!=typeof l&&"undefined"!=typeof r){if("undefined"==typeof t||0==t.length)for(var d in e)0!=d.localeCompare(n.vxColSettings.primaryId)&&(l[d]=e[d],r[d]=e[d]);else t.length>0&&_.each(t,function(n){l[n]=e[n],r[n]=e[n]});i.push(r),1==n.vxConfig.hybrid&&n.hybridUpdateRows(i)}}),i},n.config.selectRows=function(e){var t=[];return _.each(e,function(e){var i=n.vxColSettings.rowSelected[e];if(("undefined"==typeof i||null==i||0==i)&&(n.vxColSettings.rowSelected[e]=!0,n.vxColSettings.multiSelected.push(e),t.push(e),1==n.vxConfig.hybrid)){var o=angular.element(document.getElementById("vx_row-sel_in_"+e));"undefined"!=typeof o&&null!=o&&o.length>0&&$(o).prop("checked",!0);var l=angular.element(document.getElementById("_vxMulLength"+n.vxConfig.id));"undefined"!=typeof l&&null!=l&&l.length>0&&$(l).text(d("vxNumberFixedLen")(n.vxColSettings.multiSelected.length,2))}}),t},n.config.deselectRows=function(e){var t=[];return _.each(e,function(e){var i=n.vxColSettings.rowSelected[e];if("undefined"!=typeof i&&1==i){if(n.vxColSettings.rowSelected[e]=!1,n.vxColSettings.multiSelected=_.reject(n.vxColSettings.multiSelected,function(n){0==e.localeCompare(n)}),t.push(e),1==n.vxConfig.hybrid){var o=angular.element(document.getElementById("vx_row-sel_in_"+e));"undefined"!=typeof o&&null!=o&&o.length>0&&$(o).prop("checked",!1)}if(1==n.vxConfig.hybrid){var l=angular.element(document.getElementById("_vxMulLength"+n.vxConfig.id));"undefined"!=typeof l&&null!=l&&l.length>0&&$(l).text(d("vxNumberFixedLen")(n.vxColSettings.multiSelected.length,2))}}}),t},n.config.sortByColumn=function(e,t){var i=_.find(n.vxConfig.columnDefConfigs,function(n){return 0==n.id.localeCompare(e)});"undefined"!=typeof i&&null!=i&&(n.vxConfig.sortPredicate=i.id,i.customSortEnabled?n.vxConfig.sortPredicateFn=i.customSortFn:n.vxConfig.sortPredicateFn=i.id,n.vxConfig.reverseSortDirection=t)},n.config.resetColumnFilters=function(e){_.each(e,function(e){n.vxColSettings.dropdDownLoaded[e]=!1,n.vxColSettings.colFilterPairs[e]={}})},n.config.removeRows=function(e){0==n.vxConfig.hybrid?(n.vxConfig.vxData=_.reject(n.vxConfig.vxData,function(t){return 1==_.contains(e,t[n.vxColSettings.primaryId])}),n.vxColSettings.multiSelected=_.difference(n.vxColSettings.multiSelected,e)):1==n.vxConfig.hybrid&&n.config.hybridDeleteRows(e)},n.buildFns(),n.config.changeRowClass=n.changeRowClass,n.$emit("vxGridSettingsBuilt",{id:n.vxConfig.id}),e=new Date;var g=null,x=null,C=48,p=n.vxConfig.latchExcess,S=0,m=!1,h=0;n.config.hybridDeleteRows=function(e){window.requestAnimFrame(function(){angular.forEach(e,function(e){var t=angular.element(document.getElementById(e));t.remove(),n.vxColSettings.inlineEditState[e]=!1,n.vxColSettings.rowSelected[e]=!1,n.vxColSettings.saveInProgress[e]=!1}),n._origData=_.reject(n._origData,function(t){return 1==_.contains(e,t[n.vxColSettings.primaryId])}),n.vxConfig.vxFilteredData=_.reject(n.vxConfig.vxFilteredData,function(t){return 1==_.contains(e,t[n.vxColSettings.primaryId])}),n.vxConfig.vxData=_.reject(n.vxConfig.vxData,function(t){return 1==_.contains(e,t[n.vxColSettings.primaryId])}),n.vxColSettings.multiSelected=_.difference(n.vxColSettings.multiSelected,e);var t=angular.element(document.getElementById("_vxMulLength"+n.vxConfig.id));"undefined"!=typeof t&&null!=t&&t.length>0&&$(t).text(d("vxNumberFixedLen")(n.vxColSettings.multiSelected.length,2)),n.$$phase||n.$apply()})},n.hybridUpdateRows=function(e){angular.forEach(e,function(e){var t=n.hybridGetRowTmpl(e),i=angular.element(document.getElementById(t.rowId));i.empty(),i.replaceWith(t.rowTmpl),t.compile&&f(i.contents())(n)})},n.resetHybridGrid=function(){S=0,m=!1,h=0,n.prepHybrid()},n.prepHybrid=function(){g=angular.element(document.getElementById("_vxHybrid"+n.vxConfig.id)),x=angular.element(document.getElementById("_vxScrollContainer"+n.vxConfig.id)),g.empty();var e=x.height(),t=Math.ceil(e/C)+p,i=_.first(n.vxConfig.vxFilteredData,t);n.appendRows(i),S+=t,x.on("scroll",function(){n.debPep()})},n.prepForScrollInsertion=function(){var e=g.height()-(x.height()+x.scrollTop());if(x.scrollTop()>h&&(e<0&&(e=0),e0&&$(r).text(d("vxNumberFixedLen")(n.vxColSettings.multiSelected.length,2)),"function"==typeof n.config.rowSelectionCallback&&n.config.rowSelectionCallback(o)}else n.rowSelectionChanged(t)}})})}},e=new Date,1==n.vxConfig.hybrid&&(e=new Date,n.vxConfig.vxFilteredData=n.vxConfig.vxData||[],o(n.prepHybrid,100))},n.editRow=function(e){if(1==n.vxConfig.inlineEditSyncEnabled&&n.vxColSettings.multiSelected.length>0){var t=_.filter(n.vxColSettings.multiSelected,function(n){return 0==n.localeCompare(e)});"undefined"!=typeof t&&null!=t&&t.length>0&&_.each(n.vxColSettings.multiSelected,function(e){n.vxColSettings.inlineEditState[e]=!0})}n.vxColSettings.inlineEditState[e]=!0},n.editInProgressCount=function(){var e=0;if("undefined"!=typeof n.vxColSettings.inlineEditState&&null!=n.vxColSettings.inlineEditState)for(var t in n.vxColSettings.inlineEditState)e=1==n.vxColSettings.inlineEditState[t]?e+1:e;return e},n.$on("vxInlineEditFieldChange",function(e,t){if(1==n.vxConfig.inlineEditSyncEnabled){var i=_.filter(n.vxColSettings.multiSelected,function(e){return 0==e.localeCompare(t.rowId)});"undefined"!=typeof i&&null!=i&&i.length>0&&_.each(n.vxColSettings.multiSelected,function(e){var i=_.find(n.vxConfig.vxData,function(t){return t[n.vxColSettings.primaryId]==e});"undefined"!=typeof i&&null!=i&&1==n.vxColSettings.inlineEditState[e]&&(i[t.field]=t.value)})}}),n.savingRows=function(e){var t=_.find(n.vxConfig.vxData,function(t){return t[n.vxColSettings.primaryId]==e});if("undefined"!=typeof t&&1==t.newRow)if(1==n.vxConfig.inlineSaveOverrideEnabled){n.vxColSettings.saveInProgress[e]=!0;var i=a.defer();i.promise.then(function(i){"undefined"!=typeof t.row&&1==i.save?(t.newRow=!1,_.each(n.vxConfig.columnDefConfigs,function(e){t[e.id]=i.row[e.id]})):n.vxConfig.data.unshift(t),n.vxColSettings.inlineEditState[e]="undefined"==typeof i.save||null==i.save||1!=i.save,n.$emit("vxGridRowSave",{id:n.vxConfig.id,data:t,save:!n.vxColSettings.inlineEditState[e]}),n.vxColSettings.saveInProgress[e]=!1},function(i){n.vxColSettings.saveInProgress[e]=!1,n.vxColSettings.inlineEditState[e]=!0,t.newRow=!0}),i.resolve(n.config.fnInlineSaveOverride(t,null))}else"undefined"!=typeof o?_.each(n.vxConfig.columnDefConfigs,function(e){o[e.id]=t[e.id]}):n.vxConfig.data.unshift(t),n.vxColSettings.inlineEditState[e]=!1,n.$emit("vxGridRowSaved",{id:n.vxConfig.id,data:t});else{var o=_.find(n.vxConfig.data,function(t){return t[n.vxColSettings.primaryId]==e});if("undefined"!=typeof t&&"undefined"!=typeof o&&1==n.vxConfig.inlineSaveOverrideEnabled){n.vxColSettings.saveInProgress[e]=!0;var i=a.defer();i.promise.then(function(i){"undefined"!=typeof i.row&&1==i.save&&_.each(n.vxColSettings.colWithInlineEdits,function(e){o[e]=i.row[e]}),n.vxColSettings.inlineEditState[e]="undefined"==typeof i.save||null==i.save||1!=i.save,n.$emit("vxGridRowSave",{id:n.vxConfig.id,data:t,save:!n.vxColSettings.inlineEditState[e]}),n.vxColSettings.saveInProgress[e]=!1},function(t){n.vxColSettings.saveInProgress[e]=!1,n.vxColSettings.inlineEditState[e]=!0}),i.resolve(n.config.fnInlineSaveOverride(t,o))}}},n.saveRow=function(e){var t=!1;if(1==n.vxConfig.inlineEditSyncEnabled){var i=_.filter(n.vxColSettings.multiSelected,function(n){return 0==n.localeCompare(e)});"undefined"!=typeof i&&null!=i&&i.length>0&&_.each(n.vxColSettings.multiSelected,function(e){n.savingRows(e),t=!0})}t||n.savingRows(e)},n.revertEdits=function(){if("undefined"!=typeof n.vxColSettings.multiSelected&&null!=n.vxColSettings.multiSelected&n.vxColSettings.multiSelected.length>0&&(_.each(n.vxColSettings.multiSelected,function(e){if(n.revertEditForRow(e),n.vxColSettings.rowSelected[e]=!1,1==n.vxConfig.hybrid){var t=angular.element(document.getElementById("vx_row-sel_in_"+e));"undefined"!=typeof t&&null!=t&&t.length>0&&$(t).prop("checked",!1)}}),n.vxColSettings.multiSelected=[],1==n.vxConfig.hybrid)){var e=angular.element(document.getElementById("_vxMulLength"+n.vxConfig.id));"undefined"!=typeof e&&null!=e&&e.length>0&&$(e).text(d("vxNumberFixedLen")(n.vxColSettings.multiSelected.length,2))}},n.revertEditForRow=function(e){var t=_.find(n.vxConfig.vxData,function(t){return t[n.vxColSettings.primaryId]==e});if("undefined"!=typeof t&&1==t.newRow){if(n.vxColSettings.inlineEditState[e]=!1,n.vxColSettings.rowSelected[e]=!1,1==n.vxConfig.hybrid){var i=angular.element(document.getElementById("vx_row-sel_in_"+e));"undefined"!=typeof i&&null!=i&&i.length>0&&$(i).prop("checked",!1)}if(n.vxColSettings.multiSelected=_.reject(n.vxColSettings.multiSelected,function(n){0==e.localeCompare(n)}),n.vxConfig.vxData=_.reject(n.vxConfig.vxData,function(t){return 0==t[n.vxColSettings.primaryId].localeCompare(e)}),n.$emit("vxGridRowEditRevert",{id:n.vxConfig.id,data:t}),1==n.vxConfig.hybrid){var o=angular.element(document.getElementById("_vxMulLength"+n.vxConfig.id));"undefined"!=typeof o&&null!=o&&o.length>0&&$(o).text(d("vxNumberFixedLen")(n.vxColSettings.multiSelected.length,2))}}else{var l=_.find(n.vxConfig.data,function(t){return t[n.vxColSettings.primaryId]==e});if("undefined"!=typeof t&&"undefined"!=typeof l){if(_.each(n.vxColSettings.colWithInlineEdits,function(e){t[e]=l[e]}),n.vxColSettings.inlineEditState[e]=!1,n.vxColSettings.rowSelected[e]=!1,1==n.vxConfig.hybrid){var i=angular.element(document.getElementById("vx_row-sel_in_"+e));"undefined"!=typeof i&&null!=i&&i.length>0&&$(i).prop("checked",!1)}if(n.vxColSettings.multiSelected=_.reject(n.vxColSettings.multiSelected,function(n){0==e.localeCompare(n)}),n.$emit("vxGridRowEditRevert",{id:n.vxConfig.id,data:l}),1==n.vxConfig.hybrid){var o=angular.element(document.getElementById("_vxMulLength"+n.vxConfig.id));"undefined"!=typeof o&&null!=o&&o.length>0&&$(o).text(d("vxNumberFixedLen")(n.vxColSettings.multiSelected.length,2))}}}},n.addNewRow=function(){n.vxConfig.sortPredicate="_vxCreated",n.vxConfig.sortPredicateFn="_vxCreated",n.vxConfig.reverseSortDirection=!0;var t=angular.copy(n.vxConfig.newRowTemplate),i=e();t[n.vxColSettings.primaryId]=i,t.newRow=!0,t._vxCreated=(new Date).getTime(),n.vxColSettings.inlineEditState[i]=!0,n.vxConfig.vxData.unshift(t)},n.deleteRows=function(){if("undefined"!=typeof n.vxColSettings.multiSelected&&null!=n.vxColSettings.multiSelected&n.vxColSettings.multiSelected.length>0)if(1==n.vxConfig.inlineDeleteOverrideEnabled){_.each(n.vxColSettings.multiSelected,function(e){n.vxColSettings.saveInProgress[e]=!0});var e=a.defer(),t=angular.copy(_.filter(n.vxConfig.vxData,function(e){return 1==_.contains(n.vxColSettings.multiSelected,e[n.vxColSettings.primaryId])}));e.promise.then(function(e){if(e.rows.length>0){var t=_.map(e.rows,function(e){return e[n.vxColSettings.primaryId]});if(n.vxConfig.vxData=_.reject(n.vxConfig.vxData,function(e){return 1==_.contains(t,e[n.vxColSettings.primaryId])}),n.$emit("vxGridRowsDeleted",{id:n.vxConfig.id,data:t}),_.each(t,function(e){n.vxColSettings.inlineEditState[e]=!1,n.vxColSettings.rowSelected[e]=!1,n.vxColSettings.saveInProgress[e]=!1}),n.vxColSettings.multiSelected=_.difference(n.vxColSettings.multiSelected,t),1==n.vxConfig.hybrid){var i=angular.element(document.getElementById("_vxMulLength"+n.vxConfig.id));"undefined"!=typeof i&&null!=i&&i.length>0&&$(i).text(d("vxNumberFixedLen")(n.vxColSettings.multiSelected.length,2))}}},function(e){}).then(function(){_.each(n.vxColSettings.multiSelected,function(e){n.vxColSettings.saveInProgress[e]=!1})}),e.resolve(n.config.fnInlineDeleteOverride(t))}else if(n.vxConfig.vxData=_.reject(n.vxConfig.vxData,function(e){return 1==_.contains(n.vxColSettings.multiSelected,e[n.vxColSettings.primaryId])}),n.$emit("vxGridRowsDeleted",{id:n.vxConfig.id,data:n.vxColSettings.multiSelected}),_.each(n.vxColSettings.multiSelected,function(e){n.vxColSettings.inlineEditState[e]=!1,n.vxColSettings.rowSelected[e]=!1}),n.vxColSettings.multiSelected=[],1==n.vxConfig.hybrid){var i=angular.element(document.getElementById("_vxMulLength"+n.vxConfig.id));"undefined"!=typeof i&&null!=i&&i.length>0&&$(i).text(d("vxNumberFixedLen")(n.vxColSettings.multiSelected.length,2))}},n.activatePage=function(e){n.vxColSettings.activePage=e,n.vxColSettings.vxPageStartPosition=e>0?e*n.vxConfig.pageLength:0,n.vxColSettings.allRowSelected=!1},n.debouncedSearch=_.debounce(function(){n.vxColSettings.xsSearch=angular.copy(n.vxColSettings.searchToken)},50),n.keyUpSearch=function(e){13==e.keyCode?n.vxColSettings.xsSearch=angular.copy(n.vxColSettings.searchToken):8==e.keyCode&&""==n.vxColSettings.searchToken&&(n.vxColSettings.xsSearch=angular.copy(n.vxColSettings.searchToken))},n.filtTokenChange=function(e){n.vxColSettings.filterSearchToken[e]=n.vxColSettings.enteredSearchToken[e],_.each(n.vxConfig.columnDefConfigs,function(n){n.id==e&&(n.filterLimit=10,u[e]=0)})},n.debFiltTokenChange=_.debounce(n.filtTokenChange,10),n.filterTokenChnagedRapid=function(e){""==n.vxColSettings.enteredSearchToken[e]?(_.each(n.vxConfig.columnDefConfigs,function(n){n.id==e&&(n.filterLimit=10,u[e]=0)}),n.vxColSettings.filterSearchToken[e]=""):n.debFiltTokenChange(e)},n.filterAssignVar=function(e){var t=angular.element(document.getElementById(e+"_searchfilters_"+n.vxConfig.id));"undefined"!=typeof t&&t.length>0&&(n.vxColSettings.filterSearchToken[e]=t[0].value,_.each(n.vxConfig.columnDefConfigs,function(n){n.id==e&&(n.filterLimit=10,u[e]=0)}))},n.isValidHeaderName=function(e,n){return 0==e.renderHeadDefn&&"undefined"!=typeof n&&null!=n&&""!=n},n.headerClick=function(e,t){var i=!0,l=$(t.target);if("undefined"!=typeof l&&null!=l&l.length>0){var r=l.closest("ul.dropdown-menu");"undefined"!=typeof r&&null!=r&r.length>0&&(i=!1)}if(0!=i){var d=n.selfEle.find(".vxTableScrollContainer"),a=(n.selfEle.find(".vxHeadRowCell .dropdown ul.dropdown-menu"),n.getWindowDimensions().h/2);_.each(n.selfEle.find(".vxHeadRowCell .dropdown ul.dropdown-menu"),function(e){var n=Math.min(Math.floor(d.height())-48,a); +$(e).css("max-height",n+"px")}),_.each(n.vxConfig.columnDefConfigs,function(t){0!=t.id.localeCompare(e.id)&&(n.vxColSettings.dropdDownOpen[t.id]=!1)});var f=_.find(n.vxConfig.columnDefConfigs,function(n){return 0==n.id.localeCompare(e.id)});if("undefined"!=typeof f&&null!=f)if(0==n.vxColSettings.dropdDownEnabled[f.id])n.sortClick(e);else{n.vxColSettings.dropdDownLoaded[f.id]=!1,n.vxColSettings.dropdDownOpen[f.id]=!n.vxColSettings.dropdDownOpen[f.id];var c=_.filter(n.multiBoxFilters,function(e){return 0!=e.col.localeCompare(f.id)}),s=c.length>0,g=!1;"undefined"!=typeof n.vxColSettings.colFilterPairs[f.id]&&null!=n.vxColSettings.colFilterPairs[f.id]&&n.vxColSettings.colFilterPairs[f.id]!={}&&n.vxColSettings.colFilterPairs[f.id].length>0&&(g=!0),0==s&&1==g?(n.vxColSettings.dropdDownLoaded[f.id]=!0,_.each(n.vxColSettings.colFilterPairs[f.id],function(e){e.disabled=!1})):o(function(){if(f.idCollection=[],1==f.ddSort&&(n.vxColSettings.dropDownSort[f.id]=!0,f.idCollection.push(n.vxConfig.id+"_"+f.id+"_sort")),1==f.ddGroup&&1!=n.vxConfig.hybrid&&(n.vxColSettings.dropDownGroup[f.id]=!0,f.idCollection.push(n.vxConfig.id+"_"+f.id+"_group"),f.idCollection.push(n.vxConfig.id+"_"+f.id+"_ungroup")),1==f.ddFilters){if(f.idCollection.push(n.vxConfig.id+"_"+f.id+"_clearfilters"),f.idCollection.push(f.id+"_searchfilters_"+n.vxConfig.id),f.idCollection.push(f.id+"_invokesearchfilters_"+n.vxConfig.id),0==g){n.vxColSettings.dropDownFilters[f.id]=!0,n.vxColSettings.colFilterPairs[f.id]=[];var t=[],i=_.uniq(_.map(n.vxConfig.vxData,function(e){var n={value:e[f.id],type:""};return"undefined"!=typeof n.value&&null!=n.value&&n.value!={}&&"object"!=typeof n.value&&"number"!=typeof n.value&&"boolean"!=typeof n.value?n.value=n.value.trim():"boolean"==typeof n.value?n.value=n.value.toString().trim():"[object Date]"===Object.prototype.toString.call(n.value)&&(n.value=n.value.getTime(),n.type="date"),n}),function(e){return e.value});i=_.reject(i,function(e){return"undefined"==typeof e.value||e.value=={}}),_.each(i.sort(),function(e,i){var o=v(e,f.id,"col"),l=o.key,r=o.type,d=""===e.value||" "===e.value?"< blank >":e.value;d=null==e.value?" < null >":d;var a={key:l,label:e.value,name:d,col:f.id,type:r,disabled:!1,action:"filter"};"undefined"!=typeof f.filterCellDefn&&null!=f.filterCellDefn&&f.filterCellDefn!={}&&""!=f.filterCellDefn?(a.filterDefn=f.filterCellDefn.replaceAll("VX_DATA_POINT","filter.name"),a.filterDefnAvailable=!0):a.filterDefnAvailable=!1,t.push(a),f.idCollection.push(n.vxConfig.id+"_"+f.id+"_filter_"+i),n.vxColSettings.colFiltersStatus[l]=!1}),t=_.sortBy(t,"label"),_.each(t,function(e){n.vxColSettings.colFilterPairs[f.id].push(e)}),n.vxColSettings.filterSearchToken[f.id]="",n.vxColSettings.colFiltersActivated[f.id]=!1}else{var i=_.uniq(_.map(n.vxConfig.vxFilteredData,function(e){return"[object Date]"===Object.prototype.toString.call(e[f.id])?e[f.id].getTime():"[object Boolean]"===Object.prototype.toString.call(e[f.id])?e[f.id].toString():e[f.id]}));_.each(n.vxColSettings.colFilterPairs[f.id],function(e){1!=_.contains(i,e.label)?e.disabled=!0:e.disabled=!1})}if(1==s){var o=_.last(n.multiBoxFilters),i=_.uniq(_.map(n.vxConfig.vxFilteredData,function(e){return"[object Date]"===Object.prototype.toString.call(e[f.id])?e[f.id].getTime():"[object Boolean]"===Object.prototype.toString.call(e[f.id])?e[f.id].toString():e[f.id]}));0!=o.col.localeCompare(f.id)&&_.each(n.vxColSettings.colFilterPairs[f.id],function(e){1!=_.contains(i,e.label)?e.disabled=!0:e.disabled=!1})}u[f.id]=0,e.filterLimit=10;var l=angular.element(document.getElementById(n.vxConfig.id+"-dropdwon-menu-"+f.id));l.on("scroll",function(e){var t=f.id,i=$(e.target).scrollTop();i>u[t]&&(n.debouncedIncrementFilter(t),u[t]=i)})}n.vxColSettings.dropdDownLoaded[f.id]=!0},500)}}},n.debouncedIncrementFilter=_.throttle(c,500),n.sortClick=function(e){var t=_.find(n.vxConfig.columnDefConfigs,function(n){return 0==n.id.localeCompare(e.id)});"undefined"!=typeof t&&null!=t&&t.ddSort&&(0!=n.vxConfig.sortPredicate.localeCompare(t.id)&&(n.vxConfig.sortPredicate=t.id,t.customSortEnabled?n.vxConfig.sortPredicateFn=t.customSortFn:n.vxConfig.sortPredicateFn=t.id),n.vxColSettings.reverseSettings[t.id]=!n.vxColSettings.reverseSettings[t.id],n.vxConfig.reverseSortDirection=n.vxColSettings.reverseSettings[t.id],1==n.vxConfig.hybrid&&(n.vxConfig.vxFilteredData=_.sortBy(n.vxConfig.vxFilteredData,n.vxConfig.sortPredicateFn),1==n.vxConfig.reverseSortDirection&&n.vxConfig.vxFilteredData.reverse(),n.resetHybridGrid()))},n.getVisibleHeaderCounts=function(){return _.filter(n.vxConfig.columnDefConfigs,function(e){return 1!=e.hidden}).length},n.groupClick=function(e){if(n.clearFilters(),1!=n.vxColSettings.groupByColActivated[e.id]){n.vxConfig.sortPredicate=null;var t=[],i=e.id,o=e.columnName,l=_.uniq(_.pluck(n.vxConfig.vxData,i)),r=_.groupBy(_.sortBy(n.vxConfig.vxData,i),i);n.vxColSettings.groupKeys[i]=[],_.each(l,function(e){var l=v(e,i,"groupcol").key;if(n.vxColSettings.groupKeys[i].push(l),r[e].length>0){n.vxColSettings.groupPredicate[l]=!1;var d={type:"groupRow",colName:o,col:i,value:e,groupId:l,cellDefn:'
'};d.cellDefn=d.cellDefn.replaceAll("VX_ROW_POINT","vxColSettings.groupPredicate[row.groupId]"),t.push(d),t=_.union(t,r[e])}}),n.vxConfig.vxData=t,n.vxColSettings.groupByColActivated[e.id]=!0}},n.unGroupClick=function(e){if(n.clearFilters(),1==n.vxColSettings.groupByColActivated[e.id]){var t=_.find(n.vxConfig.columnDefConfigs,function(n){return 0==n.id.localeCompare(e.id)});"undefined"!=typeof t&&null!=t&&(n.vxConfig.sortPredicate=t.id,t.customSortEnabled?n.vxConfig.sortPredicateFn=t.customSortFn:n.vxConfig.sortPredicateFn=t.id),n.vxConfig.vxData=_.reject(n.vxConfig.vxData,function(e){return"undefined"!=typeof e.type&&null!=e.type&&0==e.type.localeCompare("groupRow")}),n.vxColSettings.groupByColActivated[e.id]=!1}},n.getAllRowLength=function(){if(n.config.noData)return 0;if(1==n.vxConfig.hybrid)return n._origData.length;var e=_.filter(n.vxConfig.vxData,function(e){return"undefined"==typeof e.type||null==e.type||0!=e.type.localeCompare("groupRow")||1==e.fillEmptyElement}).length;return e},n.removeGroupings=function(){_.each(n.vxConfig.columnDefConfigs,function(e){n.unGroupClick(e)}),n.vxColSettings.groupPredicate={}},n.groupSelectionChanged=function(e){n.emitArray=[];var t=n.vxColSettings.groupPredicate[e.groupId],i=_.filter(n.vxConfig.vxFilteredData,function(n){return"groupRow"!=n.type&&0==n[e.col].localeCompare(e.value)});if(_.each(i,function(e){if(0==n.vxColSettings.multiSelColDependent||1==n.vxColSettings.multiSelColDependent&&0==e[n.vxConfig.multiSelectionDependentCol]){var i=e[n.vxColSettings.primaryId];if(n.vxColSettings.rowSelected[i]!=t){n.vxColSettings.rowSelected[i]=t;({key:e[n.vxConfig.onSelectionReturnCol],value:n.vxColSettings.rowSelected[i],_pKey:i});n.emitArray.push(i),t?n.vxColSettings.multiSelected.push(i):n.vxColSettings.multiSelected=_.reject(n.vxColSettings.multiSelected,function(e){return 0==e.localeCompare(i)})}}}),1==n.vxConfig.hybrid){var o=angular.element(document.getElementById("_vxMulLength"+n.vxConfig.id));"undefined"!=typeof o&&null!=o&&o.length>0&&$(o).text(d("vxNumberFixedLen")(n.vxColSettings.multiSelected.length,2))}n.$emit("vxGridRwSelectionChange",{id:n.vxConfig.id,data:n.emitArray})},n.allRowSelectionChanged=function(){var e=n.vxColSettings.allRowSelected;if(1==e){if(_.each(n.vxConfig.vxFilteredData,function(t,i){var o=!0;if(1==n.vxConfig.pagination&&0==n.vxConfig.virtualization&&(i>=n.vxColSettings.vxPageStartPosition&&i0&&$(r).prop("checked",!0)}}}),_.each(n.vxConfig.columnDefConfigs,function(e){1==n.vxColSettings.dropDownGroup[e.id]&&1==n.vxColSettings.groupByColActivated[e.id]&&_.each(n.vxColSettings.groupKeys[e.id],function(e){n.vxColSettings.groupPredicate[e]=!0})}),n.vxColSettings.multiSelected=_.reject(n.vxColSettings.multiSelected,function(e){return"undefined"==typeof e||null==e||e=={}}),1==n.vxConfig.hybrid){var t=angular.element(document.getElementById("_vxMulLength"+n.vxConfig.id));"undefined"!=typeof t&&null!=t&&t.length>0&&$(t).text(d("vxNumberFixedLen")(n.vxColSettings.multiSelected.length,2))}n.$emit("vxGridRowAllSelectionChange",{id:n.vxConfig.id,data:{toggledTo:e,array:n.vxColSettings.multiSelected}})}else 0==e&&(n.clearSelection(),n.$emit("vxGridRowAllSelectionChange",{id:n.vxConfig.id,data:{toggledTo:e,array:n.vxColSettings.multiSelected}}));if(1==n.vxConfig.hybrid){var t=angular.element(document.getElementById("_vxMulLength"+n.vxConfig.id));"undefined"!=typeof t&&null!=t&&t.length>0&&$(t).text(d("vxNumberFixedLen")(n.vxColSettings.multiSelected.length,2))}},n.rowSelectionChanged=function(e){var t=e,i=_.find(n.vxConfig.vxData,function(t){return t[n.vxColSettings.primaryId]==e}),o={key:i[n.vxConfig.onSelectionReturnCol],value:n.vxColSettings.rowSelected[t],_pKey:t},l=!0;if(1==n.vxColSettings.rowSelected[t]&&1==n.vxColSettings.multiSelColDependent){l=!1;var r=n.vxConfig.multiSelectionDependentCol;if(1==i[r]&&0==n.vxColSettings.multiSelected.length)l=!0;else if(0==i[r]&&n.vxColSettings.multiSelected.length>=1){var a=n.vxColSettings.multiSelected[0],f=_.find(n.vxConfig.vxData,function(e){return 0==e[n.vxColSettings.primaryId].localeCompare(a)});"undefined"!=typeof f&&null!=f&&f!={}&&1==f[r]?(l=!1,n.vxColSettings.rowSelected[t]=!1):l=!0}else 0==i[r]?l=!0:n.vxColSettings.rowSelected[t]=!1}else 0==n.vxColSettings.rowSelected[t]&&(n.vxColSettings.multiSelected=_.reject(n.vxColSettings.multiSelected,function(e){return 0==e.localeCompare(t)}),l=!1,n.vxColSettings.allRowSelected=!1,n.$emit("vxGridRowSelectionChange",{id:n.vxConfig.id,data:o}));if(l){var c=_.find(n.vxColSettings.multiSelected,function(e){return 0==e.localeCompare(t)});"undefined"!=typeof c&&null!=c||n.vxColSettings.multiSelected.push(t),n.$emit("vxGridRowSelectionChange",{id:n.vxConfig.id,data:o}),0==n.vxConfig.multiSelectionEnabled&&(_.each(n.vxColSettings.multiSelected,function(e){0!=e.localeCompare(t)&&(n.vxColSettings.rowSelected[e]=!1)}),n.vxColSettings.multiSelected=_.reject(n.vxColSettings.multiSelected,function(e){return 0!=e.localeCompare(t)}))}if(1==n.vxConfig.hybrid){var v=angular.element(document.getElementById("_vxMulLength"+n.vxConfig.id));"undefined"!=typeof v&&null!=v&&v.length>0&&$(v).text(d("vxNumberFixedLen")(n.vxColSettings.multiSelected.length,2))}},n.filterClick=function(e,t){0==n.vxConfig.preserveSelectionOnFilters&&n.clearSelection();var i=n.vxColSettings.colFiltersStatus[t.key];if(0==i){n.multiBoxFilters=_.reject(n.multiBoxFilters,function(e){return 0==e.key.localeCompare(t.key)});var o=_.find(n.multiBoxFilters,function(e){return 0==e.col.localeCompare(t.col)});"undefined"!=typeof o&&null!=o&&o!={}&&0!=o.length||(n.vxColSettings.colFiltersActivated[e.id]=!1)}else{var l=_.find(n.multiBoxFilters,function(e){return 0==e.key.localeCompare(t.key)});"undefined"!=typeof l&&null!=l&&l!={}||n.multiBoxFilters.push(t),n.vxColSettings.colFiltersActivated[e.id]=!0}1==n.vxConfig.hybrid&&(n.vxConfig.vxFilteredData=d("vxGridMultiBoxFilters")(n._origData,n.multiBoxFilters),n.resetHybridGrid())},n.filterClearClick=function(e){if(1==n.vxColSettings.colFiltersActivated[e.id]){n.clearSelection();var t=_.filter(n.multiBoxFilters,function(n){return 0==n.col.localeCompare(e.id)});t.length>0&&_.each(t,function(e){n.vxColSettings.colFiltersStatus[e.key]=!1}),n.multiBoxFilters=_.reject(n.multiBoxFilters,function(n){return 0==n.col.localeCompare(e.id)}),n.vxColSettings.colFiltersActivated[e.id]=!1,n.vxColSettings.filterSearchToken[e.id]=""}if(""!=n.vxColSettings.filterSearchToken[e.id]){n.vxColSettings.filterSearchToken[e.id]="";var i=angular.element(document.getElementById(e.id+"_searchfilters_"+n.vxConfig.id));"undefined"!=typeof i&&i.length>0&&(i[0].value="")}1==n.vxConfig.hybrid&&(n.vxConfig.vxFilteredData=d("vxGridMultiBoxFilters")(n._origData,n.multiBoxFilters),n.resetHybridGrid())},n.clearFilters=function(){n.multiBoxFilters.length>0&&_.each(n.vxConfig.columnDefConfigs,function(e){n.filterClearClick(e)}),n.multiBoxFilters=[]},n.selectAllFiltered=function(){n.vxColSettings.multiSelected.length>0&&n.clearSelection(),n.emitArray=[];var e="";1!=n.vxConfig.hybrid?e="vxFilteredData":(n.vxConfig.hybrid=!0)&&(e="vxFilteredData"),_.each(n.vxConfig[e],function(e){if(0==n.vxColSettings.multiSelColDependent||1==n.vxColSettings.multiSelColDependent&&0==e[n.vxConfig.multiSelectionDependentCol]){if(n.vxColSettings.rowSelected[e[n.vxColSettings.primaryId]]=!0,1==n.vxConfig.hybrid){var t=angular.element(document.getElementById("vx_row-sel_in_"+e[n.vxColSettings.primaryId]));"undefined"!=typeof t&&null!=t&&t.length>0&&$(t).prop("checked",!0)}var i=e[n.vxColSettings.primaryId],o={key:e[n.vxConfig.onSelectionReturnCol],value:n.vxColSettings.rowSelected[i],_pKey:i};if(n.emitArray.push(o),1==n.vxColSettings.rowSelected[i]){var l=_.find(n.vxColSettings.multiSelected,function(e){return 0==e.localeCompare(i)});"undefined"!=typeof l&&null!=l||n.vxColSettings.multiSelected.push(i)}}}),n.$emit("vxGridRowMultiSelectionChange",{id:n.vxConfig.id,data:n.emitArray})},n.clearSelection=function(){if(n.emitArray=[],_.each(n.vxColSettings.multiSelected,function(e){if(n.vxColSettings.rowSelected[e]=!1,1==n.vxConfig.hybrid){var t=angular.element(document.getElementById("vx_row-sel_in_"+e));"undefined"!=typeof t&&null!=t&&t.length>0&&$(t).prop("checked",!1)}var i=_.find(n.vxConfig.vxData,function(t){return"groupRow"!=t.type&&0==t[n.vxColSettings.primaryId].localeCompare(e)});if("undefined"!=typeof i&&null!=i){var o={key:i[n.vxConfig.onSelectionReturnCol],value:n.vxColSettings.rowSelected[e],_pKey:e};n.emitArray.push(o)}n.vxColSettings.multiSelected=[],n.vxColSettings.allRowSelected=!1,_.each(n.vxConfig.columnDefConfigs,function(e){1==n.vxColSettings.dropDownGroup[e.id]&&1==n.vxColSettings.groupByColActivated[e.id]&&_.each(n.vxColSettings.groupKeys[e.id],function(e){n.vxColSettings.groupPredicate[e]=!1})})}),1==n.vxConfig.hybrid){var e=angular.element(document.getElementById("_vxMulLength"+n.vxConfig.id));"undefined"!=typeof e&&null!=e&&e.length>0&&$(e).text(d("vxNumberFixedLen")(n.vxColSettings.multiSelected.length,2))}n.$emit("vxGridRowMultiSelectionChange",{id:n.vxConfig.id,data:n.emitArray})},n.upDownKeyDownHandlerHeaderMenu=function(e,t){if(40==e.keyCode||27==e.keyCode)if(40==e.keyCode){var i=$(e.target).siblings().find('[tabindex="0"]');i.length>0&&$(i[0]).focus()}else if(27==e.keyCode&&1==n.vxColSettings.dropdDownOpen[t]){n.vxColSettings.dropdDownOpen[t]=!1;var o=$(e.target).closest(".dropdown").find("button");o&&o.length>0&&$(o).focus()}},n.findIdToBeFocussed=function(e,n,t){var i=e;if(t)for(i+1==n.length&&(i=-1);i<=n.length;){var o=$("#"+n[i+1]);if($(o).is('[tabindex="0"]'))return n[i+1];i+=1}else if(!t)for(0==i&&(i=n.length);i>=1;){var o=$("#"+n[i-1]);if($(o).is('[tabindex="0"]'))return n[i-1];i-=1}return e},n.findFocussable=function(e,t,i){var o=$(e).attr("id"),l=_.find(n.vxConfig.columnDefConfigs,function(e){return e.id==t});if("undefined"!=typeof l&&null!=l){var r=l.idCollection,d=_.indexOf(r,o);return d!=-1&&d!=r.length&&1==i?n.findIdToBeFocussed(d,r,!0):d!=-1&&0==i?n.findIdToBeFocussed(d,r,!1):null}},n.shiftKeyPressed=!1,n.upDowKeyUpHandlerHeaderMenuItems=function(e,t){16==e.keyCode&&(n.shiftKeyPressed=!1)},n.upDowKeyDownHandlerHeaderMenuItems=function(e,t){var i=!1;if(16==e.keyCode&&(n.shiftKeyPressed=!0),40!=e.keyCode&&38!=e.keyCode&&27!=e.keyCode&&9!=e.keyCode)return!1;if(40==e.keyCode||9==e.keyCode&&0==n.shiftKeyPressed){var o=n.findFocussable($(e.target),t,!0);$("#"+o).is('[tabindex="0"]')&&$("#"+o).focus(),i=!0}else if(38==e.keyCode||9==e.keyCode&&1==n.shiftKeyPressed){var o=n.findFocussable($(e.target),t,!1);null==o?$(e.target).closest(".dropdown").find("button").focus():$("#"+o).is('[tabindex="0"]')&&$("#"+o).focus(),i=!0}else if(27==e.keyCode&&1==n.vxColSettings.dropdDownOpen[t]){n.vxColSettings.dropdDownOpen[t]=!1;var l=$(e.target).closest(".dropdown").find("button");l&&l.length>0&&$(l).focus()}i&&(e.stopPropagation(),e.preventDefault())},n.openManageColumns=function(){var e=t.open({templateUrl:"template/vx-grid/vx-grid-manage-columns-modal.html",windowClass:"vxGridManageColMod",controller:["$scope","$uibModalInstance","originalSettings",function(e,n,t){e.headerSelected=null,e.headerSelectedForVisChange=null,e.copyForWidthVisChange=t,_.each(e.copyForWidthVisChange,function(e,n){e.order=n,e.chars=Math.ceil((e.width-20)/7),e.selected=!1}),e.swapAbove=function(n){if(0==n.locked){var t=n.order,i=n.order,o=!0;do{i-=1,o=!0;var l=_.find(e.copyForWidthVisChange,function(e){return e.order==i&&0==e.orderLocked});"undefined"!=typeof l&&null!=l&&l!={}||(o=!1)}while(!o&&i>=0);if(o&&i>=0){var l=_.find(e.copyForWidthVisChange,function(e){return e.order==i&&0==e.orderLocked});"undefined"!=typeof l&&null!=l&&l!={}&&(l.order=t,n.order=i)}}},e.swapBelow=function(n){if(0==n.locked){var t=n.order,i=n.order,o=!0;do{i+=1,o=!0;var l=_.find(e.copyForWidthVisChange,function(e){return e.order==i&&0==e.orderLocked});"undefined"!=typeof l&&null!=l&&l!={}||(o=!1)}while(!o&&i<=e.copyForWidthVisChange.length-1);if(o&&i<=e.copyForWidthVisChange.length-1){var l=_.find(e.copyForWidthVisChange,function(e){return e.order==i&&0==e.orderLocked});"undefined"!=typeof l&&null!=l&&l!={}&&(l.order=t,n.order=i)}}},e.makeVisible=function(n){var t=_.find(e.copyForWidthVisChange,function(e){return 0==e.id.localeCompare(n.id)});"undefined"!=typeof t&&null!=t&&t!={}&&0==t.visbilityLocked&&(t.hidden=!1)},e.makeHidden=function(n){var t=_.find(e.copyForWidthVisChange,function(e){return 0==e.id.localeCompare(n.id)});"undefined"!=typeof t&&null!=t&&t!={}&&0==t.visbilityLocked&&(t.hidden=!0)},e.saveChangeInConfig=function(){var t=[];t=_.sortBy(e.copyForWidthVisChange,function(n){var t=_.find(e.copyForWidthVisChange,function(e){return 0==e.id.localeCompare(n.id)});return"undefined"!=typeof t&&null!=t&&t!={}?t.order:1}),n.close(t)},e.widthChanged=function(e){e.width=Math.ceil(7*e.chars)+20},e.selectHeader=function(n){1!=n.locked&&(n.selected=!n.selected,_.each(e.copyForWidthVisChange,function(e){0!=e.id.localeCompare(n.id)&&(e.selected=!1)}),1==n.selected?e.headerSelected=n:e.headerSelected=null)},e.cancelChangeInConfig=function(){n.dismiss()},e.upDownKeyPressHandler=function(n){var t=!1;38!=n.keyCode&&40!=n.keyCode||(t=e.upDownMovement(n)),t&&(n.stopPropagation(),n.preventDefault())},e.upDownMovement=function(e){var n=!1;if(38==e.keyCode){var t=$(e.target).prev();t.length>0&&$(t[0]).attr("tabindex")!=-1&&$(t)[0].focus(),n=!0}else if(40==e.keyCode){var t=$(e.target).next();t.length>0&&$(t[0]).attr("tabindex")!=-1&&$(t)[0].focus(),n=!0}return n}}],backdrop:"static",resolve:{originalSettings:function(){return angular.copy(n.vxConfig.columnDefConfigs)}}});e.result.then(function(e){e=n.calculateEffectiveWidths(e),n.vxConfig.columnDefConfigs=e,1==n.vxConfig.hybrid&&n.resetHybridGrid(),n.$emit("vxGridSettingsChanged",{id:n.vxConfig.id,data:e})},function(e){})},n.calculateEffectiveWidths=function(e){var t=_.reduce(e,function(e,n){var t=0;return 0==n.hidden&&(t=parseInt(n.width)),e+t},0),i=n.selfEle.find(".vxTableScrollContainer").width(),o=0;return _.each(e,function(e){if(i>t){var n=parseInt(e.width)/t*(i-t);e.effectiveWidth=parseInt(e.width)+n}else e.effectiveWidth=e.width;e.effectiveWidth=Math.floor(e.effectiveWidth),o+=e.effectiveWidth}),e},n.openJsonEditor=function(){var e=t.open({templateUrl:"template/vx-grid/vx-grid-json-editor-modal.html",windowClass:"vxGridManageColMod",controller:["$scope","$modalInstance","griddata",function(e,n,t){e.data=angular.copy(t),e.changeData=[],e.configuration={editable:!0,viewButtonClass:"btn-info",editButtonClass:"btn-success"},e.jsonOptions={mode:"code",modes:["tree","form","code","text"],history:!1},e.onChangeJSON=function(n){e.changeData=n},e.saveChangeInConfig=function(){n.close(e.changeData)},e.cancelChangeInConfig=function(){n.dismiss()}}],backdrop:"static",resolve:{griddata:function(){return angular.copy(n.vxConfig.vxData)}}});e.result.then(function(e){n.vxConfig.vxData=e,n.$emit("vxGridDataChanged",{id:n.vxConfig.id,data:e})},function(e){})},n.revealWrapToggle=function(){n.vxColSettings.revealWrapRowData=!n.vxColSettings.revealWrapRowData},n.xsReset=function(){n.vxColSettings.xsSearch=""},n.justScrollTop=function(){var e=n.selfEle.find(".vxTableContainer.scrollTableContainer");o(function(){$(e).animate({scrollTop:0},500)},10)},n.justScrollDown=function(){var e=n.selfEle.find(".vxTableContainer.scrollTableContainer"),t=$(e).scrollTop()||0;0==n.vxConfig.hybrid?o(function(){$(e).animate({scrollTop:t+96},33)},10):1==n.vxConfig.hybrid&&(n.prepForScrollInsertion(),o(function(){$(e).animate({scrollTop:t+100},300)},10))},n.showScrollDownArrow=function(){var e=n.selfEle.find(".vxTableContainer.scrollTableContainer"),t=n.selfEle.find(".scrollTableContainer table.vxTable");return"undefined"!=typeof e&&"undefined"!=typeof t&&null!=e&&null!=t&&t.height()>e.height()},n.showScrollUpArrow=function(){var e=n.selfEle.find(".vxTableContainer.scrollTableContainer"),t=n.selfEle.find(".scrollTableContainer table.vxTable");return"undefined"!=typeof e&&"undefined"!=typeof t&&null!=e&&null!=t&&t.height()>e.height()&&e.scrollTop()>48},n.outsideHeader=function(e){1==n.vxColSettings.dropdDownOpen[e.id]&&(n.vxColSettings.dropdDownOpen[e.id]=!1,n.$$phase||n.$apply())},n.$on("vsRepeatCollectionPartiallyRendered",function(e,t){n.$emit("vxPartiallyRendered",{id:n.vxConfig.id,data:t}),1==n.vxConfig.selectAllOnRenderAll&&(n.vxColSettings.selectAllEnabled=!1,n.$emit("vxPartiallyRenderedSelectAllDisabled",{id:n.vxConfig.id,data:t}))}),n.$on("vsRepeatCollectionCompletelyRendered",function(e,t){n.$emit("vxCompletelyRendered",{id:n.vxConfig.id,data:t}),1==n.vxConfig.selectAllOnRenderAll&&(n.vxColSettings.selectAllEnabled=!0,n.$emit("vxCompletelyRenderedSelectAllEnabled",{id:n.vxConfig.id,data:t}))}),n.buildFns=function(){var e=["openJsonEditor","openManageColumns","resetVxInstance","clearFilters","selectAllFiltered","clearSelection","revealWrapToggle"];_.each(e,function(e){var t="vxGrid"+e.capitalizeFirstLetter(),i=e+"()";n.$on(t,function(e,t){0==t.id.localeCompare(n.vxConfig.id)&&n.$eval(i)}),n.config[e]=function(){n.$eval(i)}})},n.$on("vxGridChangeRowClass",function(e,t){0==t.id.localeCompare(n.vxConfig.id)&&n.changeRowClass(t.data)}),n.changeRowClass=function(e){for(var t in e)n.vxColSettings.vxRowClass[t]=e[t];"$apply"!=n.$root.$$phase&&"$digest"!=n.$root.$$phase&&n.$apply()},n.$on("vxGridResetRowClass",function(e,t){0==t.id.localeCompare(n.vxConfig.id)&&(n.vxColSettings.vxRowClass={})}),n.$on("vxGridDisableRowSelection",function(e,t){0==t.id.localeCompare(n.vxConfig.id)&&_.each(t.data,function(e){n.vxColSettings.vxRowSelectionDisable[e.key]=e.value})}),n.$on("vxGridResetDisableRowSelection",function(e,t){if(0==t.id.localeCompare(n.vxConfig.id))for(var i in n.vxColSettings.vxRowSelectionDisable)n.vxColSettings.vxRowSelectionDisable[i]=!1})}],replace:!0,templateUrl:"template/vx-grid/vx-grid.html",link:function(e,n,t){e.selfEle=n,e.$watchCollection("config.data",function(n){n=n||[];var t=new Date;"undefined"!=typeof n&&0==n.length?(n=[{fillEmptyElement:!0}],e.config.noData=!0,1==e.config.hybrid&&"undefined"!=typeof e.vxConfig&&angular.element(document.getElementById("_vxHybrid"+e.vxConfig.id)).empty()):e.config.noData=!1,1==e.config.hybrid?(e.config.vxData=_.clone(n),e._origData=_.clone(n)):e.config.vxData=angular.copy(n),t=new Date,delete e.vxConfig,e.resetVxInstance()}),1!=e.config.hybrid&&e.$watchCollection("vxConfig.vxFilteredData",function(n){n.length>=0&&1==e.vxConfig.pagination&&(e.vxColSettings.pages=_.range(Math.ceil(n.length/parseInt(e.vxConfig.pageLength))),e.vxColSettings.vxPageEnabled=e.vxColSettings.pages.length>1,e.vxColSettings.activePage=0,e.vxColSettings.vxPageStartPosition=0)}),e.getvxTableContainerWidth=function(){var n=0;return _.each(e.vxConfig.columnDefConfigs,function(e){0==e.hidden&&(n+=e.effectiveWidth)}),e.vxConfig.totalWidth=n+"px",e.vxConfig.totalWidth},e.getNonHiddenColCount=function(){var n=1;return"undefined"!=typeof e.vxConfig.columnDefConfigs&&e.vxConfig.columnDefConfigs.length>0&&(n=_.filter(e.vxConfig.columnDefConfigs,function(e){return 0==e.hidden}).length),n}}}}).directive("vxCompile",["$compile",function(e){return function(n,t,i){n.$watch(function(e){return e.$eval(i.vxCompile)},function(i){t.html(i),e(t.contents())(n)})}}]).directive("vxCompileCloneLink",["$compile",function(e){var n={},t={};return function(i,o,l){var r=null;l.vxCompileCloneLink in n?r=t[l.vxCompileCloneLink]:(t[l.vxCompileCloneLink]=i.$eval(l.vxCompileCloneLink),r=t[l.vxCompileCloneLink]);var d=null;r in n?d=n[r]:(n[r]=e(r),d=n[r]),d(i,function(e,n){o.append(e)})}}]).directive("vxEditFocusDisable",["$rootScope","$parse",function(e,n){var t={},i={},o=["input","select","button","textarea","object"];return{restrict:"AEC",link:function(e,l,r){var d=(n(r.vxEditFocusDisable),$(l).attr("id"));e.$watch(r.vxEditFocusDisable,function(e){if(e){i[d]={available:!0,stack:[]},_.each(o,function(e){var n=$(l).find(e);n.length>0&&_.each(n,function(e){var n=$(e).attr("id");"undefined"!=typeof n&&null!=n&&""!=n||($(e).attr("id",_.uniqueId("elemid")),n=$(e).attr("id")),i[d].stack.push(n)})});var n=$(l).find("[tabindex]");n.length>0&&_.each(n,function(e){var n=$(e).attr("tabindex");if(n!=-1&&0==_.contains(o,e.nodeName.toUpperCase())&&0==_.contains(i[d].stack,t)){var t=$(e).attr("id");"undefined"!=typeof t&&null!=t&&""!=t||($(e).attr("id",_.uniqueId("elemid")),t=$(e).attr("id")),i[d].stack.push(t)}}),_.each(i[d].stack,function(e){t[e]=$("#"+e).attr("tabindex")||0,$("#"+e).attr("tabindex",-1)})}else 0==e&&"undefined"!=typeof i[d]&&"undefined"!=typeof i[d].available&&1==i[d].available&&(_.each(i[d].stack,function(e){var n=t[e];$("#"+e).attr("tabindex",n)}),i[d].available=!1)})}}}]).directive("axKey",["$rootScope","$parse",function(e,n){return{restrict:"A",compile:function(t,i){var o=n(i.axKey);return function(n,t){function l(t){var i=function(){o(n,{$event:t})};e.$$phase?n.$evalAsync(i):n.$apply(i)}t.attr("role")||t.attr("role","button"),t.attr("tabindex")||t.attr("tabindex",0);var r=[],d=0;r.push(n.$watch(i.axDisabled||i.ngDisabled,function(e){e?(d=t.attr("tabindex"),t.attr("tabindex",-1),t.attr("aria-disabled",!0)):(t.attr("tabindex",0),t.attr("aria-disabled",!1))})),t.on("click",function(e){n.$eval(i.axDisabled)||n.$eval(i.ngDisabled)||l(e)}),t.on("keyup",function(e){n.$eval(i.axDisabled)||n.$eval(i.ngDisabled)||13!=e.keyCode&&32!=e.keyCode||l(e)}),n.$on("$destroy",function(){for(;r.length;)r.shift()()})}}}}]).directive("vxKeepWatch",function(){return{restrict:"AEC",link:function(e,n,t){var i=t.vxKeepWatch,o=!1;e.$watch(t[i],function(n){o?e.$emit("vxInlineEditFieldChange",{field:t.vxKeepWatchField,value:n,rowId:t.vxKeepWatchRowId}):o=!0})}}}).filter("vxGridMultiBoxFilters",function(){return function(e,n){if("undefined"!=typeof n&&null!=n&&n.length>0){var t=e,i=e,o=_.groupBy(n,"col");for(var l in o){var r=o[l],d=[];_.each(r,function(e){d=_.union(d,_.filter(i,function(n){return"undefined"!=typeof e.label&&null!=e.label&&e.label!={}&&"undefined"!=typeof n[e.col]&&null!=n[e.col]&&n[e.col]!={}?"date"==e.type?"undefined"!=typeof n[e.col]&&n[e.col]!={}&&null!=n[e.col]&&""!=n[e.col]&&n[e.col].getTime()==e.label:"object"==e.type?0==JSON.stringify(n[e.col]).localeCompare(JSON.stringify(e.label)):0==n[e.col].toString().trim().localeCompare(e.label):n[e.col]==e.label}))}),t=_.intersection(t,d)}return t}return e}}).directive("clickOutsideHeader",["$document","$parse",function(e,n){return{restrict:"A",link:function(t,i,o){var l=void 0!==o.outsideIfNot?o.outsideIfNot.replace(", ",",").split(","):[];void 0!==o.id&&l.push(o.id);var r=n(o.clickOutsideHeader);e.on("click",function(e){try{var n=$(e.target).closest("th.vxHeadRowCell");"undefined"!=typeof n&&null!=n&&0!=n.length||t.$eval(o.checkClickOutside)&&t.$eval(r)}catch(e){}})}}}]).filter("vxNumberFixedLen",function(){return function(e,n){var t=parseInt(e,10);if(n=parseInt(n,10),isNaN(t)||isNaN(n))return e;for(t=""+t;t.length
Column Operations Menu for the grid {{vxConfig.caption}}
{{::header.columnName}}
Previous Page
Next Page
Page {{pageNum + 1}}
Region starts for adding offscreen labels to aid screen readers please ignore the labels Edit Row Save Row Select Row Region for offscreen labels to aid screen readers ends
',vxGridManageColumnsModal:' ', -"vxGridJsonEditorModal vx-grid-related ":' ',vxGridRowTmpl:' {{row[header.id]}}
{{rowId}}
{{row[header.id] | date : header.columnDatePipe}}
{{row[vxColSettings.primaryId]}}
{{header.columnName}}
{{row[header.id]}}
',vxGridRowTmplBindonce:' {{::row[header.id]}}
{{rowId}}
{{::row[header.id] | date : header.columnDatePipe}}
GROUPED BY {{row.colName}} : {{row.value}} '};angular.module("vx.grid.modules").run(["$templateCache",function(i){i.put("template/vx-grid/vx-grid-json-editor-modal.html",e.vxGridJsonEditorModal),i.put("template/vx-grid/vx-grid-manage-columns-modal.html",e.vxGridManageColumnsModal),i.put("template/vx-grid/vx-grid.html",e.vxGridTableStructure),i.put("template/vx-grid/vx-grid-row-tmpl.html",e.vxGridRowTmpl),i.put("template/vx-grid/vx-grid-row-tmpl-bindonce.html",e.vxGridRowTmplBindonce)}])}(); \ No newline at end of file +"vxGridJsonEditorModal vx-grid-related ":' ',vxGridRowTmpl:' {{row[header.id]}}
Select Row {{rowId}}
{{row[header.id] | date : header.columnDatePipe}}
{{row[vxColSettings.primaryId]}}
{{header.columnName}}
{{row[header.id]}}
',vxGridRowTmplBindonce:' {{::row[header.id]}}
Select row {{rowId}}
{{::row[header.id] | date : header.columnDatePipe}}
GROUPED BY {{row.colName}} : {{row.value}} '};angular.module("vx.grid.modules").run(["$templateCache",function(i){i.put("template/vx-grid/vx-grid-json-editor-modal.html",e.vxGridJsonEditorModal),i.put("template/vx-grid/vx-grid-manage-columns-modal.html",e.vxGridManageColumnsModal),i.put("template/vx-grid/vx-grid.html",e.vxGridTableStructure),i.put("template/vx-grid/vx-grid-row-tmpl.html",e.vxGridRowTmpl),i.put("template/vx-grid/vx-grid-row-tmpl-bindonce.html",e.vxGridRowTmplBindonce)}])}(); \ No newline at end of file diff --git a/Source.Vx.Grid/Source.Vx.Grid/dist/min/js/vx.grid.min.js b/Source.Vx.Grid/Source.Vx.Grid/dist/min/js/vx.grid.min.js index 751085c..7c4d125 100644 --- a/Source.Vx.Grid/Source.Vx.Grid/dist/min/js/vx.grid.min.js +++ b/Source.Vx.Grid/Source.Vx.Grid/dist/min/js/vx.grid.min.js @@ -1,5 +1,5 @@ !function(){"use strict";var n=function(n,t){return{replace:!0,scope:{onChange:"&",jsonData:"=",options:"="},compile:function(o,r){var e=function(o,r,e){function i(){t(function(){try{var n=c.get();o.onChange({json:n})}catch(t){var n=c.getText();o.onChange({json:n})}})}var a={mode:"tree",change:i};a=angular.extend(a,o.options);var c=new n(r[0],a);o.$watch("jsonData",function(n){c.set(n)})};return e},template:'
'}};angular.module("angular-json-editor",[]).provider("JSONEditor",function(){function n(t){return angular.forEach(arguments,function(o){o!==t&&angular.forEach(o,function(o,r){t[r]&&t[r].constructor&&t[r].constructor===Object?n(t[r],o):t[r]=o})}),t}var t={defaults:{options:{indentation:2,search:!1,name:"vxgrid",mode:"code"}}};this.configure=function(o){n(t,o)},this.$get=["$window",function(o){var r=o.JSONEditor;return n(r,t),o.JSONEditor}]}).directive("jsonEditor",["JSONEditor","$timeout",n])}(); -!function(){"use strict";function e(){function e(){return Math.floor(65536*(1+Math.random())).toString(16).substring(1)}return e()+e()+"_"+e()}String.prototype.capitalizeFirstLetter=function(){return this.charAt(0).toUpperCase()+this.slice(1)},String.prototype.replaceAll=function(e,n){var t=new RegExp(e,"g");return this.replace(t,n)},window.requestAnimFrame=function(){return window.requestAnimationFrame||window.webkitRequestAnimationFrame||window.mozRequestAnimationFrame||window.oRequestAnimationFrame||window.msRequestAnimationFrame||function(e,n){window.setTimeout(e,1e3/60)}}(),angular.module("vx.grid.modules",["ngSanitize","ui.bootstrap","vs-repeat","angular-json-editor","duScroll"]).directive("vxGrid",function(){return{restrict:"E",scope:{config:"=",scrollParent:"="},controller:["$scope","$uibModal","$sce","$timeout","$rootScope","$window","$filter","$q","$compile",function(n,t,i,o,l,r,d,a,f){function c(e){_.each(n.vxConfig.columnDefConfigs,function(n){n.id==e&&(n.filterLimit=n.filterLimit+2)}),"$apply"!=n.$root.$$phase&&"$digest"!=n.$root.$$phase&&n.$digest()}function v(e,n,t){var i=t+"_"+n+"_key_",o="string";return null==e.value?i+="null":null==e.value?i+="null":"object"!=typeof e.value?(i+=e.value.toString().replace(/\s+/g,"_"),o=e.type):(i+=JSON.stringify(e.value).replace(/\s+/g,"_"),o="object"),{key:i,type:o}}n.vxColSettings={},n.posLeft=1,n.posTop=0;var u={},s=angular.element(r);n.getWindowDimensions=function(){return{h:s.height(),w:s.width()}},n.resetVxInstance=function(){u={},n.vxColSettings={primaryId:null,dropdDownEnabled:{},dropdDownLoaded:{},dropdDownOpen:{},dropDownSort:{},dropDownFilters:{},dropDownGroup:{},colFiltersStatus:{},colFilterPairs:{},colFiltersActivated:{},lastProcessedForFilters:{},multiSelected:[],multiSelColDependent:!1,reverseSettings:{},groupPredicate:{},groupByColActivated:{},rowSelected:{},vxRowClass:{},vxRowSelectionDisable:{},revealWrapRowData:!1,selectAllEnabled:!0,menu:!1,xsViewEnabled:!1,xsRowTitleTemplateAvailable:!1,xsSearch:"",searchToken:"",inlineEditState:{},colWithInlineEdits:[],groupKeys:{},allRowSelected:!1,allRowSelectionDisabled:!1,filterSearchToken:{},enteredSearchToken:{},saveInProgress:{}};var e=(new Date,new Date),t=new Date;1==n.config.hybrid?n.vxConfig=n.config:n.vxConfig=angular.copy(n.config),e=new Date,t=new Date;var i=_.find(n.vxConfig.columnDefConfigs,function(e){return 1==e.primary}),l="_uid";if("undefined"!=typeof i&&null!=i?(_.each(n.vxConfig.vxData,function(e,n){1!=e.fillEmptyElement&&(e[i.id]=e[i.id].toString(),e[l]=e[i.id]),e._vxCreated=(new Date).getTime()}),l=i.id):_.each(n.vxConfig.vxData,function(e,n){e[l]=n}),n.config.id=n.vxConfig.id="undefined"==typeof n.vxConfig.id?_.uniqueId("_vxUID_"):n.vxConfig.id,n.vxConfig.editRowID=n.vxConfig.id+"_edit_row",n.vxConfig.saveRowID=n.vxConfig.id+"_save_row",n.vxConfig.selectRowID=n.vxConfig.id+"_sel_row",n.vxColSettings.primaryId=l,1==n.vxConfig.inlineEditingEnabled&&1!=n.vxConfig.hybrid){var r=_.find(n.vxConfig.columnDefConfigs,function(e){return 0==e.id.localeCompare("inlinediting")});if("undefined"==typeof r||null==r||r=={}){var a={id:"inlinediting",columnName:"Edit",renderDefn:!0,renderHeadDefn:!0,ddSort:!1,ddGroup:!1,ddFilters:!1,width:"50",locked:!0,headTabIndex:-1,cellDefn:'
',inlineEditOnColumnEnabled:!1};n.vxConfig.columnDefConfigs.unshift(a)}_.each(n.vxConfig.vxData,function(e,t){var i=e[n.vxColSettings.primaryId];n.vxColSettings.inlineEditState[i]=n.config.allRowsInDefaultEdit||!1})}if(e=new Date,1==n.vxConfig.selectionEnabled){var r=_.find(n.vxConfig.columnDefConfigs,function(e){return 0==e.id.localeCompare("checkbox")});if("undefined"==typeof r||null==r||r=={}){var a={id:"checkbox",columnName:"Row Selection",columnIsRowSelect:!0,renderDefn:!0,renderHeadDefn:!0,ddSort:!1,ddGroup:!1,ddFilters:!1,width:"50",locked:!0,headTabIndex:-1,headerDefn:'
',cellDefn:'
{{::row[vxConfig.ariaPrimary]}}'};n.vxConfig.columnDefConfigs.unshift(a)}_.each(n.vxConfig.vxData,function(e,t){var i=e[n.vxColSettings.primaryId];n.vxColSettings.rowSelected[i]=!1,n.vxColSettings.vxRowSelectionDisable[i]=!1})}e=new Date,n.multiBoxFilters=[];var c=[{prop:"enableDropdownsInHeader",defValue:!1},{prop:"selectionEnabled",defValue:!1},{prop:"selectionAtMyRisk",defValue:!1},{prop:"preserveSelectionOnFilters",defValue:!1},{prop:"multiSelectionEnabled",defValue:!1},{prop:"showGridStats",defValue:!1},{prop:"showGridOptions",defValue:!1},{prop:"selectAllOnRenderAll",defValue:!1},{prop:"virtualization",defValue:!0},{prop:"pagination",defValue:!1},{prop:"pageLength",defValue:20},{prop:"data",defValue:[]},{prop:"vxFilteredData",defValue:[]},{prop:"xsRowTitleTemplate",defValue:'
{{row[vxColSettings.primaryId]}}
'},{prop:"inlineAddRowEnabled",defValue:!1},{prop:"inlineEditSyncEnabled",defValue:!1},{prop:"inlineDeletingEnabled",defValue:!1},{prop:"inlineSaveOverrideEnabled",defValue:!1},{prop:"inlineDeleteOverrideEnabled",defValue:!1},{prop:"allRowsInDefaultEdit",defValue:!1},{prop:"jsonEditorEnabled",defValue:!1},{prop:"allRowsSelectionEnabled",defValue:!1},{prop:"sortPredicate",defValue:n.vxColSettings.primaryId},{prop:"sortPredicateFn",defValue:n.vxColSettings.primaryId},{prop:"reverseSortDirection",defValue:!1},{prop:"emptyFill",defValue:"No records to display ..."},{prop:"caption",defValue:"sample vx grid table caption"},{prop:"loaderGifSrc",defValue:"/resource/loaderWhite36.GIF"},{prop:"ariaPrimary",defValue:n.vxColSettings.primaryId},{prop:"xsTemplate",defValue:!1},{prop:"bindOnce",defValue:!1},{prop:"hybrid",defValue:!1},{prop:"latchExcess",defValue:5}];if(_.each(c,function(e){"undefined"!==n.vxConfig[e.prop]&&null!=n.vxConfig[e.prop]&&n.vxConfig[e.prop]!={}||(n.vxConfig[e.prop]=e.defValue)}),n.vxColSettings.vxRowClass=n.vxConfig.initialRowClasses||{},n.getWindowDimensions().w<768&&(n.vxColSettings.xsViewEnabled=n.vxConfig.xsTemplate,n.vxConfig.latchExcess=5),e=new Date,n.vxColSettings.selectAllOnRenderAll=n.vxConfig.selectAllOnRenderAll,_.each(n.vxConfig.columnDefConfigs,function(e){var t=[{prop:"renderDefn",defValue:!1},{prop:"renderHeadDefn",defValue:!1},{prop:"ddSort",defValue:!1},{prop:"ddGroup",defValue:!1},{prop:"ddFilters",defValue:!1},{prop:"ddFiltersWithSearch",defValue:!1},{prop:"dropDownEnabled",defValue:!1},{prop:"hidden",defValue:!1},{prop:"xsHidden",defValue:!1},{prop:"locked",defValue:!1},{prop:"primary",defValue:!1},{prop:"width",defValue:"200"},{prop:"headerDefn",defValue:""},{prop:"cellDefn",defValue:""},{prop:"filterCellDefn",defValue:""},{prop:"inlineEditOnColumnEnabled",defValue:!1},{prop:"inlineEditValidation",defValue:!1},{prop:"editDefn",defValue:null},{prop:"editDefnTemplate",defValue:null},{prop:"headTabIndex",defValue:0},{prop:"columnIsRowSelect",defValue:!1},{prop:"columnIsDate",defValue:!1},{prop:"columnDatePipe",defValue:"dd/MM/yyyy"},{prop:"renderHybridCellDefn",defValue:!1},{prop:"hybridCompile",defValue:!1},{prop:"filterLimit",defValue:10},{prop:"scopeIsRow",defValue:!1}];_.each(t,function(n){"undefined"!==e[n.prop]&&null!=e[n.prop]&&e[n.prop]!={}||(e[n.prop]=n.defValue)}),e.effectiveWidth=e.width,e.idCollection=[];var i=[{prop:"orderLocked",defValue:!1},{prop:"widthLocked",defValue:!1},{prop:"visbilityLocked",defValue:!1}];_.each(i,function(n){"undefined"===e[n.prop]||null==e[n.prop]||e[n.prop]=={}?e[n.prop]=e.locked:e[n.prop]=e.locked||e[n.prop]}),n.vxColSettings.reverseSettings[e.id]=!1,"undefined"!=typeof e.dropDownEnabled&&null!=e.dropDownEnabled&&1==e.dropDownEnabled&&1==n.vxConfig.enableDropdownsInHeader?n.vxColSettings.dropdDownEnabled[e.id]=!0:n.vxColSettings.dropdDownEnabled[e.id]=!1,n.vxColSettings.dropdDownLoaded[e.id]=!1,n.vxColSettings.dropdDownOpen[e.id]=!1,"undefined"!=typeof e.renderDefn&&null!=e.renderDefn&&e.renderDefn!={}&&1==e.renderDefn&&(e.cellDefn=e.cellDefn.replaceAll("VX_ROW_POINT","row[vxColSettings.primaryId]"),e.cellDefn=e.cellDefn.replaceAll("VX_DATA_POINT","row[header.id]"),e.cellDefn=e.cellDefn.replaceAll("VX_ROW","row"),e.cellDefn=e.cellDefn.replaceAll("VX_CONFIG","vxConfig")),1==e.inlineEditOnColumnEnabled&&1!=n.vxConfig.hybrid&&(""!=e.editDefn&&null!=e.editDefn||(e.editDefn=''),e.editDefn=e.editDefn.replaceAll("VX_ROW_POINT","row[vxColSettings.primaryId]"),e.editDefn=e.editDefn.replaceAll("VX_DATA_POINT","row[header.id]"),e.editDefn=e.editDefn.replaceAll("VX_ROW","row"),e.editDefn=e.editDefn.replaceAll("VX_CONFIG","vxConfig"),n.vxColSettings.colWithInlineEdits.push(e.id),e.editDefn.indexOf("vx-keep-watch")!=-1&&(e.editDefn=e.editDefn.replaceAll("vx-keep-watch",'vx-keep-watch-row-id="{{row[vxColSettings.primaryId]}}" vx-keep-watch-field="'+e.id+'" vx-keep-watch')),1==e.inlineEditValidation&&(n.vxConfig.invalidRows={},n.vxConfig.invalidRowFields={},_.each(n.vxConfig.vxData,function(e,t){var i=e[n.vxColSettings.primaryId];n.vxConfig.invalidRows[i]=!1,n.vxConfig.invalidRowFields[i]={}}),e.editDefn=e.editDefn.replaceAll("VX_INVALID_ROW","vxConfig.invalidRows[row[vxColSettings.primaryId]] == true"),e.editDefn=e.editDefn.replaceAll("VX_INVALID_FIELD_ROW","vxConfig.invalidRowFields[row[vxColSettings.primaryId]]."+e.id+" == true")))}),e=new Date,n.vxConfig.columnDefConfigs=n.calculateEffectiveWidths(n.vxConfig.columnDefConfigs),"undefined"!=typeof n.vxConfig.multiSelectionDependentCol&&null!=n.vxConfig.multiSelectionDependentCol&&n.vxConfig.multiSelectionDependentCol!={}&&""!=n.vxConfig.multiSelectionDependentCol&&(n.vxColSettings.multiSelColDependent=!0),"undefined"!=typeof n.vxConfig.xsRowTitleTemplate&&null!=n.vxConfig.xsRowTitleTemplate&&n.vxConfig.xsRowTitleTemplate!={}&&""!=n.vxConfig.xsRowTitleTemplate&&(n.vxColSettings.xsRowTitleTemplateAvailable=!0),1==n.vxConfig.inlineAddRowEnabled&&1!=n.vxConfig.hybrid&&("undefined"==typeof n.vxConfig.newRowTemplate||null==n.vxConfig.newRowTemplate||n.vxConfig.newRowTemplate=={}||""==n.vxConfig.newRowTemplate)){var v=angular.copy(n.vxConfig.data[0]);_.each(n.vxConfig.columnDefConfigs,function(e){switch(typeof n.vxConfig.newRowTemplate[e.id]){case"boolean":n.vxConfig.newRowTemplate[e.id]=!1;break;case"number":n.vxConfig.newRowTemplate[e.id]=0;break;case"string":n.vxConfig.newRowTemplate[e.id]="";break;default:n.vxConfig.newRowTemplate[e.id]=null}}),n.vxConfig.newRowTemplate=v}n.$watch("getWindowDimensions()",function(e,t){n.vxColSettings.xsViewEnabled=!1,n.vxConfig.columnDefConfigs=n.calculateEffectiveWidths(n.vxConfig.columnDefConfigs)},!0);s.bind("resize",function(){n.$apply()}),n.config.getVxCounts=function(){if("undefined"!=typeof n.vxConfig&&null!=n.vxConfig&&n.vxConfig!={}&&"undefined"!==n.vxConfig.id&&null!=n.vxConfig.id&&n.vxConfig.id!={}){var e={id:n.vxConfig.id,data:{vxAllDataLength:n.getAllRowLength(),vxFilteredDataLength:n.multiBoxFilters.length>0?1!=n.vxConfig.hybrid?n.vxConfig.vxFilteredData.length:n.vxConfig.vxData.length:0,vxSelectedDataLength:n.vxColSettings.multiSelected.length}};return e}},n.config.getAppliedFilters=function(){if("undefined"!=typeof n.vxConfig&&null!=n.vxConfig&&n.vxConfig!={}&&"undefined"!==n.vxConfig.id&&null!=n.vxConfig.id&&n.vxConfig.id!={}){var e=_.map(n.multiBoxFilters,function(e){return{column:e.col,label:e.label,key:e.key}});return e}},n.config.getData=function(){return n.vxConfig.data},n.config.getActiveDataSet=function(){return n.vxConfig.vxData},n.config.getFilteredDataSet=function(){return n.vxConfig.vxFilteredData},n.config.setRowFieldValidation=function(e,t,i){if("undefined"==typeof n.vxConfig.invalidRowFields[e]&&(n.vxConfig.invalidRows[e]=!1,n.vxConfig.invalidRowFields[e]={}),1==n.vxConfig.inlineEditSyncEnabled){var o=_.filter(n.vxColSettings.multiSelected,function(n){return 0==n.localeCompare(e)});"undefined"!=typeof o&&null!=o&&o.length>0&&_.each(n.vxColSettings.multiSelected,function(e){n.vxConfig.invalidRows[e]=!i,n.vxConfig.invalidRowFields[e][t]=!i})}n.vxConfig.invalidRows[e]=!i,n.vxConfig.invalidRowFields[e][t]=!i},n.config.getSelectedRows=function(){if(1==n.vxConfig.selectionAtMyRisk){n.vxColSettings.multiSelected=[];for(var e in n.vxColSettings.rowSelected)1==n.vxColSettings.rowSelected[e]&&"undefined"!=typeof e&&"undefined"!=e.toString()&&n.vxColSettings.multiSelected.push(e)}return n.vxColSettings.multiSelected},n.config.getRowsBeingEdited=function(){var e=[];if("undefined"!=typeof n.vxColSettings.inlineEditState&&null!=n.vxColSettings.inlineEditState)for(var t in n.vxColSettings.inlineEditState)1==n.vxColSettings.inlineEditState[t]&&e.push(t);return e},n.config.modifyRows=function(e,t){var i=[];return _.each(e,function(e){var o=e[n.vxColSettings.primaryId],l=_.find(n.vxConfig.vxData,function(e){return 0==e[n.vxColSettings.primaryId].localeCompare(o)}),r=_.find(n.vxConfig.data,function(e){return 0==e[n.vxColSettings.primaryId].localeCompare(o)});if("undefined"!=typeof l&&"undefined"!=typeof r){if("undefined"==typeof t||0==t.length)for(var d in e)0!=d.localeCompare(n.vxColSettings.primaryId)&&(l[d]=e[d],r[d]=e[d]);else t.length>0&&_.each(t,function(n){l[n]=e[n],r[n]=e[n]});i.push(r),1==n.vxConfig.hybrid&&n.hybridUpdateRows(i)}}),i},n.config.selectRows=function(e){var t=[];return _.each(e,function(e){var i=n.vxColSettings.rowSelected[e];if(("undefined"==typeof i||null==i||0==i)&&(n.vxColSettings.rowSelected[e]=!0,n.vxColSettings.multiSelected.push(e),t.push(e),1==n.vxConfig.hybrid)){var o=angular.element(document.getElementById("vx_row-sel_in_"+e));"undefined"!=typeof o&&null!=o&&o.length>0&&$(o).prop("checked",!0);var l=angular.element(document.getElementById("_vxMulLength"+n.vxConfig.id));"undefined"!=typeof l&&null!=l&&l.length>0&&$(l).text(d("vxNumberFixedLen")(n.vxColSettings.multiSelected.length,2))}}),t},n.config.deselectRows=function(e){var t=[];return _.each(e,function(e){var i=n.vxColSettings.rowSelected[e];if("undefined"!=typeof i&&1==i){if(n.vxColSettings.rowSelected[e]=!1,n.vxColSettings.multiSelected=_.reject(n.vxColSettings.multiSelected,function(n){0==e.localeCompare(n)}),t.push(e),1==n.vxConfig.hybrid){var o=angular.element(document.getElementById("vx_row-sel_in_"+e));"undefined"!=typeof o&&null!=o&&o.length>0&&$(o).prop("checked",!1)}if(1==n.vxConfig.hybrid){var l=angular.element(document.getElementById("_vxMulLength"+n.vxConfig.id));"undefined"!=typeof l&&null!=l&&l.length>0&&$(l).text(d("vxNumberFixedLen")(n.vxColSettings.multiSelected.length,2))}}}),t},n.config.sortByColumn=function(e,t){var i=_.find(n.vxConfig.columnDefConfigs,function(n){return 0==n.id.localeCompare(e)});"undefined"!=typeof i&&null!=i&&(n.vxConfig.sortPredicate=i.id,i.customSortEnabled?n.vxConfig.sortPredicateFn=i.customSortFn:n.vxConfig.sortPredicateFn=i.id,n.vxConfig.reverseSortDirection=t)},n.config.resetColumnFilters=function(e){_.each(e,function(e){n.vxColSettings.dropdDownLoaded[e]=!1,n.vxColSettings.colFilterPairs[e]={}})},n.config.removeRows=function(e){0==n.vxConfig.hybrid?(n.vxConfig.vxData=_.reject(n.vxConfig.vxData,function(t){return 1==_.contains(e,t[n.vxColSettings.primaryId])}),n.vxColSettings.multiSelected=_.difference(n.vxColSettings.multiSelected,e)):1==n.vxConfig.hybrid&&n.config.hybridDeleteRows(e)},n.buildFns(),n.config.changeRowClass=n.changeRowClass,n.$emit("vxGridSettingsBuilt",{id:n.vxConfig.id}),e=new Date;var g=null,x=null,C=48,p=n.vxConfig.latchExcess,S=0,m=!1,h=0;n.config.hybridDeleteRows=function(e){window.requestAnimFrame(function(){angular.forEach(e,function(e){var t=angular.element(document.getElementById(e));t.remove(),n.vxColSettings.inlineEditState[e]=!1,n.vxColSettings.rowSelected[e]=!1,n.vxColSettings.saveInProgress[e]=!1}),n._origData=_.reject(n._origData,function(t){return 1==_.contains(e,t[n.vxColSettings.primaryId])}),n.vxConfig.vxFilteredData=_.reject(n.vxConfig.vxFilteredData,function(t){return 1==_.contains(e,t[n.vxColSettings.primaryId])}),n.vxConfig.vxData=_.reject(n.vxConfig.vxData,function(t){return 1==_.contains(e,t[n.vxColSettings.primaryId])}),n.vxColSettings.multiSelected=_.difference(n.vxColSettings.multiSelected,e);var t=angular.element(document.getElementById("_vxMulLength"+n.vxConfig.id));"undefined"!=typeof t&&null!=t&&t.length>0&&$(t).text(d("vxNumberFixedLen")(n.vxColSettings.multiSelected.length,2)),n.$$phase||n.$apply()})},n.hybridUpdateRows=function(e){angular.forEach(e,function(e){var t=n.hybridGetRowTmpl(e),i=angular.element(document.getElementById(t.rowId));i.empty(),i.replaceWith(t.rowTmpl),t.compile&&f(i.contents())(n)})},n.resetHybridGrid=function(){S=0,m=!1,h=0,n.prepHybrid()},n.prepHybrid=function(){g=angular.element(document.getElementById("_vxHybrid"+n.vxConfig.id)),x=angular.element(document.getElementById("_vxScrollContainer"+n.vxConfig.id)),g.empty();var e=x.height(),t=Math.ceil(e/C)+p,i=_.first(n.vxConfig.vxFilteredData,t);n.appendRows(i),S+=t,x.on("scroll",function(){n.debPep()})},n.prepForScrollInsertion=function(){var e=g.height()-(x.height()+x.scrollTop());if(x.scrollTop()>h&&(e<0&&(e=0),e0&&$(r).text(d("vxNumberFixedLen")(n.vxColSettings.multiSelected.length,2)),"function"==typeof n.config.rowSelectionCallback&&n.config.rowSelectionCallback(o)}else n.rowSelectionChanged(t)}})})}},e=new Date,1==n.vxConfig.hybrid&&(e=new Date,n.vxConfig.vxFilteredData=n.vxConfig.vxData||[],o(n.prepHybrid,100))},n.editRow=function(e){if(1==n.vxConfig.inlineEditSyncEnabled&&n.vxColSettings.multiSelected.length>0){var t=_.filter(n.vxColSettings.multiSelected,function(n){return 0==n.localeCompare(e)});"undefined"!=typeof t&&null!=t&&t.length>0&&_.each(n.vxColSettings.multiSelected,function(e){n.vxColSettings.inlineEditState[e]=!0})}n.vxColSettings.inlineEditState[e]=!0},n.editInProgressCount=function(){var e=0;if("undefined"!=typeof n.vxColSettings.inlineEditState&&null!=n.vxColSettings.inlineEditState)for(var t in n.vxColSettings.inlineEditState)e=1==n.vxColSettings.inlineEditState[t]?e+1:e;return e},n.$on("vxInlineEditFieldChange",function(e,t){if(1==n.vxConfig.inlineEditSyncEnabled){var i=_.filter(n.vxColSettings.multiSelected,function(e){return 0==e.localeCompare(t.rowId)});"undefined"!=typeof i&&null!=i&&i.length>0&&_.each(n.vxColSettings.multiSelected,function(e){var i=_.find(n.vxConfig.vxData,function(t){return t[n.vxColSettings.primaryId]==e});"undefined"!=typeof i&&null!=i&&1==n.vxColSettings.inlineEditState[e]&&(i[t.field]=t.value)})}}),n.savingRows=function(e){var t=_.find(n.vxConfig.vxData,function(t){return t[n.vxColSettings.primaryId]==e});if("undefined"!=typeof t&&1==t.newRow)if(1==n.vxConfig.inlineSaveOverrideEnabled){n.vxColSettings.saveInProgress[e]=!0;var i=a.defer();i.promise.then(function(i){"undefined"!=typeof t.row&&1==i.save?(t.newRow=!1,_.each(n.vxConfig.columnDefConfigs,function(e){t[e.id]=i.row[e.id]})):n.vxConfig.data.unshift(t),n.vxColSettings.inlineEditState[e]="undefined"==typeof i.save||null==i.save||1!=i.save,n.$emit("vxGridRowSave",{id:n.vxConfig.id,data:t,save:!n.vxColSettings.inlineEditState[e]}),n.vxColSettings.saveInProgress[e]=!1},function(i){n.vxColSettings.saveInProgress[e]=!1,n.vxColSettings.inlineEditState[e]=!0,t.newRow=!0}),i.resolve(n.config.fnInlineSaveOverride(t,null))}else"undefined"!=typeof o?_.each(n.vxConfig.columnDefConfigs,function(e){o[e.id]=t[e.id]}):n.vxConfig.data.unshift(t),n.vxColSettings.inlineEditState[e]=!1,n.$emit("vxGridRowSaved",{id:n.vxConfig.id,data:t});else{var o=_.find(n.vxConfig.data,function(t){return t[n.vxColSettings.primaryId]==e});if("undefined"!=typeof t&&"undefined"!=typeof o&&1==n.vxConfig.inlineSaveOverrideEnabled){n.vxColSettings.saveInProgress[e]=!0;var i=a.defer();i.promise.then(function(i){"undefined"!=typeof i.row&&1==i.save&&_.each(n.vxColSettings.colWithInlineEdits,function(e){o[e]=i.row[e]}),n.vxColSettings.inlineEditState[e]="undefined"==typeof i.save||null==i.save||1!=i.save,n.$emit("vxGridRowSave",{id:n.vxConfig.id,data:t,save:!n.vxColSettings.inlineEditState[e]}),n.vxColSettings.saveInProgress[e]=!1},function(t){n.vxColSettings.saveInProgress[e]=!1,n.vxColSettings.inlineEditState[e]=!0}),i.resolve(n.config.fnInlineSaveOverride(t,o))}}},n.saveRow=function(e){var t=!1;if(1==n.vxConfig.inlineEditSyncEnabled){var i=_.filter(n.vxColSettings.multiSelected,function(n){return 0==n.localeCompare(e)});"undefined"!=typeof i&&null!=i&&i.length>0&&_.each(n.vxColSettings.multiSelected,function(e){n.savingRows(e),t=!0})}t||n.savingRows(e)},n.revertEdits=function(){if("undefined"!=typeof n.vxColSettings.multiSelected&&null!=n.vxColSettings.multiSelected&n.vxColSettings.multiSelected.length>0&&(_.each(n.vxColSettings.multiSelected,function(e){if(n.revertEditForRow(e),n.vxColSettings.rowSelected[e]=!1,1==n.vxConfig.hybrid){var t=angular.element(document.getElementById("vx_row-sel_in_"+e));"undefined"!=typeof t&&null!=t&&t.length>0&&$(t).prop("checked",!1)}}),n.vxColSettings.multiSelected=[],1==n.vxConfig.hybrid)){var e=angular.element(document.getElementById("_vxMulLength"+n.vxConfig.id));"undefined"!=typeof e&&null!=e&&e.length>0&&$(e).text(d("vxNumberFixedLen")(n.vxColSettings.multiSelected.length,2))}},n.revertEditForRow=function(e){var t=_.find(n.vxConfig.vxData,function(t){return t[n.vxColSettings.primaryId]==e});if("undefined"!=typeof t&&1==t.newRow){if(n.vxColSettings.inlineEditState[e]=!1,n.vxColSettings.rowSelected[e]=!1,1==n.vxConfig.hybrid){var i=angular.element(document.getElementById("vx_row-sel_in_"+e));"undefined"!=typeof i&&null!=i&&i.length>0&&$(i).prop("checked",!1)}if(n.vxColSettings.multiSelected=_.reject(n.vxColSettings.multiSelected,function(n){0==e.localeCompare(n)}),n.vxConfig.vxData=_.reject(n.vxConfig.vxData,function(t){return 0==t[n.vxColSettings.primaryId].localeCompare(e)}),n.$emit("vxGridRowEditRevert",{id:n.vxConfig.id,data:t}),1==n.vxConfig.hybrid){var o=angular.element(document.getElementById("_vxMulLength"+n.vxConfig.id));"undefined"!=typeof o&&null!=o&&o.length>0&&$(o).text(d("vxNumberFixedLen")(n.vxColSettings.multiSelected.length,2))}}else{var l=_.find(n.vxConfig.data,function(t){return t[n.vxColSettings.primaryId]==e});if("undefined"!=typeof t&&"undefined"!=typeof l){if(_.each(n.vxColSettings.colWithInlineEdits,function(e){t[e]=l[e]}),n.vxColSettings.inlineEditState[e]=!1,n.vxColSettings.rowSelected[e]=!1,1==n.vxConfig.hybrid){var i=angular.element(document.getElementById("vx_row-sel_in_"+e));"undefined"!=typeof i&&null!=i&&i.length>0&&$(i).prop("checked",!1)}if(n.vxColSettings.multiSelected=_.reject(n.vxColSettings.multiSelected,function(n){0==e.localeCompare(n)}),n.$emit("vxGridRowEditRevert",{id:n.vxConfig.id,data:l}),1==n.vxConfig.hybrid){var o=angular.element(document.getElementById("_vxMulLength"+n.vxConfig.id));"undefined"!=typeof o&&null!=o&&o.length>0&&$(o).text(d("vxNumberFixedLen")(n.vxColSettings.multiSelected.length,2))}}}},n.addNewRow=function(){n.vxConfig.sortPredicate="_vxCreated",n.vxConfig.sortPredicateFn="_vxCreated",n.vxConfig.reverseSortDirection=!0;var t=angular.copy(n.vxConfig.newRowTemplate),i=e();t[n.vxColSettings.primaryId]=i,t.newRow=!0,t._vxCreated=(new Date).getTime(),n.vxColSettings.inlineEditState[i]=!0,n.vxConfig.vxData.unshift(t)},n.deleteRows=function(){if("undefined"!=typeof n.vxColSettings.multiSelected&&null!=n.vxColSettings.multiSelected&n.vxColSettings.multiSelected.length>0)if(1==n.vxConfig.inlineDeleteOverrideEnabled){_.each(n.vxColSettings.multiSelected,function(e){n.vxColSettings.saveInProgress[e]=!0});var e=a.defer(),t=angular.copy(_.filter(n.vxConfig.vxData,function(e){return 1==_.contains(n.vxColSettings.multiSelected,e[n.vxColSettings.primaryId])}));e.promise.then(function(e){if(e.rows.length>0){var t=_.map(e.rows,function(e){return e[n.vxColSettings.primaryId]});if(n.vxConfig.vxData=_.reject(n.vxConfig.vxData,function(e){return 1==_.contains(t,e[n.vxColSettings.primaryId])}),n.$emit("vxGridRowsDeleted",{id:n.vxConfig.id,data:t}),_.each(t,function(e){n.vxColSettings.inlineEditState[e]=!1,n.vxColSettings.rowSelected[e]=!1,n.vxColSettings.saveInProgress[e]=!1}),n.vxColSettings.multiSelected=_.difference(n.vxColSettings.multiSelected,t),1==n.vxConfig.hybrid){var i=angular.element(document.getElementById("_vxMulLength"+n.vxConfig.id));"undefined"!=typeof i&&null!=i&&i.length>0&&$(i).text(d("vxNumberFixedLen")(n.vxColSettings.multiSelected.length,2))}}},function(e){}).then(function(){_.each(n.vxColSettings.multiSelected,function(e){n.vxColSettings.saveInProgress[e]=!1})}),e.resolve(n.config.fnInlineDeleteOverride(t))}else if(n.vxConfig.vxData=_.reject(n.vxConfig.vxData,function(e){return 1==_.contains(n.vxColSettings.multiSelected,e[n.vxColSettings.primaryId])}),n.$emit("vxGridRowsDeleted",{id:n.vxConfig.id,data:n.vxColSettings.multiSelected}),_.each(n.vxColSettings.multiSelected,function(e){n.vxColSettings.inlineEditState[e]=!1,n.vxColSettings.rowSelected[e]=!1}),n.vxColSettings.multiSelected=[],1==n.vxConfig.hybrid){var i=angular.element(document.getElementById("_vxMulLength"+n.vxConfig.id));"undefined"!=typeof i&&null!=i&&i.length>0&&$(i).text(d("vxNumberFixedLen")(n.vxColSettings.multiSelected.length,2))}},n.activatePage=function(e){n.vxColSettings.activePage=e,n.vxColSettings.vxPageStartPosition=e>0?e*n.vxConfig.pageLength:0,n.vxColSettings.allRowSelected=!1},n.debouncedSearch=_.debounce(function(){n.vxColSettings.xsSearch=angular.copy(n.vxColSettings.searchToken)},50),n.keyUpSearch=function(e){13==e.keyCode?n.vxColSettings.xsSearch=angular.copy(n.vxColSettings.searchToken):8==e.keyCode&&""==n.vxColSettings.searchToken&&(n.vxColSettings.xsSearch=angular.copy(n.vxColSettings.searchToken))},n.filtTokenChange=function(e){n.vxColSettings.filterSearchToken[e]=n.vxColSettings.enteredSearchToken[e],_.each(n.vxConfig.columnDefConfigs,function(n){n.id==e&&(n.filterLimit=10,u[e]=0)})},n.debFiltTokenChange=_.debounce(n.filtTokenChange,10),n.filterTokenChnagedRapid=function(e){""==n.vxColSettings.enteredSearchToken[e]?(_.each(n.vxConfig.columnDefConfigs,function(n){n.id==e&&(n.filterLimit=10,u[e]=0)}),n.vxColSettings.filterSearchToken[e]=""):n.debFiltTokenChange(e)},n.filterAssignVar=function(e){var t=angular.element(document.getElementById(e+"_searchfilters_"+n.vxConfig.id));"undefined"!=typeof t&&t.length>0&&(n.vxColSettings.filterSearchToken[e]=t[0].value,_.each(n.vxConfig.columnDefConfigs,function(n){n.id==e&&(n.filterLimit=10,u[e]=0)}))},n.isValidHeaderName=function(e,n){return 0==e.renderHeadDefn&&"undefined"!=typeof n&&null!=n&&""!=n},n.headerClick=function(e,t){var i=!0,l=$(t.target);if("undefined"!=typeof l&&null!=l&l.length>0){var r=l.closest("ul.dropdown-menu");"undefined"!=typeof r&&null!=r&r.length>0&&(i=!1)}if(0!=i){var d=n.selfEle.find(".vxTableScrollContainer"),a=(n.selfEle.find(".vxHeadRowCell .dropdown ul.dropdown-menu"),n.getWindowDimensions().h/2);_.each(n.selfEle.find(".vxHeadRowCell .dropdown ul.dropdown-menu"),function(e){ -var n=Math.min(Math.floor(d.height())-48,a);$(e).css("max-height",n+"px")}),_.each(n.vxConfig.columnDefConfigs,function(t){0!=t.id.localeCompare(e.id)&&(n.vxColSettings.dropdDownOpen[t.id]=!1)});var f=_.find(n.vxConfig.columnDefConfigs,function(n){return 0==n.id.localeCompare(e.id)});if("undefined"!=typeof f&&null!=f)if(0==n.vxColSettings.dropdDownEnabled[f.id])n.sortClick(e);else{n.vxColSettings.dropdDownLoaded[f.id]=!1,n.vxColSettings.dropdDownOpen[f.id]=!n.vxColSettings.dropdDownOpen[f.id];var c=_.filter(n.multiBoxFilters,function(e){return 0!=e.col.localeCompare(f.id)}),s=c.length>0,g=!1;"undefined"!=typeof n.vxColSettings.colFilterPairs[f.id]&&null!=n.vxColSettings.colFilterPairs[f.id]&&n.vxColSettings.colFilterPairs[f.id]!={}&&n.vxColSettings.colFilterPairs[f.id].length>0&&(g=!0),0==s&&1==g?(n.vxColSettings.dropdDownLoaded[f.id]=!0,_.each(n.vxColSettings.colFilterPairs[f.id],function(e){e.disabled=!1})):o(function(){if(f.idCollection=[],1==f.ddSort&&(n.vxColSettings.dropDownSort[f.id]=!0,f.idCollection.push(n.vxConfig.id+"_"+f.id+"_sort")),1==f.ddGroup&&1!=n.vxConfig.hybrid&&(n.vxColSettings.dropDownGroup[f.id]=!0,f.idCollection.push(n.vxConfig.id+"_"+f.id+"_group"),f.idCollection.push(n.vxConfig.id+"_"+f.id+"_ungroup")),1==f.ddFilters){if(f.idCollection.push(n.vxConfig.id+"_"+f.id+"_clearfilters"),f.idCollection.push(f.id+"_searchfilters_"+n.vxConfig.id),f.idCollection.push(f.id+"_invokesearchfilters_"+n.vxConfig.id),0==g){n.vxColSettings.dropDownFilters[f.id]=!0,n.vxColSettings.colFilterPairs[f.id]=[];var t=[],i=_.uniq(_.map(n.vxConfig.vxData,function(e){var n={value:e[f.id],type:""};return"undefined"!=typeof n.value&&null!=n.value&&n.value!={}&&"object"!=typeof n.value&&"number"!=typeof n.value&&"boolean"!=typeof n.value?n.value=n.value.trim():"boolean"==typeof n.value?n.value=n.value.toString().trim():"[object Date]"===Object.prototype.toString.call(n.value)&&(n.value=n.value.getTime(),n.type="date"),n}),function(e){return e.value});i=_.reject(i,function(e){return"undefined"==typeof e.value||e.value=={}}),_.each(i.sort(),function(e,i){var o=v(e,f.id,"col"),l=o.key,r=o.type,d=""===e.value||" "===e.value?"< blank >":e.value;d=null==e.value?" < null >":d;var a={key:l,label:e.value,name:d,col:f.id,type:r,disabled:!1,action:"filter"};"undefined"!=typeof f.filterCellDefn&&null!=f.filterCellDefn&&f.filterCellDefn!={}&&""!=f.filterCellDefn?(a.filterDefn=f.filterCellDefn.replaceAll("VX_DATA_POINT","filter.name"),a.filterDefnAvailable=!0):a.filterDefnAvailable=!1,t.push(a),f.idCollection.push(n.vxConfig.id+"_"+f.id+"_filter_"+i),n.vxColSettings.colFiltersStatus[l]=!1}),t=_.sortBy(t,"label"),_.each(t,function(e){n.vxColSettings.colFilterPairs[f.id].push(e)}),n.vxColSettings.filterSearchToken[f.id]="",n.vxColSettings.colFiltersActivated[f.id]=!1}else{var i=_.uniq(_.map(n.vxConfig.vxFilteredData,function(e){return"[object Date]"===Object.prototype.toString.call(e[f.id])?e[f.id].getTime():"[object Boolean]"===Object.prototype.toString.call(e[f.id])?e[f.id].toString():e[f.id]}));_.each(n.vxColSettings.colFilterPairs[f.id],function(e){1!=_.contains(i,e.label)?e.disabled=!0:e.disabled=!1})}if(1==s){var o=_.last(n.multiBoxFilters),i=_.uniq(_.map(n.vxConfig.vxFilteredData,function(e){return"[object Date]"===Object.prototype.toString.call(e[f.id])?e[f.id].getTime():"[object Boolean]"===Object.prototype.toString.call(e[f.id])?e[f.id].toString():e[f.id]}));0!=o.col.localeCompare(f.id)&&_.each(n.vxColSettings.colFilterPairs[f.id],function(e){1!=_.contains(i,e.label)?e.disabled=!0:e.disabled=!1})}u[f.id]=0,e.filterLimit=10;var l=angular.element(document.getElementById(n.vxConfig.id+"-dropdwon-menu-"+f.id));l.on("scroll",function(e){var t=f.id,i=$(e.target).scrollTop();i>u[t]&&(n.debouncedIncrementFilter(t),u[t]=i)})}n.vxColSettings.dropdDownLoaded[f.id]=!0},500)}}},n.debouncedIncrementFilter=_.throttle(c,500),n.sortClick=function(e){var t=_.find(n.vxConfig.columnDefConfigs,function(n){return 0==n.id.localeCompare(e.id)});"undefined"!=typeof t&&null!=t&&t.ddSort&&(0!=n.vxConfig.sortPredicate.localeCompare(t.id)&&(n.vxConfig.sortPredicate=t.id,t.customSortEnabled?n.vxConfig.sortPredicateFn=t.customSortFn:n.vxConfig.sortPredicateFn=t.id),n.vxColSettings.reverseSettings[t.id]=!n.vxColSettings.reverseSettings[t.id],n.vxConfig.reverseSortDirection=n.vxColSettings.reverseSettings[t.id],1==n.vxConfig.hybrid&&(n.vxConfig.vxFilteredData=_.sortBy(n.vxConfig.vxFilteredData,n.vxConfig.sortPredicateFn),1==n.vxConfig.reverseSortDirection&&n.vxConfig.vxFilteredData.reverse(),n.resetHybridGrid()))},n.getVisibleHeaderCounts=function(){return _.filter(n.vxConfig.columnDefConfigs,function(e){return 1!=e.hidden}).length},n.groupClick=function(e){if(n.clearFilters(),1!=n.vxColSettings.groupByColActivated[e.id]){n.vxConfig.sortPredicate=null;var t=[],i=e.id,o=e.columnName,l=_.uniq(_.pluck(n.vxConfig.vxData,i)),r=_.groupBy(_.sortBy(n.vxConfig.vxData,i),i);n.vxColSettings.groupKeys[i]=[],_.each(l,function(e){var l=v(e,i,"groupcol").key;if(n.vxColSettings.groupKeys[i].push(l),r[e].length>0){n.vxColSettings.groupPredicate[l]=!1;var d={type:"groupRow",colName:o,col:i,value:e,groupId:l,cellDefn:'
'};d.cellDefn=d.cellDefn.replaceAll("VX_ROW_POINT","vxColSettings.groupPredicate[row.groupId]"),t.push(d),t=_.union(t,r[e])}}),n.vxConfig.vxData=t,n.vxColSettings.groupByColActivated[e.id]=!0}},n.unGroupClick=function(e){if(n.clearFilters(),1==n.vxColSettings.groupByColActivated[e.id]){var t=_.find(n.vxConfig.columnDefConfigs,function(n){return 0==n.id.localeCompare(e.id)});"undefined"!=typeof t&&null!=t&&(n.vxConfig.sortPredicate=t.id,t.customSortEnabled?n.vxConfig.sortPredicateFn=t.customSortFn:n.vxConfig.sortPredicateFn=t.id),n.vxConfig.vxData=_.reject(n.vxConfig.vxData,function(e){return"undefined"!=typeof e.type&&null!=e.type&&0==e.type.localeCompare("groupRow")}),n.vxColSettings.groupByColActivated[e.id]=!1}},n.getAllRowLength=function(){if(n.config.noData)return 0;if(1==n.vxConfig.hybrid)return n._origData.length;var e=_.filter(n.vxConfig.vxData,function(e){return"undefined"==typeof e.type||null==e.type||0!=e.type.localeCompare("groupRow")||1==e.fillEmptyElement}).length;return e},n.removeGroupings=function(){_.each(n.vxConfig.columnDefConfigs,function(e){n.unGroupClick(e)}),n.vxColSettings.groupPredicate={}},n.groupSelectionChanged=function(e){n.emitArray=[];var t=n.vxColSettings.groupPredicate[e.groupId],i=_.filter(n.vxConfig.vxFilteredData,function(n){return"groupRow"!=n.type&&0==n[e.col].localeCompare(e.value)});if(_.each(i,function(e){if(0==n.vxColSettings.multiSelColDependent||1==n.vxColSettings.multiSelColDependent&&0==e[n.vxConfig.multiSelectionDependentCol]){var i=e[n.vxColSettings.primaryId];if(n.vxColSettings.rowSelected[i]!=t){n.vxColSettings.rowSelected[i]=t;({key:e[n.vxConfig.onSelectionReturnCol],value:n.vxColSettings.rowSelected[i],_pKey:i});n.emitArray.push(i),t?n.vxColSettings.multiSelected.push(i):n.vxColSettings.multiSelected=_.reject(n.vxColSettings.multiSelected,function(e){return 0==e.localeCompare(i)})}}}),1==n.vxConfig.hybrid){var o=angular.element(document.getElementById("_vxMulLength"+n.vxConfig.id));"undefined"!=typeof o&&null!=o&&o.length>0&&$(o).text(d("vxNumberFixedLen")(n.vxColSettings.multiSelected.length,2))}n.$emit("vxGridRwSelectionChange",{id:n.vxConfig.id,data:n.emitArray})},n.allRowSelectionChanged=function(){var e=n.vxColSettings.allRowSelected;if(1==e){if(_.each(n.vxConfig.vxFilteredData,function(t,i){var o=!0;if(1==n.vxConfig.pagination&&0==n.vxConfig.virtualization&&(i>=n.vxColSettings.vxPageStartPosition&&i0&&$(r).prop("checked",!0)}}}),_.each(n.vxConfig.columnDefConfigs,function(e){1==n.vxColSettings.dropDownGroup[e.id]&&1==n.vxColSettings.groupByColActivated[e.id]&&_.each(n.vxColSettings.groupKeys[e.id],function(e){n.vxColSettings.groupPredicate[e]=!0})}),n.vxColSettings.multiSelected=_.reject(n.vxColSettings.multiSelected,function(e){return"undefined"==typeof e||null==e||e=={}}),1==n.vxConfig.hybrid){var t=angular.element(document.getElementById("_vxMulLength"+n.vxConfig.id));"undefined"!=typeof t&&null!=t&&t.length>0&&$(t).text(d("vxNumberFixedLen")(n.vxColSettings.multiSelected.length,2))}n.$emit("vxGridRowAllSelectionChange",{id:n.vxConfig.id,data:{toggledTo:e,array:n.vxColSettings.multiSelected}})}else 0==e&&(n.clearSelection(),n.$emit("vxGridRowAllSelectionChange",{id:n.vxConfig.id,data:{toggledTo:e,array:n.vxColSettings.multiSelected}}));if(1==n.vxConfig.hybrid){var t=angular.element(document.getElementById("_vxMulLength"+n.vxConfig.id));"undefined"!=typeof t&&null!=t&&t.length>0&&$(t).text(d("vxNumberFixedLen")(n.vxColSettings.multiSelected.length,2))}},n.rowSelectionChanged=function(e){var t=e,i=_.find(n.vxConfig.vxData,function(t){return t[n.vxColSettings.primaryId]==e}),o={key:i[n.vxConfig.onSelectionReturnCol],value:n.vxColSettings.rowSelected[t],_pKey:t},l=!0;if(1==n.vxColSettings.rowSelected[t]&&1==n.vxColSettings.multiSelColDependent){l=!1;var r=n.vxConfig.multiSelectionDependentCol;if(1==i[r]&&0==n.vxColSettings.multiSelected.length)l=!0;else if(0==i[r]&&n.vxColSettings.multiSelected.length>=1){var a=n.vxColSettings.multiSelected[0],f=_.find(n.vxConfig.vxData,function(e){return 0==e[n.vxColSettings.primaryId].localeCompare(a)});"undefined"!=typeof f&&null!=f&&f!={}&&1==f[r]?(l=!1,n.vxColSettings.rowSelected[t]=!1):l=!0}else 0==i[r]?l=!0:n.vxColSettings.rowSelected[t]=!1}else 0==n.vxColSettings.rowSelected[t]&&(n.vxColSettings.multiSelected=_.reject(n.vxColSettings.multiSelected,function(e){return 0==e.localeCompare(t)}),l=!1,n.vxColSettings.allRowSelected=!1,n.$emit("vxGridRowSelectionChange",{id:n.vxConfig.id,data:o}));if(l){var c=_.find(n.vxColSettings.multiSelected,function(e){return 0==e.localeCompare(t)});"undefined"!=typeof c&&null!=c||n.vxColSettings.multiSelected.push(t),n.$emit("vxGridRowSelectionChange",{id:n.vxConfig.id,data:o}),0==n.vxConfig.multiSelectionEnabled&&(_.each(n.vxColSettings.multiSelected,function(e){0!=e.localeCompare(t)&&(n.vxColSettings.rowSelected[e]=!1)}),n.vxColSettings.multiSelected=_.reject(n.vxColSettings.multiSelected,function(e){return 0!=e.localeCompare(t)}))}if(1==n.vxConfig.hybrid){var v=angular.element(document.getElementById("_vxMulLength"+n.vxConfig.id));"undefined"!=typeof v&&null!=v&&v.length>0&&$(v).text(d("vxNumberFixedLen")(n.vxColSettings.multiSelected.length,2))}},n.filterClick=function(e,t){0==n.vxConfig.preserveSelectionOnFilters&&n.clearSelection();var i=n.vxColSettings.colFiltersStatus[t.key];if(0==i){n.multiBoxFilters=_.reject(n.multiBoxFilters,function(e){return 0==e.key.localeCompare(t.key)});var o=_.find(n.multiBoxFilters,function(e){return 0==e.col.localeCompare(t.col)});"undefined"!=typeof o&&null!=o&&o!={}&&0!=o.length||(n.vxColSettings.colFiltersActivated[e.id]=!1)}else{var l=_.find(n.multiBoxFilters,function(e){return 0==e.key.localeCompare(t.key)});"undefined"!=typeof l&&null!=l&&l!={}||n.multiBoxFilters.push(t),n.vxColSettings.colFiltersActivated[e.id]=!0}1==n.vxConfig.hybrid&&(n.vxConfig.vxFilteredData=d("vxGridMultiBoxFilters")(n._origData,n.multiBoxFilters),n.resetHybridGrid())},n.filterClearClick=function(e){if(1==n.vxColSettings.colFiltersActivated[e.id]){n.clearSelection();var t=_.filter(n.multiBoxFilters,function(n){return 0==n.col.localeCompare(e.id)});t.length>0&&_.each(t,function(e){n.vxColSettings.colFiltersStatus[e.key]=!1}),n.multiBoxFilters=_.reject(n.multiBoxFilters,function(n){return 0==n.col.localeCompare(e.id)}),n.vxColSettings.colFiltersActivated[e.id]=!1,n.vxColSettings.filterSearchToken[e.id]=""}if(""!=n.vxColSettings.filterSearchToken[e.id]){n.vxColSettings.filterSearchToken[e.id]="";var i=angular.element(document.getElementById(e.id+"_searchfilters_"+n.vxConfig.id));"undefined"!=typeof i&&i.length>0&&(i[0].value="")}1==n.vxConfig.hybrid&&(n.vxConfig.vxFilteredData=d("vxGridMultiBoxFilters")(n._origData,n.multiBoxFilters),n.resetHybridGrid())},n.clearFilters=function(){n.multiBoxFilters.length>0&&_.each(n.vxConfig.columnDefConfigs,function(e){n.filterClearClick(e)}),n.multiBoxFilters=[]},n.selectAllFiltered=function(){n.vxColSettings.multiSelected.length>0&&n.clearSelection(),n.emitArray=[];var e="";1!=n.vxConfig.hybrid?e="vxFilteredData":(n.vxConfig.hybrid=!0)&&(e="vxFilteredData"),_.each(n.vxConfig[e],function(e){if(0==n.vxColSettings.multiSelColDependent||1==n.vxColSettings.multiSelColDependent&&0==e[n.vxConfig.multiSelectionDependentCol]){if(n.vxColSettings.rowSelected[e[n.vxColSettings.primaryId]]=!0,1==n.vxConfig.hybrid){var t=angular.element(document.getElementById("vx_row-sel_in_"+e[n.vxColSettings.primaryId]));"undefined"!=typeof t&&null!=t&&t.length>0&&$(t).prop("checked",!0)}var i=e[n.vxColSettings.primaryId],o={key:e[n.vxConfig.onSelectionReturnCol],value:n.vxColSettings.rowSelected[i],_pKey:i};if(n.emitArray.push(o),1==n.vxColSettings.rowSelected[i]){var l=_.find(n.vxColSettings.multiSelected,function(e){return 0==e.localeCompare(i)});"undefined"!=typeof l&&null!=l||n.vxColSettings.multiSelected.push(i)}}}),n.$emit("vxGridRowMultiSelectionChange",{id:n.vxConfig.id,data:n.emitArray})},n.clearSelection=function(){if(n.emitArray=[],_.each(n.vxColSettings.multiSelected,function(e){if(n.vxColSettings.rowSelected[e]=!1,1==n.vxConfig.hybrid){var t=angular.element(document.getElementById("vx_row-sel_in_"+e));"undefined"!=typeof t&&null!=t&&t.length>0&&$(t).prop("checked",!1)}var i=_.find(n.vxConfig.vxData,function(t){return"groupRow"!=t.type&&0==t[n.vxColSettings.primaryId].localeCompare(e)});if("undefined"!=typeof i&&null!=i){var o={key:i[n.vxConfig.onSelectionReturnCol],value:n.vxColSettings.rowSelected[e],_pKey:e};n.emitArray.push(o)}n.vxColSettings.multiSelected=[],n.vxColSettings.allRowSelected=!1,_.each(n.vxConfig.columnDefConfigs,function(e){1==n.vxColSettings.dropDownGroup[e.id]&&1==n.vxColSettings.groupByColActivated[e.id]&&_.each(n.vxColSettings.groupKeys[e.id],function(e){n.vxColSettings.groupPredicate[e]=!1})})}),1==n.vxConfig.hybrid){var e=angular.element(document.getElementById("_vxMulLength"+n.vxConfig.id));"undefined"!=typeof e&&null!=e&&e.length>0&&$(e).text(d("vxNumberFixedLen")(n.vxColSettings.multiSelected.length,2))}n.$emit("vxGridRowMultiSelectionChange",{id:n.vxConfig.id,data:n.emitArray})},n.upDownKeyDownHandlerHeaderMenu=function(e,t){if(40==e.keyCode||27==e.keyCode)if(40==e.keyCode){var i=$(e.target).siblings().find('[tabindex="0"]');i.length>0&&$(i[0]).focus()}else if(27==e.keyCode&&1==n.vxColSettings.dropdDownOpen[t]){n.vxColSettings.dropdDownOpen[t]=!1;var o=$(e.target).closest(".dropdown").find("button");o&&o.length>0&&$(o).focus()}},n.findIdToBeFocussed=function(e,n,t){var i=e;if(t)for(i+1==n.length&&(i=-1);i<=n.length;){var o=$("#"+n[i+1]);if($(o).is('[tabindex="0"]'))return n[i+1];i+=1}else if(!t)for(0==i&&(i=n.length);i>=1;){var o=$("#"+n[i-1]);if($(o).is('[tabindex="0"]'))return n[i-1];i-=1}return e},n.findFocussable=function(e,t,i){var o=$(e).attr("id"),l=_.find(n.vxConfig.columnDefConfigs,function(e){return e.id==t});if("undefined"!=typeof l&&null!=l){var r=l.idCollection,d=_.indexOf(r,o);return d!=-1&&d!=r.length&&1==i?n.findIdToBeFocussed(d,r,!0):d!=-1&&0==i?n.findIdToBeFocussed(d,r,!1):null}},n.shiftKeyPressed=!1,n.upDowKeyUpHandlerHeaderMenuItems=function(e,t){16==e.keyCode&&(n.shiftKeyPressed=!1)},n.upDowKeyDownHandlerHeaderMenuItems=function(e,t){var i=!1;if(16==e.keyCode&&(n.shiftKeyPressed=!0),40!=e.keyCode&&38!=e.keyCode&&27!=e.keyCode&&9!=e.keyCode)return!1;if(40==e.keyCode||9==e.keyCode&&0==n.shiftKeyPressed){var o=n.findFocussable($(e.target),t,!0);$("#"+o).is('[tabindex="0"]')&&$("#"+o).focus(),i=!0}else if(38==e.keyCode||9==e.keyCode&&1==n.shiftKeyPressed){var o=n.findFocussable($(e.target),t,!1);null==o?$(e.target).closest(".dropdown").find("button").focus():$("#"+o).is('[tabindex="0"]')&&$("#"+o).focus(),i=!0}else if(27==e.keyCode&&1==n.vxColSettings.dropdDownOpen[t]){n.vxColSettings.dropdDownOpen[t]=!1;var l=$(e.target).closest(".dropdown").find("button");l&&l.length>0&&$(l).focus()}i&&(e.stopPropagation(),e.preventDefault())},n.openManageColumns=function(){var e=t.open({templateUrl:"template/vx-grid/vx-grid-manage-columns-modal.html",windowClass:"vxGridManageColMod",controller:["$scope","$uibModalInstance","originalSettings",function(e,n,t){e.headerSelected=null,e.headerSelectedForVisChange=null,e.copyForWidthVisChange=t,_.each(e.copyForWidthVisChange,function(e,n){e.order=n,e.chars=Math.ceil((e.width-20)/7),e.selected=!1}),e.swapAbove=function(n){if(0==n.locked){var t=n.order,i=n.order,o=!0;do{i-=1,o=!0;var l=_.find(e.copyForWidthVisChange,function(e){return e.order==i&&0==e.orderLocked});"undefined"!=typeof l&&null!=l&&l!={}||(o=!1)}while(!o&&i>=0);if(o&&i>=0){var l=_.find(e.copyForWidthVisChange,function(e){return e.order==i&&0==e.orderLocked});"undefined"!=typeof l&&null!=l&&l!={}&&(l.order=t,n.order=i)}}},e.swapBelow=function(n){if(0==n.locked){var t=n.order,i=n.order,o=!0;do{i+=1,o=!0;var l=_.find(e.copyForWidthVisChange,function(e){return e.order==i&&0==e.orderLocked});"undefined"!=typeof l&&null!=l&&l!={}||(o=!1)}while(!o&&i<=e.copyForWidthVisChange.length-1);if(o&&i<=e.copyForWidthVisChange.length-1){var l=_.find(e.copyForWidthVisChange,function(e){return e.order==i&&0==e.orderLocked});"undefined"!=typeof l&&null!=l&&l!={}&&(l.order=t,n.order=i)}}},e.makeVisible=function(n){var t=_.find(e.copyForWidthVisChange,function(e){return 0==e.id.localeCompare(n.id)});"undefined"!=typeof t&&null!=t&&t!={}&&0==t.visbilityLocked&&(t.hidden=!1)},e.makeHidden=function(n){var t=_.find(e.copyForWidthVisChange,function(e){return 0==e.id.localeCompare(n.id)});"undefined"!=typeof t&&null!=t&&t!={}&&0==t.visbilityLocked&&(t.hidden=!0)},e.saveChangeInConfig=function(){var t=[];t=_.sortBy(e.copyForWidthVisChange,function(n){var t=_.find(e.copyForWidthVisChange,function(e){return 0==e.id.localeCompare(n.id)});return"undefined"!=typeof t&&null!=t&&t!={}?t.order:1}),n.close(t)},e.widthChanged=function(e){e.width=Math.ceil(7*e.chars)+20},e.selectHeader=function(n){1!=n.locked&&(n.selected=!n.selected,_.each(e.copyForWidthVisChange,function(e){0!=e.id.localeCompare(n.id)&&(e.selected=!1)}),1==n.selected?e.headerSelected=n:e.headerSelected=null)},e.cancelChangeInConfig=function(){n.dismiss()},e.upDownKeyPressHandler=function(n){var t=!1;38!=n.keyCode&&40!=n.keyCode||(t=e.upDownMovement(n)),t&&(n.stopPropagation(),n.preventDefault())},e.upDownMovement=function(e){var n=!1;if(38==e.keyCode){var t=$(e.target).prev();t.length>0&&$(t[0]).attr("tabindex")!=-1&&$(t)[0].focus(),n=!0}else if(40==e.keyCode){var t=$(e.target).next();t.length>0&&$(t[0]).attr("tabindex")!=-1&&$(t)[0].focus(),n=!0}return n}}],backdrop:"static",resolve:{originalSettings:function(){return angular.copy(n.vxConfig.columnDefConfigs)}}});e.result.then(function(e){e=n.calculateEffectiveWidths(e),n.vxConfig.columnDefConfigs=e,1==n.vxConfig.hybrid&&n.resetHybridGrid(),n.$emit("vxGridSettingsChanged",{id:n.vxConfig.id,data:e})},function(e){})},n.calculateEffectiveWidths=function(e){var t=_.reduce(e,function(e,n){var t=0;return 0==n.hidden&&(t=parseInt(n.width)),e+t},0),i=n.selfEle.find(".vxTableScrollContainer").width(),o=0;return _.each(e,function(e){if(i>t){var n=parseInt(e.width)/t*(i-t);e.effectiveWidth=parseInt(e.width)+n}else e.effectiveWidth=e.width;e.effectiveWidth=Math.floor(e.effectiveWidth),o+=e.effectiveWidth}),e},n.openJsonEditor=function(){var e=t.open({templateUrl:"template/vx-grid/vx-grid-json-editor-modal.html",windowClass:"vxGridManageColMod",controller:["$scope","$modalInstance","griddata",function(e,n,t){e.data=angular.copy(t),e.changeData=[],e.configuration={editable:!0,viewButtonClass:"btn-info",editButtonClass:"btn-success"},e.jsonOptions={mode:"code",modes:["tree","form","code","text"],history:!1},e.onChangeJSON=function(n){e.changeData=n},e.saveChangeInConfig=function(){n.close(e.changeData)},e.cancelChangeInConfig=function(){n.dismiss()}}],backdrop:"static",resolve:{griddata:function(){return angular.copy(n.vxConfig.vxData)}}});e.result.then(function(e){n.vxConfig.vxData=e,n.$emit("vxGridDataChanged",{id:n.vxConfig.id,data:e})},function(e){})},n.revealWrapToggle=function(){n.vxColSettings.revealWrapRowData=!n.vxColSettings.revealWrapRowData},n.xsReset=function(){n.vxColSettings.xsSearch=""},n.justScrollTop=function(){var e=n.selfEle.find(".vxTableContainer.scrollTableContainer");o(function(){$(e).animate({scrollTop:0},500)},10)},n.justScrollDown=function(){var e=n.selfEle.find(".vxTableContainer.scrollTableContainer"),t=$(e).scrollTop()||0;0==n.vxConfig.hybrid?o(function(){$(e).animate({scrollTop:t+96},33)},10):1==n.vxConfig.hybrid&&(n.prepForScrollInsertion(),o(function(){$(e).animate({scrollTop:t+100},300)},10))},n.showScrollDownArrow=function(){var e=n.selfEle.find(".vxTableContainer.scrollTableContainer"),t=n.selfEle.find(".scrollTableContainer table.vxTable");return"undefined"!=typeof e&&"undefined"!=typeof t&&null!=e&&null!=t&&t.height()>e.height()},n.showScrollUpArrow=function(){var e=n.selfEle.find(".vxTableContainer.scrollTableContainer"),t=n.selfEle.find(".scrollTableContainer table.vxTable");return"undefined"!=typeof e&&"undefined"!=typeof t&&null!=e&&null!=t&&t.height()>e.height()&&e.scrollTop()>48},n.outsideHeader=function(e){1==n.vxColSettings.dropdDownOpen[e.id]&&(n.vxColSettings.dropdDownOpen[e.id]=!1,n.$$phase||n.$apply())},n.$on("vsRepeatCollectionPartiallyRendered",function(e,t){n.$emit("vxPartiallyRendered",{id:n.vxConfig.id,data:t}),1==n.vxConfig.selectAllOnRenderAll&&(n.vxColSettings.selectAllEnabled=!1,n.$emit("vxPartiallyRenderedSelectAllDisabled",{id:n.vxConfig.id,data:t}))}),n.$on("vsRepeatCollectionCompletelyRendered",function(e,t){n.$emit("vxCompletelyRendered",{id:n.vxConfig.id,data:t}),1==n.vxConfig.selectAllOnRenderAll&&(n.vxColSettings.selectAllEnabled=!0,n.$emit("vxCompletelyRenderedSelectAllEnabled",{id:n.vxConfig.id,data:t}))}),n.buildFns=function(){var e=["openJsonEditor","openManageColumns","resetVxInstance","clearFilters","selectAllFiltered","clearSelection","revealWrapToggle"];_.each(e,function(e){var t="vxGrid"+e.capitalizeFirstLetter(),i=e+"()";n.$on(t,function(e,t){0==t.id.localeCompare(n.vxConfig.id)&&n.$eval(i)}),n.config[e]=function(){n.$eval(i)}})},n.$on("vxGridChangeRowClass",function(e,t){0==t.id.localeCompare(n.vxConfig.id)&&n.changeRowClass(t.data)}),n.changeRowClass=function(e){for(var t in e)n.vxColSettings.vxRowClass[t]=e[t];"$apply"!=n.$root.$$phase&&"$digest"!=n.$root.$$phase&&n.$apply()},n.$on("vxGridResetRowClass",function(e,t){0==t.id.localeCompare(n.vxConfig.id)&&(n.vxColSettings.vxRowClass={})}),n.$on("vxGridDisableRowSelection",function(e,t){0==t.id.localeCompare(n.vxConfig.id)&&_.each(t.data,function(e){n.vxColSettings.vxRowSelectionDisable[e.key]=e.value})}),n.$on("vxGridResetDisableRowSelection",function(e,t){if(0==t.id.localeCompare(n.vxConfig.id))for(var i in n.vxColSettings.vxRowSelectionDisable)n.vxColSettings.vxRowSelectionDisable[i]=!1})}],replace:!0,templateUrl:"template/vx-grid/vx-grid.html",link:function(e,n,t){e.selfEle=n,e.$watchCollection("config.data",function(n){n=n||[];var t=new Date;"undefined"!=typeof n&&0==n.length?(n=[{fillEmptyElement:!0}],e.config.noData=!0,1==e.config.hybrid&&"undefined"!=typeof e.vxConfig&&angular.element(document.getElementById("_vxHybrid"+e.vxConfig.id)).empty()):e.config.noData=!1,1==e.config.hybrid?(e.config.vxData=_.clone(n),e._origData=_.clone(n)):e.config.vxData=angular.copy(n),t=new Date,delete e.vxConfig,e.resetVxInstance()}),1!=e.config.hybrid&&e.$watchCollection("vxConfig.vxFilteredData",function(n){n.length>=0&&1==e.vxConfig.pagination&&(e.vxColSettings.pages=_.range(Math.ceil(n.length/parseInt(e.vxConfig.pageLength))),e.vxColSettings.vxPageEnabled=e.vxColSettings.pages.length>1,e.vxColSettings.activePage=0,e.vxColSettings.vxPageStartPosition=0)}),e.getvxTableContainerWidth=function(){var n=0;return _.each(e.vxConfig.columnDefConfigs,function(e){0==e.hidden&&(n+=e.effectiveWidth)}),e.vxConfig.totalWidth=n+"px",e.vxConfig.totalWidth},e.getNonHiddenColCount=function(){var n=1;return"undefined"!=typeof e.vxConfig.columnDefConfigs&&e.vxConfig.columnDefConfigs.length>0&&(n=_.filter(e.vxConfig.columnDefConfigs,function(e){return 0==e.hidden}).length),n}}}}).directive("vxCompile",["$compile",function(e){return function(n,t,i){n.$watch(function(e){return e.$eval(i.vxCompile)},function(i){t.html(i),e(t.contents())(n)})}}]).directive("vxCompileCloneLink",["$compile",function(e){var n={},t={};return function(i,o,l){var r=null;l.vxCompileCloneLink in n?r=t[l.vxCompileCloneLink]:(t[l.vxCompileCloneLink]=i.$eval(l.vxCompileCloneLink),r=t[l.vxCompileCloneLink]);var d=null;r in n?d=n[r]:(n[r]=e(r),d=n[r]),d(i,function(e,n){o.append(e)})}}]).directive("vxEditFocusDisable",["$rootScope","$parse",function(e,n){var t={},i={},o=["input","select","button","textarea","object"];return{restrict:"AEC",link:function(e,l,r){var d=(n(r.vxEditFocusDisable),$(l).attr("id"));e.$watch(r.vxEditFocusDisable,function(e){if(e){i[d]={available:!0,stack:[]},_.each(o,function(e){var n=$(l).find(e);n.length>0&&_.each(n,function(e){var n=$(e).attr("id");"undefined"!=typeof n&&null!=n&&""!=n||($(e).attr("id",_.uniqueId("elemid")),n=$(e).attr("id")),i[d].stack.push(n)})});var n=$(l).find("[tabindex]");n.length>0&&_.each(n,function(e){var n=$(e).attr("tabindex");if(n!=-1&&0==_.contains(o,e.nodeName.toUpperCase())&&0==_.contains(i[d].stack,t)){var t=$(e).attr("id");"undefined"!=typeof t&&null!=t&&""!=t||($(e).attr("id",_.uniqueId("elemid")),t=$(e).attr("id")),i[d].stack.push(t)}}),_.each(i[d].stack,function(e){t[e]=$("#"+e).attr("tabindex")||0,$("#"+e).attr("tabindex",-1)})}else 0==e&&"undefined"!=typeof i[d]&&"undefined"!=typeof i[d].available&&1==i[d].available&&(_.each(i[d].stack,function(e){var n=t[e];$("#"+e).attr("tabindex",n)}),i[d].available=!1)})}}}]).directive("axKey",["$rootScope","$parse",function(e,n){return{restrict:"A",compile:function(t,i){var o=n(i.axKey);return function(n,t){function l(t){var i=function(){o(n,{$event:t})};e.$$phase?n.$evalAsync(i):n.$apply(i)}t.attr("role")||t.attr("role","button"),t.attr("tabindex")||t.attr("tabindex",0);var r=[],d=0;r.push(n.$watch(i.axDisabled||i.ngDisabled,function(e){e?(d=t.attr("tabindex"),t.attr("tabindex",-1),t.attr("aria-disabled",!0)):(t.attr("tabindex",0),t.attr("aria-disabled",!1))})),t.on("click",function(e){n.$eval(i.axDisabled)||n.$eval(i.ngDisabled)||l(e)}),t.on("keyup",function(e){n.$eval(i.axDisabled)||n.$eval(i.ngDisabled)||13!=e.keyCode&&32!=e.keyCode||l(e)}),n.$on("$destroy",function(){for(;r.length;)r.shift()()})}}}}]).directive("vxKeepWatch",function(){return{restrict:"AEC",link:function(e,n,t){var i=t.vxKeepWatch,o=!1;e.$watch(t[i],function(n){o?e.$emit("vxInlineEditFieldChange",{field:t.vxKeepWatchField,value:n,rowId:t.vxKeepWatchRowId}):o=!0})}}}).filter("vxGridMultiBoxFilters",function(){return function(e,n){if("undefined"!=typeof n&&null!=n&&n.length>0){var t=e,i=e,o=_.groupBy(n,"col");for(var l in o){var r=o[l],d=[];_.each(r,function(e){d=_.union(d,_.filter(i,function(n){return"undefined"!=typeof e.label&&null!=e.label&&e.label!={}&&"undefined"!=typeof n[e.col]&&null!=n[e.col]&&n[e.col]!={}?"date"==e.type?"undefined"!=typeof n[e.col]&&n[e.col]!={}&&null!=n[e.col]&&""!=n[e.col]&&n[e.col].getTime()==e.label:"object"==e.type?0==JSON.stringify(n[e.col]).localeCompare(JSON.stringify(e.label)):0==n[e.col].toString().trim().localeCompare(e.label):n[e.col]==e.label}))}),t=_.intersection(t,d)}return t}return e}}).directive("clickOutsideHeader",["$document","$parse",function(e,n){return{restrict:"A",link:function(t,i,o){var l=void 0!==o.outsideIfNot?o.outsideIfNot.replace(", ",",").split(","):[];void 0!==o.id&&l.push(o.id);var r=n(o.clickOutsideHeader);e.on("click",function(e){try{var n=$(e.target).closest("th.vxHeadRowCell");"undefined"!=typeof n&&null!=n&&0!=n.length||t.$eval(o.checkClickOutside)&&t.$eval(r)}catch(e){}})}}}]).filter("vxNumberFixedLen",function(){return function(e,n){var t=parseInt(e,10);if(n=parseInt(n,10),isNaN(t)||isNaN(n))return e;for(t=""+t;t.length
',inlineEditOnColumnEnabled:!1};n.vxConfig.columnDefConfigs.unshift(a)}_.each(n.vxConfig.vxData,function(e,t){var i=e[n.vxColSettings.primaryId];n.vxColSettings.inlineEditState[i]=n.config.allRowsInDefaultEdit||!1})}if(e=new Date,1==n.vxConfig.selectionEnabled){var r=_.find(n.vxConfig.columnDefConfigs,function(e){return 0==e.id.localeCompare("checkbox")});if("undefined"==typeof r||null==r||r=={}){var a={id:"checkbox",columnName:"Row Selection",columnIsRowSelect:!0,renderDefn:!0,renderHeadDefn:!0,ddSort:!1,ddGroup:!1,ddFilters:!1,width:"50",locked:!0,headTabIndex:-1,headerDefn:'
',cellDefn:'
{{::row[vxConfig.ariaPrimary]}}'};n.vxConfig.columnDefConfigs.unshift(a)}_.each(n.vxConfig.vxData,function(e,t){var i=e[n.vxColSettings.primaryId];n.vxColSettings.rowSelected[i]=!1,n.vxColSettings.vxRowSelectionDisable[i]=!1})}e=new Date,n.multiBoxFilters=[];var c=[{prop:"enableDropdownsInHeader",defValue:!1},{prop:"selectionEnabled",defValue:!1},{prop:"selectionAtMyRisk",defValue:!1},{prop:"preserveSelectionOnFilters",defValue:!1},{prop:"multiSelectionEnabled",defValue:!1},{prop:"showGridStats",defValue:!1},{prop:"showGridOptions",defValue:!1},{prop:"selectAllOnRenderAll",defValue:!1},{prop:"virtualization",defValue:!0},{prop:"pagination",defValue:!1},{prop:"pageLength",defValue:20},{prop:"data",defValue:[]},{prop:"vxFilteredData",defValue:[]},{prop:"xsRowTitleTemplate",defValue:'
{{row[vxColSettings.primaryId]}}
'},{prop:"inlineAddRowEnabled",defValue:!1},{prop:"inlineEditSyncEnabled",defValue:!1},{prop:"inlineDeletingEnabled",defValue:!1},{prop:"inlineSaveOverrideEnabled",defValue:!1},{prop:"inlineDeleteOverrideEnabled",defValue:!1},{prop:"allRowsInDefaultEdit",defValue:!1},{prop:"jsonEditorEnabled",defValue:!1},{prop:"allRowsSelectionEnabled",defValue:!1},{prop:"sortPredicate",defValue:n.vxColSettings.primaryId},{prop:"sortPredicateFn",defValue:n.vxColSettings.primaryId},{prop:"reverseSortDirection",defValue:!1},{prop:"emptyFill",defValue:"No records to display ..."},{prop:"caption",defValue:"sample vx grid table caption"},{prop:"loaderGifSrc",defValue:"/resource/loaderWhite36.GIF"},{prop:"ariaPrimary",defValue:n.vxColSettings.primaryId},{prop:"xsTemplate",defValue:!1},{prop:"bindOnce",defValue:!1},{prop:"hybrid",defValue:!1},{prop:"latchExcess",defValue:5}];if(_.each(c,function(e){"undefined"!==n.vxConfig[e.prop]&&null!=n.vxConfig[e.prop]&&n.vxConfig[e.prop]!={}||(n.vxConfig[e.prop]=e.defValue)}),n.vxColSettings.vxRowClass=n.vxConfig.initialRowClasses||{},n.getWindowDimensions().w<768&&(n.vxColSettings.xsViewEnabled=n.vxConfig.xsTemplate,n.vxConfig.latchExcess=5),e=new Date,n.vxColSettings.selectAllOnRenderAll=n.vxConfig.selectAllOnRenderAll,_.each(n.vxConfig.columnDefConfigs,function(e){var t=[{prop:"renderDefn",defValue:!1},{prop:"renderHeadDefn",defValue:!1},{prop:"ddSort",defValue:!1},{prop:"ddGroup",defValue:!1},{prop:"ddFilters",defValue:!1},{prop:"ddFiltersWithSearch",defValue:!1},{prop:"dropDownEnabled",defValue:!1},{prop:"hidden",defValue:!1},{prop:"xsHidden",defValue:!1},{prop:"locked",defValue:!1},{prop:"primary",defValue:!1},{prop:"width",defValue:"200"},{prop:"headerDefn",defValue:""},{prop:"cellDefn",defValue:""},{prop:"filterCellDefn",defValue:""},{prop:"inlineEditOnColumnEnabled",defValue:!1},{prop:"inlineEditValidation",defValue:!1},{prop:"editDefn",defValue:null},{prop:"editDefnTemplate",defValue:null},{prop:"headTabIndex",defValue:0},{prop:"columnIsRowSelect",defValue:!1},{prop:"columnIsDate",defValue:!1},{prop:"columnDatePipe",defValue:"dd/MM/yyyy"},{prop:"renderHybridCellDefn",defValue:!1},{prop:"hybridCompile",defValue:!1},{prop:"filterLimit",defValue:10},{prop:"scopeIsRow",defValue:!1}];_.each(t,function(n){"undefined"!==e[n.prop]&&null!=e[n.prop]&&e[n.prop]!={}||(e[n.prop]=n.defValue)}),e.effectiveWidth=e.width,e.idCollection=[];var i=[{prop:"orderLocked",defValue:!1},{prop:"widthLocked",defValue:!1},{prop:"visbilityLocked",defValue:!1}];_.each(i,function(n){"undefined"===e[n.prop]||null==e[n.prop]||e[n.prop]=={}?e[n.prop]=e.locked:e[n.prop]=e.locked||e[n.prop]}),n.vxColSettings.reverseSettings[e.id]=!1,"undefined"!=typeof e.dropDownEnabled&&null!=e.dropDownEnabled&&1==e.dropDownEnabled&&1==n.vxConfig.enableDropdownsInHeader?n.vxColSettings.dropdDownEnabled[e.id]=!0:n.vxColSettings.dropdDownEnabled[e.id]=!1,n.vxColSettings.dropdDownLoaded[e.id]=!1,n.vxColSettings.dropdDownOpen[e.id]=!1,"undefined"!=typeof e.renderDefn&&null!=e.renderDefn&&e.renderDefn!={}&&1==e.renderDefn&&(e.cellDefn=e.cellDefn.replaceAll("VX_ROW_POINT","row[vxColSettings.primaryId]"),e.cellDefn=e.cellDefn.replaceAll("VX_DATA_POINT","row[header.id]"),e.cellDefn=e.cellDefn.replaceAll("VX_ROW","row"),e.cellDefn=e.cellDefn.replaceAll("VX_CONFIG","vxConfig")),1==e.inlineEditOnColumnEnabled&&1!=n.vxConfig.hybrid&&(""!=e.editDefn&&null!=e.editDefn||(e.editDefn=''),e.editDefn=e.editDefn.replaceAll("VX_ROW_POINT","row[vxColSettings.primaryId]"),e.editDefn=e.editDefn.replaceAll("VX_DATA_POINT","row[header.id]"),e.editDefn=e.editDefn.replaceAll("VX_ROW","row"),e.editDefn=e.editDefn.replaceAll("VX_CONFIG","vxConfig"),n.vxColSettings.colWithInlineEdits.push(e.id),e.editDefn.indexOf("vx-keep-watch")!=-1&&(e.editDefn=e.editDefn.replaceAll("vx-keep-watch",'vx-keep-watch-row-id="{{row[vxColSettings.primaryId]}}" vx-keep-watch-field="'+e.id+'" vx-keep-watch')),1==e.inlineEditValidation&&(n.vxConfig.invalidRows={},n.vxConfig.invalidRowFields={},_.each(n.vxConfig.vxData,function(e,t){var i=e[n.vxColSettings.primaryId];n.vxConfig.invalidRows[i]=!1,n.vxConfig.invalidRowFields[i]={}}),e.editDefn=e.editDefn.replaceAll("VX_INVALID_ROW","vxConfig.invalidRows[row[vxColSettings.primaryId]] == true"),e.editDefn=e.editDefn.replaceAll("VX_INVALID_FIELD_ROW","vxConfig.invalidRowFields[row[vxColSettings.primaryId]]."+e.id+" == true")))}),e=new Date,n.vxConfig.columnDefConfigs=n.calculateEffectiveWidths(n.vxConfig.columnDefConfigs),"undefined"!=typeof n.vxConfig.multiSelectionDependentCol&&null!=n.vxConfig.multiSelectionDependentCol&&n.vxConfig.multiSelectionDependentCol!={}&&""!=n.vxConfig.multiSelectionDependentCol&&(n.vxColSettings.multiSelColDependent=!0),"undefined"!=typeof n.vxConfig.xsRowTitleTemplate&&null!=n.vxConfig.xsRowTitleTemplate&&n.vxConfig.xsRowTitleTemplate!={}&&""!=n.vxConfig.xsRowTitleTemplate&&(n.vxColSettings.xsRowTitleTemplateAvailable=!0),1==n.vxConfig.inlineAddRowEnabled&&1!=n.vxConfig.hybrid&&("undefined"==typeof n.vxConfig.newRowTemplate||null==n.vxConfig.newRowTemplate||n.vxConfig.newRowTemplate=={}||""==n.vxConfig.newRowTemplate)){var v=angular.copy(n.vxConfig.data[0]);_.each(n.vxConfig.columnDefConfigs,function(e){switch(typeof n.vxConfig.newRowTemplate[e.id]){case"boolean":n.vxConfig.newRowTemplate[e.id]=!1;break;case"number":n.vxConfig.newRowTemplate[e.id]=0;break;case"string":n.vxConfig.newRowTemplate[e.id]="";break;default:n.vxConfig.newRowTemplate[e.id]=null}}),n.vxConfig.newRowTemplate=v}n.$watch("getWindowDimensions()",function(e,t){n.vxColSettings.xsViewEnabled=!1,n.vxConfig.columnDefConfigs=n.calculateEffectiveWidths(n.vxConfig.columnDefConfigs)},!0);s.bind("resize",function(){n.$apply()}),n.config.getVxCounts=function(){if("undefined"!=typeof n.vxConfig&&null!=n.vxConfig&&n.vxConfig!={}&&"undefined"!==n.vxConfig.id&&null!=n.vxConfig.id&&n.vxConfig.id!={}){var e={id:n.vxConfig.id,data:{vxAllDataLength:n.getAllRowLength(),vxFilteredDataLength:n.multiBoxFilters.length>0?1!=n.vxConfig.hybrid?n.vxConfig.vxFilteredData.length:n.vxConfig.vxData.length:0,vxSelectedDataLength:n.vxColSettings.multiSelected.length}};return e}},n.config.getAppliedFilters=function(){if("undefined"!=typeof n.vxConfig&&null!=n.vxConfig&&n.vxConfig!={}&&"undefined"!==n.vxConfig.id&&null!=n.vxConfig.id&&n.vxConfig.id!={}){var e=_.map(n.multiBoxFilters,function(e){return{column:e.col,label:e.label,key:e.key}});return e}},n.config.getData=function(){return n.vxConfig.data},n.config.getActiveDataSet=function(){return n.vxConfig.vxData},n.config.getFilteredDataSet=function(){return n.vxConfig.vxFilteredData},n.config.setRowFieldValidation=function(e,t,i){if("undefined"==typeof n.vxConfig.invalidRowFields[e]&&(n.vxConfig.invalidRows[e]=!1,n.vxConfig.invalidRowFields[e]={}),1==n.vxConfig.inlineEditSyncEnabled){var o=_.filter(n.vxColSettings.multiSelected,function(n){return 0==n.localeCompare(e)});"undefined"!=typeof o&&null!=o&&o.length>0&&_.each(n.vxColSettings.multiSelected,function(e){n.vxConfig.invalidRows[e]=!i,n.vxConfig.invalidRowFields[e][t]=!i})}n.vxConfig.invalidRows[e]=!i,n.vxConfig.invalidRowFields[e][t]=!i},n.config.getSelectedRows=function(){if(1==n.vxConfig.selectionAtMyRisk){n.vxColSettings.multiSelected=[];for(var e in n.vxColSettings.rowSelected)1==n.vxColSettings.rowSelected[e]&&"undefined"!=typeof e&&"undefined"!=e.toString()&&n.vxColSettings.multiSelected.push(e)}return n.vxColSettings.multiSelected},n.config.getRowsBeingEdited=function(){var e=[];if("undefined"!=typeof n.vxColSettings.inlineEditState&&null!=n.vxColSettings.inlineEditState)for(var t in n.vxColSettings.inlineEditState)1==n.vxColSettings.inlineEditState[t]&&e.push(t);return e},n.config.modifyRows=function(e,t){var i=[];return _.each(e,function(e){var o=e[n.vxColSettings.primaryId],l=_.find(n.vxConfig.vxData,function(e){return 0==e[n.vxColSettings.primaryId].localeCompare(o)}),r=_.find(n.vxConfig.data,function(e){return 0==e[n.vxColSettings.primaryId].localeCompare(o)});if("undefined"!=typeof l&&"undefined"!=typeof r){if("undefined"==typeof t||0==t.length)for(var d in e)0!=d.localeCompare(n.vxColSettings.primaryId)&&(l[d]=e[d],r[d]=e[d]);else t.length>0&&_.each(t,function(n){l[n]=e[n],r[n]=e[n]});i.push(r),1==n.vxConfig.hybrid&&n.hybridUpdateRows(i)}}),i},n.config.selectRows=function(e){var t=[];return _.each(e,function(e){var i=n.vxColSettings.rowSelected[e];if(("undefined"==typeof i||null==i||0==i)&&(n.vxColSettings.rowSelected[e]=!0,n.vxColSettings.multiSelected.push(e),t.push(e),1==n.vxConfig.hybrid)){var o=angular.element(document.getElementById("vx_row-sel_in_"+e));"undefined"!=typeof o&&null!=o&&o.length>0&&$(o).prop("checked",!0);var l=angular.element(document.getElementById("_vxMulLength"+n.vxConfig.id));"undefined"!=typeof l&&null!=l&&l.length>0&&$(l).text(d("vxNumberFixedLen")(n.vxColSettings.multiSelected.length,2))}}),t},n.config.deselectRows=function(e){var t=[];return _.each(e,function(e){var i=n.vxColSettings.rowSelected[e];if("undefined"!=typeof i&&1==i){if(n.vxColSettings.rowSelected[e]=!1,n.vxColSettings.multiSelected=_.reject(n.vxColSettings.multiSelected,function(n){0==e.localeCompare(n)}),t.push(e),1==n.vxConfig.hybrid){var o=angular.element(document.getElementById("vx_row-sel_in_"+e));"undefined"!=typeof o&&null!=o&&o.length>0&&$(o).prop("checked",!1)}if(1==n.vxConfig.hybrid){var l=angular.element(document.getElementById("_vxMulLength"+n.vxConfig.id));"undefined"!=typeof l&&null!=l&&l.length>0&&$(l).text(d("vxNumberFixedLen")(n.vxColSettings.multiSelected.length,2))}}}),t},n.config.sortByColumn=function(e,t){var i=_.find(n.vxConfig.columnDefConfigs,function(n){return 0==n.id.localeCompare(e)});"undefined"!=typeof i&&null!=i&&(n.vxConfig.sortPredicate=i.id,i.customSortEnabled?n.vxConfig.sortPredicateFn=i.customSortFn:n.vxConfig.sortPredicateFn=i.id,n.vxConfig.reverseSortDirection=t)},n.config.resetColumnFilters=function(e){_.each(e,function(e){n.vxColSettings.dropdDownLoaded[e]=!1,n.vxColSettings.colFilterPairs[e]={}})},n.config.removeRows=function(e){0==n.vxConfig.hybrid?(n.vxConfig.vxData=_.reject(n.vxConfig.vxData,function(t){return 1==_.contains(e,t[n.vxColSettings.primaryId])}),n.vxColSettings.multiSelected=_.difference(n.vxColSettings.multiSelected,e)):1==n.vxConfig.hybrid&&n.config.hybridDeleteRows(e)},n.buildFns(),n.config.changeRowClass=n.changeRowClass,n.$emit("vxGridSettingsBuilt",{id:n.vxConfig.id}),e=new Date;var g=null,x=null,C=48,p=n.vxConfig.latchExcess,S=0,m=!1,h=0;n.config.hybridDeleteRows=function(e){window.requestAnimFrame(function(){angular.forEach(e,function(e){var t=angular.element(document.getElementById(e));t.remove(),n.vxColSettings.inlineEditState[e]=!1,n.vxColSettings.rowSelected[e]=!1,n.vxColSettings.saveInProgress[e]=!1}),n._origData=_.reject(n._origData,function(t){return 1==_.contains(e,t[n.vxColSettings.primaryId])}),n.vxConfig.vxFilteredData=_.reject(n.vxConfig.vxFilteredData,function(t){return 1==_.contains(e,t[n.vxColSettings.primaryId])}),n.vxConfig.vxData=_.reject(n.vxConfig.vxData,function(t){return 1==_.contains(e,t[n.vxColSettings.primaryId])}),n.vxColSettings.multiSelected=_.difference(n.vxColSettings.multiSelected,e);var t=angular.element(document.getElementById("_vxMulLength"+n.vxConfig.id));"undefined"!=typeof t&&null!=t&&t.length>0&&$(t).text(d("vxNumberFixedLen")(n.vxColSettings.multiSelected.length,2)),n.$$phase||n.$apply()})},n.hybridUpdateRows=function(e){angular.forEach(e,function(e){var t=n.hybridGetRowTmpl(e),i=angular.element(document.getElementById(t.rowId));i.empty(),i.replaceWith(t.rowTmpl),t.compile&&f(i.contents())(n)})},n.resetHybridGrid=function(){S=0,m=!1,h=0,n.prepHybrid()},n.prepHybrid=function(){g=angular.element(document.getElementById("_vxHybrid"+n.vxConfig.id)),x=angular.element(document.getElementById("_vxScrollContainer"+n.vxConfig.id)),g.empty();var e=x.height(),t=Math.ceil(e/C)+p,i=_.first(n.vxConfig.vxFilteredData,t);n.appendRows(i),S+=t,x.on("scroll",function(){n.debPep()})},n.prepForScrollInsertion=function(){var e=g.height()-(x.height()+x.scrollTop());if(x.scrollTop()>h&&(e<0&&(e=0),e0&&$(r).text(d("vxNumberFixedLen")(n.vxColSettings.multiSelected.length,2)),"function"==typeof n.config.rowSelectionCallback&&n.config.rowSelectionCallback(o)}else n.rowSelectionChanged(t)}})})}},e=new Date,1==n.vxConfig.hybrid&&(e=new Date,n.vxConfig.vxFilteredData=n.vxConfig.vxData||[],o(n.prepHybrid,100))},n.editRow=function(e){if(1==n.vxConfig.inlineEditSyncEnabled&&n.vxColSettings.multiSelected.length>0){var t=_.filter(n.vxColSettings.multiSelected,function(n){return 0==n.localeCompare(e)});"undefined"!=typeof t&&null!=t&&t.length>0&&_.each(n.vxColSettings.multiSelected,function(e){n.vxColSettings.inlineEditState[e]=!0})}n.vxColSettings.inlineEditState[e]=!0},n.editInProgressCount=function(){var e=0;if("undefined"!=typeof n.vxColSettings.inlineEditState&&null!=n.vxColSettings.inlineEditState)for(var t in n.vxColSettings.inlineEditState)e=1==n.vxColSettings.inlineEditState[t]?e+1:e;return e},n.$on("vxInlineEditFieldChange",function(e,t){if(1==n.vxConfig.inlineEditSyncEnabled){var i=_.filter(n.vxColSettings.multiSelected,function(e){return 0==e.localeCompare(t.rowId)});"undefined"!=typeof i&&null!=i&&i.length>0&&_.each(n.vxColSettings.multiSelected,function(e){var i=_.find(n.vxConfig.vxData,function(t){return t[n.vxColSettings.primaryId]==e});"undefined"!=typeof i&&null!=i&&1==n.vxColSettings.inlineEditState[e]&&(i[t.field]=t.value)})}}),n.savingRows=function(e){var t=_.find(n.vxConfig.vxData,function(t){return t[n.vxColSettings.primaryId]==e});if("undefined"!=typeof t&&1==t.newRow)if(1==n.vxConfig.inlineSaveOverrideEnabled){n.vxColSettings.saveInProgress[e]=!0;var i=a.defer();i.promise.then(function(i){"undefined"!=typeof t.row&&1==i.save?(t.newRow=!1,_.each(n.vxConfig.columnDefConfigs,function(e){t[e.id]=i.row[e.id]})):n.vxConfig.data.unshift(t),n.vxColSettings.inlineEditState[e]="undefined"==typeof i.save||null==i.save||1!=i.save,n.$emit("vxGridRowSave",{id:n.vxConfig.id,data:t,save:!n.vxColSettings.inlineEditState[e]}),n.vxColSettings.saveInProgress[e]=!1},function(i){n.vxColSettings.saveInProgress[e]=!1,n.vxColSettings.inlineEditState[e]=!0,t.newRow=!0}),i.resolve(n.config.fnInlineSaveOverride(t,null))}else"undefined"!=typeof o?_.each(n.vxConfig.columnDefConfigs,function(e){o[e.id]=t[e.id]}):n.vxConfig.data.unshift(t),n.vxColSettings.inlineEditState[e]=!1,n.$emit("vxGridRowSaved",{id:n.vxConfig.id,data:t});else{var o=_.find(n.vxConfig.data,function(t){return t[n.vxColSettings.primaryId]==e});if("undefined"!=typeof t&&"undefined"!=typeof o&&1==n.vxConfig.inlineSaveOverrideEnabled){n.vxColSettings.saveInProgress[e]=!0;var i=a.defer();i.promise.then(function(i){"undefined"!=typeof i.row&&1==i.save&&_.each(n.vxColSettings.colWithInlineEdits,function(e){o[e]=i.row[e]}),n.vxColSettings.inlineEditState[e]="undefined"==typeof i.save||null==i.save||1!=i.save,n.$emit("vxGridRowSave",{id:n.vxConfig.id,data:t,save:!n.vxColSettings.inlineEditState[e]}),n.vxColSettings.saveInProgress[e]=!1},function(t){n.vxColSettings.saveInProgress[e]=!1,n.vxColSettings.inlineEditState[e]=!0}),i.resolve(n.config.fnInlineSaveOverride(t,o))}}},n.saveRow=function(e){var t=!1;if(1==n.vxConfig.inlineEditSyncEnabled){var i=_.filter(n.vxColSettings.multiSelected,function(n){return 0==n.localeCompare(e)});"undefined"!=typeof i&&null!=i&&i.length>0&&_.each(n.vxColSettings.multiSelected,function(e){n.savingRows(e),t=!0})}t||n.savingRows(e)},n.revertEdits=function(){if("undefined"!=typeof n.vxColSettings.multiSelected&&null!=n.vxColSettings.multiSelected&n.vxColSettings.multiSelected.length>0&&(_.each(n.vxColSettings.multiSelected,function(e){if(n.revertEditForRow(e),n.vxColSettings.rowSelected[e]=!1,1==n.vxConfig.hybrid){var t=angular.element(document.getElementById("vx_row-sel_in_"+e));"undefined"!=typeof t&&null!=t&&t.length>0&&$(t).prop("checked",!1)}}),n.vxColSettings.multiSelected=[],1==n.vxConfig.hybrid)){var e=angular.element(document.getElementById("_vxMulLength"+n.vxConfig.id));"undefined"!=typeof e&&null!=e&&e.length>0&&$(e).text(d("vxNumberFixedLen")(n.vxColSettings.multiSelected.length,2))}},n.revertEditForRow=function(e){var t=_.find(n.vxConfig.vxData,function(t){return t[n.vxColSettings.primaryId]==e});if("undefined"!=typeof t&&1==t.newRow){if(n.vxColSettings.inlineEditState[e]=!1,n.vxColSettings.rowSelected[e]=!1,1==n.vxConfig.hybrid){var i=angular.element(document.getElementById("vx_row-sel_in_"+e));"undefined"!=typeof i&&null!=i&&i.length>0&&$(i).prop("checked",!1)}if(n.vxColSettings.multiSelected=_.reject(n.vxColSettings.multiSelected,function(n){0==e.localeCompare(n)}),n.vxConfig.vxData=_.reject(n.vxConfig.vxData,function(t){return 0==t[n.vxColSettings.primaryId].localeCompare(e)}),n.$emit("vxGridRowEditRevert",{id:n.vxConfig.id,data:t}),1==n.vxConfig.hybrid){var o=angular.element(document.getElementById("_vxMulLength"+n.vxConfig.id));"undefined"!=typeof o&&null!=o&&o.length>0&&$(o).text(d("vxNumberFixedLen")(n.vxColSettings.multiSelected.length,2))}}else{var l=_.find(n.vxConfig.data,function(t){return t[n.vxColSettings.primaryId]==e});if("undefined"!=typeof t&&"undefined"!=typeof l){if(_.each(n.vxColSettings.colWithInlineEdits,function(e){t[e]=l[e]}),n.vxColSettings.inlineEditState[e]=!1,n.vxColSettings.rowSelected[e]=!1,1==n.vxConfig.hybrid){var i=angular.element(document.getElementById("vx_row-sel_in_"+e));"undefined"!=typeof i&&null!=i&&i.length>0&&$(i).prop("checked",!1)}if(n.vxColSettings.multiSelected=_.reject(n.vxColSettings.multiSelected,function(n){0==e.localeCompare(n)}),n.$emit("vxGridRowEditRevert",{id:n.vxConfig.id,data:l}),1==n.vxConfig.hybrid){var o=angular.element(document.getElementById("_vxMulLength"+n.vxConfig.id));"undefined"!=typeof o&&null!=o&&o.length>0&&$(o).text(d("vxNumberFixedLen")(n.vxColSettings.multiSelected.length,2))}}}},n.addNewRow=function(){n.vxConfig.sortPredicate="_vxCreated",n.vxConfig.sortPredicateFn="_vxCreated",n.vxConfig.reverseSortDirection=!0;var t=angular.copy(n.vxConfig.newRowTemplate),i=e();t[n.vxColSettings.primaryId]=i,t.newRow=!0,t._vxCreated=(new Date).getTime(),n.vxColSettings.inlineEditState[i]=!0,n.vxConfig.vxData.unshift(t)},n.deleteRows=function(){if("undefined"!=typeof n.vxColSettings.multiSelected&&null!=n.vxColSettings.multiSelected&n.vxColSettings.multiSelected.length>0)if(1==n.vxConfig.inlineDeleteOverrideEnabled){_.each(n.vxColSettings.multiSelected,function(e){n.vxColSettings.saveInProgress[e]=!0});var e=a.defer(),t=angular.copy(_.filter(n.vxConfig.vxData,function(e){return 1==_.contains(n.vxColSettings.multiSelected,e[n.vxColSettings.primaryId])}));e.promise.then(function(e){if(e.rows.length>0){var t=_.map(e.rows,function(e){return e[n.vxColSettings.primaryId]});if(n.vxConfig.vxData=_.reject(n.vxConfig.vxData,function(e){return 1==_.contains(t,e[n.vxColSettings.primaryId])}),n.$emit("vxGridRowsDeleted",{id:n.vxConfig.id,data:t}),_.each(t,function(e){n.vxColSettings.inlineEditState[e]=!1,n.vxColSettings.rowSelected[e]=!1,n.vxColSettings.saveInProgress[e]=!1}),n.vxColSettings.multiSelected=_.difference(n.vxColSettings.multiSelected,t),1==n.vxConfig.hybrid){var i=angular.element(document.getElementById("_vxMulLength"+n.vxConfig.id));"undefined"!=typeof i&&null!=i&&i.length>0&&$(i).text(d("vxNumberFixedLen")(n.vxColSettings.multiSelected.length,2))}}},function(e){}).then(function(){_.each(n.vxColSettings.multiSelected,function(e){n.vxColSettings.saveInProgress[e]=!1})}),e.resolve(n.config.fnInlineDeleteOverride(t))}else if(n.vxConfig.vxData=_.reject(n.vxConfig.vxData,function(e){return 1==_.contains(n.vxColSettings.multiSelected,e[n.vxColSettings.primaryId])}),n.$emit("vxGridRowsDeleted",{id:n.vxConfig.id,data:n.vxColSettings.multiSelected}),_.each(n.vxColSettings.multiSelected,function(e){n.vxColSettings.inlineEditState[e]=!1,n.vxColSettings.rowSelected[e]=!1}),n.vxColSettings.multiSelected=[],1==n.vxConfig.hybrid){var i=angular.element(document.getElementById("_vxMulLength"+n.vxConfig.id));"undefined"!=typeof i&&null!=i&&i.length>0&&$(i).text(d("vxNumberFixedLen")(n.vxColSettings.multiSelected.length,2))}},n.activatePage=function(e){n.vxColSettings.activePage=e,n.vxColSettings.vxPageStartPosition=e>0?e*n.vxConfig.pageLength:0,n.vxColSettings.allRowSelected=!1},n.debouncedSearch=_.debounce(function(){n.vxColSettings.xsSearch=angular.copy(n.vxColSettings.searchToken)},50),n.keyUpSearch=function(e){13==e.keyCode?n.vxColSettings.xsSearch=angular.copy(n.vxColSettings.searchToken):8==e.keyCode&&""==n.vxColSettings.searchToken&&(n.vxColSettings.xsSearch=angular.copy(n.vxColSettings.searchToken))},n.filtTokenChange=function(e){n.vxColSettings.filterSearchToken[e]=n.vxColSettings.enteredSearchToken[e],_.each(n.vxConfig.columnDefConfigs,function(n){n.id==e&&(n.filterLimit=10,u[e]=0)})},n.debFiltTokenChange=_.debounce(n.filtTokenChange,10),n.filterTokenChnagedRapid=function(e){""==n.vxColSettings.enteredSearchToken[e]?(_.each(n.vxConfig.columnDefConfigs,function(n){n.id==e&&(n.filterLimit=10,u[e]=0)}),n.vxColSettings.filterSearchToken[e]=""):n.debFiltTokenChange(e)},n.filterAssignVar=function(e){var t=angular.element(document.getElementById(e+"_searchfilters_"+n.vxConfig.id));"undefined"!=typeof t&&t.length>0&&(n.vxColSettings.filterSearchToken[e]=t[0].value,_.each(n.vxConfig.columnDefConfigs,function(n){n.id==e&&(n.filterLimit=10,u[e]=0)}))},n.isValidHeaderName=function(e,n){return 0==e.renderHeadDefn&&"undefined"!=typeof n&&null!=n&&""!=n},n.headerClick=function(e,t){var i=!0,l=$(t.target);if("undefined"!=typeof l&&null!=l&l.length>0){var r=l.closest("ul.dropdown-menu");"undefined"!=typeof r&&null!=r&r.length>0&&(i=!1)}if(0!=i){var d=n.selfEle.find(".vxTableScrollContainer"),a=(n.selfEle.find(".vxHeadRowCell .dropdown ul.dropdown-menu"),n.getWindowDimensions().h/2);_.each(n.selfEle.find(".vxHeadRowCell .dropdown ul.dropdown-menu"),function(e){var n=Math.min(Math.floor(d.height())-48,a); +$(e).css("max-height",n+"px")}),_.each(n.vxConfig.columnDefConfigs,function(t){0!=t.id.localeCompare(e.id)&&(n.vxColSettings.dropdDownOpen[t.id]=!1)});var f=_.find(n.vxConfig.columnDefConfigs,function(n){return 0==n.id.localeCompare(e.id)});if("undefined"!=typeof f&&null!=f)if(0==n.vxColSettings.dropdDownEnabled[f.id])n.sortClick(e);else{n.vxColSettings.dropdDownLoaded[f.id]=!1,n.vxColSettings.dropdDownOpen[f.id]=!n.vxColSettings.dropdDownOpen[f.id];var c=_.filter(n.multiBoxFilters,function(e){return 0!=e.col.localeCompare(f.id)}),s=c.length>0,g=!1;"undefined"!=typeof n.vxColSettings.colFilterPairs[f.id]&&null!=n.vxColSettings.colFilterPairs[f.id]&&n.vxColSettings.colFilterPairs[f.id]!={}&&n.vxColSettings.colFilterPairs[f.id].length>0&&(g=!0),0==s&&1==g?(n.vxColSettings.dropdDownLoaded[f.id]=!0,_.each(n.vxColSettings.colFilterPairs[f.id],function(e){e.disabled=!1})):o(function(){if(f.idCollection=[],1==f.ddSort&&(n.vxColSettings.dropDownSort[f.id]=!0,f.idCollection.push(n.vxConfig.id+"_"+f.id+"_sort")),1==f.ddGroup&&1!=n.vxConfig.hybrid&&(n.vxColSettings.dropDownGroup[f.id]=!0,f.idCollection.push(n.vxConfig.id+"_"+f.id+"_group"),f.idCollection.push(n.vxConfig.id+"_"+f.id+"_ungroup")),1==f.ddFilters){if(f.idCollection.push(n.vxConfig.id+"_"+f.id+"_clearfilters"),f.idCollection.push(f.id+"_searchfilters_"+n.vxConfig.id),f.idCollection.push(f.id+"_invokesearchfilters_"+n.vxConfig.id),0==g){n.vxColSettings.dropDownFilters[f.id]=!0,n.vxColSettings.colFilterPairs[f.id]=[];var t=[],i=_.uniq(_.map(n.vxConfig.vxData,function(e){var n={value:e[f.id],type:""};return"undefined"!=typeof n.value&&null!=n.value&&n.value!={}&&"object"!=typeof n.value&&"number"!=typeof n.value&&"boolean"!=typeof n.value?n.value=n.value.trim():"boolean"==typeof n.value?n.value=n.value.toString().trim():"[object Date]"===Object.prototype.toString.call(n.value)&&(n.value=n.value.getTime(),n.type="date"),n}),function(e){return e.value});i=_.reject(i,function(e){return"undefined"==typeof e.value||e.value=={}}),_.each(i.sort(),function(e,i){var o=v(e,f.id,"col"),l=o.key,r=o.type,d=""===e.value||" "===e.value?"< blank >":e.value;d=null==e.value?" < null >":d;var a={key:l,label:e.value,name:d,col:f.id,type:r,disabled:!1,action:"filter"};"undefined"!=typeof f.filterCellDefn&&null!=f.filterCellDefn&&f.filterCellDefn!={}&&""!=f.filterCellDefn?(a.filterDefn=f.filterCellDefn.replaceAll("VX_DATA_POINT","filter.name"),a.filterDefnAvailable=!0):a.filterDefnAvailable=!1,t.push(a),f.idCollection.push(n.vxConfig.id+"_"+f.id+"_filter_"+i),n.vxColSettings.colFiltersStatus[l]=!1}),t=_.sortBy(t,"label"),_.each(t,function(e){n.vxColSettings.colFilterPairs[f.id].push(e)}),n.vxColSettings.filterSearchToken[f.id]="",n.vxColSettings.colFiltersActivated[f.id]=!1}else{var i=_.uniq(_.map(n.vxConfig.vxFilteredData,function(e){return"[object Date]"===Object.prototype.toString.call(e[f.id])?e[f.id].getTime():"[object Boolean]"===Object.prototype.toString.call(e[f.id])?e[f.id].toString():e[f.id]}));_.each(n.vxColSettings.colFilterPairs[f.id],function(e){1!=_.contains(i,e.label)?e.disabled=!0:e.disabled=!1})}if(1==s){var o=_.last(n.multiBoxFilters),i=_.uniq(_.map(n.vxConfig.vxFilteredData,function(e){return"[object Date]"===Object.prototype.toString.call(e[f.id])?e[f.id].getTime():"[object Boolean]"===Object.prototype.toString.call(e[f.id])?e[f.id].toString():e[f.id]}));0!=o.col.localeCompare(f.id)&&_.each(n.vxColSettings.colFilterPairs[f.id],function(e){1!=_.contains(i,e.label)?e.disabled=!0:e.disabled=!1})}u[f.id]=0,e.filterLimit=10;var l=angular.element(document.getElementById(n.vxConfig.id+"-dropdwon-menu-"+f.id));l.on("scroll",function(e){var t=f.id,i=$(e.target).scrollTop();i>u[t]&&(n.debouncedIncrementFilter(t),u[t]=i)})}n.vxColSettings.dropdDownLoaded[f.id]=!0},500)}}},n.debouncedIncrementFilter=_.throttle(c,500),n.sortClick=function(e){var t=_.find(n.vxConfig.columnDefConfigs,function(n){return 0==n.id.localeCompare(e.id)});"undefined"!=typeof t&&null!=t&&t.ddSort&&(0!=n.vxConfig.sortPredicate.localeCompare(t.id)&&(n.vxConfig.sortPredicate=t.id,t.customSortEnabled?n.vxConfig.sortPredicateFn=t.customSortFn:n.vxConfig.sortPredicateFn=t.id),n.vxColSettings.reverseSettings[t.id]=!n.vxColSettings.reverseSettings[t.id],n.vxConfig.reverseSortDirection=n.vxColSettings.reverseSettings[t.id],1==n.vxConfig.hybrid&&(n.vxConfig.vxFilteredData=_.sortBy(n.vxConfig.vxFilteredData,n.vxConfig.sortPredicateFn),1==n.vxConfig.reverseSortDirection&&n.vxConfig.vxFilteredData.reverse(),n.resetHybridGrid()))},n.getVisibleHeaderCounts=function(){return _.filter(n.vxConfig.columnDefConfigs,function(e){return 1!=e.hidden}).length},n.groupClick=function(e){if(n.clearFilters(),1!=n.vxColSettings.groupByColActivated[e.id]){n.vxConfig.sortPredicate=null;var t=[],i=e.id,o=e.columnName,l=_.uniq(_.pluck(n.vxConfig.vxData,i)),r=_.groupBy(_.sortBy(n.vxConfig.vxData,i),i);n.vxColSettings.groupKeys[i]=[],_.each(l,function(e){var l=v(e,i,"groupcol").key;if(n.vxColSettings.groupKeys[i].push(l),r[e].length>0){n.vxColSettings.groupPredicate[l]=!1;var d={type:"groupRow",colName:o,col:i,value:e,groupId:l,cellDefn:'
'};d.cellDefn=d.cellDefn.replaceAll("VX_ROW_POINT","vxColSettings.groupPredicate[row.groupId]"),t.push(d),t=_.union(t,r[e])}}),n.vxConfig.vxData=t,n.vxColSettings.groupByColActivated[e.id]=!0}},n.unGroupClick=function(e){if(n.clearFilters(),1==n.vxColSettings.groupByColActivated[e.id]){var t=_.find(n.vxConfig.columnDefConfigs,function(n){return 0==n.id.localeCompare(e.id)});"undefined"!=typeof t&&null!=t&&(n.vxConfig.sortPredicate=t.id,t.customSortEnabled?n.vxConfig.sortPredicateFn=t.customSortFn:n.vxConfig.sortPredicateFn=t.id),n.vxConfig.vxData=_.reject(n.vxConfig.vxData,function(e){return"undefined"!=typeof e.type&&null!=e.type&&0==e.type.localeCompare("groupRow")}),n.vxColSettings.groupByColActivated[e.id]=!1}},n.getAllRowLength=function(){if(n.config.noData)return 0;if(1==n.vxConfig.hybrid)return n._origData.length;var e=_.filter(n.vxConfig.vxData,function(e){return"undefined"==typeof e.type||null==e.type||0!=e.type.localeCompare("groupRow")||1==e.fillEmptyElement}).length;return e},n.removeGroupings=function(){_.each(n.vxConfig.columnDefConfigs,function(e){n.unGroupClick(e)}),n.vxColSettings.groupPredicate={}},n.groupSelectionChanged=function(e){n.emitArray=[];var t=n.vxColSettings.groupPredicate[e.groupId],i=_.filter(n.vxConfig.vxFilteredData,function(n){return"groupRow"!=n.type&&0==n[e.col].localeCompare(e.value)});if(_.each(i,function(e){if(0==n.vxColSettings.multiSelColDependent||1==n.vxColSettings.multiSelColDependent&&0==e[n.vxConfig.multiSelectionDependentCol]){var i=e[n.vxColSettings.primaryId];if(n.vxColSettings.rowSelected[i]!=t){n.vxColSettings.rowSelected[i]=t;({key:e[n.vxConfig.onSelectionReturnCol],value:n.vxColSettings.rowSelected[i],_pKey:i});n.emitArray.push(i),t?n.vxColSettings.multiSelected.push(i):n.vxColSettings.multiSelected=_.reject(n.vxColSettings.multiSelected,function(e){return 0==e.localeCompare(i)})}}}),1==n.vxConfig.hybrid){var o=angular.element(document.getElementById("_vxMulLength"+n.vxConfig.id));"undefined"!=typeof o&&null!=o&&o.length>0&&$(o).text(d("vxNumberFixedLen")(n.vxColSettings.multiSelected.length,2))}n.$emit("vxGridRwSelectionChange",{id:n.vxConfig.id,data:n.emitArray})},n.allRowSelectionChanged=function(){var e=n.vxColSettings.allRowSelected;if(1==e){if(_.each(n.vxConfig.vxFilteredData,function(t,i){var o=!0;if(1==n.vxConfig.pagination&&0==n.vxConfig.virtualization&&(i>=n.vxColSettings.vxPageStartPosition&&i0&&$(r).prop("checked",!0)}}}),_.each(n.vxConfig.columnDefConfigs,function(e){1==n.vxColSettings.dropDownGroup[e.id]&&1==n.vxColSettings.groupByColActivated[e.id]&&_.each(n.vxColSettings.groupKeys[e.id],function(e){n.vxColSettings.groupPredicate[e]=!0})}),n.vxColSettings.multiSelected=_.reject(n.vxColSettings.multiSelected,function(e){return"undefined"==typeof e||null==e||e=={}}),1==n.vxConfig.hybrid){var t=angular.element(document.getElementById("_vxMulLength"+n.vxConfig.id));"undefined"!=typeof t&&null!=t&&t.length>0&&$(t).text(d("vxNumberFixedLen")(n.vxColSettings.multiSelected.length,2))}n.$emit("vxGridRowAllSelectionChange",{id:n.vxConfig.id,data:{toggledTo:e,array:n.vxColSettings.multiSelected}})}else 0==e&&(n.clearSelection(),n.$emit("vxGridRowAllSelectionChange",{id:n.vxConfig.id,data:{toggledTo:e,array:n.vxColSettings.multiSelected}}));if(1==n.vxConfig.hybrid){var t=angular.element(document.getElementById("_vxMulLength"+n.vxConfig.id));"undefined"!=typeof t&&null!=t&&t.length>0&&$(t).text(d("vxNumberFixedLen")(n.vxColSettings.multiSelected.length,2))}},n.rowSelectionChanged=function(e){var t=e,i=_.find(n.vxConfig.vxData,function(t){return t[n.vxColSettings.primaryId]==e}),o={key:i[n.vxConfig.onSelectionReturnCol],value:n.vxColSettings.rowSelected[t],_pKey:t},l=!0;if(1==n.vxColSettings.rowSelected[t]&&1==n.vxColSettings.multiSelColDependent){l=!1;var r=n.vxConfig.multiSelectionDependentCol;if(1==i[r]&&0==n.vxColSettings.multiSelected.length)l=!0;else if(0==i[r]&&n.vxColSettings.multiSelected.length>=1){var a=n.vxColSettings.multiSelected[0],f=_.find(n.vxConfig.vxData,function(e){return 0==e[n.vxColSettings.primaryId].localeCompare(a)});"undefined"!=typeof f&&null!=f&&f!={}&&1==f[r]?(l=!1,n.vxColSettings.rowSelected[t]=!1):l=!0}else 0==i[r]?l=!0:n.vxColSettings.rowSelected[t]=!1}else 0==n.vxColSettings.rowSelected[t]&&(n.vxColSettings.multiSelected=_.reject(n.vxColSettings.multiSelected,function(e){return 0==e.localeCompare(t)}),l=!1,n.vxColSettings.allRowSelected=!1,n.$emit("vxGridRowSelectionChange",{id:n.vxConfig.id,data:o}));if(l){var c=_.find(n.vxColSettings.multiSelected,function(e){return 0==e.localeCompare(t)});"undefined"!=typeof c&&null!=c||n.vxColSettings.multiSelected.push(t),n.$emit("vxGridRowSelectionChange",{id:n.vxConfig.id,data:o}),0==n.vxConfig.multiSelectionEnabled&&(_.each(n.vxColSettings.multiSelected,function(e){0!=e.localeCompare(t)&&(n.vxColSettings.rowSelected[e]=!1)}),n.vxColSettings.multiSelected=_.reject(n.vxColSettings.multiSelected,function(e){return 0!=e.localeCompare(t)}))}if(1==n.vxConfig.hybrid){var v=angular.element(document.getElementById("_vxMulLength"+n.vxConfig.id));"undefined"!=typeof v&&null!=v&&v.length>0&&$(v).text(d("vxNumberFixedLen")(n.vxColSettings.multiSelected.length,2))}},n.filterClick=function(e,t){0==n.vxConfig.preserveSelectionOnFilters&&n.clearSelection();var i=n.vxColSettings.colFiltersStatus[t.key];if(0==i){n.multiBoxFilters=_.reject(n.multiBoxFilters,function(e){return 0==e.key.localeCompare(t.key)});var o=_.find(n.multiBoxFilters,function(e){return 0==e.col.localeCompare(t.col)});"undefined"!=typeof o&&null!=o&&o!={}&&0!=o.length||(n.vxColSettings.colFiltersActivated[e.id]=!1)}else{var l=_.find(n.multiBoxFilters,function(e){return 0==e.key.localeCompare(t.key)});"undefined"!=typeof l&&null!=l&&l!={}||n.multiBoxFilters.push(t),n.vxColSettings.colFiltersActivated[e.id]=!0}1==n.vxConfig.hybrid&&(n.vxConfig.vxFilteredData=d("vxGridMultiBoxFilters")(n._origData,n.multiBoxFilters),n.resetHybridGrid())},n.filterClearClick=function(e){if(1==n.vxColSettings.colFiltersActivated[e.id]){n.clearSelection();var t=_.filter(n.multiBoxFilters,function(n){return 0==n.col.localeCompare(e.id)});t.length>0&&_.each(t,function(e){n.vxColSettings.colFiltersStatus[e.key]=!1}),n.multiBoxFilters=_.reject(n.multiBoxFilters,function(n){return 0==n.col.localeCompare(e.id)}),n.vxColSettings.colFiltersActivated[e.id]=!1,n.vxColSettings.filterSearchToken[e.id]=""}if(""!=n.vxColSettings.filterSearchToken[e.id]){n.vxColSettings.filterSearchToken[e.id]="";var i=angular.element(document.getElementById(e.id+"_searchfilters_"+n.vxConfig.id));"undefined"!=typeof i&&i.length>0&&(i[0].value="")}1==n.vxConfig.hybrid&&(n.vxConfig.vxFilteredData=d("vxGridMultiBoxFilters")(n._origData,n.multiBoxFilters),n.resetHybridGrid())},n.clearFilters=function(){n.multiBoxFilters.length>0&&_.each(n.vxConfig.columnDefConfigs,function(e){n.filterClearClick(e)}),n.multiBoxFilters=[]},n.selectAllFiltered=function(){n.vxColSettings.multiSelected.length>0&&n.clearSelection(),n.emitArray=[];var e="";1!=n.vxConfig.hybrid?e="vxFilteredData":(n.vxConfig.hybrid=!0)&&(e="vxFilteredData"),_.each(n.vxConfig[e],function(e){if(0==n.vxColSettings.multiSelColDependent||1==n.vxColSettings.multiSelColDependent&&0==e[n.vxConfig.multiSelectionDependentCol]){if(n.vxColSettings.rowSelected[e[n.vxColSettings.primaryId]]=!0,1==n.vxConfig.hybrid){var t=angular.element(document.getElementById("vx_row-sel_in_"+e[n.vxColSettings.primaryId]));"undefined"!=typeof t&&null!=t&&t.length>0&&$(t).prop("checked",!0)}var i=e[n.vxColSettings.primaryId],o={key:e[n.vxConfig.onSelectionReturnCol],value:n.vxColSettings.rowSelected[i],_pKey:i};if(n.emitArray.push(o),1==n.vxColSettings.rowSelected[i]){var l=_.find(n.vxColSettings.multiSelected,function(e){return 0==e.localeCompare(i)});"undefined"!=typeof l&&null!=l||n.vxColSettings.multiSelected.push(i)}}}),n.$emit("vxGridRowMultiSelectionChange",{id:n.vxConfig.id,data:n.emitArray})},n.clearSelection=function(){if(n.emitArray=[],_.each(n.vxColSettings.multiSelected,function(e){if(n.vxColSettings.rowSelected[e]=!1,1==n.vxConfig.hybrid){var t=angular.element(document.getElementById("vx_row-sel_in_"+e));"undefined"!=typeof t&&null!=t&&t.length>0&&$(t).prop("checked",!1)}var i=_.find(n.vxConfig.vxData,function(t){return"groupRow"!=t.type&&0==t[n.vxColSettings.primaryId].localeCompare(e)});if("undefined"!=typeof i&&null!=i){var o={key:i[n.vxConfig.onSelectionReturnCol],value:n.vxColSettings.rowSelected[e],_pKey:e};n.emitArray.push(o)}n.vxColSettings.multiSelected=[],n.vxColSettings.allRowSelected=!1,_.each(n.vxConfig.columnDefConfigs,function(e){1==n.vxColSettings.dropDownGroup[e.id]&&1==n.vxColSettings.groupByColActivated[e.id]&&_.each(n.vxColSettings.groupKeys[e.id],function(e){n.vxColSettings.groupPredicate[e]=!1})})}),1==n.vxConfig.hybrid){var e=angular.element(document.getElementById("_vxMulLength"+n.vxConfig.id));"undefined"!=typeof e&&null!=e&&e.length>0&&$(e).text(d("vxNumberFixedLen")(n.vxColSettings.multiSelected.length,2))}n.$emit("vxGridRowMultiSelectionChange",{id:n.vxConfig.id,data:n.emitArray})},n.upDownKeyDownHandlerHeaderMenu=function(e,t){if(40==e.keyCode||27==e.keyCode)if(40==e.keyCode){var i=$(e.target).siblings().find('[tabindex="0"]');i.length>0&&$(i[0]).focus()}else if(27==e.keyCode&&1==n.vxColSettings.dropdDownOpen[t]){n.vxColSettings.dropdDownOpen[t]=!1;var o=$(e.target).closest(".dropdown").find("button");o&&o.length>0&&$(o).focus()}},n.findIdToBeFocussed=function(e,n,t){var i=e;if(t)for(i+1==n.length&&(i=-1);i<=n.length;){var o=$("#"+n[i+1]);if($(o).is('[tabindex="0"]'))return n[i+1];i+=1}else if(!t)for(0==i&&(i=n.length);i>=1;){var o=$("#"+n[i-1]);if($(o).is('[tabindex="0"]'))return n[i-1];i-=1}return e},n.findFocussable=function(e,t,i){var o=$(e).attr("id"),l=_.find(n.vxConfig.columnDefConfigs,function(e){return e.id==t});if("undefined"!=typeof l&&null!=l){var r=l.idCollection,d=_.indexOf(r,o);return d!=-1&&d!=r.length&&1==i?n.findIdToBeFocussed(d,r,!0):d!=-1&&0==i?n.findIdToBeFocussed(d,r,!1):null}},n.shiftKeyPressed=!1,n.upDowKeyUpHandlerHeaderMenuItems=function(e,t){16==e.keyCode&&(n.shiftKeyPressed=!1)},n.upDowKeyDownHandlerHeaderMenuItems=function(e,t){var i=!1;if(16==e.keyCode&&(n.shiftKeyPressed=!0),40!=e.keyCode&&38!=e.keyCode&&27!=e.keyCode&&9!=e.keyCode)return!1;if(40==e.keyCode||9==e.keyCode&&0==n.shiftKeyPressed){var o=n.findFocussable($(e.target),t,!0);$("#"+o).is('[tabindex="0"]')&&$("#"+o).focus(),i=!0}else if(38==e.keyCode||9==e.keyCode&&1==n.shiftKeyPressed){var o=n.findFocussable($(e.target),t,!1);null==o?$(e.target).closest(".dropdown").find("button").focus():$("#"+o).is('[tabindex="0"]')&&$("#"+o).focus(),i=!0}else if(27==e.keyCode&&1==n.vxColSettings.dropdDownOpen[t]){n.vxColSettings.dropdDownOpen[t]=!1;var l=$(e.target).closest(".dropdown").find("button");l&&l.length>0&&$(l).focus()}i&&(e.stopPropagation(),e.preventDefault())},n.openManageColumns=function(){var e=t.open({templateUrl:"template/vx-grid/vx-grid-manage-columns-modal.html",windowClass:"vxGridManageColMod",controller:["$scope","$uibModalInstance","originalSettings",function(e,n,t){e.headerSelected=null,e.headerSelectedForVisChange=null,e.copyForWidthVisChange=t,_.each(e.copyForWidthVisChange,function(e,n){e.order=n,e.chars=Math.ceil((e.width-20)/7),e.selected=!1}),e.swapAbove=function(n){if(0==n.locked){var t=n.order,i=n.order,o=!0;do{i-=1,o=!0;var l=_.find(e.copyForWidthVisChange,function(e){return e.order==i&&0==e.orderLocked});"undefined"!=typeof l&&null!=l&&l!={}||(o=!1)}while(!o&&i>=0);if(o&&i>=0){var l=_.find(e.copyForWidthVisChange,function(e){return e.order==i&&0==e.orderLocked});"undefined"!=typeof l&&null!=l&&l!={}&&(l.order=t,n.order=i)}}},e.swapBelow=function(n){if(0==n.locked){var t=n.order,i=n.order,o=!0;do{i+=1,o=!0;var l=_.find(e.copyForWidthVisChange,function(e){return e.order==i&&0==e.orderLocked});"undefined"!=typeof l&&null!=l&&l!={}||(o=!1)}while(!o&&i<=e.copyForWidthVisChange.length-1);if(o&&i<=e.copyForWidthVisChange.length-1){var l=_.find(e.copyForWidthVisChange,function(e){return e.order==i&&0==e.orderLocked});"undefined"!=typeof l&&null!=l&&l!={}&&(l.order=t,n.order=i)}}},e.makeVisible=function(n){var t=_.find(e.copyForWidthVisChange,function(e){return 0==e.id.localeCompare(n.id)});"undefined"!=typeof t&&null!=t&&t!={}&&0==t.visbilityLocked&&(t.hidden=!1)},e.makeHidden=function(n){var t=_.find(e.copyForWidthVisChange,function(e){return 0==e.id.localeCompare(n.id)});"undefined"!=typeof t&&null!=t&&t!={}&&0==t.visbilityLocked&&(t.hidden=!0)},e.saveChangeInConfig=function(){var t=[];t=_.sortBy(e.copyForWidthVisChange,function(n){var t=_.find(e.copyForWidthVisChange,function(e){return 0==e.id.localeCompare(n.id)});return"undefined"!=typeof t&&null!=t&&t!={}?t.order:1}),n.close(t)},e.widthChanged=function(e){e.width=Math.ceil(7*e.chars)+20},e.selectHeader=function(n){1!=n.locked&&(n.selected=!n.selected,_.each(e.copyForWidthVisChange,function(e){0!=e.id.localeCompare(n.id)&&(e.selected=!1)}),1==n.selected?e.headerSelected=n:e.headerSelected=null)},e.cancelChangeInConfig=function(){n.dismiss()},e.upDownKeyPressHandler=function(n){var t=!1;38!=n.keyCode&&40!=n.keyCode||(t=e.upDownMovement(n)),t&&(n.stopPropagation(),n.preventDefault())},e.upDownMovement=function(e){var n=!1;if(38==e.keyCode){var t=$(e.target).prev();t.length>0&&$(t[0]).attr("tabindex")!=-1&&$(t)[0].focus(),n=!0}else if(40==e.keyCode){var t=$(e.target).next();t.length>0&&$(t[0]).attr("tabindex")!=-1&&$(t)[0].focus(),n=!0}return n}}],backdrop:"static",resolve:{originalSettings:function(){return angular.copy(n.vxConfig.columnDefConfigs)}}});e.result.then(function(e){e=n.calculateEffectiveWidths(e),n.vxConfig.columnDefConfigs=e,1==n.vxConfig.hybrid&&n.resetHybridGrid(),n.$emit("vxGridSettingsChanged",{id:n.vxConfig.id,data:e})},function(e){})},n.calculateEffectiveWidths=function(e){var t=_.reduce(e,function(e,n){var t=0;return 0==n.hidden&&(t=parseInt(n.width)),e+t},0),i=n.selfEle.find(".vxTableScrollContainer").width(),o=0;return _.each(e,function(e){if(i>t){var n=parseInt(e.width)/t*(i-t);e.effectiveWidth=parseInt(e.width)+n}else e.effectiveWidth=e.width;e.effectiveWidth=Math.floor(e.effectiveWidth),o+=e.effectiveWidth}),e},n.openJsonEditor=function(){var e=t.open({templateUrl:"template/vx-grid/vx-grid-json-editor-modal.html",windowClass:"vxGridManageColMod",controller:["$scope","$modalInstance","griddata",function(e,n,t){e.data=angular.copy(t),e.changeData=[],e.configuration={editable:!0,viewButtonClass:"btn-info",editButtonClass:"btn-success"},e.jsonOptions={mode:"code",modes:["tree","form","code","text"],history:!1},e.onChangeJSON=function(n){e.changeData=n},e.saveChangeInConfig=function(){n.close(e.changeData)},e.cancelChangeInConfig=function(){n.dismiss()}}],backdrop:"static",resolve:{griddata:function(){return angular.copy(n.vxConfig.vxData)}}});e.result.then(function(e){n.vxConfig.vxData=e,n.$emit("vxGridDataChanged",{id:n.vxConfig.id,data:e})},function(e){})},n.revealWrapToggle=function(){n.vxColSettings.revealWrapRowData=!n.vxColSettings.revealWrapRowData},n.xsReset=function(){n.vxColSettings.xsSearch=""},n.justScrollTop=function(){var e=n.selfEle.find(".vxTableContainer.scrollTableContainer");o(function(){$(e).animate({scrollTop:0},500)},10)},n.justScrollDown=function(){var e=n.selfEle.find(".vxTableContainer.scrollTableContainer"),t=$(e).scrollTop()||0;0==n.vxConfig.hybrid?o(function(){$(e).animate({scrollTop:t+96},33)},10):1==n.vxConfig.hybrid&&(n.prepForScrollInsertion(),o(function(){$(e).animate({scrollTop:t+100},300)},10))},n.showScrollDownArrow=function(){var e=n.selfEle.find(".vxTableContainer.scrollTableContainer"),t=n.selfEle.find(".scrollTableContainer table.vxTable");return"undefined"!=typeof e&&"undefined"!=typeof t&&null!=e&&null!=t&&t.height()>e.height()},n.showScrollUpArrow=function(){var e=n.selfEle.find(".vxTableContainer.scrollTableContainer"),t=n.selfEle.find(".scrollTableContainer table.vxTable");return"undefined"!=typeof e&&"undefined"!=typeof t&&null!=e&&null!=t&&t.height()>e.height()&&e.scrollTop()>48},n.outsideHeader=function(e){1==n.vxColSettings.dropdDownOpen[e.id]&&(n.vxColSettings.dropdDownOpen[e.id]=!1,n.$$phase||n.$apply())},n.$on("vsRepeatCollectionPartiallyRendered",function(e,t){n.$emit("vxPartiallyRendered",{id:n.vxConfig.id,data:t}),1==n.vxConfig.selectAllOnRenderAll&&(n.vxColSettings.selectAllEnabled=!1,n.$emit("vxPartiallyRenderedSelectAllDisabled",{id:n.vxConfig.id,data:t}))}),n.$on("vsRepeatCollectionCompletelyRendered",function(e,t){n.$emit("vxCompletelyRendered",{id:n.vxConfig.id,data:t}),1==n.vxConfig.selectAllOnRenderAll&&(n.vxColSettings.selectAllEnabled=!0,n.$emit("vxCompletelyRenderedSelectAllEnabled",{id:n.vxConfig.id,data:t}))}),n.buildFns=function(){var e=["openJsonEditor","openManageColumns","resetVxInstance","clearFilters","selectAllFiltered","clearSelection","revealWrapToggle"];_.each(e,function(e){var t="vxGrid"+e.capitalizeFirstLetter(),i=e+"()";n.$on(t,function(e,t){0==t.id.localeCompare(n.vxConfig.id)&&n.$eval(i)}),n.config[e]=function(){n.$eval(i)}})},n.$on("vxGridChangeRowClass",function(e,t){0==t.id.localeCompare(n.vxConfig.id)&&n.changeRowClass(t.data)}),n.changeRowClass=function(e){for(var t in e)n.vxColSettings.vxRowClass[t]=e[t];"$apply"!=n.$root.$$phase&&"$digest"!=n.$root.$$phase&&n.$apply()},n.$on("vxGridResetRowClass",function(e,t){0==t.id.localeCompare(n.vxConfig.id)&&(n.vxColSettings.vxRowClass={})}),n.$on("vxGridDisableRowSelection",function(e,t){0==t.id.localeCompare(n.vxConfig.id)&&_.each(t.data,function(e){n.vxColSettings.vxRowSelectionDisable[e.key]=e.value})}),n.$on("vxGridResetDisableRowSelection",function(e,t){if(0==t.id.localeCompare(n.vxConfig.id))for(var i in n.vxColSettings.vxRowSelectionDisable)n.vxColSettings.vxRowSelectionDisable[i]=!1})}],replace:!0,templateUrl:"template/vx-grid/vx-grid.html",link:function(e,n,t){e.selfEle=n,e.$watchCollection("config.data",function(n){n=n||[];var t=new Date;"undefined"!=typeof n&&0==n.length?(n=[{fillEmptyElement:!0}],e.config.noData=!0,1==e.config.hybrid&&"undefined"!=typeof e.vxConfig&&angular.element(document.getElementById("_vxHybrid"+e.vxConfig.id)).empty()):e.config.noData=!1,1==e.config.hybrid?(e.config.vxData=_.clone(n),e._origData=_.clone(n)):e.config.vxData=angular.copy(n),t=new Date,delete e.vxConfig,e.resetVxInstance()}),1!=e.config.hybrid&&e.$watchCollection("vxConfig.vxFilteredData",function(n){n.length>=0&&1==e.vxConfig.pagination&&(e.vxColSettings.pages=_.range(Math.ceil(n.length/parseInt(e.vxConfig.pageLength))),e.vxColSettings.vxPageEnabled=e.vxColSettings.pages.length>1,e.vxColSettings.activePage=0,e.vxColSettings.vxPageStartPosition=0)}),e.getvxTableContainerWidth=function(){var n=0;return _.each(e.vxConfig.columnDefConfigs,function(e){0==e.hidden&&(n+=e.effectiveWidth)}),e.vxConfig.totalWidth=n+"px",e.vxConfig.totalWidth},e.getNonHiddenColCount=function(){var n=1;return"undefined"!=typeof e.vxConfig.columnDefConfigs&&e.vxConfig.columnDefConfigs.length>0&&(n=_.filter(e.vxConfig.columnDefConfigs,function(e){return 0==e.hidden}).length),n}}}}).directive("vxCompile",["$compile",function(e){return function(n,t,i){n.$watch(function(e){return e.$eval(i.vxCompile)},function(i){t.html(i),e(t.contents())(n)})}}]).directive("vxCompileCloneLink",["$compile",function(e){var n={},t={};return function(i,o,l){var r=null;l.vxCompileCloneLink in n?r=t[l.vxCompileCloneLink]:(t[l.vxCompileCloneLink]=i.$eval(l.vxCompileCloneLink),r=t[l.vxCompileCloneLink]);var d=null;r in n?d=n[r]:(n[r]=e(r),d=n[r]),d(i,function(e,n){o.append(e)})}}]).directive("vxEditFocusDisable",["$rootScope","$parse",function(e,n){var t={},i={},o=["input","select","button","textarea","object"];return{restrict:"AEC",link:function(e,l,r){var d=(n(r.vxEditFocusDisable),$(l).attr("id"));e.$watch(r.vxEditFocusDisable,function(e){if(e){i[d]={available:!0,stack:[]},_.each(o,function(e){var n=$(l).find(e);n.length>0&&_.each(n,function(e){var n=$(e).attr("id");"undefined"!=typeof n&&null!=n&&""!=n||($(e).attr("id",_.uniqueId("elemid")),n=$(e).attr("id")),i[d].stack.push(n)})});var n=$(l).find("[tabindex]");n.length>0&&_.each(n,function(e){var n=$(e).attr("tabindex");if(n!=-1&&0==_.contains(o,e.nodeName.toUpperCase())&&0==_.contains(i[d].stack,t)){var t=$(e).attr("id");"undefined"!=typeof t&&null!=t&&""!=t||($(e).attr("id",_.uniqueId("elemid")),t=$(e).attr("id")),i[d].stack.push(t)}}),_.each(i[d].stack,function(e){t[e]=$("#"+e).attr("tabindex")||0,$("#"+e).attr("tabindex",-1)})}else 0==e&&"undefined"!=typeof i[d]&&"undefined"!=typeof i[d].available&&1==i[d].available&&(_.each(i[d].stack,function(e){var n=t[e];$("#"+e).attr("tabindex",n)}),i[d].available=!1)})}}}]).directive("axKey",["$rootScope","$parse",function(e,n){return{restrict:"A",compile:function(t,i){var o=n(i.axKey);return function(n,t){function l(t){var i=function(){o(n,{$event:t})};e.$$phase?n.$evalAsync(i):n.$apply(i)}t.attr("role")||t.attr("role","button"),t.attr("tabindex")||t.attr("tabindex",0);var r=[],d=0;r.push(n.$watch(i.axDisabled||i.ngDisabled,function(e){e?(d=t.attr("tabindex"),t.attr("tabindex",-1),t.attr("aria-disabled",!0)):(t.attr("tabindex",0),t.attr("aria-disabled",!1))})),t.on("click",function(e){n.$eval(i.axDisabled)||n.$eval(i.ngDisabled)||l(e)}),t.on("keyup",function(e){n.$eval(i.axDisabled)||n.$eval(i.ngDisabled)||13!=e.keyCode&&32!=e.keyCode||l(e)}),n.$on("$destroy",function(){for(;r.length;)r.shift()()})}}}}]).directive("vxKeepWatch",function(){return{restrict:"AEC",link:function(e,n,t){var i=t.vxKeepWatch,o=!1;e.$watch(t[i],function(n){o?e.$emit("vxInlineEditFieldChange",{field:t.vxKeepWatchField,value:n,rowId:t.vxKeepWatchRowId}):o=!0})}}}).filter("vxGridMultiBoxFilters",function(){return function(e,n){if("undefined"!=typeof n&&null!=n&&n.length>0){var t=e,i=e,o=_.groupBy(n,"col");for(var l in o){var r=o[l],d=[];_.each(r,function(e){d=_.union(d,_.filter(i,function(n){return"undefined"!=typeof e.label&&null!=e.label&&e.label!={}&&"undefined"!=typeof n[e.col]&&null!=n[e.col]&&n[e.col]!={}?"date"==e.type?"undefined"!=typeof n[e.col]&&n[e.col]!={}&&null!=n[e.col]&&""!=n[e.col]&&n[e.col].getTime()==e.label:"object"==e.type?0==JSON.stringify(n[e.col]).localeCompare(JSON.stringify(e.label)):0==n[e.col].toString().trim().localeCompare(e.label):n[e.col]==e.label}))}),t=_.intersection(t,d)}return t}return e}}).directive("clickOutsideHeader",["$document","$parse",function(e,n){return{restrict:"A",link:function(t,i,o){var l=void 0!==o.outsideIfNot?o.outsideIfNot.replace(", ",",").split(","):[];void 0!==o.id&&l.push(o.id);var r=n(o.clickOutsideHeader);e.on("click",function(e){try{var n=$(e.target).closest("th.vxHeadRowCell");"undefined"!=typeof n&&null!=n&&0!=n.length||t.$eval(o.checkClickOutside)&&t.$eval(r)}catch(e){}})}}}]).filter("vxNumberFixedLen",function(){return function(e,n){var t=parseInt(e,10);if(n=parseInt(n,10),isNaN(t)||isNaN(n))return e;for(t=""+t;t.length
Column Operations Menu for the grid {{vxConfig.caption}}
{{::header.columnName}}
Previous Page
Next Page
Page {{pageNum + 1}}
Region starts for adding offscreen labels to aid screen readers please ignore the labels Edit Row Save Row Select Row Region for offscreen labels to aid screen readers ends
',vxGridManageColumnsModal:' ', -"vxGridJsonEditorModal vx-grid-related ":' ',vxGridRowTmpl:' {{row[header.id]}}
{{rowId}}
{{row[header.id] | date : header.columnDatePipe}}
{{row[vxColSettings.primaryId]}}
{{header.columnName}}
{{row[header.id]}}
',vxGridRowTmplBindonce:' {{::row[header.id]}}
{{rowId}}
{{::row[header.id] | date : header.columnDatePipe}}
GROUPED BY {{row.colName}} : {{row.value}} '};angular.module("vx.grid.modules").run(["$templateCache",function(i){i.put("template/vx-grid/vx-grid-json-editor-modal.html",e.vxGridJsonEditorModal),i.put("template/vx-grid/vx-grid-manage-columns-modal.html",e.vxGridManageColumnsModal),i.put("template/vx-grid/vx-grid.html",e.vxGridTableStructure),i.put("template/vx-grid/vx-grid-row-tmpl.html",e.vxGridRowTmpl),i.put("template/vx-grid/vx-grid-row-tmpl-bindonce.html",e.vxGridRowTmplBindonce)}])}(); \ No newline at end of file +"vxGridJsonEditorModal vx-grid-related ":' ',vxGridRowTmpl:' {{row[header.id]}}
Select Row {{rowId}}
{{row[header.id] | date : header.columnDatePipe}}
{{row[vxColSettings.primaryId]}}
{{header.columnName}}
{{row[header.id]}}
',vxGridRowTmplBindonce:' {{::row[header.id]}}
Select row {{rowId}}
{{::row[header.id] | date : header.columnDatePipe}}
GROUPED BY {{row.colName}} : {{row.value}} '};angular.module("vx.grid.modules").run(["$templateCache",function(i){i.put("template/vx-grid/vx-grid-json-editor-modal.html",e.vxGridJsonEditorModal),i.put("template/vx-grid/vx-grid-manage-columns-modal.html",e.vxGridManageColumnsModal),i.put("template/vx-grid/vx-grid.html",e.vxGridTableStructure),i.put("template/vx-grid/vx-grid-row-tmpl.html",e.vxGridRowTmpl),i.put("template/vx-grid/vx-grid-row-tmpl-bindonce.html",e.vxGridRowTmplBindonce)}])}(); \ No newline at end of file diff --git a/Source.Vx.Grid/Source.Vx.Grid/js/vx-grid-min.js b/Source.Vx.Grid/Source.Vx.Grid/js/vx-grid-min.js index bb114d1..7f8aad1 100644 --- a/Source.Vx.Grid/Source.Vx.Grid/js/vx-grid-min.js +++ b/Source.Vx.Grid/Source.Vx.Grid/js/vx-grid-min.js @@ -1,2 +1,2 @@ -!function(){"use strict";function e(){function e(){return Math.floor(65536*(1+Math.random())).toString(16).substring(1)}return e()+e()+"_"+e()}String.prototype.capitalizeFirstLetter=function(){return this.charAt(0).toUpperCase()+this.slice(1)},String.prototype.replaceAll=function(e,n){var t=new RegExp(e,"g");return this.replace(t,n)},window.requestAnimFrame=function(){return window.requestAnimationFrame||window.webkitRequestAnimationFrame||window.mozRequestAnimationFrame||window.oRequestAnimationFrame||window.msRequestAnimationFrame||function(e,n){window.setTimeout(e,1e3/60)}}(),angular.module("vx.grid.modules",["ngSanitize","ui.bootstrap","vs-repeat","angular-json-editor","duScroll"]).directive("vxGrid",function(){return{restrict:"E",scope:{config:"=",scrollParent:"="},controller:["$scope","$uibModal","$sce","$timeout","$rootScope","$window","$filter","$q","$compile",function(n,t,i,o,l,r,d,a,f){function c(e){_.each(n.vxConfig.columnDefConfigs,function(n){n.id==e&&(n.filterLimit=n.filterLimit+2)}),"$apply"!=n.$root.$$phase&&"$digest"!=n.$root.$$phase&&n.$digest()}function v(e,n,t){var i=t+"_"+n+"_key_",o="string";return null==e.value?i+="null":null==e.value?i+="null":"object"!=typeof e.value?(i+=e.value.toString().replace(/\s+/g,"_"),o=e.type):(i+=JSON.stringify(e.value).replace(/\s+/g,"_"),o="object"),{key:i,type:o}}n.vxColSettings={},n.posLeft=1,n.posTop=0;var u={},s=angular.element(r);n.getWindowDimensions=function(){return{h:s.height(),w:s.width()}},n.resetVxInstance=function(){u={},n.vxColSettings={primaryId:null,dropdDownEnabled:{},dropdDownLoaded:{},dropdDownOpen:{},dropDownSort:{},dropDownFilters:{},dropDownGroup:{},colFiltersStatus:{},colFilterPairs:{},colFiltersActivated:{},lastProcessedForFilters:{},multiSelected:[],multiSelColDependent:!1,reverseSettings:{},groupPredicate:{},groupByColActivated:{},rowSelected:{},vxRowClass:{},vxRowSelectionDisable:{},revealWrapRowData:!1,selectAllEnabled:!0,menu:!1,xsViewEnabled:!1,xsRowTitleTemplateAvailable:!1,xsSearch:"",searchToken:"",inlineEditState:{},colWithInlineEdits:[],groupKeys:{},allRowSelected:!1,allRowSelectionDisabled:!1,filterSearchToken:{},enteredSearchToken:{},saveInProgress:{}};var e=(new Date,new Date),t=new Date;1==n.config.hybrid?n.vxConfig=n.config:n.vxConfig=angular.copy(n.config),e=new Date,t=new Date;var i=_.find(n.vxConfig.columnDefConfigs,function(e){return 1==e.primary}),l="_uid";if("undefined"!=typeof i&&null!=i?(_.each(n.vxConfig.vxData,function(e,n){1!=e.fillEmptyElement&&(e[i.id]=e[i.id].toString(),e[l]=e[i.id]),e._vxCreated=(new Date).getTime()}),l=i.id):_.each(n.vxConfig.vxData,function(e,n){e[l]=n}),n.config.id=n.vxConfig.id="undefined"==typeof n.vxConfig.id?_.uniqueId("_vxUID_"):n.vxConfig.id,n.vxConfig.editRowID=n.vxConfig.id+"_edit_row",n.vxConfig.saveRowID=n.vxConfig.id+"_save_row",n.vxConfig.selectRowID=n.vxConfig.id+"_sel_row",n.vxColSettings.primaryId=l,1==n.vxConfig.inlineEditingEnabled&&1!=n.vxConfig.hybrid){var r=_.find(n.vxConfig.columnDefConfigs,function(e){return 0==e.id.localeCompare("inlinediting")});if("undefined"==typeof r||null==r||r=={}){var a={id:"inlinediting",columnName:"Edit",renderDefn:!0,renderHeadDefn:!0,ddSort:!1,ddGroup:!1,ddFilters:!1,width:"50",locked:!0,headTabIndex:-1,cellDefn:'
',inlineEditOnColumnEnabled:!1};n.vxConfig.columnDefConfigs.unshift(a)}_.each(n.vxConfig.vxData,function(e,t){var i=e[n.vxColSettings.primaryId];n.vxColSettings.inlineEditState[i]=n.config.allRowsInDefaultEdit||!1})}if(e=new Date,1==n.vxConfig.selectionEnabled){var r=_.find(n.vxConfig.columnDefConfigs,function(e){return 0==e.id.localeCompare("checkbox")});if("undefined"==typeof r||null==r||r=={}){var a={id:"checkbox",columnName:"Row Selection",columnIsRowSelect:!0,renderDefn:!0,renderHeadDefn:!0,ddSort:!1,ddGroup:!1,ddFilters:!1,width:"50",locked:!0,headTabIndex:-1,headerDefn:'
',cellDefn:'
{{::row[vxConfig.ariaPrimary]}}'};n.vxConfig.columnDefConfigs.unshift(a)}_.each(n.vxConfig.vxData,function(e,t){var i=e[n.vxColSettings.primaryId];n.vxColSettings.rowSelected[i]=!1,n.vxColSettings.vxRowSelectionDisable[i]=!1})}e=new Date,n.multiBoxFilters=[];var c=[{prop:"enableDropdownsInHeader",defValue:!1},{prop:"selectionEnabled",defValue:!1},{prop:"selectionAtMyRisk",defValue:!1},{prop:"preserveSelectionOnFilters",defValue:!1},{prop:"multiSelectionEnabled",defValue:!1},{prop:"showGridStats",defValue:!1},{prop:"showGridOptions",defValue:!1},{prop:"selectAllOnRenderAll",defValue:!1},{prop:"virtualization",defValue:!0},{prop:"pagination",defValue:!1},{prop:"pageLength",defValue:20},{prop:"data",defValue:[]},{prop:"vxFilteredData",defValue:[]},{prop:"xsRowTitleTemplate",defValue:'
{{row[vxColSettings.primaryId]}}
'},{prop:"inlineAddRowEnabled",defValue:!1},{prop:"inlineEditSyncEnabled",defValue:!1},{prop:"inlineDeletingEnabled",defValue:!1},{prop:"inlineSaveOverrideEnabled",defValue:!1},{prop:"inlineDeleteOverrideEnabled",defValue:!1},{prop:"allRowsInDefaultEdit",defValue:!1},{prop:"jsonEditorEnabled",defValue:!1},{prop:"allRowsSelectionEnabled",defValue:!1},{prop:"sortPredicate",defValue:n.vxColSettings.primaryId},{prop:"sortPredicateFn",defValue:n.vxColSettings.primaryId},{prop:"reverseSortDirection",defValue:!1},{prop:"emptyFill",defValue:"No records to display ..."},{prop:"caption",defValue:"sample vx grid table caption"},{prop:"loaderGifSrc",defValue:"/resource/loaderWhite36.GIF"},{prop:"ariaPrimary",defValue:n.vxColSettings.primaryId},{prop:"xsTemplate",defValue:!1},{prop:"bindOnce",defValue:!1},{prop:"hybrid",defValue:!1},{prop:"latchExcess",defValue:5}];if(_.each(c,function(e){"undefined"!==n.vxConfig[e.prop]&&null!=n.vxConfig[e.prop]&&n.vxConfig[e.prop]!={}||(n.vxConfig[e.prop]=e.defValue)}),n.vxColSettings.vxRowClass=n.vxConfig.initialRowClasses||{},n.getWindowDimensions().w<768&&(n.vxColSettings.xsViewEnabled=n.vxConfig.xsTemplate,n.vxConfig.latchExcess=5),e=new Date,n.vxColSettings.selectAllOnRenderAll=n.vxConfig.selectAllOnRenderAll,_.each(n.vxConfig.columnDefConfigs,function(e){var t=[{prop:"renderDefn",defValue:!1},{prop:"renderHeadDefn",defValue:!1},{prop:"ddSort",defValue:!1},{prop:"ddGroup",defValue:!1},{prop:"ddFilters",defValue:!1},{prop:"ddFiltersWithSearch",defValue:!1},{prop:"dropDownEnabled",defValue:!1},{prop:"hidden",defValue:!1},{prop:"xsHidden",defValue:!1},{prop:"locked",defValue:!1},{prop:"primary",defValue:!1},{prop:"width",defValue:"200"},{prop:"headerDefn",defValue:""},{prop:"cellDefn",defValue:""},{prop:"filterCellDefn",defValue:""},{prop:"inlineEditOnColumnEnabled",defValue:!1},{prop:"inlineEditValidation",defValue:!1},{prop:"editDefn",defValue:null},{prop:"editDefnTemplate",defValue:null},{prop:"headTabIndex",defValue:0},{prop:"columnIsRowSelect",defValue:!1},{prop:"columnIsDate",defValue:!1},{prop:"columnDatePipe",defValue:"dd/MM/yyyy"},{prop:"renderHybridCellDefn",defValue:!1},{prop:"hybridCompile",defValue:!1},{prop:"filterLimit",defValue:10},{prop:"scopeIsRow",defValue:!1}];_.each(t,function(n){"undefined"!==e[n.prop]&&null!=e[n.prop]&&e[n.prop]!={}||(e[n.prop]=n.defValue)}),e.effectiveWidth=e.width,e.idCollection=[];var i=[{prop:"orderLocked",defValue:!1},{prop:"widthLocked",defValue:!1},{prop:"visbilityLocked",defValue:!1}];_.each(i,function(n){"undefined"===e[n.prop]||null==e[n.prop]||e[n.prop]=={}?e[n.prop]=e.locked:e[n.prop]=e.locked||e[n.prop]}),n.vxColSettings.reverseSettings[e.id]=!1,"undefined"!=typeof e.dropDownEnabled&&null!=e.dropDownEnabled&&1==e.dropDownEnabled&&1==n.vxConfig.enableDropdownsInHeader?n.vxColSettings.dropdDownEnabled[e.id]=!0:n.vxColSettings.dropdDownEnabled[e.id]=!1,n.vxColSettings.dropdDownLoaded[e.id]=!1,n.vxColSettings.dropdDownOpen[e.id]=!1,"undefined"!=typeof e.renderDefn&&null!=e.renderDefn&&e.renderDefn!={}&&1==e.renderDefn&&(e.cellDefn=e.cellDefn.replaceAll("VX_ROW_POINT","row[vxColSettings.primaryId]"),e.cellDefn=e.cellDefn.replaceAll("VX_DATA_POINT","row[header.id]"),e.cellDefn=e.cellDefn.replaceAll("VX_ROW","row"),e.cellDefn=e.cellDefn.replaceAll("VX_CONFIG","vxConfig")),1==e.inlineEditOnColumnEnabled&&1!=n.vxConfig.hybrid&&(""!=e.editDefn&&null!=e.editDefn||(e.editDefn=''),e.editDefn=e.editDefn.replaceAll("VX_ROW_POINT","row[vxColSettings.primaryId]"),e.editDefn=e.editDefn.replaceAll("VX_DATA_POINT","row[header.id]"),e.editDefn=e.editDefn.replaceAll("VX_ROW","row"),e.editDefn=e.editDefn.replaceAll("VX_CONFIG","vxConfig"),n.vxColSettings.colWithInlineEdits.push(e.id),e.editDefn.indexOf("vx-keep-watch")!=-1&&(e.editDefn=e.editDefn.replaceAll("vx-keep-watch",'vx-keep-watch-row-id="{{row[vxColSettings.primaryId]}}" vx-keep-watch-field="'+e.id+'" vx-keep-watch')),1==e.inlineEditValidation&&(n.vxConfig.invalidRows={},n.vxConfig.invalidRowFields={},_.each(n.vxConfig.vxData,function(e,t){var i=e[n.vxColSettings.primaryId];n.vxConfig.invalidRows[i]=!1,n.vxConfig.invalidRowFields[i]={}}),e.editDefn=e.editDefn.replaceAll("VX_INVALID_ROW","vxConfig.invalidRows[row[vxColSettings.primaryId]] == true"),e.editDefn=e.editDefn.replaceAll("VX_INVALID_FIELD_ROW","vxConfig.invalidRowFields[row[vxColSettings.primaryId]]."+e.id+" == true")))}),e=new Date,n.vxConfig.columnDefConfigs=n.calculateEffectiveWidths(n.vxConfig.columnDefConfigs),"undefined"!=typeof n.vxConfig.multiSelectionDependentCol&&null!=n.vxConfig.multiSelectionDependentCol&&n.vxConfig.multiSelectionDependentCol!={}&&""!=n.vxConfig.multiSelectionDependentCol&&(n.vxColSettings.multiSelColDependent=!0),"undefined"!=typeof n.vxConfig.xsRowTitleTemplate&&null!=n.vxConfig.xsRowTitleTemplate&&n.vxConfig.xsRowTitleTemplate!={}&&""!=n.vxConfig.xsRowTitleTemplate&&(n.vxColSettings.xsRowTitleTemplateAvailable=!0),1==n.vxConfig.inlineAddRowEnabled&&1!=n.vxConfig.hybrid&&("undefined"==typeof n.vxConfig.newRowTemplate||null==n.vxConfig.newRowTemplate||n.vxConfig.newRowTemplate=={}||""==n.vxConfig.newRowTemplate)){var v=angular.copy(n.vxConfig.data[0]);_.each(n.vxConfig.columnDefConfigs,function(e){switch(typeof n.vxConfig.newRowTemplate[e.id]){case"boolean":n.vxConfig.newRowTemplate[e.id]=!1;break;case"number":n.vxConfig.newRowTemplate[e.id]=0;break;case"string":n.vxConfig.newRowTemplate[e.id]="";break;default:n.vxConfig.newRowTemplate[e.id]=null}}),n.vxConfig.newRowTemplate=v}n.$watch("getWindowDimensions()",function(e,t){n.vxColSettings.xsViewEnabled=!1,n.vxConfig.columnDefConfigs=n.calculateEffectiveWidths(n.vxConfig.columnDefConfigs)},!0);s.bind("resize",function(){n.$apply()}),n.config.getVxCounts=function(){if("undefined"!=typeof n.vxConfig&&null!=n.vxConfig&&n.vxConfig!={}&&"undefined"!==n.vxConfig.id&&null!=n.vxConfig.id&&n.vxConfig.id!={}){var e={id:n.vxConfig.id,data:{vxAllDataLength:n.getAllRowLength(),vxFilteredDataLength:n.multiBoxFilters.length>0?1!=n.vxConfig.hybrid?n.vxConfig.vxFilteredData.length:n.vxConfig.vxData.length:0,vxSelectedDataLength:n.vxColSettings.multiSelected.length}};return e}},n.config.getAppliedFilters=function(){if("undefined"!=typeof n.vxConfig&&null!=n.vxConfig&&n.vxConfig!={}&&"undefined"!==n.vxConfig.id&&null!=n.vxConfig.id&&n.vxConfig.id!={}){var e=_.map(n.multiBoxFilters,function(e){return{column:e.col,label:e.label,key:e.key}});return e}},n.config.getData=function(){return n.vxConfig.data},n.config.getActiveDataSet=function(){return n.vxConfig.vxData},n.config.getFilteredDataSet=function(){return n.vxConfig.vxFilteredData},n.config.setRowFieldValidation=function(e,t,i){if("undefined"==typeof n.vxConfig.invalidRowFields[e]&&(n.vxConfig.invalidRows[e]=!1,n.vxConfig.invalidRowFields[e]={}),1==n.vxConfig.inlineEditSyncEnabled){var o=_.filter(n.vxColSettings.multiSelected,function(n){return 0==n.localeCompare(e)});"undefined"!=typeof o&&null!=o&&o.length>0&&_.each(n.vxColSettings.multiSelected,function(e){n.vxConfig.invalidRows[e]=!i,n.vxConfig.invalidRowFields[e][t]=!i})}n.vxConfig.invalidRows[e]=!i,n.vxConfig.invalidRowFields[e][t]=!i},n.config.getSelectedRows=function(){if(1==n.vxConfig.selectionAtMyRisk){n.vxColSettings.multiSelected=[];for(var e in n.vxColSettings.rowSelected)1==n.vxColSettings.rowSelected[e]&&"undefined"!=typeof e&&"undefined"!=e.toString()&&n.vxColSettings.multiSelected.push(e)}return n.vxColSettings.multiSelected},n.config.getRowsBeingEdited=function(){var e=[];if("undefined"!=typeof n.vxColSettings.inlineEditState&&null!=n.vxColSettings.inlineEditState)for(var t in n.vxColSettings.inlineEditState)1==n.vxColSettings.inlineEditState[t]&&e.push(t);return e},n.config.modifyRows=function(e,t){var i=[];return _.each(e,function(e){var o=e[n.vxColSettings.primaryId],l=_.find(n.vxConfig.vxData,function(e){return 0==e[n.vxColSettings.primaryId].localeCompare(o)}),r=_.find(n.vxConfig.data,function(e){return 0==e[n.vxColSettings.primaryId].localeCompare(o)});if("undefined"!=typeof l&&"undefined"!=typeof r){if("undefined"==typeof t||0==t.length)for(var d in e)0!=d.localeCompare(n.vxColSettings.primaryId)&&(l[d]=e[d],r[d]=e[d]);else t.length>0&&_.each(t,function(n){l[n]=e[n],r[n]=e[n]});i.push(r),1==n.vxConfig.hybrid&&n.hybridUpdateRows(i)}}),i},n.config.selectRows=function(e){var t=[];return _.each(e,function(e){var i=n.vxColSettings.rowSelected[e];if(("undefined"==typeof i||null==i||0==i)&&(n.vxColSettings.rowSelected[e]=!0,n.vxColSettings.multiSelected.push(e),t.push(e),1==n.vxConfig.hybrid)){var o=angular.element(document.getElementById("vx_row-sel_in_"+e));"undefined"!=typeof o&&null!=o&&o.length>0&&$(o).prop("checked",!0);var l=angular.element(document.getElementById("_vxMulLength"+n.vxConfig.id));"undefined"!=typeof l&&null!=l&&l.length>0&&$(l).text(d("vxNumberFixedLen")(n.vxColSettings.multiSelected.length,2))}}),t},n.config.deselectRows=function(e){var t=[];return _.each(e,function(e){var i=n.vxColSettings.rowSelected[e];if("undefined"!=typeof i&&1==i){if(n.vxColSettings.rowSelected[e]=!1,n.vxColSettings.multiSelected=_.reject(n.vxColSettings.multiSelected,function(n){0==e.localeCompare(n)}),t.push(e),1==n.vxConfig.hybrid){var o=angular.element(document.getElementById("vx_row-sel_in_"+e));"undefined"!=typeof o&&null!=o&&o.length>0&&$(o).prop("checked",!1)}if(1==n.vxConfig.hybrid){var l=angular.element(document.getElementById("_vxMulLength"+n.vxConfig.id));"undefined"!=typeof l&&null!=l&&l.length>0&&$(l).text(d("vxNumberFixedLen")(n.vxColSettings.multiSelected.length,2))}}}),t},n.config.sortByColumn=function(e,t){var i=_.find(n.vxConfig.columnDefConfigs,function(n){return 0==n.id.localeCompare(e)});"undefined"!=typeof i&&null!=i&&(n.vxConfig.sortPredicate=i.id,i.customSortEnabled?n.vxConfig.sortPredicateFn=i.customSortFn:n.vxConfig.sortPredicateFn=i.id,n.vxConfig.reverseSortDirection=t)},n.config.resetColumnFilters=function(e){_.each(e,function(e){n.vxColSettings.dropdDownLoaded[e]=!1,n.vxColSettings.colFilterPairs[e]={}})},n.config.removeRows=function(e){0==n.vxConfig.hybrid?(n.vxConfig.vxData=_.reject(n.vxConfig.vxData,function(t){return 1==_.contains(e,t[n.vxColSettings.primaryId])}),n.vxColSettings.multiSelected=_.difference(n.vxColSettings.multiSelected,e)):1==n.vxConfig.hybrid&&n.config.hybridDeleteRows(e)},n.buildFns(),n.config.changeRowClass=n.changeRowClass,n.$emit("vxGridSettingsBuilt",{id:n.vxConfig.id}),e=new Date;var g=null,x=null,C=48,p=n.vxConfig.latchExcess,S=0,m=!1,h=0;n.config.hybridDeleteRows=function(e){window.requestAnimFrame(function(){angular.forEach(e,function(e){var t=angular.element(document.getElementById(e));t.remove(),n.vxColSettings.inlineEditState[e]=!1,n.vxColSettings.rowSelected[e]=!1,n.vxColSettings.saveInProgress[e]=!1}),n._origData=_.reject(n._origData,function(t){return 1==_.contains(e,t[n.vxColSettings.primaryId])}),n.vxConfig.vxFilteredData=_.reject(n.vxConfig.vxFilteredData,function(t){return 1==_.contains(e,t[n.vxColSettings.primaryId])}),n.vxConfig.vxData=_.reject(n.vxConfig.vxData,function(t){return 1==_.contains(e,t[n.vxColSettings.primaryId])}),n.vxColSettings.multiSelected=_.difference(n.vxColSettings.multiSelected,e);var t=angular.element(document.getElementById("_vxMulLength"+n.vxConfig.id));"undefined"!=typeof t&&null!=t&&t.length>0&&$(t).text(d("vxNumberFixedLen")(n.vxColSettings.multiSelected.length,2)),n.$$phase||n.$apply()})},n.hybridUpdateRows=function(e){angular.forEach(e,function(e){var t=n.hybridGetRowTmpl(e),i=angular.element(document.getElementById(t.rowId));i.empty(),i.replaceWith(t.rowTmpl),t.compile&&f(i.contents())(n)})},n.resetHybridGrid=function(){S=0,m=!1,h=0,n.prepHybrid()},n.prepHybrid=function(){g=angular.element(document.getElementById("_vxHybrid"+n.vxConfig.id)),x=angular.element(document.getElementById("_vxScrollContainer"+n.vxConfig.id)),g.empty();var e=x.height(),t=Math.ceil(e/C)+p,i=_.first(n.vxConfig.vxFilteredData,t);n.appendRows(i),S+=t,x.on("scroll",function(){n.debPep()})},n.prepForScrollInsertion=function(){var e=g.height()-(x.height()+x.scrollTop());if(x.scrollTop()>h&&(e<0&&(e=0),e0&&$(r).text(d("vxNumberFixedLen")(n.vxColSettings.multiSelected.length,2)),"function"==typeof n.config.rowSelectionCallback&&n.config.rowSelectionCallback(o)}else n.rowSelectionChanged(t)}})})}},e=new Date,1==n.vxConfig.hybrid&&(e=new Date,n.vxConfig.vxFilteredData=n.vxConfig.vxData||[],o(n.prepHybrid,100))},n.editRow=function(e){if(1==n.vxConfig.inlineEditSyncEnabled&&n.vxColSettings.multiSelected.length>0){var t=_.filter(n.vxColSettings.multiSelected,function(n){return 0==n.localeCompare(e)});"undefined"!=typeof t&&null!=t&&t.length>0&&_.each(n.vxColSettings.multiSelected,function(e){n.vxColSettings.inlineEditState[e]=!0})}n.vxColSettings.inlineEditState[e]=!0},n.editInProgressCount=function(){var e=0;if("undefined"!=typeof n.vxColSettings.inlineEditState&&null!=n.vxColSettings.inlineEditState)for(var t in n.vxColSettings.inlineEditState)e=1==n.vxColSettings.inlineEditState[t]?e+1:e;return e},n.$on("vxInlineEditFieldChange",function(e,t){if(1==n.vxConfig.inlineEditSyncEnabled){var i=_.filter(n.vxColSettings.multiSelected,function(e){return 0==e.localeCompare(t.rowId)});"undefined"!=typeof i&&null!=i&&i.length>0&&_.each(n.vxColSettings.multiSelected,function(e){var i=_.find(n.vxConfig.vxData,function(t){return t[n.vxColSettings.primaryId]==e});"undefined"!=typeof i&&null!=i&&1==n.vxColSettings.inlineEditState[e]&&(i[t.field]=t.value)})}}),n.savingRows=function(e){var t=_.find(n.vxConfig.vxData,function(t){return t[n.vxColSettings.primaryId]==e});if("undefined"!=typeof t&&1==t.newRow)if(1==n.vxConfig.inlineSaveOverrideEnabled){n.vxColSettings.saveInProgress[e]=!0;var i=a.defer();i.promise.then(function(i){"undefined"!=typeof t.row&&1==i.save?(t.newRow=!1,_.each(n.vxConfig.columnDefConfigs,function(e){t[e.id]=i.row[e.id]})):n.vxConfig.data.unshift(t),n.vxColSettings.inlineEditState[e]="undefined"==typeof i.save||null==i.save||1!=i.save,n.$emit("vxGridRowSave",{id:n.vxConfig.id,data:t,save:!n.vxColSettings.inlineEditState[e]}),n.vxColSettings.saveInProgress[e]=!1},function(i){n.vxColSettings.saveInProgress[e]=!1,n.vxColSettings.inlineEditState[e]=!0,t.newRow=!0}),i.resolve(n.config.fnInlineSaveOverride(t,null))}else"undefined"!=typeof o?_.each(n.vxConfig.columnDefConfigs,function(e){o[e.id]=t[e.id]}):n.vxConfig.data.unshift(t),n.vxColSettings.inlineEditState[e]=!1,n.$emit("vxGridRowSaved",{id:n.vxConfig.id,data:t});else{var o=_.find(n.vxConfig.data,function(t){return t[n.vxColSettings.primaryId]==e});if("undefined"!=typeof t&&"undefined"!=typeof o&&1==n.vxConfig.inlineSaveOverrideEnabled){n.vxColSettings.saveInProgress[e]=!0;var i=a.defer();i.promise.then(function(i){"undefined"!=typeof i.row&&1==i.save&&_.each(n.vxColSettings.colWithInlineEdits,function(e){o[e]=i.row[e]}),n.vxColSettings.inlineEditState[e]="undefined"==typeof i.save||null==i.save||1!=i.save,n.$emit("vxGridRowSave",{id:n.vxConfig.id,data:t,save:!n.vxColSettings.inlineEditState[e]}),n.vxColSettings.saveInProgress[e]=!1},function(t){n.vxColSettings.saveInProgress[e]=!1,n.vxColSettings.inlineEditState[e]=!0}),i.resolve(n.config.fnInlineSaveOverride(t,o))}}},n.saveRow=function(e){var t=!1;if(1==n.vxConfig.inlineEditSyncEnabled){var i=_.filter(n.vxColSettings.multiSelected,function(n){return 0==n.localeCompare(e)});"undefined"!=typeof i&&null!=i&&i.length>0&&_.each(n.vxColSettings.multiSelected,function(e){n.savingRows(e),t=!0})}t||n.savingRows(e)},n.revertEdits=function(){if("undefined"!=typeof n.vxColSettings.multiSelected&&null!=n.vxColSettings.multiSelected&n.vxColSettings.multiSelected.length>0&&(_.each(n.vxColSettings.multiSelected,function(e){if(n.revertEditForRow(e),n.vxColSettings.rowSelected[e]=!1,1==n.vxConfig.hybrid){var t=angular.element(document.getElementById("vx_row-sel_in_"+e));"undefined"!=typeof t&&null!=t&&t.length>0&&$(t).prop("checked",!1)}}),n.vxColSettings.multiSelected=[],1==n.vxConfig.hybrid)){var e=angular.element(document.getElementById("_vxMulLength"+n.vxConfig.id));"undefined"!=typeof e&&null!=e&&e.length>0&&$(e).text(d("vxNumberFixedLen")(n.vxColSettings.multiSelected.length,2))}},n.revertEditForRow=function(e){var t=_.find(n.vxConfig.vxData,function(t){return t[n.vxColSettings.primaryId]==e});if("undefined"!=typeof t&&1==t.newRow){if(n.vxColSettings.inlineEditState[e]=!1,n.vxColSettings.rowSelected[e]=!1,1==n.vxConfig.hybrid){var i=angular.element(document.getElementById("vx_row-sel_in_"+e));"undefined"!=typeof i&&null!=i&&i.length>0&&$(i).prop("checked",!1)}if(n.vxColSettings.multiSelected=_.reject(n.vxColSettings.multiSelected,function(n){0==e.localeCompare(n)}),n.vxConfig.vxData=_.reject(n.vxConfig.vxData,function(t){return 0==t[n.vxColSettings.primaryId].localeCompare(e)}),n.$emit("vxGridRowEditRevert",{id:n.vxConfig.id,data:t}),1==n.vxConfig.hybrid){var o=angular.element(document.getElementById("_vxMulLength"+n.vxConfig.id));"undefined"!=typeof o&&null!=o&&o.length>0&&$(o).text(d("vxNumberFixedLen")(n.vxColSettings.multiSelected.length,2))}}else{var l=_.find(n.vxConfig.data,function(t){return t[n.vxColSettings.primaryId]==e});if("undefined"!=typeof t&&"undefined"!=typeof l){if(_.each(n.vxColSettings.colWithInlineEdits,function(e){t[e]=l[e]}),n.vxColSettings.inlineEditState[e]=!1,n.vxColSettings.rowSelected[e]=!1,1==n.vxConfig.hybrid){var i=angular.element(document.getElementById("vx_row-sel_in_"+e));"undefined"!=typeof i&&null!=i&&i.length>0&&$(i).prop("checked",!1)}if(n.vxColSettings.multiSelected=_.reject(n.vxColSettings.multiSelected,function(n){0==e.localeCompare(n)}),n.$emit("vxGridRowEditRevert",{id:n.vxConfig.id,data:l}),1==n.vxConfig.hybrid){var o=angular.element(document.getElementById("_vxMulLength"+n.vxConfig.id));"undefined"!=typeof o&&null!=o&&o.length>0&&$(o).text(d("vxNumberFixedLen")(n.vxColSettings.multiSelected.length,2))}}}},n.addNewRow=function(){n.vxConfig.sortPredicate="_vxCreated",n.vxConfig.sortPredicateFn="_vxCreated",n.vxConfig.reverseSortDirection=!0;var t=angular.copy(n.vxConfig.newRowTemplate),i=e();t[n.vxColSettings.primaryId]=i,t.newRow=!0,t._vxCreated=(new Date).getTime(),n.vxColSettings.inlineEditState[i]=!0,n.vxConfig.vxData.unshift(t)},n.deleteRows=function(){if("undefined"!=typeof n.vxColSettings.multiSelected&&null!=n.vxColSettings.multiSelected&n.vxColSettings.multiSelected.length>0)if(1==n.vxConfig.inlineDeleteOverrideEnabled){_.each(n.vxColSettings.multiSelected,function(e){n.vxColSettings.saveInProgress[e]=!0});var e=a.defer(),t=angular.copy(_.filter(n.vxConfig.vxData,function(e){return 1==_.contains(n.vxColSettings.multiSelected,e[n.vxColSettings.primaryId])}));e.promise.then(function(e){if(e.rows.length>0){var t=_.map(e.rows,function(e){return e[n.vxColSettings.primaryId]});if(n.vxConfig.vxData=_.reject(n.vxConfig.vxData,function(e){return 1==_.contains(t,e[n.vxColSettings.primaryId])}),n.$emit("vxGridRowsDeleted",{id:n.vxConfig.id,data:t}),_.each(t,function(e){n.vxColSettings.inlineEditState[e]=!1,n.vxColSettings.rowSelected[e]=!1,n.vxColSettings.saveInProgress[e]=!1}),n.vxColSettings.multiSelected=_.difference(n.vxColSettings.multiSelected,t),1==n.vxConfig.hybrid){var i=angular.element(document.getElementById("_vxMulLength"+n.vxConfig.id));"undefined"!=typeof i&&null!=i&&i.length>0&&$(i).text(d("vxNumberFixedLen")(n.vxColSettings.multiSelected.length,2))}}},function(e){}).then(function(){_.each(n.vxColSettings.multiSelected,function(e){n.vxColSettings.saveInProgress[e]=!1})}),e.resolve(n.config.fnInlineDeleteOverride(t))}else if(n.vxConfig.vxData=_.reject(n.vxConfig.vxData,function(e){return 1==_.contains(n.vxColSettings.multiSelected,e[n.vxColSettings.primaryId])}),n.$emit("vxGridRowsDeleted",{id:n.vxConfig.id,data:n.vxColSettings.multiSelected}),_.each(n.vxColSettings.multiSelected,function(e){n.vxColSettings.inlineEditState[e]=!1,n.vxColSettings.rowSelected[e]=!1}),n.vxColSettings.multiSelected=[],1==n.vxConfig.hybrid){var i=angular.element(document.getElementById("_vxMulLength"+n.vxConfig.id));"undefined"!=typeof i&&null!=i&&i.length>0&&$(i).text(d("vxNumberFixedLen")(n.vxColSettings.multiSelected.length,2))}},n.activatePage=function(e){n.vxColSettings.activePage=e,n.vxColSettings.vxPageStartPosition=e>0?e*n.vxConfig.pageLength:0,n.vxColSettings.allRowSelected=!1},n.debouncedSearch=_.debounce(function(){n.vxColSettings.xsSearch=angular.copy(n.vxColSettings.searchToken)},50),n.keyUpSearch=function(e){13==e.keyCode?n.vxColSettings.xsSearch=angular.copy(n.vxColSettings.searchToken):8==e.keyCode&&""==n.vxColSettings.searchToken&&(n.vxColSettings.xsSearch=angular.copy(n.vxColSettings.searchToken))},n.filtTokenChange=function(e){n.vxColSettings.filterSearchToken[e]=n.vxColSettings.enteredSearchToken[e],_.each(n.vxConfig.columnDefConfigs,function(n){n.id==e&&(n.filterLimit=10,u[e]=0)})},n.debFiltTokenChange=_.debounce(n.filtTokenChange,10),n.filterTokenChnagedRapid=function(e){""==n.vxColSettings.enteredSearchToken[e]?(_.each(n.vxConfig.columnDefConfigs,function(n){n.id==e&&(n.filterLimit=10,u[e]=0)}),n.vxColSettings.filterSearchToken[e]=""):n.debFiltTokenChange(e)},n.filterAssignVar=function(e){var t=angular.element(document.getElementById(e+"_searchfilters_"+n.vxConfig.id));"undefined"!=typeof t&&t.length>0&&(n.vxColSettings.filterSearchToken[e]=t[0].value,_.each(n.vxConfig.columnDefConfigs,function(n){n.id==e&&(n.filterLimit=10,u[e]=0)}))},n.isValidHeaderName=function(e,n){return 0==e.renderHeadDefn&&"undefined"!=typeof n&&null!=n&&""!=n},n.headerClick=function(e,t){var i=!0,l=$(t.target);if("undefined"!=typeof l&&null!=l&l.length>0){var r=l.closest("ul.dropdown-menu");"undefined"!=typeof r&&null!=r&r.length>0&&(i=!1)}if(0!=i){var d=n.selfEle.find(".vxTableScrollContainer"),a=(n.selfEle.find(".vxHeadRowCell .dropdown ul.dropdown-menu"),n.getWindowDimensions().h/2);_.each(n.selfEle.find(".vxHeadRowCell .dropdown ul.dropdown-menu"),function(e){ -var n=Math.min(Math.floor(d.height())-48,a);$(e).css("max-height",n+"px")}),_.each(n.vxConfig.columnDefConfigs,function(t){0!=t.id.localeCompare(e.id)&&(n.vxColSettings.dropdDownOpen[t.id]=!1)});var f=_.find(n.vxConfig.columnDefConfigs,function(n){return 0==n.id.localeCompare(e.id)});if("undefined"!=typeof f&&null!=f)if(0==n.vxColSettings.dropdDownEnabled[f.id])n.sortClick(e);else{n.vxColSettings.dropdDownLoaded[f.id]=!1,n.vxColSettings.dropdDownOpen[f.id]=!n.vxColSettings.dropdDownOpen[f.id];var c=_.filter(n.multiBoxFilters,function(e){return 0!=e.col.localeCompare(f.id)}),s=c.length>0,g=!1;"undefined"!=typeof n.vxColSettings.colFilterPairs[f.id]&&null!=n.vxColSettings.colFilterPairs[f.id]&&n.vxColSettings.colFilterPairs[f.id]!={}&&n.vxColSettings.colFilterPairs[f.id].length>0&&(g=!0),0==s&&1==g?(n.vxColSettings.dropdDownLoaded[f.id]=!0,_.each(n.vxColSettings.colFilterPairs[f.id],function(e){e.disabled=!1})):o(function(){if(f.idCollection=[],1==f.ddSort&&(n.vxColSettings.dropDownSort[f.id]=!0,f.idCollection.push(n.vxConfig.id+"_"+f.id+"_sort")),1==f.ddGroup&&1!=n.vxConfig.hybrid&&(n.vxColSettings.dropDownGroup[f.id]=!0,f.idCollection.push(n.vxConfig.id+"_"+f.id+"_group"),f.idCollection.push(n.vxConfig.id+"_"+f.id+"_ungroup")),1==f.ddFilters){if(f.idCollection.push(n.vxConfig.id+"_"+f.id+"_clearfilters"),f.idCollection.push(f.id+"_searchfilters_"+n.vxConfig.id),f.idCollection.push(f.id+"_invokesearchfilters_"+n.vxConfig.id),0==g){n.vxColSettings.dropDownFilters[f.id]=!0,n.vxColSettings.colFilterPairs[f.id]=[];var t=[],i=_.uniq(_.map(n.vxConfig.vxData,function(e){var n={value:e[f.id],type:""};return"undefined"!=typeof n.value&&null!=n.value&&n.value!={}&&"object"!=typeof n.value&&"number"!=typeof n.value&&"boolean"!=typeof n.value?n.value=n.value.trim():"boolean"==typeof n.value?n.value=n.value.toString().trim():"[object Date]"===Object.prototype.toString.call(n.value)&&(n.value=n.value.getTime(),n.type="date"),n}),function(e){return e.value});i=_.reject(i,function(e){return"undefined"==typeof e.value||e.value=={}}),_.each(i.sort(),function(e,i){var o=v(e,f.id,"col"),l=o.key,r=o.type,d=""===e.value||" "===e.value?"< blank >":e.value;d=null==e.value?" < null >":d;var a={key:l,label:e.value,name:d,col:f.id,type:r,disabled:!1,action:"filter"};"undefined"!=typeof f.filterCellDefn&&null!=f.filterCellDefn&&f.filterCellDefn!={}&&""!=f.filterCellDefn?(a.filterDefn=f.filterCellDefn.replaceAll("VX_DATA_POINT","filter.name"),a.filterDefnAvailable=!0):a.filterDefnAvailable=!1,t.push(a),f.idCollection.push(n.vxConfig.id+"_"+f.id+"_filter_"+i),n.vxColSettings.colFiltersStatus[l]=!1}),t=_.sortBy(t,"label"),_.each(t,function(e){n.vxColSettings.colFilterPairs[f.id].push(e)}),n.vxColSettings.filterSearchToken[f.id]="",n.vxColSettings.colFiltersActivated[f.id]=!1}else{var i=_.uniq(_.map(n.vxConfig.vxFilteredData,function(e){return"[object Date]"===Object.prototype.toString.call(e[f.id])?e[f.id].getTime():"[object Boolean]"===Object.prototype.toString.call(e[f.id])?e[f.id].toString():e[f.id]}));_.each(n.vxColSettings.colFilterPairs[f.id],function(e){1!=_.contains(i,e.label)?e.disabled=!0:e.disabled=!1})}if(1==s){var o=_.last(n.multiBoxFilters),i=_.uniq(_.map(n.vxConfig.vxFilteredData,function(e){return"[object Date]"===Object.prototype.toString.call(e[f.id])?e[f.id].getTime():"[object Boolean]"===Object.prototype.toString.call(e[f.id])?e[f.id].toString():e[f.id]}));0!=o.col.localeCompare(f.id)&&_.each(n.vxColSettings.colFilterPairs[f.id],function(e){1!=_.contains(i,e.label)?e.disabled=!0:e.disabled=!1})}u[f.id]=0,e.filterLimit=10;var l=angular.element(document.getElementById(n.vxConfig.id+"-dropdwon-menu-"+f.id));l.on("scroll",function(e){var t=f.id,i=$(e.target).scrollTop();i>u[t]&&(n.debouncedIncrementFilter(t),u[t]=i)})}n.vxColSettings.dropdDownLoaded[f.id]=!0},500)}}},n.debouncedIncrementFilter=_.throttle(c,500),n.sortClick=function(e){var t=_.find(n.vxConfig.columnDefConfigs,function(n){return 0==n.id.localeCompare(e.id)});"undefined"!=typeof t&&null!=t&&t.ddSort&&(0!=n.vxConfig.sortPredicate.localeCompare(t.id)&&(n.vxConfig.sortPredicate=t.id,t.customSortEnabled?n.vxConfig.sortPredicateFn=t.customSortFn:n.vxConfig.sortPredicateFn=t.id),n.vxColSettings.reverseSettings[t.id]=!n.vxColSettings.reverseSettings[t.id],n.vxConfig.reverseSortDirection=n.vxColSettings.reverseSettings[t.id],1==n.vxConfig.hybrid&&(n.vxConfig.vxFilteredData=_.sortBy(n.vxConfig.vxFilteredData,n.vxConfig.sortPredicateFn),1==n.vxConfig.reverseSortDirection&&n.vxConfig.vxFilteredData.reverse(),n.resetHybridGrid()))},n.getVisibleHeaderCounts=function(){return _.filter(n.vxConfig.columnDefConfigs,function(e){return 1!=e.hidden}).length},n.groupClick=function(e){if(n.clearFilters(),1!=n.vxColSettings.groupByColActivated[e.id]){n.vxConfig.sortPredicate=null;var t=[],i=e.id,o=e.columnName,l=_.uniq(_.pluck(n.vxConfig.vxData,i)),r=_.groupBy(_.sortBy(n.vxConfig.vxData,i),i);n.vxColSettings.groupKeys[i]=[],_.each(l,function(e){var l=v(e,i,"groupcol").key;if(n.vxColSettings.groupKeys[i].push(l),r[e].length>0){n.vxColSettings.groupPredicate[l]=!1;var d={type:"groupRow",colName:o,col:i,value:e,groupId:l,cellDefn:'
'};d.cellDefn=d.cellDefn.replaceAll("VX_ROW_POINT","vxColSettings.groupPredicate[row.groupId]"),t.push(d),t=_.union(t,r[e])}}),n.vxConfig.vxData=t,n.vxColSettings.groupByColActivated[e.id]=!0}},n.unGroupClick=function(e){if(n.clearFilters(),1==n.vxColSettings.groupByColActivated[e.id]){var t=_.find(n.vxConfig.columnDefConfigs,function(n){return 0==n.id.localeCompare(e.id)});"undefined"!=typeof t&&null!=t&&(n.vxConfig.sortPredicate=t.id,t.customSortEnabled?n.vxConfig.sortPredicateFn=t.customSortFn:n.vxConfig.sortPredicateFn=t.id),n.vxConfig.vxData=_.reject(n.vxConfig.vxData,function(e){return"undefined"!=typeof e.type&&null!=e.type&&0==e.type.localeCompare("groupRow")}),n.vxColSettings.groupByColActivated[e.id]=!1}},n.getAllRowLength=function(){if(n.config.noData)return 0;if(1==n.vxConfig.hybrid)return n._origData.length;var e=_.filter(n.vxConfig.vxData,function(e){return"undefined"==typeof e.type||null==e.type||0!=e.type.localeCompare("groupRow")||1==e.fillEmptyElement}).length;return e},n.removeGroupings=function(){_.each(n.vxConfig.columnDefConfigs,function(e){n.unGroupClick(e)}),n.vxColSettings.groupPredicate={}},n.groupSelectionChanged=function(e){n.emitArray=[];var t=n.vxColSettings.groupPredicate[e.groupId],i=_.filter(n.vxConfig.vxFilteredData,function(n){return"groupRow"!=n.type&&0==n[e.col].localeCompare(e.value)});if(_.each(i,function(e){if(0==n.vxColSettings.multiSelColDependent||1==n.vxColSettings.multiSelColDependent&&0==e[n.vxConfig.multiSelectionDependentCol]){var i=e[n.vxColSettings.primaryId];if(n.vxColSettings.rowSelected[i]!=t){n.vxColSettings.rowSelected[i]=t;({key:e[n.vxConfig.onSelectionReturnCol],value:n.vxColSettings.rowSelected[i],_pKey:i});n.emitArray.push(i),t?n.vxColSettings.multiSelected.push(i):n.vxColSettings.multiSelected=_.reject(n.vxColSettings.multiSelected,function(e){return 0==e.localeCompare(i)})}}}),1==n.vxConfig.hybrid){var o=angular.element(document.getElementById("_vxMulLength"+n.vxConfig.id));"undefined"!=typeof o&&null!=o&&o.length>0&&$(o).text(d("vxNumberFixedLen")(n.vxColSettings.multiSelected.length,2))}n.$emit("vxGridRwSelectionChange",{id:n.vxConfig.id,data:n.emitArray})},n.allRowSelectionChanged=function(){var e=n.vxColSettings.allRowSelected;if(1==e){if(_.each(n.vxConfig.vxFilteredData,function(t,i){var o=!0;if(1==n.vxConfig.pagination&&0==n.vxConfig.virtualization&&(i>=n.vxColSettings.vxPageStartPosition&&i0&&$(r).prop("checked",!0)}}}),_.each(n.vxConfig.columnDefConfigs,function(e){1==n.vxColSettings.dropDownGroup[e.id]&&1==n.vxColSettings.groupByColActivated[e.id]&&_.each(n.vxColSettings.groupKeys[e.id],function(e){n.vxColSettings.groupPredicate[e]=!0})}),n.vxColSettings.multiSelected=_.reject(n.vxColSettings.multiSelected,function(e){return"undefined"==typeof e||null==e||e=={}}),1==n.vxConfig.hybrid){var t=angular.element(document.getElementById("_vxMulLength"+n.vxConfig.id));"undefined"!=typeof t&&null!=t&&t.length>0&&$(t).text(d("vxNumberFixedLen")(n.vxColSettings.multiSelected.length,2))}n.$emit("vxGridRowAllSelectionChange",{id:n.vxConfig.id,data:{toggledTo:e,array:n.vxColSettings.multiSelected}})}else 0==e&&(n.clearSelection(),n.$emit("vxGridRowAllSelectionChange",{id:n.vxConfig.id,data:{toggledTo:e,array:n.vxColSettings.multiSelected}}));if(1==n.vxConfig.hybrid){var t=angular.element(document.getElementById("_vxMulLength"+n.vxConfig.id));"undefined"!=typeof t&&null!=t&&t.length>0&&$(t).text(d("vxNumberFixedLen")(n.vxColSettings.multiSelected.length,2))}},n.rowSelectionChanged=function(e){var t=e,i=_.find(n.vxConfig.vxData,function(t){return t[n.vxColSettings.primaryId]==e}),o={key:i[n.vxConfig.onSelectionReturnCol],value:n.vxColSettings.rowSelected[t],_pKey:t},l=!0;if(1==n.vxColSettings.rowSelected[t]&&1==n.vxColSettings.multiSelColDependent){l=!1;var r=n.vxConfig.multiSelectionDependentCol;if(1==i[r]&&0==n.vxColSettings.multiSelected.length)l=!0;else if(0==i[r]&&n.vxColSettings.multiSelected.length>=1){var a=n.vxColSettings.multiSelected[0],f=_.find(n.vxConfig.vxData,function(e){return 0==e[n.vxColSettings.primaryId].localeCompare(a)});"undefined"!=typeof f&&null!=f&&f!={}&&1==f[r]?(l=!1,n.vxColSettings.rowSelected[t]=!1):l=!0}else 0==i[r]?l=!0:n.vxColSettings.rowSelected[t]=!1}else 0==n.vxColSettings.rowSelected[t]&&(n.vxColSettings.multiSelected=_.reject(n.vxColSettings.multiSelected,function(e){return 0==e.localeCompare(t)}),l=!1,n.vxColSettings.allRowSelected=!1,n.$emit("vxGridRowSelectionChange",{id:n.vxConfig.id,data:o}));if(l){var c=_.find(n.vxColSettings.multiSelected,function(e){return 0==e.localeCompare(t)});"undefined"!=typeof c&&null!=c||n.vxColSettings.multiSelected.push(t),n.$emit("vxGridRowSelectionChange",{id:n.vxConfig.id,data:o}),0==n.vxConfig.multiSelectionEnabled&&(_.each(n.vxColSettings.multiSelected,function(e){0!=e.localeCompare(t)&&(n.vxColSettings.rowSelected[e]=!1)}),n.vxColSettings.multiSelected=_.reject(n.vxColSettings.multiSelected,function(e){return 0!=e.localeCompare(t)}))}if(1==n.vxConfig.hybrid){var v=angular.element(document.getElementById("_vxMulLength"+n.vxConfig.id));"undefined"!=typeof v&&null!=v&&v.length>0&&$(v).text(d("vxNumberFixedLen")(n.vxColSettings.multiSelected.length,2))}},n.filterClick=function(e,t){0==n.vxConfig.preserveSelectionOnFilters&&n.clearSelection();var i=n.vxColSettings.colFiltersStatus[t.key];if(0==i){n.multiBoxFilters=_.reject(n.multiBoxFilters,function(e){return 0==e.key.localeCompare(t.key)});var o=_.find(n.multiBoxFilters,function(e){return 0==e.col.localeCompare(t.col)});"undefined"!=typeof o&&null!=o&&o!={}&&0!=o.length||(n.vxColSettings.colFiltersActivated[e.id]=!1)}else{var l=_.find(n.multiBoxFilters,function(e){return 0==e.key.localeCompare(t.key)});"undefined"!=typeof l&&null!=l&&l!={}||n.multiBoxFilters.push(t),n.vxColSettings.colFiltersActivated[e.id]=!0}1==n.vxConfig.hybrid&&(n.vxConfig.vxFilteredData=d("vxGridMultiBoxFilters")(n._origData,n.multiBoxFilters),n.resetHybridGrid())},n.filterClearClick=function(e){if(1==n.vxColSettings.colFiltersActivated[e.id]){n.clearSelection();var t=_.filter(n.multiBoxFilters,function(n){return 0==n.col.localeCompare(e.id)});t.length>0&&_.each(t,function(e){n.vxColSettings.colFiltersStatus[e.key]=!1}),n.multiBoxFilters=_.reject(n.multiBoxFilters,function(n){return 0==n.col.localeCompare(e.id)}),n.vxColSettings.colFiltersActivated[e.id]=!1,n.vxColSettings.filterSearchToken[e.id]=""}if(""!=n.vxColSettings.filterSearchToken[e.id]){n.vxColSettings.filterSearchToken[e.id]="";var i=angular.element(document.getElementById(e.id+"_searchfilters_"+n.vxConfig.id));"undefined"!=typeof i&&i.length>0&&(i[0].value="")}1==n.vxConfig.hybrid&&(n.vxConfig.vxFilteredData=d("vxGridMultiBoxFilters")(n._origData,n.multiBoxFilters),n.resetHybridGrid())},n.clearFilters=function(){n.multiBoxFilters.length>0&&_.each(n.vxConfig.columnDefConfigs,function(e){n.filterClearClick(e)}),n.multiBoxFilters=[]},n.selectAllFiltered=function(){n.vxColSettings.multiSelected.length>0&&n.clearSelection(),n.emitArray=[];var e="";1!=n.vxConfig.hybrid?e="vxFilteredData":(n.vxConfig.hybrid=!0)&&(e="vxFilteredData"),_.each(n.vxConfig[e],function(e){if(0==n.vxColSettings.multiSelColDependent||1==n.vxColSettings.multiSelColDependent&&0==e[n.vxConfig.multiSelectionDependentCol]){if(n.vxColSettings.rowSelected[e[n.vxColSettings.primaryId]]=!0,1==n.vxConfig.hybrid){var t=angular.element(document.getElementById("vx_row-sel_in_"+e[n.vxColSettings.primaryId]));"undefined"!=typeof t&&null!=t&&t.length>0&&$(t).prop("checked",!0)}var i=e[n.vxColSettings.primaryId],o={key:e[n.vxConfig.onSelectionReturnCol],value:n.vxColSettings.rowSelected[i],_pKey:i};if(n.emitArray.push(o),1==n.vxColSettings.rowSelected[i]){var l=_.find(n.vxColSettings.multiSelected,function(e){return 0==e.localeCompare(i)});"undefined"!=typeof l&&null!=l||n.vxColSettings.multiSelected.push(i)}}}),n.$emit("vxGridRowMultiSelectionChange",{id:n.vxConfig.id,data:n.emitArray})},n.clearSelection=function(){if(n.emitArray=[],_.each(n.vxColSettings.multiSelected,function(e){if(n.vxColSettings.rowSelected[e]=!1,1==n.vxConfig.hybrid){var t=angular.element(document.getElementById("vx_row-sel_in_"+e));"undefined"!=typeof t&&null!=t&&t.length>0&&$(t).prop("checked",!1)}var i=_.find(n.vxConfig.vxData,function(t){return"groupRow"!=t.type&&0==t[n.vxColSettings.primaryId].localeCompare(e)});if("undefined"!=typeof i&&null!=i){var o={key:i[n.vxConfig.onSelectionReturnCol],value:n.vxColSettings.rowSelected[e],_pKey:e};n.emitArray.push(o)}n.vxColSettings.multiSelected=[],n.vxColSettings.allRowSelected=!1,_.each(n.vxConfig.columnDefConfigs,function(e){1==n.vxColSettings.dropDownGroup[e.id]&&1==n.vxColSettings.groupByColActivated[e.id]&&_.each(n.vxColSettings.groupKeys[e.id],function(e){n.vxColSettings.groupPredicate[e]=!1})})}),1==n.vxConfig.hybrid){var e=angular.element(document.getElementById("_vxMulLength"+n.vxConfig.id));"undefined"!=typeof e&&null!=e&&e.length>0&&$(e).text(d("vxNumberFixedLen")(n.vxColSettings.multiSelected.length,2))}n.$emit("vxGridRowMultiSelectionChange",{id:n.vxConfig.id,data:n.emitArray})},n.upDownKeyDownHandlerHeaderMenu=function(e,t){if(40==e.keyCode||27==e.keyCode)if(40==e.keyCode){var i=$(e.target).siblings().find('[tabindex="0"]');i.length>0&&$(i[0]).focus()}else if(27==e.keyCode&&1==n.vxColSettings.dropdDownOpen[t]){n.vxColSettings.dropdDownOpen[t]=!1;var o=$(e.target).closest(".dropdown").find("button");o&&o.length>0&&$(o).focus()}},n.findIdToBeFocussed=function(e,n,t){var i=e;if(t)for(i+1==n.length&&(i=-1);i<=n.length;){var o=$("#"+n[i+1]);if($(o).is('[tabindex="0"]'))return n[i+1];i+=1}else if(!t)for(0==i&&(i=n.length);i>=1;){var o=$("#"+n[i-1]);if($(o).is('[tabindex="0"]'))return n[i-1];i-=1}return e},n.findFocussable=function(e,t,i){var o=$(e).attr("id"),l=_.find(n.vxConfig.columnDefConfigs,function(e){return e.id==t});if("undefined"!=typeof l&&null!=l){var r=l.idCollection,d=_.indexOf(r,o);return d!=-1&&d!=r.length&&1==i?n.findIdToBeFocussed(d,r,!0):d!=-1&&0==i?n.findIdToBeFocussed(d,r,!1):null}},n.shiftKeyPressed=!1,n.upDowKeyUpHandlerHeaderMenuItems=function(e,t){16==e.keyCode&&(n.shiftKeyPressed=!1)},n.upDowKeyDownHandlerHeaderMenuItems=function(e,t){var i=!1;if(16==e.keyCode&&(n.shiftKeyPressed=!0),40!=e.keyCode&&38!=e.keyCode&&27!=e.keyCode&&9!=e.keyCode)return!1;if(40==e.keyCode||9==e.keyCode&&0==n.shiftKeyPressed){var o=n.findFocussable($(e.target),t,!0);$("#"+o).is('[tabindex="0"]')&&$("#"+o).focus(),i=!0}else if(38==e.keyCode||9==e.keyCode&&1==n.shiftKeyPressed){var o=n.findFocussable($(e.target),t,!1);null==o?$(e.target).closest(".dropdown").find("button").focus():$("#"+o).is('[tabindex="0"]')&&$("#"+o).focus(),i=!0}else if(27==e.keyCode&&1==n.vxColSettings.dropdDownOpen[t]){n.vxColSettings.dropdDownOpen[t]=!1;var l=$(e.target).closest(".dropdown").find("button");l&&l.length>0&&$(l).focus()}i&&(e.stopPropagation(),e.preventDefault())},n.openManageColumns=function(){var e=t.open({templateUrl:"template/vx-grid/vx-grid-manage-columns-modal.html",windowClass:"vxGridManageColMod",controller:["$scope","$uibModalInstance","originalSettings",function(e,n,t){e.headerSelected=null,e.headerSelectedForVisChange=null,e.copyForWidthVisChange=t,_.each(e.copyForWidthVisChange,function(e,n){e.order=n,e.chars=Math.ceil((e.width-20)/7),e.selected=!1}),e.swapAbove=function(n){if(0==n.locked){var t=n.order,i=n.order,o=!0;do{i-=1,o=!0;var l=_.find(e.copyForWidthVisChange,function(e){return e.order==i&&0==e.orderLocked});"undefined"!=typeof l&&null!=l&&l!={}||(o=!1)}while(!o&&i>=0);if(o&&i>=0){var l=_.find(e.copyForWidthVisChange,function(e){return e.order==i&&0==e.orderLocked});"undefined"!=typeof l&&null!=l&&l!={}&&(l.order=t,n.order=i)}}},e.swapBelow=function(n){if(0==n.locked){var t=n.order,i=n.order,o=!0;do{i+=1,o=!0;var l=_.find(e.copyForWidthVisChange,function(e){return e.order==i&&0==e.orderLocked});"undefined"!=typeof l&&null!=l&&l!={}||(o=!1)}while(!o&&i<=e.copyForWidthVisChange.length-1);if(o&&i<=e.copyForWidthVisChange.length-1){var l=_.find(e.copyForWidthVisChange,function(e){return e.order==i&&0==e.orderLocked});"undefined"!=typeof l&&null!=l&&l!={}&&(l.order=t,n.order=i)}}},e.makeVisible=function(n){var t=_.find(e.copyForWidthVisChange,function(e){return 0==e.id.localeCompare(n.id)});"undefined"!=typeof t&&null!=t&&t!={}&&0==t.visbilityLocked&&(t.hidden=!1)},e.makeHidden=function(n){var t=_.find(e.copyForWidthVisChange,function(e){return 0==e.id.localeCompare(n.id)});"undefined"!=typeof t&&null!=t&&t!={}&&0==t.visbilityLocked&&(t.hidden=!0)},e.saveChangeInConfig=function(){var t=[];t=_.sortBy(e.copyForWidthVisChange,function(n){var t=_.find(e.copyForWidthVisChange,function(e){return 0==e.id.localeCompare(n.id)});return"undefined"!=typeof t&&null!=t&&t!={}?t.order:1}),n.close(t)},e.widthChanged=function(e){e.width=Math.ceil(7*e.chars)+20},e.selectHeader=function(n){1!=n.locked&&(n.selected=!n.selected,_.each(e.copyForWidthVisChange,function(e){0!=e.id.localeCompare(n.id)&&(e.selected=!1)}),1==n.selected?e.headerSelected=n:e.headerSelected=null)},e.cancelChangeInConfig=function(){n.dismiss()},e.upDownKeyPressHandler=function(n){var t=!1;38!=n.keyCode&&40!=n.keyCode||(t=e.upDownMovement(n)),t&&(n.stopPropagation(),n.preventDefault())},e.upDownMovement=function(e){var n=!1;if(38==e.keyCode){var t=$(e.target).prev();t.length>0&&$(t[0]).attr("tabindex")!=-1&&$(t)[0].focus(),n=!0}else if(40==e.keyCode){var t=$(e.target).next();t.length>0&&$(t[0]).attr("tabindex")!=-1&&$(t)[0].focus(),n=!0}return n}}],backdrop:"static",resolve:{originalSettings:function(){return angular.copy(n.vxConfig.columnDefConfigs)}}});e.result.then(function(e){e=n.calculateEffectiveWidths(e),n.vxConfig.columnDefConfigs=e,1==n.vxConfig.hybrid&&n.resetHybridGrid(),n.$emit("vxGridSettingsChanged",{id:n.vxConfig.id,data:e})},function(e){})},n.calculateEffectiveWidths=function(e){var t=_.reduce(e,function(e,n){var t=0;return 0==n.hidden&&(t=parseInt(n.width)),e+t},0),i=n.selfEle.find(".vxTableScrollContainer").width(),o=0;return _.each(e,function(e){if(i>t){var n=parseInt(e.width)/t*(i-t);e.effectiveWidth=parseInt(e.width)+n}else e.effectiveWidth=e.width;e.effectiveWidth=Math.floor(e.effectiveWidth),o+=e.effectiveWidth}),e},n.openJsonEditor=function(){var e=t.open({templateUrl:"template/vx-grid/vx-grid-json-editor-modal.html",windowClass:"vxGridManageColMod",controller:["$scope","$modalInstance","griddata",function(e,n,t){e.data=angular.copy(t),e.changeData=[],e.configuration={editable:!0,viewButtonClass:"btn-info",editButtonClass:"btn-success"},e.jsonOptions={mode:"code",modes:["tree","form","code","text"],history:!1},e.onChangeJSON=function(n){e.changeData=n},e.saveChangeInConfig=function(){n.close(e.changeData)},e.cancelChangeInConfig=function(){n.dismiss()}}],backdrop:"static",resolve:{griddata:function(){return angular.copy(n.vxConfig.vxData)}}});e.result.then(function(e){n.vxConfig.vxData=e,n.$emit("vxGridDataChanged",{id:n.vxConfig.id,data:e})},function(e){})},n.revealWrapToggle=function(){n.vxColSettings.revealWrapRowData=!n.vxColSettings.revealWrapRowData},n.xsReset=function(){n.vxColSettings.xsSearch=""},n.justScrollTop=function(){var e=n.selfEle.find(".vxTableContainer.scrollTableContainer");o(function(){$(e).animate({scrollTop:0},500)},10)},n.justScrollDown=function(){var e=n.selfEle.find(".vxTableContainer.scrollTableContainer"),t=$(e).scrollTop()||0;0==n.vxConfig.hybrid?o(function(){$(e).animate({scrollTop:t+96},33)},10):1==n.vxConfig.hybrid&&(n.prepForScrollInsertion(),o(function(){$(e).animate({scrollTop:t+100},300)},10))},n.showScrollDownArrow=function(){var e=n.selfEle.find(".vxTableContainer.scrollTableContainer"),t=n.selfEle.find(".scrollTableContainer table.vxTable");return"undefined"!=typeof e&&"undefined"!=typeof t&&null!=e&&null!=t&&t.height()>e.height()},n.showScrollUpArrow=function(){var e=n.selfEle.find(".vxTableContainer.scrollTableContainer"),t=n.selfEle.find(".scrollTableContainer table.vxTable");return"undefined"!=typeof e&&"undefined"!=typeof t&&null!=e&&null!=t&&t.height()>e.height()&&e.scrollTop()>48},n.outsideHeader=function(e){1==n.vxColSettings.dropdDownOpen[e.id]&&(n.vxColSettings.dropdDownOpen[e.id]=!1,n.$$phase||n.$apply())},n.$on("vsRepeatCollectionPartiallyRendered",function(e,t){n.$emit("vxPartiallyRendered",{id:n.vxConfig.id,data:t}),1==n.vxConfig.selectAllOnRenderAll&&(n.vxColSettings.selectAllEnabled=!1,n.$emit("vxPartiallyRenderedSelectAllDisabled",{id:n.vxConfig.id,data:t}))}),n.$on("vsRepeatCollectionCompletelyRendered",function(e,t){n.$emit("vxCompletelyRendered",{id:n.vxConfig.id,data:t}),1==n.vxConfig.selectAllOnRenderAll&&(n.vxColSettings.selectAllEnabled=!0,n.$emit("vxCompletelyRenderedSelectAllEnabled",{id:n.vxConfig.id,data:t}))}),n.buildFns=function(){var e=["openJsonEditor","openManageColumns","resetVxInstance","clearFilters","selectAllFiltered","clearSelection","revealWrapToggle"];_.each(e,function(e){var t="vxGrid"+e.capitalizeFirstLetter(),i=e+"()";n.$on(t,function(e,t){0==t.id.localeCompare(n.vxConfig.id)&&n.$eval(i)}),n.config[e]=function(){n.$eval(i)}})},n.$on("vxGridChangeRowClass",function(e,t){0==t.id.localeCompare(n.vxConfig.id)&&n.changeRowClass(t.data)}),n.changeRowClass=function(e){for(var t in e)n.vxColSettings.vxRowClass[t]=e[t];"$apply"!=n.$root.$$phase&&"$digest"!=n.$root.$$phase&&n.$apply()},n.$on("vxGridResetRowClass",function(e,t){0==t.id.localeCompare(n.vxConfig.id)&&(n.vxColSettings.vxRowClass={})}),n.$on("vxGridDisableRowSelection",function(e,t){0==t.id.localeCompare(n.vxConfig.id)&&_.each(t.data,function(e){n.vxColSettings.vxRowSelectionDisable[e.key]=e.value})}),n.$on("vxGridResetDisableRowSelection",function(e,t){if(0==t.id.localeCompare(n.vxConfig.id))for(var i in n.vxColSettings.vxRowSelectionDisable)n.vxColSettings.vxRowSelectionDisable[i]=!1})}],replace:!0,templateUrl:"template/vx-grid/vx-grid.html",link:function(e,n,t){e.selfEle=n,e.$watchCollection("config.data",function(n){n=n||[];var t=new Date;"undefined"!=typeof n&&0==n.length?(n=[{fillEmptyElement:!0}],e.config.noData=!0,1==e.config.hybrid&&"undefined"!=typeof e.vxConfig&&angular.element(document.getElementById("_vxHybrid"+e.vxConfig.id)).empty()):e.config.noData=!1,1==e.config.hybrid?(e.config.vxData=_.clone(n),e._origData=_.clone(n)):e.config.vxData=angular.copy(n),t=new Date,delete e.vxConfig,e.resetVxInstance()}),1!=e.config.hybrid&&e.$watchCollection("vxConfig.vxFilteredData",function(n){n.length>=0&&1==e.vxConfig.pagination&&(e.vxColSettings.pages=_.range(Math.ceil(n.length/parseInt(e.vxConfig.pageLength))),e.vxColSettings.vxPageEnabled=e.vxColSettings.pages.length>1,e.vxColSettings.activePage=0,e.vxColSettings.vxPageStartPosition=0)}),e.getvxTableContainerWidth=function(){var n=0;return _.each(e.vxConfig.columnDefConfigs,function(e){0==e.hidden&&(n+=e.effectiveWidth)}),e.vxConfig.totalWidth=n+"px",e.vxConfig.totalWidth},e.getNonHiddenColCount=function(){var n=1;return"undefined"!=typeof e.vxConfig.columnDefConfigs&&e.vxConfig.columnDefConfigs.length>0&&(n=_.filter(e.vxConfig.columnDefConfigs,function(e){return 0==e.hidden}).length),n}}}}).directive("vxCompile",["$compile",function(e){return function(n,t,i){n.$watch(function(e){return e.$eval(i.vxCompile)},function(i){t.html(i),e(t.contents())(n)})}}]).directive("vxCompileCloneLink",["$compile",function(e){var n={},t={};return function(i,o,l){var r=null;l.vxCompileCloneLink in n?r=t[l.vxCompileCloneLink]:(t[l.vxCompileCloneLink]=i.$eval(l.vxCompileCloneLink),r=t[l.vxCompileCloneLink]);var d=null;r in n?d=n[r]:(n[r]=e(r),d=n[r]),d(i,function(e,n){o.append(e)})}}]).directive("vxEditFocusDisable",["$rootScope","$parse",function(e,n){var t={},i={},o=["input","select","button","textarea","object"];return{restrict:"AEC",link:function(e,l,r){var d=(n(r.vxEditFocusDisable),$(l).attr("id"));e.$watch(r.vxEditFocusDisable,function(e){if(e){i[d]={available:!0,stack:[]},_.each(o,function(e){var n=$(l).find(e);n.length>0&&_.each(n,function(e){var n=$(e).attr("id");"undefined"!=typeof n&&null!=n&&""!=n||($(e).attr("id",_.uniqueId("elemid")),n=$(e).attr("id")),i[d].stack.push(n)})});var n=$(l).find("[tabindex]");n.length>0&&_.each(n,function(e){var n=$(e).attr("tabindex");if(n!=-1&&0==_.contains(o,e.nodeName.toUpperCase())&&0==_.contains(i[d].stack,t)){var t=$(e).attr("id");"undefined"!=typeof t&&null!=t&&""!=t||($(e).attr("id",_.uniqueId("elemid")),t=$(e).attr("id")),i[d].stack.push(t)}}),_.each(i[d].stack,function(e){t[e]=$("#"+e).attr("tabindex")||0,$("#"+e).attr("tabindex",-1)})}else 0==e&&"undefined"!=typeof i[d]&&"undefined"!=typeof i[d].available&&1==i[d].available&&(_.each(i[d].stack,function(e){var n=t[e];$("#"+e).attr("tabindex",n)}),i[d].available=!1)})}}}]).directive("axKey",["$rootScope","$parse",function(e,n){return{restrict:"A",compile:function(t,i){var o=n(i.axKey);return function(n,t){function l(t){var i=function(){o(n,{$event:t})};e.$$phase?n.$evalAsync(i):n.$apply(i)}t.attr("role")||t.attr("role","button"),t.attr("tabindex")||t.attr("tabindex",0);var r=[],d=0;r.push(n.$watch(i.axDisabled||i.ngDisabled,function(e){e?(d=t.attr("tabindex"),t.attr("tabindex",-1),t.attr("aria-disabled",!0)):(t.attr("tabindex",0),t.attr("aria-disabled",!1))})),t.on("click",function(e){n.$eval(i.axDisabled)||n.$eval(i.ngDisabled)||l(e)}),t.on("keyup",function(e){n.$eval(i.axDisabled)||n.$eval(i.ngDisabled)||13!=e.keyCode&&32!=e.keyCode||l(e)}),n.$on("$destroy",function(){for(;r.length;)r.shift()()})}}}}]).directive("vxKeepWatch",function(){return{restrict:"AEC",link:function(e,n,t){var i=t.vxKeepWatch,o=!1;e.$watch(t[i],function(n){o?e.$emit("vxInlineEditFieldChange",{field:t.vxKeepWatchField,value:n,rowId:t.vxKeepWatchRowId}):o=!0})}}}).filter("vxGridMultiBoxFilters",function(){return function(e,n){if("undefined"!=typeof n&&null!=n&&n.length>0){var t=e,i=e,o=_.groupBy(n,"col");for(var l in o){var r=o[l],d=[];_.each(r,function(e){d=_.union(d,_.filter(i,function(n){return"undefined"!=typeof e.label&&null!=e.label&&e.label!={}&&"undefined"!=typeof n[e.col]&&null!=n[e.col]&&n[e.col]!={}?"date"==e.type?"undefined"!=typeof n[e.col]&&n[e.col]!={}&&null!=n[e.col]&&""!=n[e.col]&&n[e.col].getTime()==e.label:"object"==e.type?0==JSON.stringify(n[e.col]).localeCompare(JSON.stringify(e.label)):0==n[e.col].toString().trim().localeCompare(e.label):n[e.col]==e.label}))}),t=_.intersection(t,d)}return t}return e}}).directive("clickOutsideHeader",["$document","$parse",function(e,n){return{restrict:"A",link:function(t,i,o){var l=void 0!==o.outsideIfNot?o.outsideIfNot.replace(", ",",").split(","):[];void 0!==o.id&&l.push(o.id);var r=n(o.clickOutsideHeader);e.on("click",function(e){try{var n=$(e.target).closest("th.vxHeadRowCell");"undefined"!=typeof n&&null!=n&&0!=n.length||t.$eval(o.checkClickOutside)&&t.$eval(r)}catch(e){}})}}}]).filter("vxNumberFixedLen",function(){return function(e,n){var t=parseInt(e,10);if(n=parseInt(n,10),isNaN(t)||isNaN(n))return e;for(t=""+t;t.length
',inlineEditOnColumnEnabled:!1};n.vxConfig.columnDefConfigs.unshift(a)}_.each(n.vxConfig.vxData,function(e,t){var i=e[n.vxColSettings.primaryId];n.vxColSettings.inlineEditState[i]=n.config.allRowsInDefaultEdit||!1})}if(e=new Date,1==n.vxConfig.selectionEnabled){var r=_.find(n.vxConfig.columnDefConfigs,function(e){return 0==e.id.localeCompare("checkbox")});if("undefined"==typeof r||null==r||r=={}){var a={id:"checkbox",columnName:"Row Selection",columnIsRowSelect:!0,renderDefn:!0,renderHeadDefn:!0,ddSort:!1,ddGroup:!1,ddFilters:!1,width:"50",locked:!0,headTabIndex:-1,headerDefn:'
',cellDefn:'
{{::row[vxConfig.ariaPrimary]}}'};n.vxConfig.columnDefConfigs.unshift(a)}_.each(n.vxConfig.vxData,function(e,t){var i=e[n.vxColSettings.primaryId];n.vxColSettings.rowSelected[i]=!1,n.vxColSettings.vxRowSelectionDisable[i]=!1})}e=new Date,n.multiBoxFilters=[];var c=[{prop:"enableDropdownsInHeader",defValue:!1},{prop:"selectionEnabled",defValue:!1},{prop:"selectionAtMyRisk",defValue:!1},{prop:"preserveSelectionOnFilters",defValue:!1},{prop:"multiSelectionEnabled",defValue:!1},{prop:"showGridStats",defValue:!1},{prop:"showGridOptions",defValue:!1},{prop:"selectAllOnRenderAll",defValue:!1},{prop:"virtualization",defValue:!0},{prop:"pagination",defValue:!1},{prop:"pageLength",defValue:20},{prop:"data",defValue:[]},{prop:"vxFilteredData",defValue:[]},{prop:"xsRowTitleTemplate",defValue:'
{{row[vxColSettings.primaryId]}}
'},{prop:"inlineAddRowEnabled",defValue:!1},{prop:"inlineEditSyncEnabled",defValue:!1},{prop:"inlineDeletingEnabled",defValue:!1},{prop:"inlineSaveOverrideEnabled",defValue:!1},{prop:"inlineDeleteOverrideEnabled",defValue:!1},{prop:"allRowsInDefaultEdit",defValue:!1},{prop:"jsonEditorEnabled",defValue:!1},{prop:"allRowsSelectionEnabled",defValue:!1},{prop:"sortPredicate",defValue:n.vxColSettings.primaryId},{prop:"sortPredicateFn",defValue:n.vxColSettings.primaryId},{prop:"reverseSortDirection",defValue:!1},{prop:"emptyFill",defValue:"No records to display ..."},{prop:"caption",defValue:"sample vx grid table caption"},{prop:"loaderGifSrc",defValue:"/resource/loaderWhite36.GIF"},{prop:"ariaPrimary",defValue:n.vxColSettings.primaryId},{prop:"xsTemplate",defValue:!1},{prop:"bindOnce",defValue:!1},{prop:"hybrid",defValue:!1},{prop:"latchExcess",defValue:5}];if(_.each(c,function(e){"undefined"!==n.vxConfig[e.prop]&&null!=n.vxConfig[e.prop]&&n.vxConfig[e.prop]!={}||(n.vxConfig[e.prop]=e.defValue)}),n.vxColSettings.vxRowClass=n.vxConfig.initialRowClasses||{},n.getWindowDimensions().w<768&&(n.vxColSettings.xsViewEnabled=n.vxConfig.xsTemplate,n.vxConfig.latchExcess=5),e=new Date,n.vxColSettings.selectAllOnRenderAll=n.vxConfig.selectAllOnRenderAll,_.each(n.vxConfig.columnDefConfigs,function(e){var t=[{prop:"renderDefn",defValue:!1},{prop:"renderHeadDefn",defValue:!1},{prop:"ddSort",defValue:!1},{prop:"ddGroup",defValue:!1},{prop:"ddFilters",defValue:!1},{prop:"ddFiltersWithSearch",defValue:!1},{prop:"dropDownEnabled",defValue:!1},{prop:"hidden",defValue:!1},{prop:"xsHidden",defValue:!1},{prop:"locked",defValue:!1},{prop:"primary",defValue:!1},{prop:"width",defValue:"200"},{prop:"headerDefn",defValue:""},{prop:"cellDefn",defValue:""},{prop:"filterCellDefn",defValue:""},{prop:"inlineEditOnColumnEnabled",defValue:!1},{prop:"inlineEditValidation",defValue:!1},{prop:"editDefn",defValue:null},{prop:"editDefnTemplate",defValue:null},{prop:"headTabIndex",defValue:0},{prop:"columnIsRowSelect",defValue:!1},{prop:"columnIsDate",defValue:!1},{prop:"columnDatePipe",defValue:"dd/MM/yyyy"},{prop:"renderHybridCellDefn",defValue:!1},{prop:"hybridCompile",defValue:!1},{prop:"filterLimit",defValue:10},{prop:"scopeIsRow",defValue:!1}];_.each(t,function(n){"undefined"!==e[n.prop]&&null!=e[n.prop]&&e[n.prop]!={}||(e[n.prop]=n.defValue)}),e.effectiveWidth=e.width,e.idCollection=[];var i=[{prop:"orderLocked",defValue:!1},{prop:"widthLocked",defValue:!1},{prop:"visbilityLocked",defValue:!1}];_.each(i,function(n){"undefined"===e[n.prop]||null==e[n.prop]||e[n.prop]=={}?e[n.prop]=e.locked:e[n.prop]=e.locked||e[n.prop]}),n.vxColSettings.reverseSettings[e.id]=!1,"undefined"!=typeof e.dropDownEnabled&&null!=e.dropDownEnabled&&1==e.dropDownEnabled&&1==n.vxConfig.enableDropdownsInHeader?n.vxColSettings.dropdDownEnabled[e.id]=!0:n.vxColSettings.dropdDownEnabled[e.id]=!1,n.vxColSettings.dropdDownLoaded[e.id]=!1,n.vxColSettings.dropdDownOpen[e.id]=!1,"undefined"!=typeof e.renderDefn&&null!=e.renderDefn&&e.renderDefn!={}&&1==e.renderDefn&&(e.cellDefn=e.cellDefn.replaceAll("VX_ROW_POINT","row[vxColSettings.primaryId]"),e.cellDefn=e.cellDefn.replaceAll("VX_DATA_POINT","row[header.id]"),e.cellDefn=e.cellDefn.replaceAll("VX_ROW","row"),e.cellDefn=e.cellDefn.replaceAll("VX_CONFIG","vxConfig")),1==e.inlineEditOnColumnEnabled&&1!=n.vxConfig.hybrid&&(""!=e.editDefn&&null!=e.editDefn||(e.editDefn=''),e.editDefn=e.editDefn.replaceAll("VX_ROW_POINT","row[vxColSettings.primaryId]"),e.editDefn=e.editDefn.replaceAll("VX_DATA_POINT","row[header.id]"),e.editDefn=e.editDefn.replaceAll("VX_ROW","row"),e.editDefn=e.editDefn.replaceAll("VX_CONFIG","vxConfig"),n.vxColSettings.colWithInlineEdits.push(e.id),e.editDefn.indexOf("vx-keep-watch")!=-1&&(e.editDefn=e.editDefn.replaceAll("vx-keep-watch",'vx-keep-watch-row-id="{{row[vxColSettings.primaryId]}}" vx-keep-watch-field="'+e.id+'" vx-keep-watch')),1==e.inlineEditValidation&&(n.vxConfig.invalidRows={},n.vxConfig.invalidRowFields={},_.each(n.vxConfig.vxData,function(e,t){var i=e[n.vxColSettings.primaryId];n.vxConfig.invalidRows[i]=!1,n.vxConfig.invalidRowFields[i]={}}),e.editDefn=e.editDefn.replaceAll("VX_INVALID_ROW","vxConfig.invalidRows[row[vxColSettings.primaryId]] == true"),e.editDefn=e.editDefn.replaceAll("VX_INVALID_FIELD_ROW","vxConfig.invalidRowFields[row[vxColSettings.primaryId]]."+e.id+" == true")))}),e=new Date,n.vxConfig.columnDefConfigs=n.calculateEffectiveWidths(n.vxConfig.columnDefConfigs),"undefined"!=typeof n.vxConfig.multiSelectionDependentCol&&null!=n.vxConfig.multiSelectionDependentCol&&n.vxConfig.multiSelectionDependentCol!={}&&""!=n.vxConfig.multiSelectionDependentCol&&(n.vxColSettings.multiSelColDependent=!0),"undefined"!=typeof n.vxConfig.xsRowTitleTemplate&&null!=n.vxConfig.xsRowTitleTemplate&&n.vxConfig.xsRowTitleTemplate!={}&&""!=n.vxConfig.xsRowTitleTemplate&&(n.vxColSettings.xsRowTitleTemplateAvailable=!0),1==n.vxConfig.inlineAddRowEnabled&&1!=n.vxConfig.hybrid&&("undefined"==typeof n.vxConfig.newRowTemplate||null==n.vxConfig.newRowTemplate||n.vxConfig.newRowTemplate=={}||""==n.vxConfig.newRowTemplate)){var v=angular.copy(n.vxConfig.data[0]);_.each(n.vxConfig.columnDefConfigs,function(e){switch(typeof n.vxConfig.newRowTemplate[e.id]){case"boolean":n.vxConfig.newRowTemplate[e.id]=!1;break;case"number":n.vxConfig.newRowTemplate[e.id]=0;break;case"string":n.vxConfig.newRowTemplate[e.id]="";break;default:n.vxConfig.newRowTemplate[e.id]=null}}),n.vxConfig.newRowTemplate=v}n.$watch("getWindowDimensions()",function(e,t){n.vxColSettings.xsViewEnabled=!1,n.vxConfig.columnDefConfigs=n.calculateEffectiveWidths(n.vxConfig.columnDefConfigs)},!0);s.bind("resize",function(){n.$apply()}),n.config.getVxCounts=function(){if("undefined"!=typeof n.vxConfig&&null!=n.vxConfig&&n.vxConfig!={}&&"undefined"!==n.vxConfig.id&&null!=n.vxConfig.id&&n.vxConfig.id!={}){var e={id:n.vxConfig.id,data:{vxAllDataLength:n.getAllRowLength(),vxFilteredDataLength:n.multiBoxFilters.length>0?1!=n.vxConfig.hybrid?n.vxConfig.vxFilteredData.length:n.vxConfig.vxData.length:0,vxSelectedDataLength:n.vxColSettings.multiSelected.length}};return e}},n.config.getAppliedFilters=function(){if("undefined"!=typeof n.vxConfig&&null!=n.vxConfig&&n.vxConfig!={}&&"undefined"!==n.vxConfig.id&&null!=n.vxConfig.id&&n.vxConfig.id!={}){var e=_.map(n.multiBoxFilters,function(e){return{column:e.col,label:e.label,key:e.key}});return e}},n.config.getData=function(){return n.vxConfig.data},n.config.getActiveDataSet=function(){return n.vxConfig.vxData},n.config.getFilteredDataSet=function(){return n.vxConfig.vxFilteredData},n.config.setRowFieldValidation=function(e,t,i){if("undefined"==typeof n.vxConfig.invalidRowFields[e]&&(n.vxConfig.invalidRows[e]=!1,n.vxConfig.invalidRowFields[e]={}),1==n.vxConfig.inlineEditSyncEnabled){var o=_.filter(n.vxColSettings.multiSelected,function(n){return 0==n.localeCompare(e)});"undefined"!=typeof o&&null!=o&&o.length>0&&_.each(n.vxColSettings.multiSelected,function(e){n.vxConfig.invalidRows[e]=!i,n.vxConfig.invalidRowFields[e][t]=!i})}n.vxConfig.invalidRows[e]=!i,n.vxConfig.invalidRowFields[e][t]=!i},n.config.getSelectedRows=function(){if(1==n.vxConfig.selectionAtMyRisk){n.vxColSettings.multiSelected=[];for(var e in n.vxColSettings.rowSelected)1==n.vxColSettings.rowSelected[e]&&"undefined"!=typeof e&&"undefined"!=e.toString()&&n.vxColSettings.multiSelected.push(e)}return n.vxColSettings.multiSelected},n.config.getRowsBeingEdited=function(){var e=[];if("undefined"!=typeof n.vxColSettings.inlineEditState&&null!=n.vxColSettings.inlineEditState)for(var t in n.vxColSettings.inlineEditState)1==n.vxColSettings.inlineEditState[t]&&e.push(t);return e},n.config.modifyRows=function(e,t){var i=[];return _.each(e,function(e){var o=e[n.vxColSettings.primaryId],l=_.find(n.vxConfig.vxData,function(e){return 0==e[n.vxColSettings.primaryId].localeCompare(o)}),r=_.find(n.vxConfig.data,function(e){return 0==e[n.vxColSettings.primaryId].localeCompare(o)});if("undefined"!=typeof l&&"undefined"!=typeof r){if("undefined"==typeof t||0==t.length)for(var d in e)0!=d.localeCompare(n.vxColSettings.primaryId)&&(l[d]=e[d],r[d]=e[d]);else t.length>0&&_.each(t,function(n){l[n]=e[n],r[n]=e[n]});i.push(r),1==n.vxConfig.hybrid&&n.hybridUpdateRows(i)}}),i},n.config.selectRows=function(e){var t=[];return _.each(e,function(e){var i=n.vxColSettings.rowSelected[e];if(("undefined"==typeof i||null==i||0==i)&&(n.vxColSettings.rowSelected[e]=!0,n.vxColSettings.multiSelected.push(e),t.push(e),1==n.vxConfig.hybrid)){var o=angular.element(document.getElementById("vx_row-sel_in_"+e));"undefined"!=typeof o&&null!=o&&o.length>0&&$(o).prop("checked",!0);var l=angular.element(document.getElementById("_vxMulLength"+n.vxConfig.id));"undefined"!=typeof l&&null!=l&&l.length>0&&$(l).text(d("vxNumberFixedLen")(n.vxColSettings.multiSelected.length,2))}}),t},n.config.deselectRows=function(e){var t=[];return _.each(e,function(e){var i=n.vxColSettings.rowSelected[e];if("undefined"!=typeof i&&1==i){if(n.vxColSettings.rowSelected[e]=!1,n.vxColSettings.multiSelected=_.reject(n.vxColSettings.multiSelected,function(n){0==e.localeCompare(n)}),t.push(e),1==n.vxConfig.hybrid){var o=angular.element(document.getElementById("vx_row-sel_in_"+e));"undefined"!=typeof o&&null!=o&&o.length>0&&$(o).prop("checked",!1)}if(1==n.vxConfig.hybrid){var l=angular.element(document.getElementById("_vxMulLength"+n.vxConfig.id));"undefined"!=typeof l&&null!=l&&l.length>0&&$(l).text(d("vxNumberFixedLen")(n.vxColSettings.multiSelected.length,2))}}}),t},n.config.sortByColumn=function(e,t){var i=_.find(n.vxConfig.columnDefConfigs,function(n){return 0==n.id.localeCompare(e)});"undefined"!=typeof i&&null!=i&&(n.vxConfig.sortPredicate=i.id,i.customSortEnabled?n.vxConfig.sortPredicateFn=i.customSortFn:n.vxConfig.sortPredicateFn=i.id,n.vxConfig.reverseSortDirection=t)},n.config.resetColumnFilters=function(e){_.each(e,function(e){n.vxColSettings.dropdDownLoaded[e]=!1,n.vxColSettings.colFilterPairs[e]={}})},n.config.removeRows=function(e){0==n.vxConfig.hybrid?(n.vxConfig.vxData=_.reject(n.vxConfig.vxData,function(t){return 1==_.contains(e,t[n.vxColSettings.primaryId])}),n.vxColSettings.multiSelected=_.difference(n.vxColSettings.multiSelected,e)):1==n.vxConfig.hybrid&&n.config.hybridDeleteRows(e)},n.buildFns(),n.config.changeRowClass=n.changeRowClass,n.$emit("vxGridSettingsBuilt",{id:n.vxConfig.id}),e=new Date;var g=null,x=null,C=48,p=n.vxConfig.latchExcess,S=0,m=!1,h=0;n.config.hybridDeleteRows=function(e){window.requestAnimFrame(function(){angular.forEach(e,function(e){var t=angular.element(document.getElementById(e));t.remove(),n.vxColSettings.inlineEditState[e]=!1,n.vxColSettings.rowSelected[e]=!1,n.vxColSettings.saveInProgress[e]=!1}),n._origData=_.reject(n._origData,function(t){return 1==_.contains(e,t[n.vxColSettings.primaryId])}),n.vxConfig.vxFilteredData=_.reject(n.vxConfig.vxFilteredData,function(t){return 1==_.contains(e,t[n.vxColSettings.primaryId])}),n.vxConfig.vxData=_.reject(n.vxConfig.vxData,function(t){return 1==_.contains(e,t[n.vxColSettings.primaryId])}),n.vxColSettings.multiSelected=_.difference(n.vxColSettings.multiSelected,e);var t=angular.element(document.getElementById("_vxMulLength"+n.vxConfig.id));"undefined"!=typeof t&&null!=t&&t.length>0&&$(t).text(d("vxNumberFixedLen")(n.vxColSettings.multiSelected.length,2)),n.$$phase||n.$apply()})},n.hybridUpdateRows=function(e){angular.forEach(e,function(e){var t=n.hybridGetRowTmpl(e),i=angular.element(document.getElementById(t.rowId));i.empty(),i.replaceWith(t.rowTmpl),t.compile&&f(i.contents())(n)})},n.resetHybridGrid=function(){S=0,m=!1,h=0,n.prepHybrid()},n.prepHybrid=function(){g=angular.element(document.getElementById("_vxHybrid"+n.vxConfig.id)),x=angular.element(document.getElementById("_vxScrollContainer"+n.vxConfig.id)),g.empty();var e=x.height(),t=Math.ceil(e/C)+p,i=_.first(n.vxConfig.vxFilteredData,t);n.appendRows(i),S+=t,x.on("scroll",function(){n.debPep()})},n.prepForScrollInsertion=function(){var e=g.height()-(x.height()+x.scrollTop());if(x.scrollTop()>h&&(e<0&&(e=0),e0&&$(r).text(d("vxNumberFixedLen")(n.vxColSettings.multiSelected.length,2)),"function"==typeof n.config.rowSelectionCallback&&n.config.rowSelectionCallback(o)}else n.rowSelectionChanged(t)}})})}},e=new Date,1==n.vxConfig.hybrid&&(e=new Date,n.vxConfig.vxFilteredData=n.vxConfig.vxData||[],o(n.prepHybrid,100))},n.editRow=function(e){if(1==n.vxConfig.inlineEditSyncEnabled&&n.vxColSettings.multiSelected.length>0){var t=_.filter(n.vxColSettings.multiSelected,function(n){return 0==n.localeCompare(e)});"undefined"!=typeof t&&null!=t&&t.length>0&&_.each(n.vxColSettings.multiSelected,function(e){n.vxColSettings.inlineEditState[e]=!0})}n.vxColSettings.inlineEditState[e]=!0},n.editInProgressCount=function(){var e=0;if("undefined"!=typeof n.vxColSettings.inlineEditState&&null!=n.vxColSettings.inlineEditState)for(var t in n.vxColSettings.inlineEditState)e=1==n.vxColSettings.inlineEditState[t]?e+1:e;return e},n.$on("vxInlineEditFieldChange",function(e,t){if(1==n.vxConfig.inlineEditSyncEnabled){var i=_.filter(n.vxColSettings.multiSelected,function(e){return 0==e.localeCompare(t.rowId)});"undefined"!=typeof i&&null!=i&&i.length>0&&_.each(n.vxColSettings.multiSelected,function(e){var i=_.find(n.vxConfig.vxData,function(t){return t[n.vxColSettings.primaryId]==e});"undefined"!=typeof i&&null!=i&&1==n.vxColSettings.inlineEditState[e]&&(i[t.field]=t.value)})}}),n.savingRows=function(e){var t=_.find(n.vxConfig.vxData,function(t){return t[n.vxColSettings.primaryId]==e});if("undefined"!=typeof t&&1==t.newRow)if(1==n.vxConfig.inlineSaveOverrideEnabled){n.vxColSettings.saveInProgress[e]=!0;var i=a.defer();i.promise.then(function(i){"undefined"!=typeof t.row&&1==i.save?(t.newRow=!1,_.each(n.vxConfig.columnDefConfigs,function(e){t[e.id]=i.row[e.id]})):n.vxConfig.data.unshift(t),n.vxColSettings.inlineEditState[e]="undefined"==typeof i.save||null==i.save||1!=i.save,n.$emit("vxGridRowSave",{id:n.vxConfig.id,data:t,save:!n.vxColSettings.inlineEditState[e]}),n.vxColSettings.saveInProgress[e]=!1},function(i){n.vxColSettings.saveInProgress[e]=!1,n.vxColSettings.inlineEditState[e]=!0,t.newRow=!0}),i.resolve(n.config.fnInlineSaveOverride(t,null))}else"undefined"!=typeof o?_.each(n.vxConfig.columnDefConfigs,function(e){o[e.id]=t[e.id]}):n.vxConfig.data.unshift(t),n.vxColSettings.inlineEditState[e]=!1,n.$emit("vxGridRowSaved",{id:n.vxConfig.id,data:t});else{var o=_.find(n.vxConfig.data,function(t){return t[n.vxColSettings.primaryId]==e});if("undefined"!=typeof t&&"undefined"!=typeof o&&1==n.vxConfig.inlineSaveOverrideEnabled){n.vxColSettings.saveInProgress[e]=!0;var i=a.defer();i.promise.then(function(i){"undefined"!=typeof i.row&&1==i.save&&_.each(n.vxColSettings.colWithInlineEdits,function(e){o[e]=i.row[e]}),n.vxColSettings.inlineEditState[e]="undefined"==typeof i.save||null==i.save||1!=i.save,n.$emit("vxGridRowSave",{id:n.vxConfig.id,data:t,save:!n.vxColSettings.inlineEditState[e]}),n.vxColSettings.saveInProgress[e]=!1},function(t){n.vxColSettings.saveInProgress[e]=!1,n.vxColSettings.inlineEditState[e]=!0}),i.resolve(n.config.fnInlineSaveOverride(t,o))}}},n.saveRow=function(e){var t=!1;if(1==n.vxConfig.inlineEditSyncEnabled){var i=_.filter(n.vxColSettings.multiSelected,function(n){return 0==n.localeCompare(e)});"undefined"!=typeof i&&null!=i&&i.length>0&&_.each(n.vxColSettings.multiSelected,function(e){n.savingRows(e),t=!0})}t||n.savingRows(e)},n.revertEdits=function(){if("undefined"!=typeof n.vxColSettings.multiSelected&&null!=n.vxColSettings.multiSelected&n.vxColSettings.multiSelected.length>0&&(_.each(n.vxColSettings.multiSelected,function(e){if(n.revertEditForRow(e),n.vxColSettings.rowSelected[e]=!1,1==n.vxConfig.hybrid){var t=angular.element(document.getElementById("vx_row-sel_in_"+e));"undefined"!=typeof t&&null!=t&&t.length>0&&$(t).prop("checked",!1)}}),n.vxColSettings.multiSelected=[],1==n.vxConfig.hybrid)){var e=angular.element(document.getElementById("_vxMulLength"+n.vxConfig.id));"undefined"!=typeof e&&null!=e&&e.length>0&&$(e).text(d("vxNumberFixedLen")(n.vxColSettings.multiSelected.length,2))}},n.revertEditForRow=function(e){var t=_.find(n.vxConfig.vxData,function(t){return t[n.vxColSettings.primaryId]==e});if("undefined"!=typeof t&&1==t.newRow){if(n.vxColSettings.inlineEditState[e]=!1,n.vxColSettings.rowSelected[e]=!1,1==n.vxConfig.hybrid){var i=angular.element(document.getElementById("vx_row-sel_in_"+e));"undefined"!=typeof i&&null!=i&&i.length>0&&$(i).prop("checked",!1)}if(n.vxColSettings.multiSelected=_.reject(n.vxColSettings.multiSelected,function(n){0==e.localeCompare(n)}),n.vxConfig.vxData=_.reject(n.vxConfig.vxData,function(t){return 0==t[n.vxColSettings.primaryId].localeCompare(e)}),n.$emit("vxGridRowEditRevert",{id:n.vxConfig.id,data:t}),1==n.vxConfig.hybrid){var o=angular.element(document.getElementById("_vxMulLength"+n.vxConfig.id));"undefined"!=typeof o&&null!=o&&o.length>0&&$(o).text(d("vxNumberFixedLen")(n.vxColSettings.multiSelected.length,2))}}else{var l=_.find(n.vxConfig.data,function(t){return t[n.vxColSettings.primaryId]==e});if("undefined"!=typeof t&&"undefined"!=typeof l){if(_.each(n.vxColSettings.colWithInlineEdits,function(e){t[e]=l[e]}),n.vxColSettings.inlineEditState[e]=!1,n.vxColSettings.rowSelected[e]=!1,1==n.vxConfig.hybrid){var i=angular.element(document.getElementById("vx_row-sel_in_"+e));"undefined"!=typeof i&&null!=i&&i.length>0&&$(i).prop("checked",!1)}if(n.vxColSettings.multiSelected=_.reject(n.vxColSettings.multiSelected,function(n){0==e.localeCompare(n)}),n.$emit("vxGridRowEditRevert",{id:n.vxConfig.id,data:l}),1==n.vxConfig.hybrid){var o=angular.element(document.getElementById("_vxMulLength"+n.vxConfig.id));"undefined"!=typeof o&&null!=o&&o.length>0&&$(o).text(d("vxNumberFixedLen")(n.vxColSettings.multiSelected.length,2))}}}},n.addNewRow=function(){n.vxConfig.sortPredicate="_vxCreated",n.vxConfig.sortPredicateFn="_vxCreated",n.vxConfig.reverseSortDirection=!0;var t=angular.copy(n.vxConfig.newRowTemplate),i=e();t[n.vxColSettings.primaryId]=i,t.newRow=!0,t._vxCreated=(new Date).getTime(),n.vxColSettings.inlineEditState[i]=!0,n.vxConfig.vxData.unshift(t)},n.deleteRows=function(){if("undefined"!=typeof n.vxColSettings.multiSelected&&null!=n.vxColSettings.multiSelected&n.vxColSettings.multiSelected.length>0)if(1==n.vxConfig.inlineDeleteOverrideEnabled){_.each(n.vxColSettings.multiSelected,function(e){n.vxColSettings.saveInProgress[e]=!0});var e=a.defer(),t=angular.copy(_.filter(n.vxConfig.vxData,function(e){return 1==_.contains(n.vxColSettings.multiSelected,e[n.vxColSettings.primaryId])}));e.promise.then(function(e){if(e.rows.length>0){var t=_.map(e.rows,function(e){return e[n.vxColSettings.primaryId]});if(n.vxConfig.vxData=_.reject(n.vxConfig.vxData,function(e){return 1==_.contains(t,e[n.vxColSettings.primaryId])}),n.$emit("vxGridRowsDeleted",{id:n.vxConfig.id,data:t}),_.each(t,function(e){n.vxColSettings.inlineEditState[e]=!1,n.vxColSettings.rowSelected[e]=!1,n.vxColSettings.saveInProgress[e]=!1}),n.vxColSettings.multiSelected=_.difference(n.vxColSettings.multiSelected,t),1==n.vxConfig.hybrid){var i=angular.element(document.getElementById("_vxMulLength"+n.vxConfig.id));"undefined"!=typeof i&&null!=i&&i.length>0&&$(i).text(d("vxNumberFixedLen")(n.vxColSettings.multiSelected.length,2))}}},function(e){}).then(function(){_.each(n.vxColSettings.multiSelected,function(e){n.vxColSettings.saveInProgress[e]=!1})}),e.resolve(n.config.fnInlineDeleteOverride(t))}else if(n.vxConfig.vxData=_.reject(n.vxConfig.vxData,function(e){return 1==_.contains(n.vxColSettings.multiSelected,e[n.vxColSettings.primaryId])}),n.$emit("vxGridRowsDeleted",{id:n.vxConfig.id,data:n.vxColSettings.multiSelected}),_.each(n.vxColSettings.multiSelected,function(e){n.vxColSettings.inlineEditState[e]=!1,n.vxColSettings.rowSelected[e]=!1}),n.vxColSettings.multiSelected=[],1==n.vxConfig.hybrid){var i=angular.element(document.getElementById("_vxMulLength"+n.vxConfig.id));"undefined"!=typeof i&&null!=i&&i.length>0&&$(i).text(d("vxNumberFixedLen")(n.vxColSettings.multiSelected.length,2))}},n.activatePage=function(e){n.vxColSettings.activePage=e,n.vxColSettings.vxPageStartPosition=e>0?e*n.vxConfig.pageLength:0,n.vxColSettings.allRowSelected=!1},n.debouncedSearch=_.debounce(function(){n.vxColSettings.xsSearch=angular.copy(n.vxColSettings.searchToken)},50),n.keyUpSearch=function(e){13==e.keyCode?n.vxColSettings.xsSearch=angular.copy(n.vxColSettings.searchToken):8==e.keyCode&&""==n.vxColSettings.searchToken&&(n.vxColSettings.xsSearch=angular.copy(n.vxColSettings.searchToken))},n.filtTokenChange=function(e){n.vxColSettings.filterSearchToken[e]=n.vxColSettings.enteredSearchToken[e],_.each(n.vxConfig.columnDefConfigs,function(n){n.id==e&&(n.filterLimit=10,u[e]=0)})},n.debFiltTokenChange=_.debounce(n.filtTokenChange,10),n.filterTokenChnagedRapid=function(e){""==n.vxColSettings.enteredSearchToken[e]?(_.each(n.vxConfig.columnDefConfigs,function(n){n.id==e&&(n.filterLimit=10,u[e]=0)}),n.vxColSettings.filterSearchToken[e]=""):n.debFiltTokenChange(e)},n.filterAssignVar=function(e){var t=angular.element(document.getElementById(e+"_searchfilters_"+n.vxConfig.id));"undefined"!=typeof t&&t.length>0&&(n.vxColSettings.filterSearchToken[e]=t[0].value,_.each(n.vxConfig.columnDefConfigs,function(n){n.id==e&&(n.filterLimit=10,u[e]=0)}))},n.isValidHeaderName=function(e,n){return 0==e.renderHeadDefn&&"undefined"!=typeof n&&null!=n&&""!=n},n.headerClick=function(e,t){var i=!0,l=$(t.target);if("undefined"!=typeof l&&null!=l&l.length>0){var r=l.closest("ul.dropdown-menu");"undefined"!=typeof r&&null!=r&r.length>0&&(i=!1)}if(0!=i){var d=n.selfEle.find(".vxTableScrollContainer"),a=(n.selfEle.find(".vxHeadRowCell .dropdown ul.dropdown-menu"),n.getWindowDimensions().h/2);_.each(n.selfEle.find(".vxHeadRowCell .dropdown ul.dropdown-menu"),function(e){var n=Math.min(Math.floor(d.height())-48,a); +$(e).css("max-height",n+"px")}),_.each(n.vxConfig.columnDefConfigs,function(t){0!=t.id.localeCompare(e.id)&&(n.vxColSettings.dropdDownOpen[t.id]=!1)});var f=_.find(n.vxConfig.columnDefConfigs,function(n){return 0==n.id.localeCompare(e.id)});if("undefined"!=typeof f&&null!=f)if(0==n.vxColSettings.dropdDownEnabled[f.id])n.sortClick(e);else{n.vxColSettings.dropdDownLoaded[f.id]=!1,n.vxColSettings.dropdDownOpen[f.id]=!n.vxColSettings.dropdDownOpen[f.id];var c=_.filter(n.multiBoxFilters,function(e){return 0!=e.col.localeCompare(f.id)}),s=c.length>0,g=!1;"undefined"!=typeof n.vxColSettings.colFilterPairs[f.id]&&null!=n.vxColSettings.colFilterPairs[f.id]&&n.vxColSettings.colFilterPairs[f.id]!={}&&n.vxColSettings.colFilterPairs[f.id].length>0&&(g=!0),0==s&&1==g?(n.vxColSettings.dropdDownLoaded[f.id]=!0,_.each(n.vxColSettings.colFilterPairs[f.id],function(e){e.disabled=!1})):o(function(){if(f.idCollection=[],1==f.ddSort&&(n.vxColSettings.dropDownSort[f.id]=!0,f.idCollection.push(n.vxConfig.id+"_"+f.id+"_sort")),1==f.ddGroup&&1!=n.vxConfig.hybrid&&(n.vxColSettings.dropDownGroup[f.id]=!0,f.idCollection.push(n.vxConfig.id+"_"+f.id+"_group"),f.idCollection.push(n.vxConfig.id+"_"+f.id+"_ungroup")),1==f.ddFilters){if(f.idCollection.push(n.vxConfig.id+"_"+f.id+"_clearfilters"),f.idCollection.push(f.id+"_searchfilters_"+n.vxConfig.id),f.idCollection.push(f.id+"_invokesearchfilters_"+n.vxConfig.id),0==g){n.vxColSettings.dropDownFilters[f.id]=!0,n.vxColSettings.colFilterPairs[f.id]=[];var t=[],i=_.uniq(_.map(n.vxConfig.vxData,function(e){var n={value:e[f.id],type:""};return"undefined"!=typeof n.value&&null!=n.value&&n.value!={}&&"object"!=typeof n.value&&"number"!=typeof n.value&&"boolean"!=typeof n.value?n.value=n.value.trim():"boolean"==typeof n.value?n.value=n.value.toString().trim():"[object Date]"===Object.prototype.toString.call(n.value)&&(n.value=n.value.getTime(),n.type="date"),n}),function(e){return e.value});i=_.reject(i,function(e){return"undefined"==typeof e.value||e.value=={}}),_.each(i.sort(),function(e,i){var o=v(e,f.id,"col"),l=o.key,r=o.type,d=""===e.value||" "===e.value?"< blank >":e.value;d=null==e.value?" < null >":d;var a={key:l,label:e.value,name:d,col:f.id,type:r,disabled:!1,action:"filter"};"undefined"!=typeof f.filterCellDefn&&null!=f.filterCellDefn&&f.filterCellDefn!={}&&""!=f.filterCellDefn?(a.filterDefn=f.filterCellDefn.replaceAll("VX_DATA_POINT","filter.name"),a.filterDefnAvailable=!0):a.filterDefnAvailable=!1,t.push(a),f.idCollection.push(n.vxConfig.id+"_"+f.id+"_filter_"+i),n.vxColSettings.colFiltersStatus[l]=!1}),t=_.sortBy(t,"label"),_.each(t,function(e){n.vxColSettings.colFilterPairs[f.id].push(e)}),n.vxColSettings.filterSearchToken[f.id]="",n.vxColSettings.colFiltersActivated[f.id]=!1}else{var i=_.uniq(_.map(n.vxConfig.vxFilteredData,function(e){return"[object Date]"===Object.prototype.toString.call(e[f.id])?e[f.id].getTime():"[object Boolean]"===Object.prototype.toString.call(e[f.id])?e[f.id].toString():e[f.id]}));_.each(n.vxColSettings.colFilterPairs[f.id],function(e){1!=_.contains(i,e.label)?e.disabled=!0:e.disabled=!1})}if(1==s){var o=_.last(n.multiBoxFilters),i=_.uniq(_.map(n.vxConfig.vxFilteredData,function(e){return"[object Date]"===Object.prototype.toString.call(e[f.id])?e[f.id].getTime():"[object Boolean]"===Object.prototype.toString.call(e[f.id])?e[f.id].toString():e[f.id]}));0!=o.col.localeCompare(f.id)&&_.each(n.vxColSettings.colFilterPairs[f.id],function(e){1!=_.contains(i,e.label)?e.disabled=!0:e.disabled=!1})}u[f.id]=0,e.filterLimit=10;var l=angular.element(document.getElementById(n.vxConfig.id+"-dropdwon-menu-"+f.id));l.on("scroll",function(e){var t=f.id,i=$(e.target).scrollTop();i>u[t]&&(n.debouncedIncrementFilter(t),u[t]=i)})}n.vxColSettings.dropdDownLoaded[f.id]=!0},500)}}},n.debouncedIncrementFilter=_.throttle(c,500),n.sortClick=function(e){var t=_.find(n.vxConfig.columnDefConfigs,function(n){return 0==n.id.localeCompare(e.id)});"undefined"!=typeof t&&null!=t&&t.ddSort&&(0!=n.vxConfig.sortPredicate.localeCompare(t.id)&&(n.vxConfig.sortPredicate=t.id,t.customSortEnabled?n.vxConfig.sortPredicateFn=t.customSortFn:n.vxConfig.sortPredicateFn=t.id),n.vxColSettings.reverseSettings[t.id]=!n.vxColSettings.reverseSettings[t.id],n.vxConfig.reverseSortDirection=n.vxColSettings.reverseSettings[t.id],1==n.vxConfig.hybrid&&(n.vxConfig.vxFilteredData=_.sortBy(n.vxConfig.vxFilteredData,n.vxConfig.sortPredicateFn),1==n.vxConfig.reverseSortDirection&&n.vxConfig.vxFilteredData.reverse(),n.resetHybridGrid()))},n.getVisibleHeaderCounts=function(){return _.filter(n.vxConfig.columnDefConfigs,function(e){return 1!=e.hidden}).length},n.groupClick=function(e){if(n.clearFilters(),1!=n.vxColSettings.groupByColActivated[e.id]){n.vxConfig.sortPredicate=null;var t=[],i=e.id,o=e.columnName,l=_.uniq(_.pluck(n.vxConfig.vxData,i)),r=_.groupBy(_.sortBy(n.vxConfig.vxData,i),i);n.vxColSettings.groupKeys[i]=[],_.each(l,function(e){var l=v(e,i,"groupcol").key;if(n.vxColSettings.groupKeys[i].push(l),r[e].length>0){n.vxColSettings.groupPredicate[l]=!1;var d={type:"groupRow",colName:o,col:i,value:e,groupId:l,cellDefn:'
'};d.cellDefn=d.cellDefn.replaceAll("VX_ROW_POINT","vxColSettings.groupPredicate[row.groupId]"),t.push(d),t=_.union(t,r[e])}}),n.vxConfig.vxData=t,n.vxColSettings.groupByColActivated[e.id]=!0}},n.unGroupClick=function(e){if(n.clearFilters(),1==n.vxColSettings.groupByColActivated[e.id]){var t=_.find(n.vxConfig.columnDefConfigs,function(n){return 0==n.id.localeCompare(e.id)});"undefined"!=typeof t&&null!=t&&(n.vxConfig.sortPredicate=t.id,t.customSortEnabled?n.vxConfig.sortPredicateFn=t.customSortFn:n.vxConfig.sortPredicateFn=t.id),n.vxConfig.vxData=_.reject(n.vxConfig.vxData,function(e){return"undefined"!=typeof e.type&&null!=e.type&&0==e.type.localeCompare("groupRow")}),n.vxColSettings.groupByColActivated[e.id]=!1}},n.getAllRowLength=function(){if(n.config.noData)return 0;if(1==n.vxConfig.hybrid)return n._origData.length;var e=_.filter(n.vxConfig.vxData,function(e){return"undefined"==typeof e.type||null==e.type||0!=e.type.localeCompare("groupRow")||1==e.fillEmptyElement}).length;return e},n.removeGroupings=function(){_.each(n.vxConfig.columnDefConfigs,function(e){n.unGroupClick(e)}),n.vxColSettings.groupPredicate={}},n.groupSelectionChanged=function(e){n.emitArray=[];var t=n.vxColSettings.groupPredicate[e.groupId],i=_.filter(n.vxConfig.vxFilteredData,function(n){return"groupRow"!=n.type&&0==n[e.col].localeCompare(e.value)});if(_.each(i,function(e){if(0==n.vxColSettings.multiSelColDependent||1==n.vxColSettings.multiSelColDependent&&0==e[n.vxConfig.multiSelectionDependentCol]){var i=e[n.vxColSettings.primaryId];if(n.vxColSettings.rowSelected[i]!=t){n.vxColSettings.rowSelected[i]=t;({key:e[n.vxConfig.onSelectionReturnCol],value:n.vxColSettings.rowSelected[i],_pKey:i});n.emitArray.push(i),t?n.vxColSettings.multiSelected.push(i):n.vxColSettings.multiSelected=_.reject(n.vxColSettings.multiSelected,function(e){return 0==e.localeCompare(i)})}}}),1==n.vxConfig.hybrid){var o=angular.element(document.getElementById("_vxMulLength"+n.vxConfig.id));"undefined"!=typeof o&&null!=o&&o.length>0&&$(o).text(d("vxNumberFixedLen")(n.vxColSettings.multiSelected.length,2))}n.$emit("vxGridRwSelectionChange",{id:n.vxConfig.id,data:n.emitArray})},n.allRowSelectionChanged=function(){var e=n.vxColSettings.allRowSelected;if(1==e){if(_.each(n.vxConfig.vxFilteredData,function(t,i){var o=!0;if(1==n.vxConfig.pagination&&0==n.vxConfig.virtualization&&(i>=n.vxColSettings.vxPageStartPosition&&i0&&$(r).prop("checked",!0)}}}),_.each(n.vxConfig.columnDefConfigs,function(e){1==n.vxColSettings.dropDownGroup[e.id]&&1==n.vxColSettings.groupByColActivated[e.id]&&_.each(n.vxColSettings.groupKeys[e.id],function(e){n.vxColSettings.groupPredicate[e]=!0})}),n.vxColSettings.multiSelected=_.reject(n.vxColSettings.multiSelected,function(e){return"undefined"==typeof e||null==e||e=={}}),1==n.vxConfig.hybrid){var t=angular.element(document.getElementById("_vxMulLength"+n.vxConfig.id));"undefined"!=typeof t&&null!=t&&t.length>0&&$(t).text(d("vxNumberFixedLen")(n.vxColSettings.multiSelected.length,2))}n.$emit("vxGridRowAllSelectionChange",{id:n.vxConfig.id,data:{toggledTo:e,array:n.vxColSettings.multiSelected}})}else 0==e&&(n.clearSelection(),n.$emit("vxGridRowAllSelectionChange",{id:n.vxConfig.id,data:{toggledTo:e,array:n.vxColSettings.multiSelected}}));if(1==n.vxConfig.hybrid){var t=angular.element(document.getElementById("_vxMulLength"+n.vxConfig.id));"undefined"!=typeof t&&null!=t&&t.length>0&&$(t).text(d("vxNumberFixedLen")(n.vxColSettings.multiSelected.length,2))}},n.rowSelectionChanged=function(e){var t=e,i=_.find(n.vxConfig.vxData,function(t){return t[n.vxColSettings.primaryId]==e}),o={key:i[n.vxConfig.onSelectionReturnCol],value:n.vxColSettings.rowSelected[t],_pKey:t},l=!0;if(1==n.vxColSettings.rowSelected[t]&&1==n.vxColSettings.multiSelColDependent){l=!1;var r=n.vxConfig.multiSelectionDependentCol;if(1==i[r]&&0==n.vxColSettings.multiSelected.length)l=!0;else if(0==i[r]&&n.vxColSettings.multiSelected.length>=1){var a=n.vxColSettings.multiSelected[0],f=_.find(n.vxConfig.vxData,function(e){return 0==e[n.vxColSettings.primaryId].localeCompare(a)});"undefined"!=typeof f&&null!=f&&f!={}&&1==f[r]?(l=!1,n.vxColSettings.rowSelected[t]=!1):l=!0}else 0==i[r]?l=!0:n.vxColSettings.rowSelected[t]=!1}else 0==n.vxColSettings.rowSelected[t]&&(n.vxColSettings.multiSelected=_.reject(n.vxColSettings.multiSelected,function(e){return 0==e.localeCompare(t)}),l=!1,n.vxColSettings.allRowSelected=!1,n.$emit("vxGridRowSelectionChange",{id:n.vxConfig.id,data:o}));if(l){var c=_.find(n.vxColSettings.multiSelected,function(e){return 0==e.localeCompare(t)});"undefined"!=typeof c&&null!=c||n.vxColSettings.multiSelected.push(t),n.$emit("vxGridRowSelectionChange",{id:n.vxConfig.id,data:o}),0==n.vxConfig.multiSelectionEnabled&&(_.each(n.vxColSettings.multiSelected,function(e){0!=e.localeCompare(t)&&(n.vxColSettings.rowSelected[e]=!1)}),n.vxColSettings.multiSelected=_.reject(n.vxColSettings.multiSelected,function(e){return 0!=e.localeCompare(t)}))}if(1==n.vxConfig.hybrid){var v=angular.element(document.getElementById("_vxMulLength"+n.vxConfig.id));"undefined"!=typeof v&&null!=v&&v.length>0&&$(v).text(d("vxNumberFixedLen")(n.vxColSettings.multiSelected.length,2))}},n.filterClick=function(e,t){0==n.vxConfig.preserveSelectionOnFilters&&n.clearSelection();var i=n.vxColSettings.colFiltersStatus[t.key];if(0==i){n.multiBoxFilters=_.reject(n.multiBoxFilters,function(e){return 0==e.key.localeCompare(t.key)});var o=_.find(n.multiBoxFilters,function(e){return 0==e.col.localeCompare(t.col)});"undefined"!=typeof o&&null!=o&&o!={}&&0!=o.length||(n.vxColSettings.colFiltersActivated[e.id]=!1)}else{var l=_.find(n.multiBoxFilters,function(e){return 0==e.key.localeCompare(t.key)});"undefined"!=typeof l&&null!=l&&l!={}||n.multiBoxFilters.push(t),n.vxColSettings.colFiltersActivated[e.id]=!0}1==n.vxConfig.hybrid&&(n.vxConfig.vxFilteredData=d("vxGridMultiBoxFilters")(n._origData,n.multiBoxFilters),n.resetHybridGrid())},n.filterClearClick=function(e){if(1==n.vxColSettings.colFiltersActivated[e.id]){n.clearSelection();var t=_.filter(n.multiBoxFilters,function(n){return 0==n.col.localeCompare(e.id)});t.length>0&&_.each(t,function(e){n.vxColSettings.colFiltersStatus[e.key]=!1}),n.multiBoxFilters=_.reject(n.multiBoxFilters,function(n){return 0==n.col.localeCompare(e.id)}),n.vxColSettings.colFiltersActivated[e.id]=!1,n.vxColSettings.filterSearchToken[e.id]=""}if(""!=n.vxColSettings.filterSearchToken[e.id]){n.vxColSettings.filterSearchToken[e.id]="";var i=angular.element(document.getElementById(e.id+"_searchfilters_"+n.vxConfig.id));"undefined"!=typeof i&&i.length>0&&(i[0].value="")}1==n.vxConfig.hybrid&&(n.vxConfig.vxFilteredData=d("vxGridMultiBoxFilters")(n._origData,n.multiBoxFilters),n.resetHybridGrid())},n.clearFilters=function(){n.multiBoxFilters.length>0&&_.each(n.vxConfig.columnDefConfigs,function(e){n.filterClearClick(e)}),n.multiBoxFilters=[]},n.selectAllFiltered=function(){n.vxColSettings.multiSelected.length>0&&n.clearSelection(),n.emitArray=[];var e="";1!=n.vxConfig.hybrid?e="vxFilteredData":(n.vxConfig.hybrid=!0)&&(e="vxFilteredData"),_.each(n.vxConfig[e],function(e){if(0==n.vxColSettings.multiSelColDependent||1==n.vxColSettings.multiSelColDependent&&0==e[n.vxConfig.multiSelectionDependentCol]){if(n.vxColSettings.rowSelected[e[n.vxColSettings.primaryId]]=!0,1==n.vxConfig.hybrid){var t=angular.element(document.getElementById("vx_row-sel_in_"+e[n.vxColSettings.primaryId]));"undefined"!=typeof t&&null!=t&&t.length>0&&$(t).prop("checked",!0)}var i=e[n.vxColSettings.primaryId],o={key:e[n.vxConfig.onSelectionReturnCol],value:n.vxColSettings.rowSelected[i],_pKey:i};if(n.emitArray.push(o),1==n.vxColSettings.rowSelected[i]){var l=_.find(n.vxColSettings.multiSelected,function(e){return 0==e.localeCompare(i)});"undefined"!=typeof l&&null!=l||n.vxColSettings.multiSelected.push(i)}}}),n.$emit("vxGridRowMultiSelectionChange",{id:n.vxConfig.id,data:n.emitArray})},n.clearSelection=function(){if(n.emitArray=[],_.each(n.vxColSettings.multiSelected,function(e){if(n.vxColSettings.rowSelected[e]=!1,1==n.vxConfig.hybrid){var t=angular.element(document.getElementById("vx_row-sel_in_"+e));"undefined"!=typeof t&&null!=t&&t.length>0&&$(t).prop("checked",!1)}var i=_.find(n.vxConfig.vxData,function(t){return"groupRow"!=t.type&&0==t[n.vxColSettings.primaryId].localeCompare(e)});if("undefined"!=typeof i&&null!=i){var o={key:i[n.vxConfig.onSelectionReturnCol],value:n.vxColSettings.rowSelected[e],_pKey:e};n.emitArray.push(o)}n.vxColSettings.multiSelected=[],n.vxColSettings.allRowSelected=!1,_.each(n.vxConfig.columnDefConfigs,function(e){1==n.vxColSettings.dropDownGroup[e.id]&&1==n.vxColSettings.groupByColActivated[e.id]&&_.each(n.vxColSettings.groupKeys[e.id],function(e){n.vxColSettings.groupPredicate[e]=!1})})}),1==n.vxConfig.hybrid){var e=angular.element(document.getElementById("_vxMulLength"+n.vxConfig.id));"undefined"!=typeof e&&null!=e&&e.length>0&&$(e).text(d("vxNumberFixedLen")(n.vxColSettings.multiSelected.length,2))}n.$emit("vxGridRowMultiSelectionChange",{id:n.vxConfig.id,data:n.emitArray})},n.upDownKeyDownHandlerHeaderMenu=function(e,t){if(40==e.keyCode||27==e.keyCode)if(40==e.keyCode){var i=$(e.target).siblings().find('[tabindex="0"]');i.length>0&&$(i[0]).focus()}else if(27==e.keyCode&&1==n.vxColSettings.dropdDownOpen[t]){n.vxColSettings.dropdDownOpen[t]=!1;var o=$(e.target).closest(".dropdown").find("button");o&&o.length>0&&$(o).focus()}},n.findIdToBeFocussed=function(e,n,t){var i=e;if(t)for(i+1==n.length&&(i=-1);i<=n.length;){var o=$("#"+n[i+1]);if($(o).is('[tabindex="0"]'))return n[i+1];i+=1}else if(!t)for(0==i&&(i=n.length);i>=1;){var o=$("#"+n[i-1]);if($(o).is('[tabindex="0"]'))return n[i-1];i-=1}return e},n.findFocussable=function(e,t,i){var o=$(e).attr("id"),l=_.find(n.vxConfig.columnDefConfigs,function(e){return e.id==t});if("undefined"!=typeof l&&null!=l){var r=l.idCollection,d=_.indexOf(r,o);return d!=-1&&d!=r.length&&1==i?n.findIdToBeFocussed(d,r,!0):d!=-1&&0==i?n.findIdToBeFocussed(d,r,!1):null}},n.shiftKeyPressed=!1,n.upDowKeyUpHandlerHeaderMenuItems=function(e,t){16==e.keyCode&&(n.shiftKeyPressed=!1)},n.upDowKeyDownHandlerHeaderMenuItems=function(e,t){var i=!1;if(16==e.keyCode&&(n.shiftKeyPressed=!0),40!=e.keyCode&&38!=e.keyCode&&27!=e.keyCode&&9!=e.keyCode)return!1;if(40==e.keyCode||9==e.keyCode&&0==n.shiftKeyPressed){var o=n.findFocussable($(e.target),t,!0);$("#"+o).is('[tabindex="0"]')&&$("#"+o).focus(),i=!0}else if(38==e.keyCode||9==e.keyCode&&1==n.shiftKeyPressed){var o=n.findFocussable($(e.target),t,!1);null==o?$(e.target).closest(".dropdown").find("button").focus():$("#"+o).is('[tabindex="0"]')&&$("#"+o).focus(),i=!0}else if(27==e.keyCode&&1==n.vxColSettings.dropdDownOpen[t]){n.vxColSettings.dropdDownOpen[t]=!1;var l=$(e.target).closest(".dropdown").find("button");l&&l.length>0&&$(l).focus()}i&&(e.stopPropagation(),e.preventDefault())},n.openManageColumns=function(){var e=t.open({templateUrl:"template/vx-grid/vx-grid-manage-columns-modal.html",windowClass:"vxGridManageColMod",controller:["$scope","$uibModalInstance","originalSettings",function(e,n,t){e.headerSelected=null,e.headerSelectedForVisChange=null,e.copyForWidthVisChange=t,_.each(e.copyForWidthVisChange,function(e,n){e.order=n,e.chars=Math.ceil((e.width-20)/7),e.selected=!1}),e.swapAbove=function(n){if(0==n.locked){var t=n.order,i=n.order,o=!0;do{i-=1,o=!0;var l=_.find(e.copyForWidthVisChange,function(e){return e.order==i&&0==e.orderLocked});"undefined"!=typeof l&&null!=l&&l!={}||(o=!1)}while(!o&&i>=0);if(o&&i>=0){var l=_.find(e.copyForWidthVisChange,function(e){return e.order==i&&0==e.orderLocked});"undefined"!=typeof l&&null!=l&&l!={}&&(l.order=t,n.order=i)}}},e.swapBelow=function(n){if(0==n.locked){var t=n.order,i=n.order,o=!0;do{i+=1,o=!0;var l=_.find(e.copyForWidthVisChange,function(e){return e.order==i&&0==e.orderLocked});"undefined"!=typeof l&&null!=l&&l!={}||(o=!1)}while(!o&&i<=e.copyForWidthVisChange.length-1);if(o&&i<=e.copyForWidthVisChange.length-1){var l=_.find(e.copyForWidthVisChange,function(e){return e.order==i&&0==e.orderLocked});"undefined"!=typeof l&&null!=l&&l!={}&&(l.order=t,n.order=i)}}},e.makeVisible=function(n){var t=_.find(e.copyForWidthVisChange,function(e){return 0==e.id.localeCompare(n.id)});"undefined"!=typeof t&&null!=t&&t!={}&&0==t.visbilityLocked&&(t.hidden=!1)},e.makeHidden=function(n){var t=_.find(e.copyForWidthVisChange,function(e){return 0==e.id.localeCompare(n.id)});"undefined"!=typeof t&&null!=t&&t!={}&&0==t.visbilityLocked&&(t.hidden=!0)},e.saveChangeInConfig=function(){var t=[];t=_.sortBy(e.copyForWidthVisChange,function(n){var t=_.find(e.copyForWidthVisChange,function(e){return 0==e.id.localeCompare(n.id)});return"undefined"!=typeof t&&null!=t&&t!={}?t.order:1}),n.close(t)},e.widthChanged=function(e){e.width=Math.ceil(7*e.chars)+20},e.selectHeader=function(n){1!=n.locked&&(n.selected=!n.selected,_.each(e.copyForWidthVisChange,function(e){0!=e.id.localeCompare(n.id)&&(e.selected=!1)}),1==n.selected?e.headerSelected=n:e.headerSelected=null)},e.cancelChangeInConfig=function(){n.dismiss()},e.upDownKeyPressHandler=function(n){var t=!1;38!=n.keyCode&&40!=n.keyCode||(t=e.upDownMovement(n)),t&&(n.stopPropagation(),n.preventDefault())},e.upDownMovement=function(e){var n=!1;if(38==e.keyCode){var t=$(e.target).prev();t.length>0&&$(t[0]).attr("tabindex")!=-1&&$(t)[0].focus(),n=!0}else if(40==e.keyCode){var t=$(e.target).next();t.length>0&&$(t[0]).attr("tabindex")!=-1&&$(t)[0].focus(),n=!0}return n}}],backdrop:"static",resolve:{originalSettings:function(){return angular.copy(n.vxConfig.columnDefConfigs)}}});e.result.then(function(e){e=n.calculateEffectiveWidths(e),n.vxConfig.columnDefConfigs=e,1==n.vxConfig.hybrid&&n.resetHybridGrid(),n.$emit("vxGridSettingsChanged",{id:n.vxConfig.id,data:e})},function(e){})},n.calculateEffectiveWidths=function(e){var t=_.reduce(e,function(e,n){var t=0;return 0==n.hidden&&(t=parseInt(n.width)),e+t},0),i=n.selfEle.find(".vxTableScrollContainer").width(),o=0;return _.each(e,function(e){if(i>t){var n=parseInt(e.width)/t*(i-t);e.effectiveWidth=parseInt(e.width)+n}else e.effectiveWidth=e.width;e.effectiveWidth=Math.floor(e.effectiveWidth),o+=e.effectiveWidth}),e},n.openJsonEditor=function(){var e=t.open({templateUrl:"template/vx-grid/vx-grid-json-editor-modal.html",windowClass:"vxGridManageColMod",controller:["$scope","$modalInstance","griddata",function(e,n,t){e.data=angular.copy(t),e.changeData=[],e.configuration={editable:!0,viewButtonClass:"btn-info",editButtonClass:"btn-success"},e.jsonOptions={mode:"code",modes:["tree","form","code","text"],history:!1},e.onChangeJSON=function(n){e.changeData=n},e.saveChangeInConfig=function(){n.close(e.changeData)},e.cancelChangeInConfig=function(){n.dismiss()}}],backdrop:"static",resolve:{griddata:function(){return angular.copy(n.vxConfig.vxData)}}});e.result.then(function(e){n.vxConfig.vxData=e,n.$emit("vxGridDataChanged",{id:n.vxConfig.id,data:e})},function(e){})},n.revealWrapToggle=function(){n.vxColSettings.revealWrapRowData=!n.vxColSettings.revealWrapRowData},n.xsReset=function(){n.vxColSettings.xsSearch=""},n.justScrollTop=function(){var e=n.selfEle.find(".vxTableContainer.scrollTableContainer");o(function(){$(e).animate({scrollTop:0},500)},10)},n.justScrollDown=function(){var e=n.selfEle.find(".vxTableContainer.scrollTableContainer"),t=$(e).scrollTop()||0;0==n.vxConfig.hybrid?o(function(){$(e).animate({scrollTop:t+96},33)},10):1==n.vxConfig.hybrid&&(n.prepForScrollInsertion(),o(function(){$(e).animate({scrollTop:t+100},300)},10))},n.showScrollDownArrow=function(){var e=n.selfEle.find(".vxTableContainer.scrollTableContainer"),t=n.selfEle.find(".scrollTableContainer table.vxTable");return"undefined"!=typeof e&&"undefined"!=typeof t&&null!=e&&null!=t&&t.height()>e.height()},n.showScrollUpArrow=function(){var e=n.selfEle.find(".vxTableContainer.scrollTableContainer"),t=n.selfEle.find(".scrollTableContainer table.vxTable");return"undefined"!=typeof e&&"undefined"!=typeof t&&null!=e&&null!=t&&t.height()>e.height()&&e.scrollTop()>48},n.outsideHeader=function(e){1==n.vxColSettings.dropdDownOpen[e.id]&&(n.vxColSettings.dropdDownOpen[e.id]=!1,n.$$phase||n.$apply())},n.$on("vsRepeatCollectionPartiallyRendered",function(e,t){n.$emit("vxPartiallyRendered",{id:n.vxConfig.id,data:t}),1==n.vxConfig.selectAllOnRenderAll&&(n.vxColSettings.selectAllEnabled=!1,n.$emit("vxPartiallyRenderedSelectAllDisabled",{id:n.vxConfig.id,data:t}))}),n.$on("vsRepeatCollectionCompletelyRendered",function(e,t){n.$emit("vxCompletelyRendered",{id:n.vxConfig.id,data:t}),1==n.vxConfig.selectAllOnRenderAll&&(n.vxColSettings.selectAllEnabled=!0,n.$emit("vxCompletelyRenderedSelectAllEnabled",{id:n.vxConfig.id,data:t}))}),n.buildFns=function(){var e=["openJsonEditor","openManageColumns","resetVxInstance","clearFilters","selectAllFiltered","clearSelection","revealWrapToggle"];_.each(e,function(e){var t="vxGrid"+e.capitalizeFirstLetter(),i=e+"()";n.$on(t,function(e,t){0==t.id.localeCompare(n.vxConfig.id)&&n.$eval(i)}),n.config[e]=function(){n.$eval(i)}})},n.$on("vxGridChangeRowClass",function(e,t){0==t.id.localeCompare(n.vxConfig.id)&&n.changeRowClass(t.data)}),n.changeRowClass=function(e){for(var t in e)n.vxColSettings.vxRowClass[t]=e[t];"$apply"!=n.$root.$$phase&&"$digest"!=n.$root.$$phase&&n.$apply()},n.$on("vxGridResetRowClass",function(e,t){0==t.id.localeCompare(n.vxConfig.id)&&(n.vxColSettings.vxRowClass={})}),n.$on("vxGridDisableRowSelection",function(e,t){0==t.id.localeCompare(n.vxConfig.id)&&_.each(t.data,function(e){n.vxColSettings.vxRowSelectionDisable[e.key]=e.value})}),n.$on("vxGridResetDisableRowSelection",function(e,t){if(0==t.id.localeCompare(n.vxConfig.id))for(var i in n.vxColSettings.vxRowSelectionDisable)n.vxColSettings.vxRowSelectionDisable[i]=!1})}],replace:!0,templateUrl:"template/vx-grid/vx-grid.html",link:function(e,n,t){e.selfEle=n,e.$watchCollection("config.data",function(n){n=n||[];var t=new Date;"undefined"!=typeof n&&0==n.length?(n=[{fillEmptyElement:!0}],e.config.noData=!0,1==e.config.hybrid&&"undefined"!=typeof e.vxConfig&&angular.element(document.getElementById("_vxHybrid"+e.vxConfig.id)).empty()):e.config.noData=!1,1==e.config.hybrid?(e.config.vxData=_.clone(n),e._origData=_.clone(n)):e.config.vxData=angular.copy(n),t=new Date,delete e.vxConfig,e.resetVxInstance()}),1!=e.config.hybrid&&e.$watchCollection("vxConfig.vxFilteredData",function(n){n.length>=0&&1==e.vxConfig.pagination&&(e.vxColSettings.pages=_.range(Math.ceil(n.length/parseInt(e.vxConfig.pageLength))),e.vxColSettings.vxPageEnabled=e.vxColSettings.pages.length>1,e.vxColSettings.activePage=0,e.vxColSettings.vxPageStartPosition=0)}),e.getvxTableContainerWidth=function(){var n=0;return _.each(e.vxConfig.columnDefConfigs,function(e){0==e.hidden&&(n+=e.effectiveWidth)}),e.vxConfig.totalWidth=n+"px",e.vxConfig.totalWidth},e.getNonHiddenColCount=function(){var n=1;return"undefined"!=typeof e.vxConfig.columnDefConfigs&&e.vxConfig.columnDefConfigs.length>0&&(n=_.filter(e.vxConfig.columnDefConfigs,function(e){return 0==e.hidden}).length),n}}}}).directive("vxCompile",["$compile",function(e){return function(n,t,i){n.$watch(function(e){return e.$eval(i.vxCompile)},function(i){t.html(i),e(t.contents())(n)})}}]).directive("vxCompileCloneLink",["$compile",function(e){var n={},t={};return function(i,o,l){var r=null;l.vxCompileCloneLink in n?r=t[l.vxCompileCloneLink]:(t[l.vxCompileCloneLink]=i.$eval(l.vxCompileCloneLink),r=t[l.vxCompileCloneLink]);var d=null;r in n?d=n[r]:(n[r]=e(r),d=n[r]),d(i,function(e,n){o.append(e)})}}]).directive("vxEditFocusDisable",["$rootScope","$parse",function(e,n){var t={},i={},o=["input","select","button","textarea","object"];return{restrict:"AEC",link:function(e,l,r){var d=(n(r.vxEditFocusDisable),$(l).attr("id"));e.$watch(r.vxEditFocusDisable,function(e){if(e){i[d]={available:!0,stack:[]},_.each(o,function(e){var n=$(l).find(e);n.length>0&&_.each(n,function(e){var n=$(e).attr("id");"undefined"!=typeof n&&null!=n&&""!=n||($(e).attr("id",_.uniqueId("elemid")),n=$(e).attr("id")),i[d].stack.push(n)})});var n=$(l).find("[tabindex]");n.length>0&&_.each(n,function(e){var n=$(e).attr("tabindex");if(n!=-1&&0==_.contains(o,e.nodeName.toUpperCase())&&0==_.contains(i[d].stack,t)){var t=$(e).attr("id");"undefined"!=typeof t&&null!=t&&""!=t||($(e).attr("id",_.uniqueId("elemid")),t=$(e).attr("id")),i[d].stack.push(t)}}),_.each(i[d].stack,function(e){t[e]=$("#"+e).attr("tabindex")||0,$("#"+e).attr("tabindex",-1)})}else 0==e&&"undefined"!=typeof i[d]&&"undefined"!=typeof i[d].available&&1==i[d].available&&(_.each(i[d].stack,function(e){var n=t[e];$("#"+e).attr("tabindex",n)}),i[d].available=!1)})}}}]).directive("axKey",["$rootScope","$parse",function(e,n){return{restrict:"A",compile:function(t,i){var o=n(i.axKey);return function(n,t){function l(t){var i=function(){o(n,{$event:t})};e.$$phase?n.$evalAsync(i):n.$apply(i)}t.attr("role")||t.attr("role","button"),t.attr("tabindex")||t.attr("tabindex",0);var r=[],d=0;r.push(n.$watch(i.axDisabled||i.ngDisabled,function(e){e?(d=t.attr("tabindex"),t.attr("tabindex",-1),t.attr("aria-disabled",!0)):(t.attr("tabindex",0),t.attr("aria-disabled",!1))})),t.on("click",function(e){n.$eval(i.axDisabled)||n.$eval(i.ngDisabled)||l(e)}),t.on("keyup",function(e){n.$eval(i.axDisabled)||n.$eval(i.ngDisabled)||13!=e.keyCode&&32!=e.keyCode||l(e)}),n.$on("$destroy",function(){for(;r.length;)r.shift()()})}}}}]).directive("vxKeepWatch",function(){return{restrict:"AEC",link:function(e,n,t){var i=t.vxKeepWatch,o=!1;e.$watch(t[i],function(n){o?e.$emit("vxInlineEditFieldChange",{field:t.vxKeepWatchField,value:n,rowId:t.vxKeepWatchRowId}):o=!0})}}}).filter("vxGridMultiBoxFilters",function(){return function(e,n){if("undefined"!=typeof n&&null!=n&&n.length>0){var t=e,i=e,o=_.groupBy(n,"col");for(var l in o){var r=o[l],d=[];_.each(r,function(e){d=_.union(d,_.filter(i,function(n){return"undefined"!=typeof e.label&&null!=e.label&&e.label!={}&&"undefined"!=typeof n[e.col]&&null!=n[e.col]&&n[e.col]!={}?"date"==e.type?"undefined"!=typeof n[e.col]&&n[e.col]!={}&&null!=n[e.col]&&""!=n[e.col]&&n[e.col].getTime()==e.label:"object"==e.type?0==JSON.stringify(n[e.col]).localeCompare(JSON.stringify(e.label)):0==n[e.col].toString().trim().localeCompare(e.label):n[e.col]==e.label}))}),t=_.intersection(t,d)}return t}return e}}).directive("clickOutsideHeader",["$document","$parse",function(e,n){return{restrict:"A",link:function(t,i,o){var l=void 0!==o.outsideIfNot?o.outsideIfNot.replace(", ",",").split(","):[];void 0!==o.id&&l.push(o.id);var r=n(o.clickOutsideHeader);e.on("click",function(e){try{var n=$(e.target).closest("th.vxHeadRowCell");"undefined"!=typeof n&&null!=n&&0!=n.length||t.$eval(o.checkClickOutside)&&t.$eval(r)}catch(e){}})}}}]).filter("vxNumberFixedLen",function(){return function(e,n){var t=parseInt(e,10);if(n=parseInt(n,10),isNaN(t)||isNaN(n))return e;for(t=""+t;t.length
Column Operations Menu for the grid {{vxConfig.caption}}
{{::header.columnName}}
Previous Page
Next Page
Page {{pageNum + 1}}
Region starts for adding offscreen labels to aid screen readers please ignore the labels Edit Row Save Row Select Row Region for offscreen labels to aid screen readers ends
',vxGridManageColumnsModal:' ', -"vxGridJsonEditorModal vx-grid-related ":' ',vxGridRowTmpl:' {{row[header.id]}}
{{rowId}}
{{row[header.id] | date : header.columnDatePipe}}
{{row[vxColSettings.primaryId]}}
{{header.columnName}}
{{row[header.id]}}
',vxGridRowTmplBindonce:' {{::row[header.id]}}
{{rowId}}
{{::row[header.id] | date : header.columnDatePipe}}
GROUPED BY {{row.colName}} : {{row.value}} '};angular.module("vx.grid.modules").run(["$templateCache",function(i){i.put("template/vx-grid/vx-grid-json-editor-modal.html",e.vxGridJsonEditorModal),i.put("template/vx-grid/vx-grid-manage-columns-modal.html",e.vxGridManageColumnsModal),i.put("template/vx-grid/vx-grid.html",e.vxGridTableStructure),i.put("template/vx-grid/vx-grid-row-tmpl.html",e.vxGridRowTmpl),i.put("template/vx-grid/vx-grid-row-tmpl-bindonce.html",e.vxGridRowTmplBindonce)}])}(); \ No newline at end of file +"vxGridJsonEditorModal vx-grid-related ":' ',vxGridRowTmpl:' {{row[header.id]}}
Select Row {{rowId}}
{{row[header.id] | date : header.columnDatePipe}}
{{row[vxColSettings.primaryId]}}
{{header.columnName}}
{{row[header.id]}}
',vxGridRowTmplBindonce:' {{::row[header.id]}}
Select row {{rowId}}
{{::row[header.id] | date : header.columnDatePipe}}
GROUPED BY {{row.colName}} : {{row.value}} '};angular.module("vx.grid.modules").run(["$templateCache",function(i){i.put("template/vx-grid/vx-grid-json-editor-modal.html",e.vxGridJsonEditorModal),i.put("template/vx-grid/vx-grid-manage-columns-modal.html",e.vxGridManageColumnsModal),i.put("template/vx-grid/vx-grid.html",e.vxGridTableStructure),i.put("template/vx-grid/vx-grid-row-tmpl.html",e.vxGridRowTmpl),i.put("template/vx-grid/vx-grid-row-tmpl-bindonce.html",e.vxGridRowTmplBindonce)}])}(); \ No newline at end of file diff --git a/Source.Vx.Grid/Source.Vx.Grid/js/vx-grid-templates.js b/Source.Vx.Grid/Source.Vx.Grid/js/vx-grid-templates.js index 374d98e..da9be06 100644 --- a/Source.Vx.Grid/Source.Vx.Grid/js/vx-grid-templates.js +++ b/Source.Vx.Grid/Source.Vx.Grid/js/vx-grid-templates.js @@ -2,7 +2,7 @@ (function () { "use strict"; - var vxGridTemplates = {"vxGridTableStructure":"

All

{{getAllRowLength() | vxNumberFixedLen:2}}

Filtered

0\"> {{vxConfig.vxFilteredData.length | vxNumberFixedLen:2}} 00

Selected

{{vxColSettings.multiSelected.length | vxNumberFixedLen:2}}

00

0\" ng-class=\"{ 'disabled' : editInProgressCount() == 0}\" ax-key=\"revertEdits()\" aria-label=\"revert edits\" ax-disabled=\"editInProgressCount() == 0\">
0\" ax-key=\"deleteRows()\" aria-label=\"delete rows\">
Column Operations Menu for the grid {{vxConfig.caption}}
  • \"dropdown
  • Sort Press Enter or spacebar to sort on {{::header.columnName}} column
  • Group Press Enter or spacebar to group on {{::header.columnName}} column
  • Ungroup Press Enter or spacebar to ungroup on {{::header.columnName}} column
  • 0\" ng-class=\"{ 'disabled': vxColSettings.colFiltersActivated[header.id] == false && vxColSettings.filterSearchToken[header.id] == ''}\" ax-key=\"filterClearClick(header)\" ng-attr-id=\"{{vxConfig.id}}_{{header.id}}_clearfilters\" ax-disabled=\"vxColSettings.colFiltersActivated[header.id] == false && vxColSettings.filterSearchToken[header.id] == ''\" ng-attr-aria-hidden=\"{{(vxColSettings.colFiltersActivated[header.id] == false && vxColSettings.filterSearchToken[header.id] == '') ? true : false}}\"> press enter or spacebar to Clear All Filters on {{header.columnName}} column
{{::header.columnName}}
Previous Page
Next Page
Page {{pageNum + 1}}
Region starts for adding offscreen labels to aid screen readers please ignore the labels Edit Row Save Row Select Row Region for offscreen labels to aid screen readers ends
","vxGridManageColumnsModal":"

Manage Columns

Available Columns

To Select a column to change column Visbility, use the up and down arrows

{{::header.columnName}}

Column locked for all chnages Column Visbility locked for changes

Selected Columns

To Select a column to change column order, use the up and down arrows

{{::header.columnName}}

column selected to unselect press spacebar or enter column press spacebar or enter to select column for changing visibility or order Column locked for all changes Column visibility locked for changes Column Order locked for changes Column Width locked for changes
Visbility Locked, Order Locked, Width Locked
","vxGridJsonEditorModal vx-grid-related ":"
","vxGridRowTmpl":" {{row[header.id]}}
{{rowId}}
{{row[header.id] | date : header.columnDatePipe}}
{{row[vxColSettings.primaryId]}}
0 && header.xsHidden == false && row.type != 'groupRow'\">
{{header.columnName}}
{{row[header.id]}}
","vxGridRowTmplBindonce":" {{::row[header.id]}}
{{rowId}}
{{::row[header.id] | date : header.columnDatePipe}}
GROUPED BY {{row.colName}} : {{row.value}} "}; + var vxGridTemplates = {"vxGridTableStructure":"

All

{{getAllRowLength() | vxNumberFixedLen:2}}

Filtered

0\"> {{vxConfig.vxFilteredData.length | vxNumberFixedLen:2}} 00

Selected

{{vxColSettings.multiSelected.length | vxNumberFixedLen:2}}

00

0\" ng-class=\"{ 'disabled' : editInProgressCount() == 0}\" ax-key=\"revertEdits()\" aria-label=\"revert edits\" ax-disabled=\"editInProgressCount() == 0\">
0\" ax-key=\"deleteRows()\" aria-label=\"delete rows\">
Column Operations Menu for the grid {{vxConfig.caption}}
  • \"dropdown
  • Sort Press Enter or spacebar to sort on {{::header.columnName}} column
  • Group Press Enter or spacebar to group on {{::header.columnName}} column
  • Ungroup Press Enter or spacebar to ungroup on {{::header.columnName}} column
  • 0\" ng-class=\"{ 'disabled': vxColSettings.colFiltersActivated[header.id] == false && vxColSettings.filterSearchToken[header.id] == ''}\" ax-key=\"filterClearClick(header)\" ng-attr-id=\"{{vxConfig.id}}_{{header.id}}_clearfilters\" ax-disabled=\"vxColSettings.colFiltersActivated[header.id] == false && vxColSettings.filterSearchToken[header.id] == ''\" ng-attr-aria-hidden=\"{{(vxColSettings.colFiltersActivated[header.id] == false && vxColSettings.filterSearchToken[header.id] == '') ? true : false}}\"> press enter or spacebar to Clear All Filters on {{header.columnName}} column
{{::header.columnName}}
Previous Page
Next Page
Page {{pageNum + 1}}
Region starts for adding offscreen labels to aid screen readers please ignore the labels Edit Row Save Row Select Row Region for offscreen labels to aid screen readers ends
","vxGridManageColumnsModal":"

Manage Columns

Available Columns

To Select a column to change column Visbility, use the up and down arrows

{{::header.columnName}}

Column locked for all chnages Column Visbility locked for changes

Selected Columns

To Select a column to change column order, use the up and down arrows

{{::header.columnName}}

column selected to unselect press spacebar or enter column press spacebar or enter to select column for changing visibility or order Column locked for all changes Column visibility locked for changes Column Order locked for changes Column Width locked for changes
Visbility Locked, Order Locked, Width Locked
","vxGridJsonEditorModal vx-grid-related ":"
","vxGridRowTmpl":" {{row[header.id]}}
Select Row {{rowId}}
{{row[header.id] | date : header.columnDatePipe}}
{{row[vxColSettings.primaryId]}}
0 && header.xsHidden == false && row.type != 'groupRow'\">
{{header.columnName}}
{{row[header.id]}}
","vxGridRowTmplBindonce":" {{::row[header.id]}}
Select row {{rowId}}
{{::row[header.id] | date : header.columnDatePipe}}
GROUPED BY {{row.colName}} : {{row.value}} "}; angular.module('vx.grid.modules') .run(["$templateCache", function ($templateCache) { diff --git a/Source.Vx.Grid/Source.Vx.Grid/js/vx-grid.js b/Source.Vx.Grid/Source.Vx.Grid/js/vx-grid.js index da59892..e88bfce 100644 --- a/Source.Vx.Grid/Source.Vx.Grid/js/vx-grid.js +++ b/Source.Vx.Grid/Source.Vx.Grid/js/vx-grid.js @@ -837,7 +837,7 @@ var cellHolderTmpl = 'VX_CELL_CONTENT'; var emptyRowTempl = 'VX_EMPTYFILL'; var cellTmplContent = 'VX_CELL_TMPL'; - var cellTmplRowSelect = '
VX_ROW_ID
'; + var cellTmplRowSelect = '
Select row VX_ROW_ID
'; var allCells = ''; var _classes = ''; var rowId = row[$scope.vxColSettings.primaryId]; @@ -865,7 +865,7 @@ _cellTmpl = cellTmplRowSelect; _cellTmpl = _cellTmpl.replaceAll('VX_ROW_ID', rowId); _cellTmpl = _cellTmpl.replace('VX_ROW_SEL_VAL', _rowSelectData == true ? 'checked' : ''); - _cellTmpl = _cellTmpl.replace('VX_CONFIG_ROW_SEL_ID', $scope.vxConfig.selectRowID); + //_cellTmpl = _cellTmpl.replace('VX_CONFIG_ROW_SEL_ID', $scope.vxConfig.selectRowID); //_compile = _compile || true; } else if (col.renderHybridCellDefn == true && typeof $scope.vxConfig.hybridCellDefn === 'function') { diff --git a/Source.Vx.Grid/Source.Vx.Grid/resource/vx-grid-templates.html b/Source.Vx.Grid/Source.Vx.Grid/resource/vx-grid-templates.html index 0b5dee8..b80b10d 100644 --- a/Source.Vx.Grid/Source.Vx.Grid/resource/vx-grid-templates.html +++ b/Source.Vx.Grid/Source.Vx.Grid/resource/vx-grid-templates.html @@ -387,8 +387,8 @@
- - {{rowId}} + + Select Row {{rowId}}
@@ -398,7 +398,7 @@
-
+
@@ -436,8 +436,8 @@
- - {{rowId}} + + Select row {{rowId}}
@@ -447,7 +447,7 @@
-
+
diff --git a/Source.Vx.Grid/Source.Vx.Grid/resource/vx-grid-templates.js b/Source.Vx.Grid/Source.Vx.Grid/resource/vx-grid-templates.js index 374d98e..da9be06 100644 --- a/Source.Vx.Grid/Source.Vx.Grid/resource/vx-grid-templates.js +++ b/Source.Vx.Grid/Source.Vx.Grid/resource/vx-grid-templates.js @@ -2,7 +2,7 @@ (function () { "use strict"; - var vxGridTemplates = {"vxGridTableStructure":"

All

{{getAllRowLength() | vxNumberFixedLen:2}}

Filtered

0\"> {{vxConfig.vxFilteredData.length | vxNumberFixedLen:2}} 00

Selected

{{vxColSettings.multiSelected.length | vxNumberFixedLen:2}}

00

0\" ng-class=\"{ 'disabled' : editInProgressCount() == 0}\" ax-key=\"revertEdits()\" aria-label=\"revert edits\" ax-disabled=\"editInProgressCount() == 0\">
0\" ax-key=\"deleteRows()\" aria-label=\"delete rows\">
Column Operations Menu for the grid {{vxConfig.caption}}
  • \"dropdown
  • Sort Press Enter or spacebar to sort on {{::header.columnName}} column
  • Group Press Enter or spacebar to group on {{::header.columnName}} column
  • Ungroup Press Enter or spacebar to ungroup on {{::header.columnName}} column
  • 0\" ng-class=\"{ 'disabled': vxColSettings.colFiltersActivated[header.id] == false && vxColSettings.filterSearchToken[header.id] == ''}\" ax-key=\"filterClearClick(header)\" ng-attr-id=\"{{vxConfig.id}}_{{header.id}}_clearfilters\" ax-disabled=\"vxColSettings.colFiltersActivated[header.id] == false && vxColSettings.filterSearchToken[header.id] == ''\" ng-attr-aria-hidden=\"{{(vxColSettings.colFiltersActivated[header.id] == false && vxColSettings.filterSearchToken[header.id] == '') ? true : false}}\"> press enter or spacebar to Clear All Filters on {{header.columnName}} column
{{::header.columnName}}
Previous Page
Next Page
Page {{pageNum + 1}}
Region starts for adding offscreen labels to aid screen readers please ignore the labels Edit Row Save Row Select Row Region for offscreen labels to aid screen readers ends
","vxGridManageColumnsModal":"

Manage Columns

Available Columns

To Select a column to change column Visbility, use the up and down arrows

{{::header.columnName}}

Column locked for all chnages Column Visbility locked for changes

Selected Columns

To Select a column to change column order, use the up and down arrows

{{::header.columnName}}

column selected to unselect press spacebar or enter column press spacebar or enter to select column for changing visibility or order Column locked for all changes Column visibility locked for changes Column Order locked for changes Column Width locked for changes
Visbility Locked, Order Locked, Width Locked
","vxGridJsonEditorModal vx-grid-related ":"
","vxGridRowTmpl":" {{row[header.id]}}
{{rowId}}
{{row[header.id] | date : header.columnDatePipe}}
{{row[vxColSettings.primaryId]}}
0 && header.xsHidden == false && row.type != 'groupRow'\">
{{header.columnName}}
{{row[header.id]}}
","vxGridRowTmplBindonce":" {{::row[header.id]}}
{{rowId}}
{{::row[header.id] | date : header.columnDatePipe}}
GROUPED BY {{row.colName}} : {{row.value}} "}; + var vxGridTemplates = {"vxGridTableStructure":"

All

{{getAllRowLength() | vxNumberFixedLen:2}}

Filtered

0\"> {{vxConfig.vxFilteredData.length | vxNumberFixedLen:2}} 00

Selected

{{vxColSettings.multiSelected.length | vxNumberFixedLen:2}}

00

0\" ng-class=\"{ 'disabled' : editInProgressCount() == 0}\" ax-key=\"revertEdits()\" aria-label=\"revert edits\" ax-disabled=\"editInProgressCount() == 0\">
0\" ax-key=\"deleteRows()\" aria-label=\"delete rows\">
Column Operations Menu for the grid {{vxConfig.caption}}
  • \"dropdown
  • Sort Press Enter or spacebar to sort on {{::header.columnName}} column
  • Group Press Enter or spacebar to group on {{::header.columnName}} column
  • Ungroup Press Enter or spacebar to ungroup on {{::header.columnName}} column
  • 0\" ng-class=\"{ 'disabled': vxColSettings.colFiltersActivated[header.id] == false && vxColSettings.filterSearchToken[header.id] == ''}\" ax-key=\"filterClearClick(header)\" ng-attr-id=\"{{vxConfig.id}}_{{header.id}}_clearfilters\" ax-disabled=\"vxColSettings.colFiltersActivated[header.id] == false && vxColSettings.filterSearchToken[header.id] == ''\" ng-attr-aria-hidden=\"{{(vxColSettings.colFiltersActivated[header.id] == false && vxColSettings.filterSearchToken[header.id] == '') ? true : false}}\"> press enter or spacebar to Clear All Filters on {{header.columnName}} column
{{::header.columnName}}
Previous Page
Next Page
Page {{pageNum + 1}}
Region starts for adding offscreen labels to aid screen readers please ignore the labels Edit Row Save Row Select Row Region for offscreen labels to aid screen readers ends
","vxGridManageColumnsModal":"

Manage Columns

Available Columns

To Select a column to change column Visbility, use the up and down arrows

{{::header.columnName}}

Column locked for all chnages Column Visbility locked for changes

Selected Columns

To Select a column to change column order, use the up and down arrows

{{::header.columnName}}

column selected to unselect press spacebar or enter column press spacebar or enter to select column for changing visibility or order Column locked for all changes Column visibility locked for changes Column Order locked for changes Column Width locked for changes
Visbility Locked, Order Locked, Width Locked
","vxGridJsonEditorModal vx-grid-related ":"
","vxGridRowTmpl":" {{row[header.id]}}
Select Row {{rowId}}
{{row[header.id] | date : header.columnDatePipe}}
{{row[vxColSettings.primaryId]}}
0 && header.xsHidden == false && row.type != 'groupRow'\">
{{header.columnName}}
{{row[header.id]}}
","vxGridRowTmplBindonce":" {{::row[header.id]}}
Select row {{rowId}}
{{::row[header.id] | date : header.columnDatePipe}}
GROUPED BY {{row.colName}} : {{row.value}} "}; angular.module('vx.grid.modules') .run(["$templateCache", function ($templateCache) { diff --git a/Source.Vx.Grid/Source.Vx.Grid/resource/vx-grid.js b/Source.Vx.Grid/Source.Vx.Grid/resource/vx-grid.js index 42588ba..28ee12b 100644 --- a/Source.Vx.Grid/Source.Vx.Grid/resource/vx-grid.js +++ b/Source.Vx.Grid/Source.Vx.Grid/resource/vx-grid.js @@ -837,7 +837,7 @@ var cellHolderTmpl = 'VX_CELL_CONTENT'; var emptyRowTempl = 'VX_EMPTYFILL'; var cellTmplContent = 'VX_CELL_TMPL'; - var cellTmplRowSelect = '
VX_ROW_ID
'; + var cellTmplRowSelect = '
Select row VX_ROW_ID
'; var allCells = ''; var _classes = ''; var rowId = row[$scope.vxColSettings.primaryId]; @@ -865,7 +865,7 @@ _cellTmpl = cellTmplRowSelect; _cellTmpl = _cellTmpl.replaceAll('VX_ROW_ID', rowId); _cellTmpl = _cellTmpl.replace('VX_ROW_SEL_VAL', _rowSelectData == true ? 'checked' : ''); - _cellTmpl = _cellTmpl.replace('VX_CONFIG_ROW_SEL_ID', $scope.vxConfig.selectRowID); + //_cellTmpl = _cellTmpl.replace('VX_CONFIG_ROW_SEL_ID', $scope.vxConfig.selectRowID); //_compile = _compile || true; } else if (col.renderHybridCellDefn == true && typeof $scope.vxConfig.hybridCellDefn === 'function') { diff --git a/dist/vx.grid.bundle.min.js b/dist/vx.grid.bundle.min.js index f904b01..6bdd3c8 100644 --- a/dist/vx.grid.bundle.min.js +++ b/dist/vx.grid.bundle.min.js @@ -7,7 +7,7 @@ var duScrollDefaultEasing=function(e){"use strict";return e<.5?Math.pow(2*e,2)/2:1-Math.pow(2*(1-e),2)/2};angular.module("duScroll",["duScroll.scrollspy","duScroll.smoothScroll","duScroll.scrollContainer","duScroll.spyContext","duScroll.scrollHelpers"]).value("duScrollDuration",350).value("duScrollSpyWait",100).value("duScrollGreedy",!1).value("duScrollOffset",0).value("duScrollEasing",duScrollDefaultEasing),angular.module("duScroll.scrollHelpers",["duScroll.requestAnimation"]).run(["$window","$q","cancelAnimation","requestAnimation","duScrollEasing","duScrollDuration","duScrollOffset",function(e,t,n,r,o,l,i){"use strict";var u=angular.element.prototype,c=function(e){return"undefined"!=typeof HTMLDocument&&e instanceof HTMLDocument||e.nodeType&&e.nodeType===e.DOCUMENT_NODE},a=function(e){return"undefined"!=typeof HTMLElement&&e instanceof HTMLElement||e.nodeType&&e.nodeType===e.ELEMENT_NODE},s=function(e){return a(e)||c(e)?e:e[0]};u.scrollTo=function(t,n,r,o){var l;if(angular.isElement(t)?l=this.scrollToElement:r&&(l=this.scrollToAnimated),l)return l.apply(this,arguments);var i=s(this);return c(i)?e.scrollTo(t,n):(i.scrollLeft=t,void(i.scrollTop=n))};var d,f;u.scrollToAnimated=function(e,l,i,u){i&&!u&&(u=o);var c=this.scrollLeft(),a=this.scrollTop(),s=Math.round(e-c),p=Math.round(l-a),m=null,g=this,v="scroll mousedown mousewheel touchmove keydown",h=function(e){(!e||e.which>0)&&(g.unbind(v,h),n(d),f.reject(),d=null)};if(d&&h(),f=t.defer(),!s&&!p)return f.resolve(),f.promise;var y=function(e){null===m&&(m=e);var t=e-m,n=t>=i?1:u(t/i);g.scrollTo(c+Math.ceil(s*n),a+Math.ceil(p*n)),n<1?d=r(y):(g.unbind(v,h),d=null,f.resolve())};return g.scrollTo(c,a),g.bind(v,h),d=r(y),f.promise},u.scrollToElement=function(e,t,n,r){var o=s(this);angular.isNumber(t)&&!isNaN(t)||(t=i);var l=this.scrollTop()+s(e).getBoundingClientRect().top-t;return a(o)&&(l-=o.getBoundingClientRect().top),this.scrollTo(0,l,n,r)};var p={scrollLeft:function(t,n,r){if(angular.isNumber(t))return this.scrollTo(t,this.scrollTop(),n,r);var o=s(this);return c(o)?e.scrollX||document.documentElement.scrollLeft||document.body.scrollLeft:o.scrollLeft},scrollTop:function(t,n,r){if(angular.isNumber(t))return this.scrollTo(this.scrollTop(),t,n,r);var o=s(this);return c(o)?e.scrollY||document.documentElement.scrollTop||document.body.scrollTop:o.scrollTop}};u.scrollToElementAnimated=function(e,t,n,r){return this.scrollToElement(e,t,n||l,r)},u.scrollTopAnimated=function(e,t,n){return this.scrollTop(e,t||l,n)},u.scrollLeftAnimated=function(e,t,n){return this.scrollLeft(e,t||l,n)};var m=function(e,t){return function(n,r,o){return r?t.apply(this,arguments):e.apply(this,arguments)}};for(var g in p)u[g]=u[g]?m(u[g],p[g]):p[g]}]),angular.module("duScroll.polyfill",[]).factory("polyfill",["$window",function(e){"use strict";var t=["webkit","moz","o","ms"];return function(n,r){if(e[n])return e[n];for(var o,l=n.substr(0,1).toUpperCase()+n.substr(1),i=0;it.clientWidth||t.scrollHeight>t.clientHeight)&&R.css("display","block")}function z(){"undefined"!=typeof d.vsAutoresize&&(A=!0,I(),a.$root&&!a.$root.$$phase&&a.$apply()),P()&&(a.$apply(),a.$broadcast("vsSetOffset-refresh"))}function w(e){F=void 0,U=void 0,V=C,_=0,P(e),y(T?a.sizesCumulative[C]:a.elementSize*C),a.$evalAsync(function(){a.$broadcast("vsSetOffset-refresh")}),a.$emit("vsRepeatReinitialized",a.startIndex,a.endIndex)}function y(e){if(E){if(O.css({width:a.offsetBefore+e+a.offsetAfter+"px",height:"100%"}),p&&p.$fillElement){var t=p.$fillElement[0].parentNode.querySelector("[ng-repeat]");t&&p.$fillElement.css({width:t.scrollWidth+"px"})}}else O.css({height:a.offsetBefore+e+a.offsetAfter+"px",width:"100%"}),p&&p.$fillElement&&(t=p.$fillElement[0].parentNode.querySelector("[ng-repeat]"),t&&p.$fillElement.css({height:t.scrollHeight+"px"}));O.css({height:"0",width:"100%","min-height":"0","min-width":"100%"})}function M(){var e=s(H[0],D);e!==G&&(w(),a.$root&&!a.$root.$$phase&&(a.$apply(),a.$broadcast("vsSetOffset-refresh"))),G=e}function b(e){var t=!1;return void 0!==e&&"number"==typeof e&&(t=Math.max(e,0),H[0][X]!==t?(H[0][X]=t,L=!0):t=!1,a.$emit("vsRepeatScrolled",t)),t}function P(e){var t,n,l,r,f=o(H[0],X),d=s(H[0],D),u=c[0]===H[0]?0:i(c[0],H[0],E),p=!0,m=a.startIndex,v=a.endIndex;if(e&&void 0!==e.elementSize&&(a.elementSize=e.elementSize),e&&void 0!==e.scrollIndex){if("undefined"!=typeof a.scrollSettings&&(a.scrollSettings.scrollIndex=e.scrollIndex),T?(r=a.sizes[e.scrollIndex],l=a.sizesCumulative[e.scrollIndex]):(r=a.elementSize,l=e.scrollIndex*a.elementSize),void 0!==e.scrollIndexPosition)switch("undefined"!=typeof a.scrollSettings&&(a.scrollSettings.scrollIndexPosition=e.scrollIndexPosition),t=0,typeof e.scrollIndexPosition){case"number":t=e.scrollIndexPosition+a.offsetBefore;break;case"string":switch(e.scrollIndexPosition){case"top":t=a.offsetBefore;break;case"middle":t=(d-r)/2;break;case"bottom":t=d-r-a.offsetAfter;break;case"inview":case"inview#top":case"inview#middle":case"inview#bottom":case"inview#auto":H[0][X]<=l&&H[0][X]+d-r>=l?(p=!1,t=l-H[0][X]):("inview#top"!==e.scrollIndexPosition&&"inview"!==e.scrollIndexPosition||(t=a.offsetBefore),"inview#bottom"===e.scrollIndexPosition&&(t=d-r+a.offsetAfter),"inview#middle"===e.scrollIndexPosition&&(t=(d-r)/2),"inview#auto"===e.scrollIndexPosition&&(t=H[0][X]<=l?d-r+a.offsetAfter:a.offsetBefore));break;default:console.warn("Incorrect scrollIndexPosition string value")}break;default:console.warn("Incorrect scrollIndexPosition type")}else p=!1,t=T?a.sizesCumulative[e.scrollIndex]-H[0][X]:e.scrollIndex*a.elementSize-H[0][X];if(m=e.scrollIndex,T){for(;a.sizesCumulative[m]>a.sizesCumulative[e.scrollIndex]-t;)m--;for(n=Math.max(m,0),m=Math.max(Math.floor(m-a.excess/2),0),v=m;a.sizesCumulative[v]e.scrollIndex*a.elementSize-t;)m--;n=Math.max(m,0),m=Math.max(Math.floor(m-a.excess/2),0),v=Math.min(m+Math.ceil(d/a.elementSize)+a.excess/2,C)}}else if(T){for(m=0;a.sizesCumulative[m]0&&m--,m=Math.max(Math.floor(m-a.excess/2),0),v=m;a.sizesCumulative[v]=a.excess/2||0===a.startIndex&&0!==F?h=!0:(Math.abs(a.endIndex-U)>=a.excess/2||a.endIndex===C&&U!==C)&&(h=!0):h=a.startIndex!==F||a.endIndex!==U),h&&(a.startIndex=a.startIndex==a.endIndex&&a.endIndex>0?0:a.startIndex,a[x]=k.slice(a.startIndex,a.endIndex),a.$emit("vsRepeatInnerCollectionUpdated",a.startIndex,a.endIndex,F,U),k.length==a.endIndex?a.$emit("vsRepeatCollectionCompletelyRendered",k.length):a.$emit("vsRepeatCollectionPartiallyRendered"),F=a.startIndex,U=a.endIndex),h}var C,R,O,B=t.element(u),k=[],E="undefined"!=typeof d.vsHorizontal,A=!d.vsRepeat,T=!!d.vsSize||!!d.vsSizeProperty,H=d.vsScrollParent?"window"===d.vsScrollParent?t.element(e):f.call(c,d.vsScrollParent):c,W=E?"left":"top",L=!1,q="vsOptions"in d?a.$eval(d.vsOptions):{},D=E?"clientWidth":"clientHeight",Y=E?"offsetWidth":"offsetHeight",X=E?"scrollLeft":"scrollTop";if(!("vsSize"in d)&&"vsSizeProperty"in d&&console.warn("vs-size-property attribute is deprecated. Please use vs-size attrubute which also accepts angular expressions."),0===H.length)throw"Specified scroll parent selector did not match any element";a.$scrollParent=H,T&&(a.sizesCumulative=[]),a.elementSize=+d.vsRepeat||s(H[0],D)||50,a.offsetBefore=0,a.offsetAfter=0,a.excess=2,a.scrollSettings={scrollIndex:0,scrollIndexPosition:"top"},a.$watch(d.vsScrollSettings,function(e){"undefined"!=typeof e&&(a.scrollSettings=e,w(a.scrollSettings))},!0),Object.keys($).forEach(function(e){d[e]&&d.$observe(e,function(t){a[$[e]]=+t,w()})}),a.$watchCollection(v,function(e){k=e||[],S()}),B.attr("ng-repeat",m+" in "+x+(h?" "+h:"")).addClass("vs-repeat-repeated-element");var N=T?"(sizesCumulative[$index + startIndex] + offsetBefore)":"(($index + startIndex) * elementSize + offsetBefore)";B.attr("vs-set-offset",N),B.attr("vs-set-offset-positioning-property",W),n(B)(a),c.append(B),O=t.element('
').css({position:"relative","min-height":"100%","min-width":"100%"}),c.append(O),n(O)(a),a.$fillElement=O;var j={};l&&"window"!==d.vsScrollParent&&(R=t.element('
').on(r,function(e){e.preventDefault(),e.stopPropagation(),e.originalEvent&&(e=e.originalEvent),H[0].scrollLeft+=e.deltaX||-e.wheelDeltaX,H[0].scrollTop+=e.deltaY||-e.wheelDeltaY}).on("mousemove",function(e){j.x===e.clientX&&j.y===e.clientY||t.element(this).css("display","none"),j={x:e.clientX,y:e.clientY}}).css("display","none"),O.append(R)),a.startIndex=0,a.endIndex=0,H.on("scroll",function(){L?L=!1:P()&&(a.$apply(),a.$broadcast("vsSetOffset-refresh"))}),l&&H.on(r,g),t.element(e).on("resize",z),a.$on("$destroy",function(){t.element(e).off("resize",z)}),a.$on("vsRepeatTrigger",S),a.$on("vsRepeatResize",function(){A=!0,I()});var F,U,V,_;a.$on("vsRenderAll",function(){q.latch&&setTimeout(function(){var e=C;_=Math.max(e,_),a.endIndex=q.latch?_:e,a[x]=k.slice(a.startIndex,a.endIndex),U=a.endIndex,a.$apply(function(){a.$emit("vsRenderAllDone")})})});var G;a.$watch(function(){"function"==typeof e.requestAnimationFrame?e.requestAnimationFrame(M):M()})}}}}}]).directive("vsSetOffset",[function(){return function(e,t,n){function s(){t.css(o,e.$eval(n.vsSetOffset)+"px")}var o=n.vsSetOffsetPositioningProperty;s(),e.$on("vsSetOffset-refresh",s)}}]);t.element(document.head).append([""].join("")),"undefined"!=typeof module&&module.exports&&(module.exports=d.name)}(window,window.angular); !function(){"use strict";var n=function(n,t){return{replace:!0,scope:{onChange:"&",jsonData:"=",options:"="},compile:function(o,r){var e=function(o,r,e){function i(){t(function(){try{var n=c.get();o.onChange({json:n})}catch(t){var n=c.getText();o.onChange({json:n})}})}var a={mode:"tree",change:i};a=angular.extend(a,o.options);var c=new n(r[0],a);o.$watch("jsonData",function(n){c.set(n)})};return e},template:'
'}};angular.module("angular-json-editor",[]).provider("JSONEditor",function(){function n(t){return angular.forEach(arguments,function(o){o!==t&&angular.forEach(o,function(o,r){t[r]&&t[r].constructor&&t[r].constructor===Object?n(t[r],o):t[r]=o})}),t}var t={defaults:{options:{indentation:2,search:!1,name:"vxgrid",mode:"code"}}};this.configure=function(o){n(t,o)},this.$get=["$window",function(o){var r=o.JSONEditor;return n(r,t),o.JSONEditor}]}).directive("jsonEditor",["JSONEditor","$timeout",n])}(); -!function(){"use strict";function e(){function e(){return Math.floor(65536*(1+Math.random())).toString(16).substring(1)}return e()+e()+"_"+e()}String.prototype.capitalizeFirstLetter=function(){return this.charAt(0).toUpperCase()+this.slice(1)},String.prototype.replaceAll=function(e,n){var t=new RegExp(e,"g");return this.replace(t,n)},window.requestAnimFrame=function(){return window.requestAnimationFrame||window.webkitRequestAnimationFrame||window.mozRequestAnimationFrame||window.oRequestAnimationFrame||window.msRequestAnimationFrame||function(e,n){window.setTimeout(e,1e3/60)}}(),angular.module("vx.grid.modules",["ngSanitize","ui.bootstrap","vs-repeat","angular-json-editor","duScroll"]).directive("vxGrid",function(){return{restrict:"E",scope:{config:"=",scrollParent:"="},controller:["$scope","$uibModal","$sce","$timeout","$rootScope","$window","$filter","$q","$compile",function(n,t,i,o,l,r,d,a,f){function c(e){_.each(n.vxConfig.columnDefConfigs,function(n){n.id==e&&(n.filterLimit=n.filterLimit+2)}),"$apply"!=n.$root.$$phase&&"$digest"!=n.$root.$$phase&&n.$digest()}function v(e,n,t){var i=t+"_"+n+"_key_",o="string";return null==e.value?i+="null":null==e.value?i+="null":"object"!=typeof e.value?(i+=e.value.toString().replace(/\s+/g,"_"),o=e.type):(i+=JSON.stringify(e.value).replace(/\s+/g,"_"),o="object"),{key:i,type:o}}n.vxColSettings={},n.posLeft=1,n.posTop=0;var u={},s=angular.element(r);n.getWindowDimensions=function(){return{h:s.height(),w:s.width()}},n.resetVxInstance=function(){u={},n.vxColSettings={primaryId:null,dropdDownEnabled:{},dropdDownLoaded:{},dropdDownOpen:{},dropDownSort:{},dropDownFilters:{},dropDownGroup:{},colFiltersStatus:{},colFilterPairs:{},colFiltersActivated:{},lastProcessedForFilters:{},multiSelected:[],multiSelColDependent:!1,reverseSettings:{},groupPredicate:{},groupByColActivated:{},rowSelected:{},vxRowClass:{},vxRowSelectionDisable:{},revealWrapRowData:!1,selectAllEnabled:!0,menu:!1,xsViewEnabled:!1,xsRowTitleTemplateAvailable:!1,xsSearch:"",searchToken:"",inlineEditState:{},colWithInlineEdits:[],groupKeys:{},allRowSelected:!1,allRowSelectionDisabled:!1,filterSearchToken:{},enteredSearchToken:{},saveInProgress:{}};var e=(new Date,new Date),t=new Date;1==n.config.hybrid?n.vxConfig=n.config:n.vxConfig=angular.copy(n.config),e=new Date,t=new Date;var i=_.find(n.vxConfig.columnDefConfigs,function(e){return 1==e.primary}),l="_uid";if("undefined"!=typeof i&&null!=i?(_.each(n.vxConfig.vxData,function(e,n){1!=e.fillEmptyElement&&(e[i.id]=e[i.id].toString(),e[l]=e[i.id]),e._vxCreated=(new Date).getTime()}),l=i.id):_.each(n.vxConfig.vxData,function(e,n){e[l]=n}),n.config.id=n.vxConfig.id="undefined"==typeof n.vxConfig.id?_.uniqueId("_vxUID_"):n.vxConfig.id,n.vxConfig.editRowID=n.vxConfig.id+"_edit_row",n.vxConfig.saveRowID=n.vxConfig.id+"_save_row",n.vxConfig.selectRowID=n.vxConfig.id+"_sel_row",n.vxColSettings.primaryId=l,1==n.vxConfig.inlineEditingEnabled&&1!=n.vxConfig.hybrid){var r=_.find(n.vxConfig.columnDefConfigs,function(e){return 0==e.id.localeCompare("inlinediting")});if("undefined"==typeof r||null==r||r=={}){var a={id:"inlinediting",columnName:"Edit",renderDefn:!0,renderHeadDefn:!0,ddSort:!1,ddGroup:!1,ddFilters:!1,width:"50",locked:!0,headTabIndex:-1,cellDefn:'
',inlineEditOnColumnEnabled:!1};n.vxConfig.columnDefConfigs.unshift(a)}_.each(n.vxConfig.vxData,function(e,t){var i=e[n.vxColSettings.primaryId];n.vxColSettings.inlineEditState[i]=n.config.allRowsInDefaultEdit||!1})}if(e=new Date,1==n.vxConfig.selectionEnabled){var r=_.find(n.vxConfig.columnDefConfigs,function(e){return 0==e.id.localeCompare("checkbox")});if("undefined"==typeof r||null==r||r=={}){var a={id:"checkbox",columnName:"Row Selection",columnIsRowSelect:!0,renderDefn:!0,renderHeadDefn:!0,ddSort:!1,ddGroup:!1,ddFilters:!1,width:"50",locked:!0,headTabIndex:-1,headerDefn:'
',cellDefn:'
{{::row[vxConfig.ariaPrimary]}}'};n.vxConfig.columnDefConfigs.unshift(a)}_.each(n.vxConfig.vxData,function(e,t){var i=e[n.vxColSettings.primaryId];n.vxColSettings.rowSelected[i]=!1,n.vxColSettings.vxRowSelectionDisable[i]=!1})}e=new Date,n.multiBoxFilters=[];var c=[{prop:"enableDropdownsInHeader",defValue:!1},{prop:"selectionEnabled",defValue:!1},{prop:"selectionAtMyRisk",defValue:!1},{prop:"preserveSelectionOnFilters",defValue:!1},{prop:"multiSelectionEnabled",defValue:!1},{prop:"showGridStats",defValue:!1},{prop:"showGridOptions",defValue:!1},{prop:"selectAllOnRenderAll",defValue:!1},{prop:"virtualization",defValue:!0},{prop:"pagination",defValue:!1},{prop:"pageLength",defValue:20},{prop:"data",defValue:[]},{prop:"vxFilteredData",defValue:[]},{prop:"xsRowTitleTemplate",defValue:'
{{row[vxColSettings.primaryId]}}
'},{prop:"inlineAddRowEnabled",defValue:!1},{prop:"inlineEditSyncEnabled",defValue:!1},{prop:"inlineDeletingEnabled",defValue:!1},{prop:"inlineSaveOverrideEnabled",defValue:!1},{prop:"inlineDeleteOverrideEnabled",defValue:!1},{prop:"allRowsInDefaultEdit",defValue:!1},{prop:"jsonEditorEnabled",defValue:!1},{prop:"allRowsSelectionEnabled",defValue:!1},{prop:"sortPredicate",defValue:n.vxColSettings.primaryId},{prop:"sortPredicateFn",defValue:n.vxColSettings.primaryId},{prop:"reverseSortDirection",defValue:!1},{prop:"emptyFill",defValue:"No records to display ..."},{prop:"caption",defValue:"sample vx grid table caption"},{prop:"loaderGifSrc",defValue:"/resource/loaderWhite36.GIF"},{prop:"ariaPrimary",defValue:n.vxColSettings.primaryId},{prop:"xsTemplate",defValue:!1},{prop:"bindOnce",defValue:!1},{prop:"hybrid",defValue:!1},{prop:"latchExcess",defValue:5}];if(_.each(c,function(e){"undefined"!==n.vxConfig[e.prop]&&null!=n.vxConfig[e.prop]&&n.vxConfig[e.prop]!={}||(n.vxConfig[e.prop]=e.defValue)}),n.vxColSettings.vxRowClass=n.vxConfig.initialRowClasses||{},n.getWindowDimensions().w<768&&(n.vxColSettings.xsViewEnabled=n.vxConfig.xsTemplate,n.vxConfig.latchExcess=5),e=new Date,n.vxColSettings.selectAllOnRenderAll=n.vxConfig.selectAllOnRenderAll,_.each(n.vxConfig.columnDefConfigs,function(e){var t=[{prop:"renderDefn",defValue:!1},{prop:"renderHeadDefn",defValue:!1},{prop:"ddSort",defValue:!1},{prop:"ddGroup",defValue:!1},{prop:"ddFilters",defValue:!1},{prop:"ddFiltersWithSearch",defValue:!1},{prop:"dropDownEnabled",defValue:!1},{prop:"hidden",defValue:!1},{prop:"xsHidden",defValue:!1},{prop:"locked",defValue:!1},{prop:"primary",defValue:!1},{prop:"width",defValue:"200"},{prop:"headerDefn",defValue:""},{prop:"cellDefn",defValue:""},{prop:"filterCellDefn",defValue:""},{prop:"inlineEditOnColumnEnabled",defValue:!1},{prop:"inlineEditValidation",defValue:!1},{prop:"editDefn",defValue:null},{prop:"editDefnTemplate",defValue:null},{prop:"headTabIndex",defValue:0},{prop:"columnIsRowSelect",defValue:!1},{prop:"columnIsDate",defValue:!1},{prop:"columnDatePipe",defValue:"dd/MM/yyyy"},{prop:"renderHybridCellDefn",defValue:!1},{prop:"hybridCompile",defValue:!1},{prop:"filterLimit",defValue:10},{prop:"scopeIsRow",defValue:!1}];_.each(t,function(n){"undefined"!==e[n.prop]&&null!=e[n.prop]&&e[n.prop]!={}||(e[n.prop]=n.defValue)}),e.effectiveWidth=e.width,e.idCollection=[];var i=[{prop:"orderLocked",defValue:!1},{prop:"widthLocked",defValue:!1},{prop:"visbilityLocked",defValue:!1}];_.each(i,function(n){"undefined"===e[n.prop]||null==e[n.prop]||e[n.prop]=={}?e[n.prop]=e.locked:e[n.prop]=e.locked||e[n.prop]}),n.vxColSettings.reverseSettings[e.id]=!1,"undefined"!=typeof e.dropDownEnabled&&null!=e.dropDownEnabled&&1==e.dropDownEnabled&&1==n.vxConfig.enableDropdownsInHeader?n.vxColSettings.dropdDownEnabled[e.id]=!0:n.vxColSettings.dropdDownEnabled[e.id]=!1,n.vxColSettings.dropdDownLoaded[e.id]=!1,n.vxColSettings.dropdDownOpen[e.id]=!1,"undefined"!=typeof e.renderDefn&&null!=e.renderDefn&&e.renderDefn!={}&&1==e.renderDefn&&(e.cellDefn=e.cellDefn.replaceAll("VX_ROW_POINT","row[vxColSettings.primaryId]"),e.cellDefn=e.cellDefn.replaceAll("VX_DATA_POINT","row[header.id]"),e.cellDefn=e.cellDefn.replaceAll("VX_ROW","row"),e.cellDefn=e.cellDefn.replaceAll("VX_CONFIG","vxConfig")),1==e.inlineEditOnColumnEnabled&&1!=n.vxConfig.hybrid&&(""!=e.editDefn&&null!=e.editDefn||(e.editDefn=''),e.editDefn=e.editDefn.replaceAll("VX_ROW_POINT","row[vxColSettings.primaryId]"),e.editDefn=e.editDefn.replaceAll("VX_DATA_POINT","row[header.id]"),e.editDefn=e.editDefn.replaceAll("VX_ROW","row"),e.editDefn=e.editDefn.replaceAll("VX_CONFIG","vxConfig"),n.vxColSettings.colWithInlineEdits.push(e.id),e.editDefn.indexOf("vx-keep-watch")!=-1&&(e.editDefn=e.editDefn.replaceAll("vx-keep-watch",'vx-keep-watch-row-id="{{row[vxColSettings.primaryId]}}" vx-keep-watch-field="'+e.id+'" vx-keep-watch')),1==e.inlineEditValidation&&(n.vxConfig.invalidRows={},n.vxConfig.invalidRowFields={},_.each(n.vxConfig.vxData,function(e,t){var i=e[n.vxColSettings.primaryId];n.vxConfig.invalidRows[i]=!1,n.vxConfig.invalidRowFields[i]={}}),e.editDefn=e.editDefn.replaceAll("VX_INVALID_ROW","vxConfig.invalidRows[row[vxColSettings.primaryId]] == true"),e.editDefn=e.editDefn.replaceAll("VX_INVALID_FIELD_ROW","vxConfig.invalidRowFields[row[vxColSettings.primaryId]]."+e.id+" == true")))}),e=new Date,n.vxConfig.columnDefConfigs=n.calculateEffectiveWidths(n.vxConfig.columnDefConfigs),"undefined"!=typeof n.vxConfig.multiSelectionDependentCol&&null!=n.vxConfig.multiSelectionDependentCol&&n.vxConfig.multiSelectionDependentCol!={}&&""!=n.vxConfig.multiSelectionDependentCol&&(n.vxColSettings.multiSelColDependent=!0),"undefined"!=typeof n.vxConfig.xsRowTitleTemplate&&null!=n.vxConfig.xsRowTitleTemplate&&n.vxConfig.xsRowTitleTemplate!={}&&""!=n.vxConfig.xsRowTitleTemplate&&(n.vxColSettings.xsRowTitleTemplateAvailable=!0),1==n.vxConfig.inlineAddRowEnabled&&1!=n.vxConfig.hybrid&&("undefined"==typeof n.vxConfig.newRowTemplate||null==n.vxConfig.newRowTemplate||n.vxConfig.newRowTemplate=={}||""==n.vxConfig.newRowTemplate)){var v=angular.copy(n.vxConfig.data[0]);_.each(n.vxConfig.columnDefConfigs,function(e){switch(typeof n.vxConfig.newRowTemplate[e.id]){case"boolean":n.vxConfig.newRowTemplate[e.id]=!1;break;case"number":n.vxConfig.newRowTemplate[e.id]=0;break;case"string":n.vxConfig.newRowTemplate[e.id]="";break;default:n.vxConfig.newRowTemplate[e.id]=null}}),n.vxConfig.newRowTemplate=v}n.$watch("getWindowDimensions()",function(e,t){n.vxColSettings.xsViewEnabled=!1,n.vxConfig.columnDefConfigs=n.calculateEffectiveWidths(n.vxConfig.columnDefConfigs)},!0);s.bind("resize",function(){n.$apply()}),n.config.getVxCounts=function(){if("undefined"!=typeof n.vxConfig&&null!=n.vxConfig&&n.vxConfig!={}&&"undefined"!==n.vxConfig.id&&null!=n.vxConfig.id&&n.vxConfig.id!={}){var e={id:n.vxConfig.id,data:{vxAllDataLength:n.getAllRowLength(),vxFilteredDataLength:n.multiBoxFilters.length>0?1!=n.vxConfig.hybrid?n.vxConfig.vxFilteredData.length:n.vxConfig.vxData.length:0,vxSelectedDataLength:n.vxColSettings.multiSelected.length}};return e}},n.config.getAppliedFilters=function(){if("undefined"!=typeof n.vxConfig&&null!=n.vxConfig&&n.vxConfig!={}&&"undefined"!==n.vxConfig.id&&null!=n.vxConfig.id&&n.vxConfig.id!={}){var e=_.map(n.multiBoxFilters,function(e){return{column:e.col,label:e.label,key:e.key}});return e}},n.config.getData=function(){return n.vxConfig.data},n.config.getActiveDataSet=function(){return n.vxConfig.vxData},n.config.getFilteredDataSet=function(){return n.vxConfig.vxFilteredData},n.config.setRowFieldValidation=function(e,t,i){if("undefined"==typeof n.vxConfig.invalidRowFields[e]&&(n.vxConfig.invalidRows[e]=!1,n.vxConfig.invalidRowFields[e]={}),1==n.vxConfig.inlineEditSyncEnabled){var o=_.filter(n.vxColSettings.multiSelected,function(n){return 0==n.localeCompare(e)});"undefined"!=typeof o&&null!=o&&o.length>0&&_.each(n.vxColSettings.multiSelected,function(e){n.vxConfig.invalidRows[e]=!i,n.vxConfig.invalidRowFields[e][t]=!i})}n.vxConfig.invalidRows[e]=!i,n.vxConfig.invalidRowFields[e][t]=!i},n.config.getSelectedRows=function(){if(1==n.vxConfig.selectionAtMyRisk){n.vxColSettings.multiSelected=[];for(var e in n.vxColSettings.rowSelected)1==n.vxColSettings.rowSelected[e]&&"undefined"!=typeof e&&"undefined"!=e.toString()&&n.vxColSettings.multiSelected.push(e)}return n.vxColSettings.multiSelected},n.config.getRowsBeingEdited=function(){var e=[];if("undefined"!=typeof n.vxColSettings.inlineEditState&&null!=n.vxColSettings.inlineEditState)for(var t in n.vxColSettings.inlineEditState)1==n.vxColSettings.inlineEditState[t]&&e.push(t);return e},n.config.modifyRows=function(e,t){var i=[];return _.each(e,function(e){var o=e[n.vxColSettings.primaryId],l=_.find(n.vxConfig.vxData,function(e){return 0==e[n.vxColSettings.primaryId].localeCompare(o)}),r=_.find(n.vxConfig.data,function(e){return 0==e[n.vxColSettings.primaryId].localeCompare(o)});if("undefined"!=typeof l&&"undefined"!=typeof r){if("undefined"==typeof t||0==t.length)for(var d in e)0!=d.localeCompare(n.vxColSettings.primaryId)&&(l[d]=e[d],r[d]=e[d]);else t.length>0&&_.each(t,function(n){l[n]=e[n],r[n]=e[n]});i.push(r),1==n.vxConfig.hybrid&&n.hybridUpdateRows(i)}}),i},n.config.selectRows=function(e){var t=[];return _.each(e,function(e){var i=n.vxColSettings.rowSelected[e];if(("undefined"==typeof i||null==i||0==i)&&(n.vxColSettings.rowSelected[e]=!0,n.vxColSettings.multiSelected.push(e),t.push(e),1==n.vxConfig.hybrid)){var o=angular.element(document.getElementById("vx_row-sel_in_"+e));"undefined"!=typeof o&&null!=o&&o.length>0&&$(o).prop("checked",!0);var l=angular.element(document.getElementById("_vxMulLength"+n.vxConfig.id));"undefined"!=typeof l&&null!=l&&l.length>0&&$(l).text(d("vxNumberFixedLen")(n.vxColSettings.multiSelected.length,2))}}),t},n.config.deselectRows=function(e){var t=[];return _.each(e,function(e){var i=n.vxColSettings.rowSelected[e];if("undefined"!=typeof i&&1==i){if(n.vxColSettings.rowSelected[e]=!1,n.vxColSettings.multiSelected=_.reject(n.vxColSettings.multiSelected,function(n){0==e.localeCompare(n)}),t.push(e),1==n.vxConfig.hybrid){var o=angular.element(document.getElementById("vx_row-sel_in_"+e));"undefined"!=typeof o&&null!=o&&o.length>0&&$(o).prop("checked",!1)}if(1==n.vxConfig.hybrid){var l=angular.element(document.getElementById("_vxMulLength"+n.vxConfig.id));"undefined"!=typeof l&&null!=l&&l.length>0&&$(l).text(d("vxNumberFixedLen")(n.vxColSettings.multiSelected.length,2))}}}),t},n.config.sortByColumn=function(e,t){var i=_.find(n.vxConfig.columnDefConfigs,function(n){return 0==n.id.localeCompare(e)});"undefined"!=typeof i&&null!=i&&(n.vxConfig.sortPredicate=i.id,i.customSortEnabled?n.vxConfig.sortPredicateFn=i.customSortFn:n.vxConfig.sortPredicateFn=i.id,n.vxConfig.reverseSortDirection=t)},n.config.resetColumnFilters=function(e){_.each(e,function(e){n.vxColSettings.dropdDownLoaded[e]=!1,n.vxColSettings.colFilterPairs[e]={}})},n.config.removeRows=function(e){0==n.vxConfig.hybrid?(n.vxConfig.vxData=_.reject(n.vxConfig.vxData,function(t){return 1==_.contains(e,t[n.vxColSettings.primaryId])}),n.vxColSettings.multiSelected=_.difference(n.vxColSettings.multiSelected,e)):1==n.vxConfig.hybrid&&n.config.hybridDeleteRows(e)},n.buildFns(),n.config.changeRowClass=n.changeRowClass,n.$emit("vxGridSettingsBuilt",{id:n.vxConfig.id}),e=new Date;var g=null,x=null,C=48,p=n.vxConfig.latchExcess,S=0,m=!1,h=0;n.config.hybridDeleteRows=function(e){window.requestAnimFrame(function(){angular.forEach(e,function(e){var t=angular.element(document.getElementById(e));t.remove(),n.vxColSettings.inlineEditState[e]=!1,n.vxColSettings.rowSelected[e]=!1,n.vxColSettings.saveInProgress[e]=!1}),n._origData=_.reject(n._origData,function(t){return 1==_.contains(e,t[n.vxColSettings.primaryId])}),n.vxConfig.vxFilteredData=_.reject(n.vxConfig.vxFilteredData,function(t){return 1==_.contains(e,t[n.vxColSettings.primaryId])}),n.vxConfig.vxData=_.reject(n.vxConfig.vxData,function(t){return 1==_.contains(e,t[n.vxColSettings.primaryId])}),n.vxColSettings.multiSelected=_.difference(n.vxColSettings.multiSelected,e);var t=angular.element(document.getElementById("_vxMulLength"+n.vxConfig.id));"undefined"!=typeof t&&null!=t&&t.length>0&&$(t).text(d("vxNumberFixedLen")(n.vxColSettings.multiSelected.length,2)),n.$$phase||n.$apply()})},n.hybridUpdateRows=function(e){angular.forEach(e,function(e){var t=n.hybridGetRowTmpl(e),i=angular.element(document.getElementById(t.rowId));i.empty(),i.replaceWith(t.rowTmpl),t.compile&&f(i.contents())(n)})},n.resetHybridGrid=function(){S=0,m=!1,h=0,n.prepHybrid()},n.prepHybrid=function(){g=angular.element(document.getElementById("_vxHybrid"+n.vxConfig.id)),x=angular.element(document.getElementById("_vxScrollContainer"+n.vxConfig.id)),g.empty();var e=x.height(),t=Math.ceil(e/C)+p,i=_.first(n.vxConfig.vxFilteredData,t);n.appendRows(i),S+=t,x.on("scroll",function(){n.debPep()})},n.prepForScrollInsertion=function(){var e=g.height()-(x.height()+x.scrollTop());if(x.scrollTop()>h&&(e<0&&(e=0),e0&&$(r).text(d("vxNumberFixedLen")(n.vxColSettings.multiSelected.length,2)),"function"==typeof n.config.rowSelectionCallback&&n.config.rowSelectionCallback(o)}else n.rowSelectionChanged(t)}})})}},e=new Date,1==n.vxConfig.hybrid&&(e=new Date,n.vxConfig.vxFilteredData=n.vxConfig.vxData||[],o(n.prepHybrid,100))},n.editRow=function(e){if(1==n.vxConfig.inlineEditSyncEnabled&&n.vxColSettings.multiSelected.length>0){var t=_.filter(n.vxColSettings.multiSelected,function(n){return 0==n.localeCompare(e)});"undefined"!=typeof t&&null!=t&&t.length>0&&_.each(n.vxColSettings.multiSelected,function(e){n.vxColSettings.inlineEditState[e]=!0})}n.vxColSettings.inlineEditState[e]=!0},n.editInProgressCount=function(){var e=0;if("undefined"!=typeof n.vxColSettings.inlineEditState&&null!=n.vxColSettings.inlineEditState)for(var t in n.vxColSettings.inlineEditState)e=1==n.vxColSettings.inlineEditState[t]?e+1:e;return e},n.$on("vxInlineEditFieldChange",function(e,t){if(1==n.vxConfig.inlineEditSyncEnabled){var i=_.filter(n.vxColSettings.multiSelected,function(e){return 0==e.localeCompare(t.rowId)});"undefined"!=typeof i&&null!=i&&i.length>0&&_.each(n.vxColSettings.multiSelected,function(e){var i=_.find(n.vxConfig.vxData,function(t){return t[n.vxColSettings.primaryId]==e});"undefined"!=typeof i&&null!=i&&1==n.vxColSettings.inlineEditState[e]&&(i[t.field]=t.value)})}}),n.savingRows=function(e){var t=_.find(n.vxConfig.vxData,function(t){return t[n.vxColSettings.primaryId]==e});if("undefined"!=typeof t&&1==t.newRow)if(1==n.vxConfig.inlineSaveOverrideEnabled){n.vxColSettings.saveInProgress[e]=!0;var i=a.defer();i.promise.then(function(i){"undefined"!=typeof t.row&&1==i.save?(t.newRow=!1,_.each(n.vxConfig.columnDefConfigs,function(e){t[e.id]=i.row[e.id]})):n.vxConfig.data.unshift(t),n.vxColSettings.inlineEditState[e]="undefined"==typeof i.save||null==i.save||1!=i.save,n.$emit("vxGridRowSave",{id:n.vxConfig.id,data:t,save:!n.vxColSettings.inlineEditState[e]}),n.vxColSettings.saveInProgress[e]=!1},function(i){n.vxColSettings.saveInProgress[e]=!1,n.vxColSettings.inlineEditState[e]=!0,t.newRow=!0}),i.resolve(n.config.fnInlineSaveOverride(t,null))}else"undefined"!=typeof o?_.each(n.vxConfig.columnDefConfigs,function(e){o[e.id]=t[e.id]}):n.vxConfig.data.unshift(t),n.vxColSettings.inlineEditState[e]=!1,n.$emit("vxGridRowSaved",{id:n.vxConfig.id,data:t});else{var o=_.find(n.vxConfig.data,function(t){return t[n.vxColSettings.primaryId]==e});if("undefined"!=typeof t&&"undefined"!=typeof o&&1==n.vxConfig.inlineSaveOverrideEnabled){n.vxColSettings.saveInProgress[e]=!0;var i=a.defer();i.promise.then(function(i){"undefined"!=typeof i.row&&1==i.save&&_.each(n.vxColSettings.colWithInlineEdits,function(e){o[e]=i.row[e]}),n.vxColSettings.inlineEditState[e]="undefined"==typeof i.save||null==i.save||1!=i.save,n.$emit("vxGridRowSave",{id:n.vxConfig.id,data:t,save:!n.vxColSettings.inlineEditState[e]}),n.vxColSettings.saveInProgress[e]=!1},function(t){n.vxColSettings.saveInProgress[e]=!1,n.vxColSettings.inlineEditState[e]=!0}),i.resolve(n.config.fnInlineSaveOverride(t,o))}}},n.saveRow=function(e){var t=!1;if(1==n.vxConfig.inlineEditSyncEnabled){var i=_.filter(n.vxColSettings.multiSelected,function(n){return 0==n.localeCompare(e)});"undefined"!=typeof i&&null!=i&&i.length>0&&_.each(n.vxColSettings.multiSelected,function(e){n.savingRows(e),t=!0})}t||n.savingRows(e)},n.revertEdits=function(){if("undefined"!=typeof n.vxColSettings.multiSelected&&null!=n.vxColSettings.multiSelected&n.vxColSettings.multiSelected.length>0&&(_.each(n.vxColSettings.multiSelected,function(e){if(n.revertEditForRow(e),n.vxColSettings.rowSelected[e]=!1,1==n.vxConfig.hybrid){var t=angular.element(document.getElementById("vx_row-sel_in_"+e));"undefined"!=typeof t&&null!=t&&t.length>0&&$(t).prop("checked",!1)}}),n.vxColSettings.multiSelected=[],1==n.vxConfig.hybrid)){var e=angular.element(document.getElementById("_vxMulLength"+n.vxConfig.id));"undefined"!=typeof e&&null!=e&&e.length>0&&$(e).text(d("vxNumberFixedLen")(n.vxColSettings.multiSelected.length,2))}},n.revertEditForRow=function(e){var t=_.find(n.vxConfig.vxData,function(t){return t[n.vxColSettings.primaryId]==e});if("undefined"!=typeof t&&1==t.newRow){if(n.vxColSettings.inlineEditState[e]=!1,n.vxColSettings.rowSelected[e]=!1,1==n.vxConfig.hybrid){var i=angular.element(document.getElementById("vx_row-sel_in_"+e));"undefined"!=typeof i&&null!=i&&i.length>0&&$(i).prop("checked",!1)}if(n.vxColSettings.multiSelected=_.reject(n.vxColSettings.multiSelected,function(n){0==e.localeCompare(n)}),n.vxConfig.vxData=_.reject(n.vxConfig.vxData,function(t){return 0==t[n.vxColSettings.primaryId].localeCompare(e)}),n.$emit("vxGridRowEditRevert",{id:n.vxConfig.id,data:t}),1==n.vxConfig.hybrid){var o=angular.element(document.getElementById("_vxMulLength"+n.vxConfig.id));"undefined"!=typeof o&&null!=o&&o.length>0&&$(o).text(d("vxNumberFixedLen")(n.vxColSettings.multiSelected.length,2))}}else{var l=_.find(n.vxConfig.data,function(t){return t[n.vxColSettings.primaryId]==e});if("undefined"!=typeof t&&"undefined"!=typeof l){if(_.each(n.vxColSettings.colWithInlineEdits,function(e){t[e]=l[e]}),n.vxColSettings.inlineEditState[e]=!1,n.vxColSettings.rowSelected[e]=!1,1==n.vxConfig.hybrid){var i=angular.element(document.getElementById("vx_row-sel_in_"+e));"undefined"!=typeof i&&null!=i&&i.length>0&&$(i).prop("checked",!1)}if(n.vxColSettings.multiSelected=_.reject(n.vxColSettings.multiSelected,function(n){0==e.localeCompare(n)}),n.$emit("vxGridRowEditRevert",{id:n.vxConfig.id,data:l}),1==n.vxConfig.hybrid){var o=angular.element(document.getElementById("_vxMulLength"+n.vxConfig.id));"undefined"!=typeof o&&null!=o&&o.length>0&&$(o).text(d("vxNumberFixedLen")(n.vxColSettings.multiSelected.length,2))}}}},n.addNewRow=function(){n.vxConfig.sortPredicate="_vxCreated",n.vxConfig.sortPredicateFn="_vxCreated",n.vxConfig.reverseSortDirection=!0;var t=angular.copy(n.vxConfig.newRowTemplate),i=e();t[n.vxColSettings.primaryId]=i,t.newRow=!0,t._vxCreated=(new Date).getTime(),n.vxColSettings.inlineEditState[i]=!0,n.vxConfig.vxData.unshift(t)},n.deleteRows=function(){if("undefined"!=typeof n.vxColSettings.multiSelected&&null!=n.vxColSettings.multiSelected&n.vxColSettings.multiSelected.length>0)if(1==n.vxConfig.inlineDeleteOverrideEnabled){_.each(n.vxColSettings.multiSelected,function(e){n.vxColSettings.saveInProgress[e]=!0});var e=a.defer(),t=angular.copy(_.filter(n.vxConfig.vxData,function(e){return 1==_.contains(n.vxColSettings.multiSelected,e[n.vxColSettings.primaryId])}));e.promise.then(function(e){if(e.rows.length>0){var t=_.map(e.rows,function(e){return e[n.vxColSettings.primaryId]});if(n.vxConfig.vxData=_.reject(n.vxConfig.vxData,function(e){return 1==_.contains(t,e[n.vxColSettings.primaryId])}),n.$emit("vxGridRowsDeleted",{id:n.vxConfig.id,data:t}),_.each(t,function(e){n.vxColSettings.inlineEditState[e]=!1,n.vxColSettings.rowSelected[e]=!1,n.vxColSettings.saveInProgress[e]=!1}),n.vxColSettings.multiSelected=_.difference(n.vxColSettings.multiSelected,t),1==n.vxConfig.hybrid){var i=angular.element(document.getElementById("_vxMulLength"+n.vxConfig.id));"undefined"!=typeof i&&null!=i&&i.length>0&&$(i).text(d("vxNumberFixedLen")(n.vxColSettings.multiSelected.length,2))}}},function(e){}).then(function(){_.each(n.vxColSettings.multiSelected,function(e){n.vxColSettings.saveInProgress[e]=!1})}),e.resolve(n.config.fnInlineDeleteOverride(t))}else if(n.vxConfig.vxData=_.reject(n.vxConfig.vxData,function(e){return 1==_.contains(n.vxColSettings.multiSelected,e[n.vxColSettings.primaryId])}),n.$emit("vxGridRowsDeleted",{id:n.vxConfig.id,data:n.vxColSettings.multiSelected}),_.each(n.vxColSettings.multiSelected,function(e){n.vxColSettings.inlineEditState[e]=!1,n.vxColSettings.rowSelected[e]=!1}),n.vxColSettings.multiSelected=[],1==n.vxConfig.hybrid){var i=angular.element(document.getElementById("_vxMulLength"+n.vxConfig.id));"undefined"!=typeof i&&null!=i&&i.length>0&&$(i).text(d("vxNumberFixedLen")(n.vxColSettings.multiSelected.length,2))}},n.activatePage=function(e){n.vxColSettings.activePage=e,n.vxColSettings.vxPageStartPosition=e>0?e*n.vxConfig.pageLength:0,n.vxColSettings.allRowSelected=!1},n.debouncedSearch=_.debounce(function(){n.vxColSettings.xsSearch=angular.copy(n.vxColSettings.searchToken)},50),n.keyUpSearch=function(e){13==e.keyCode?n.vxColSettings.xsSearch=angular.copy(n.vxColSettings.searchToken):8==e.keyCode&&""==n.vxColSettings.searchToken&&(n.vxColSettings.xsSearch=angular.copy(n.vxColSettings.searchToken))},n.filtTokenChange=function(e){n.vxColSettings.filterSearchToken[e]=n.vxColSettings.enteredSearchToken[e],_.each(n.vxConfig.columnDefConfigs,function(n){n.id==e&&(n.filterLimit=10,u[e]=0)})},n.debFiltTokenChange=_.debounce(n.filtTokenChange,10),n.filterTokenChnagedRapid=function(e){""==n.vxColSettings.enteredSearchToken[e]?(_.each(n.vxConfig.columnDefConfigs,function(n){n.id==e&&(n.filterLimit=10,u[e]=0)}),n.vxColSettings.filterSearchToken[e]=""):n.debFiltTokenChange(e)},n.filterAssignVar=function(e){var t=angular.element(document.getElementById(e+"_searchfilters_"+n.vxConfig.id));"undefined"!=typeof t&&t.length>0&&(n.vxColSettings.filterSearchToken[e]=t[0].value,_.each(n.vxConfig.columnDefConfigs,function(n){n.id==e&&(n.filterLimit=10,u[e]=0)}))},n.isValidHeaderName=function(e,n){return 0==e.renderHeadDefn&&"undefined"!=typeof n&&null!=n&&""!=n},n.headerClick=function(e,t){var i=!0,l=$(t.target);if("undefined"!=typeof l&&null!=l&l.length>0){var r=l.closest("ul.dropdown-menu");"undefined"!=typeof r&&null!=r&r.length>0&&(i=!1)}if(0!=i){var d=n.selfEle.find(".vxTableScrollContainer"),a=(n.selfEle.find(".vxHeadRowCell .dropdown ul.dropdown-menu"),n.getWindowDimensions().h/2);_.each(n.selfEle.find(".vxHeadRowCell .dropdown ul.dropdown-menu"),function(e){ -var n=Math.min(Math.floor(d.height())-48,a);$(e).css("max-height",n+"px")}),_.each(n.vxConfig.columnDefConfigs,function(t){0!=t.id.localeCompare(e.id)&&(n.vxColSettings.dropdDownOpen[t.id]=!1)});var f=_.find(n.vxConfig.columnDefConfigs,function(n){return 0==n.id.localeCompare(e.id)});if("undefined"!=typeof f&&null!=f)if(0==n.vxColSettings.dropdDownEnabled[f.id])n.sortClick(e);else{n.vxColSettings.dropdDownLoaded[f.id]=!1,n.vxColSettings.dropdDownOpen[f.id]=!n.vxColSettings.dropdDownOpen[f.id];var c=_.filter(n.multiBoxFilters,function(e){return 0!=e.col.localeCompare(f.id)}),s=c.length>0,g=!1;"undefined"!=typeof n.vxColSettings.colFilterPairs[f.id]&&null!=n.vxColSettings.colFilterPairs[f.id]&&n.vxColSettings.colFilterPairs[f.id]!={}&&n.vxColSettings.colFilterPairs[f.id].length>0&&(g=!0),0==s&&1==g?(n.vxColSettings.dropdDownLoaded[f.id]=!0,_.each(n.vxColSettings.colFilterPairs[f.id],function(e){e.disabled=!1})):o(function(){if(f.idCollection=[],1==f.ddSort&&(n.vxColSettings.dropDownSort[f.id]=!0,f.idCollection.push(n.vxConfig.id+"_"+f.id+"_sort")),1==f.ddGroup&&1!=n.vxConfig.hybrid&&(n.vxColSettings.dropDownGroup[f.id]=!0,f.idCollection.push(n.vxConfig.id+"_"+f.id+"_group"),f.idCollection.push(n.vxConfig.id+"_"+f.id+"_ungroup")),1==f.ddFilters){if(f.idCollection.push(n.vxConfig.id+"_"+f.id+"_clearfilters"),f.idCollection.push(f.id+"_searchfilters_"+n.vxConfig.id),f.idCollection.push(f.id+"_invokesearchfilters_"+n.vxConfig.id),0==g){n.vxColSettings.dropDownFilters[f.id]=!0,n.vxColSettings.colFilterPairs[f.id]=[];var t=[],i=_.uniq(_.map(n.vxConfig.vxData,function(e){var n={value:e[f.id],type:""};return"undefined"!=typeof n.value&&null!=n.value&&n.value!={}&&"object"!=typeof n.value&&"number"!=typeof n.value&&"boolean"!=typeof n.value?n.value=n.value.trim():"boolean"==typeof n.value?n.value=n.value.toString().trim():"[object Date]"===Object.prototype.toString.call(n.value)&&(n.value=n.value.getTime(),n.type="date"),n}),function(e){return e.value});i=_.reject(i,function(e){return"undefined"==typeof e.value||e.value=={}}),_.each(i.sort(),function(e,i){var o=v(e,f.id,"col"),l=o.key,r=o.type,d=""===e.value||" "===e.value?"< blank >":e.value;d=null==e.value?" < null >":d;var a={key:l,label:e.value,name:d,col:f.id,type:r,disabled:!1,action:"filter"};"undefined"!=typeof f.filterCellDefn&&null!=f.filterCellDefn&&f.filterCellDefn!={}&&""!=f.filterCellDefn?(a.filterDefn=f.filterCellDefn.replaceAll("VX_DATA_POINT","filter.name"),a.filterDefnAvailable=!0):a.filterDefnAvailable=!1,t.push(a),f.idCollection.push(n.vxConfig.id+"_"+f.id+"_filter_"+i),n.vxColSettings.colFiltersStatus[l]=!1}),t=_.sortBy(t,"label"),_.each(t,function(e){n.vxColSettings.colFilterPairs[f.id].push(e)}),n.vxColSettings.filterSearchToken[f.id]="",n.vxColSettings.colFiltersActivated[f.id]=!1}else{var i=_.uniq(_.map(n.vxConfig.vxFilteredData,function(e){return"[object Date]"===Object.prototype.toString.call(e[f.id])?e[f.id].getTime():"[object Boolean]"===Object.prototype.toString.call(e[f.id])?e[f.id].toString():e[f.id]}));_.each(n.vxColSettings.colFilterPairs[f.id],function(e){1!=_.contains(i,e.label)?e.disabled=!0:e.disabled=!1})}if(1==s){var o=_.last(n.multiBoxFilters),i=_.uniq(_.map(n.vxConfig.vxFilteredData,function(e){return"[object Date]"===Object.prototype.toString.call(e[f.id])?e[f.id].getTime():"[object Boolean]"===Object.prototype.toString.call(e[f.id])?e[f.id].toString():e[f.id]}));0!=o.col.localeCompare(f.id)&&_.each(n.vxColSettings.colFilterPairs[f.id],function(e){1!=_.contains(i,e.label)?e.disabled=!0:e.disabled=!1})}u[f.id]=0,e.filterLimit=10;var l=angular.element(document.getElementById(n.vxConfig.id+"-dropdwon-menu-"+f.id));l.on("scroll",function(e){var t=f.id,i=$(e.target).scrollTop();i>u[t]&&(n.debouncedIncrementFilter(t),u[t]=i)})}n.vxColSettings.dropdDownLoaded[f.id]=!0},500)}}},n.debouncedIncrementFilter=_.throttle(c,500),n.sortClick=function(e){var t=_.find(n.vxConfig.columnDefConfigs,function(n){return 0==n.id.localeCompare(e.id)});"undefined"!=typeof t&&null!=t&&t.ddSort&&(0!=n.vxConfig.sortPredicate.localeCompare(t.id)&&(n.vxConfig.sortPredicate=t.id,t.customSortEnabled?n.vxConfig.sortPredicateFn=t.customSortFn:n.vxConfig.sortPredicateFn=t.id),n.vxColSettings.reverseSettings[t.id]=!n.vxColSettings.reverseSettings[t.id],n.vxConfig.reverseSortDirection=n.vxColSettings.reverseSettings[t.id],1==n.vxConfig.hybrid&&(n.vxConfig.vxFilteredData=_.sortBy(n.vxConfig.vxFilteredData,n.vxConfig.sortPredicateFn),1==n.vxConfig.reverseSortDirection&&n.vxConfig.vxFilteredData.reverse(),n.resetHybridGrid()))},n.getVisibleHeaderCounts=function(){return _.filter(n.vxConfig.columnDefConfigs,function(e){return 1!=e.hidden}).length},n.groupClick=function(e){if(n.clearFilters(),1!=n.vxColSettings.groupByColActivated[e.id]){n.vxConfig.sortPredicate=null;var t=[],i=e.id,o=e.columnName,l=_.uniq(_.pluck(n.vxConfig.vxData,i)),r=_.groupBy(_.sortBy(n.vxConfig.vxData,i),i);n.vxColSettings.groupKeys[i]=[],_.each(l,function(e){var l=v(e,i,"groupcol").key;if(n.vxColSettings.groupKeys[i].push(l),r[e].length>0){n.vxColSettings.groupPredicate[l]=!1;var d={type:"groupRow",colName:o,col:i,value:e,groupId:l,cellDefn:'
'};d.cellDefn=d.cellDefn.replaceAll("VX_ROW_POINT","vxColSettings.groupPredicate[row.groupId]"),t.push(d),t=_.union(t,r[e])}}),n.vxConfig.vxData=t,n.vxColSettings.groupByColActivated[e.id]=!0}},n.unGroupClick=function(e){if(n.clearFilters(),1==n.vxColSettings.groupByColActivated[e.id]){var t=_.find(n.vxConfig.columnDefConfigs,function(n){return 0==n.id.localeCompare(e.id)});"undefined"!=typeof t&&null!=t&&(n.vxConfig.sortPredicate=t.id,t.customSortEnabled?n.vxConfig.sortPredicateFn=t.customSortFn:n.vxConfig.sortPredicateFn=t.id),n.vxConfig.vxData=_.reject(n.vxConfig.vxData,function(e){return"undefined"!=typeof e.type&&null!=e.type&&0==e.type.localeCompare("groupRow")}),n.vxColSettings.groupByColActivated[e.id]=!1}},n.getAllRowLength=function(){if(n.config.noData)return 0;if(1==n.vxConfig.hybrid)return n._origData.length;var e=_.filter(n.vxConfig.vxData,function(e){return"undefined"==typeof e.type||null==e.type||0!=e.type.localeCompare("groupRow")||1==e.fillEmptyElement}).length;return e},n.removeGroupings=function(){_.each(n.vxConfig.columnDefConfigs,function(e){n.unGroupClick(e)}),n.vxColSettings.groupPredicate={}},n.groupSelectionChanged=function(e){n.emitArray=[];var t=n.vxColSettings.groupPredicate[e.groupId],i=_.filter(n.vxConfig.vxFilteredData,function(n){return"groupRow"!=n.type&&0==n[e.col].localeCompare(e.value)});if(_.each(i,function(e){if(0==n.vxColSettings.multiSelColDependent||1==n.vxColSettings.multiSelColDependent&&0==e[n.vxConfig.multiSelectionDependentCol]){var i=e[n.vxColSettings.primaryId];if(n.vxColSettings.rowSelected[i]!=t){n.vxColSettings.rowSelected[i]=t;({key:e[n.vxConfig.onSelectionReturnCol],value:n.vxColSettings.rowSelected[i],_pKey:i});n.emitArray.push(i),t?n.vxColSettings.multiSelected.push(i):n.vxColSettings.multiSelected=_.reject(n.vxColSettings.multiSelected,function(e){return 0==e.localeCompare(i)})}}}),1==n.vxConfig.hybrid){var o=angular.element(document.getElementById("_vxMulLength"+n.vxConfig.id));"undefined"!=typeof o&&null!=o&&o.length>0&&$(o).text(d("vxNumberFixedLen")(n.vxColSettings.multiSelected.length,2))}n.$emit("vxGridRwSelectionChange",{id:n.vxConfig.id,data:n.emitArray})},n.allRowSelectionChanged=function(){var e=n.vxColSettings.allRowSelected;if(1==e){if(_.each(n.vxConfig.vxFilteredData,function(t,i){var o=!0;if(1==n.vxConfig.pagination&&0==n.vxConfig.virtualization&&(i>=n.vxColSettings.vxPageStartPosition&&i0&&$(r).prop("checked",!0)}}}),_.each(n.vxConfig.columnDefConfigs,function(e){1==n.vxColSettings.dropDownGroup[e.id]&&1==n.vxColSettings.groupByColActivated[e.id]&&_.each(n.vxColSettings.groupKeys[e.id],function(e){n.vxColSettings.groupPredicate[e]=!0})}),n.vxColSettings.multiSelected=_.reject(n.vxColSettings.multiSelected,function(e){return"undefined"==typeof e||null==e||e=={}}),1==n.vxConfig.hybrid){var t=angular.element(document.getElementById("_vxMulLength"+n.vxConfig.id));"undefined"!=typeof t&&null!=t&&t.length>0&&$(t).text(d("vxNumberFixedLen")(n.vxColSettings.multiSelected.length,2))}n.$emit("vxGridRowAllSelectionChange",{id:n.vxConfig.id,data:{toggledTo:e,array:n.vxColSettings.multiSelected}})}else 0==e&&(n.clearSelection(),n.$emit("vxGridRowAllSelectionChange",{id:n.vxConfig.id,data:{toggledTo:e,array:n.vxColSettings.multiSelected}}));if(1==n.vxConfig.hybrid){var t=angular.element(document.getElementById("_vxMulLength"+n.vxConfig.id));"undefined"!=typeof t&&null!=t&&t.length>0&&$(t).text(d("vxNumberFixedLen")(n.vxColSettings.multiSelected.length,2))}},n.rowSelectionChanged=function(e){var t=e,i=_.find(n.vxConfig.vxData,function(t){return t[n.vxColSettings.primaryId]==e}),o={key:i[n.vxConfig.onSelectionReturnCol],value:n.vxColSettings.rowSelected[t],_pKey:t},l=!0;if(1==n.vxColSettings.rowSelected[t]&&1==n.vxColSettings.multiSelColDependent){l=!1;var r=n.vxConfig.multiSelectionDependentCol;if(1==i[r]&&0==n.vxColSettings.multiSelected.length)l=!0;else if(0==i[r]&&n.vxColSettings.multiSelected.length>=1){var a=n.vxColSettings.multiSelected[0],f=_.find(n.vxConfig.vxData,function(e){return 0==e[n.vxColSettings.primaryId].localeCompare(a)});"undefined"!=typeof f&&null!=f&&f!={}&&1==f[r]?(l=!1,n.vxColSettings.rowSelected[t]=!1):l=!0}else 0==i[r]?l=!0:n.vxColSettings.rowSelected[t]=!1}else 0==n.vxColSettings.rowSelected[t]&&(n.vxColSettings.multiSelected=_.reject(n.vxColSettings.multiSelected,function(e){return 0==e.localeCompare(t)}),l=!1,n.vxColSettings.allRowSelected=!1,n.$emit("vxGridRowSelectionChange",{id:n.vxConfig.id,data:o}));if(l){var c=_.find(n.vxColSettings.multiSelected,function(e){return 0==e.localeCompare(t)});"undefined"!=typeof c&&null!=c||n.vxColSettings.multiSelected.push(t),n.$emit("vxGridRowSelectionChange",{id:n.vxConfig.id,data:o}),0==n.vxConfig.multiSelectionEnabled&&(_.each(n.vxColSettings.multiSelected,function(e){0!=e.localeCompare(t)&&(n.vxColSettings.rowSelected[e]=!1)}),n.vxColSettings.multiSelected=_.reject(n.vxColSettings.multiSelected,function(e){return 0!=e.localeCompare(t)}))}if(1==n.vxConfig.hybrid){var v=angular.element(document.getElementById("_vxMulLength"+n.vxConfig.id));"undefined"!=typeof v&&null!=v&&v.length>0&&$(v).text(d("vxNumberFixedLen")(n.vxColSettings.multiSelected.length,2))}},n.filterClick=function(e,t){0==n.vxConfig.preserveSelectionOnFilters&&n.clearSelection();var i=n.vxColSettings.colFiltersStatus[t.key];if(0==i){n.multiBoxFilters=_.reject(n.multiBoxFilters,function(e){return 0==e.key.localeCompare(t.key)});var o=_.find(n.multiBoxFilters,function(e){return 0==e.col.localeCompare(t.col)});"undefined"!=typeof o&&null!=o&&o!={}&&0!=o.length||(n.vxColSettings.colFiltersActivated[e.id]=!1)}else{var l=_.find(n.multiBoxFilters,function(e){return 0==e.key.localeCompare(t.key)});"undefined"!=typeof l&&null!=l&&l!={}||n.multiBoxFilters.push(t),n.vxColSettings.colFiltersActivated[e.id]=!0}1==n.vxConfig.hybrid&&(n.vxConfig.vxFilteredData=d("vxGridMultiBoxFilters")(n._origData,n.multiBoxFilters),n.resetHybridGrid())},n.filterClearClick=function(e){if(1==n.vxColSettings.colFiltersActivated[e.id]){n.clearSelection();var t=_.filter(n.multiBoxFilters,function(n){return 0==n.col.localeCompare(e.id)});t.length>0&&_.each(t,function(e){n.vxColSettings.colFiltersStatus[e.key]=!1}),n.multiBoxFilters=_.reject(n.multiBoxFilters,function(n){return 0==n.col.localeCompare(e.id)}),n.vxColSettings.colFiltersActivated[e.id]=!1,n.vxColSettings.filterSearchToken[e.id]=""}if(""!=n.vxColSettings.filterSearchToken[e.id]){n.vxColSettings.filterSearchToken[e.id]="";var i=angular.element(document.getElementById(e.id+"_searchfilters_"+n.vxConfig.id));"undefined"!=typeof i&&i.length>0&&(i[0].value="")}1==n.vxConfig.hybrid&&(n.vxConfig.vxFilteredData=d("vxGridMultiBoxFilters")(n._origData,n.multiBoxFilters),n.resetHybridGrid())},n.clearFilters=function(){n.multiBoxFilters.length>0&&_.each(n.vxConfig.columnDefConfigs,function(e){n.filterClearClick(e)}),n.multiBoxFilters=[]},n.selectAllFiltered=function(){n.vxColSettings.multiSelected.length>0&&n.clearSelection(),n.emitArray=[];var e="";1!=n.vxConfig.hybrid?e="vxFilteredData":(n.vxConfig.hybrid=!0)&&(e="vxFilteredData"),_.each(n.vxConfig[e],function(e){if(0==n.vxColSettings.multiSelColDependent||1==n.vxColSettings.multiSelColDependent&&0==e[n.vxConfig.multiSelectionDependentCol]){if(n.vxColSettings.rowSelected[e[n.vxColSettings.primaryId]]=!0,1==n.vxConfig.hybrid){var t=angular.element(document.getElementById("vx_row-sel_in_"+e[n.vxColSettings.primaryId]));"undefined"!=typeof t&&null!=t&&t.length>0&&$(t).prop("checked",!0)}var i=e[n.vxColSettings.primaryId],o={key:e[n.vxConfig.onSelectionReturnCol],value:n.vxColSettings.rowSelected[i],_pKey:i};if(n.emitArray.push(o),1==n.vxColSettings.rowSelected[i]){var l=_.find(n.vxColSettings.multiSelected,function(e){return 0==e.localeCompare(i)});"undefined"!=typeof l&&null!=l||n.vxColSettings.multiSelected.push(i)}}}),n.$emit("vxGridRowMultiSelectionChange",{id:n.vxConfig.id,data:n.emitArray})},n.clearSelection=function(){if(n.emitArray=[],_.each(n.vxColSettings.multiSelected,function(e){if(n.vxColSettings.rowSelected[e]=!1,1==n.vxConfig.hybrid){var t=angular.element(document.getElementById("vx_row-sel_in_"+e));"undefined"!=typeof t&&null!=t&&t.length>0&&$(t).prop("checked",!1)}var i=_.find(n.vxConfig.vxData,function(t){return"groupRow"!=t.type&&0==t[n.vxColSettings.primaryId].localeCompare(e)});if("undefined"!=typeof i&&null!=i){var o={key:i[n.vxConfig.onSelectionReturnCol],value:n.vxColSettings.rowSelected[e],_pKey:e};n.emitArray.push(o)}n.vxColSettings.multiSelected=[],n.vxColSettings.allRowSelected=!1,_.each(n.vxConfig.columnDefConfigs,function(e){1==n.vxColSettings.dropDownGroup[e.id]&&1==n.vxColSettings.groupByColActivated[e.id]&&_.each(n.vxColSettings.groupKeys[e.id],function(e){n.vxColSettings.groupPredicate[e]=!1})})}),1==n.vxConfig.hybrid){var e=angular.element(document.getElementById("_vxMulLength"+n.vxConfig.id));"undefined"!=typeof e&&null!=e&&e.length>0&&$(e).text(d("vxNumberFixedLen")(n.vxColSettings.multiSelected.length,2))}n.$emit("vxGridRowMultiSelectionChange",{id:n.vxConfig.id,data:n.emitArray})},n.upDownKeyDownHandlerHeaderMenu=function(e,t){if(40==e.keyCode||27==e.keyCode)if(40==e.keyCode){var i=$(e.target).siblings().find('[tabindex="0"]');i.length>0&&$(i[0]).focus()}else if(27==e.keyCode&&1==n.vxColSettings.dropdDownOpen[t]){n.vxColSettings.dropdDownOpen[t]=!1;var o=$(e.target).closest(".dropdown").find("button");o&&o.length>0&&$(o).focus()}},n.findIdToBeFocussed=function(e,n,t){var i=e;if(t)for(i+1==n.length&&(i=-1);i<=n.length;){var o=$("#"+n[i+1]);if($(o).is('[tabindex="0"]'))return n[i+1];i+=1}else if(!t)for(0==i&&(i=n.length);i>=1;){var o=$("#"+n[i-1]);if($(o).is('[tabindex="0"]'))return n[i-1];i-=1}return e},n.findFocussable=function(e,t,i){var o=$(e).attr("id"),l=_.find(n.vxConfig.columnDefConfigs,function(e){return e.id==t});if("undefined"!=typeof l&&null!=l){var r=l.idCollection,d=_.indexOf(r,o);return d!=-1&&d!=r.length&&1==i?n.findIdToBeFocussed(d,r,!0):d!=-1&&0==i?n.findIdToBeFocussed(d,r,!1):null}},n.shiftKeyPressed=!1,n.upDowKeyUpHandlerHeaderMenuItems=function(e,t){16==e.keyCode&&(n.shiftKeyPressed=!1)},n.upDowKeyDownHandlerHeaderMenuItems=function(e,t){var i=!1;if(16==e.keyCode&&(n.shiftKeyPressed=!0),40!=e.keyCode&&38!=e.keyCode&&27!=e.keyCode&&9!=e.keyCode)return!1;if(40==e.keyCode||9==e.keyCode&&0==n.shiftKeyPressed){var o=n.findFocussable($(e.target),t,!0);$("#"+o).is('[tabindex="0"]')&&$("#"+o).focus(),i=!0}else if(38==e.keyCode||9==e.keyCode&&1==n.shiftKeyPressed){var o=n.findFocussable($(e.target),t,!1);null==o?$(e.target).closest(".dropdown").find("button").focus():$("#"+o).is('[tabindex="0"]')&&$("#"+o).focus(),i=!0}else if(27==e.keyCode&&1==n.vxColSettings.dropdDownOpen[t]){n.vxColSettings.dropdDownOpen[t]=!1;var l=$(e.target).closest(".dropdown").find("button");l&&l.length>0&&$(l).focus()}i&&(e.stopPropagation(),e.preventDefault())},n.openManageColumns=function(){var e=t.open({templateUrl:"template/vx-grid/vx-grid-manage-columns-modal.html",windowClass:"vxGridManageColMod",controller:["$scope","$uibModalInstance","originalSettings",function(e,n,t){e.headerSelected=null,e.headerSelectedForVisChange=null,e.copyForWidthVisChange=t,_.each(e.copyForWidthVisChange,function(e,n){e.order=n,e.chars=Math.ceil((e.width-20)/7),e.selected=!1}),e.swapAbove=function(n){if(0==n.locked){var t=n.order,i=n.order,o=!0;do{i-=1,o=!0;var l=_.find(e.copyForWidthVisChange,function(e){return e.order==i&&0==e.orderLocked});"undefined"!=typeof l&&null!=l&&l!={}||(o=!1)}while(!o&&i>=0);if(o&&i>=0){var l=_.find(e.copyForWidthVisChange,function(e){return e.order==i&&0==e.orderLocked});"undefined"!=typeof l&&null!=l&&l!={}&&(l.order=t,n.order=i)}}},e.swapBelow=function(n){if(0==n.locked){var t=n.order,i=n.order,o=!0;do{i+=1,o=!0;var l=_.find(e.copyForWidthVisChange,function(e){return e.order==i&&0==e.orderLocked});"undefined"!=typeof l&&null!=l&&l!={}||(o=!1)}while(!o&&i<=e.copyForWidthVisChange.length-1);if(o&&i<=e.copyForWidthVisChange.length-1){var l=_.find(e.copyForWidthVisChange,function(e){return e.order==i&&0==e.orderLocked});"undefined"!=typeof l&&null!=l&&l!={}&&(l.order=t,n.order=i)}}},e.makeVisible=function(n){var t=_.find(e.copyForWidthVisChange,function(e){return 0==e.id.localeCompare(n.id)});"undefined"!=typeof t&&null!=t&&t!={}&&0==t.visbilityLocked&&(t.hidden=!1)},e.makeHidden=function(n){var t=_.find(e.copyForWidthVisChange,function(e){return 0==e.id.localeCompare(n.id)});"undefined"!=typeof t&&null!=t&&t!={}&&0==t.visbilityLocked&&(t.hidden=!0)},e.saveChangeInConfig=function(){var t=[];t=_.sortBy(e.copyForWidthVisChange,function(n){var t=_.find(e.copyForWidthVisChange,function(e){return 0==e.id.localeCompare(n.id)});return"undefined"!=typeof t&&null!=t&&t!={}?t.order:1}),n.close(t)},e.widthChanged=function(e){e.width=Math.ceil(7*e.chars)+20},e.selectHeader=function(n){1!=n.locked&&(n.selected=!n.selected,_.each(e.copyForWidthVisChange,function(e){0!=e.id.localeCompare(n.id)&&(e.selected=!1)}),1==n.selected?e.headerSelected=n:e.headerSelected=null)},e.cancelChangeInConfig=function(){n.dismiss()},e.upDownKeyPressHandler=function(n){var t=!1;38!=n.keyCode&&40!=n.keyCode||(t=e.upDownMovement(n)),t&&(n.stopPropagation(),n.preventDefault())},e.upDownMovement=function(e){var n=!1;if(38==e.keyCode){var t=$(e.target).prev();t.length>0&&$(t[0]).attr("tabindex")!=-1&&$(t)[0].focus(),n=!0}else if(40==e.keyCode){var t=$(e.target).next();t.length>0&&$(t[0]).attr("tabindex")!=-1&&$(t)[0].focus(),n=!0}return n}}],backdrop:"static",resolve:{originalSettings:function(){return angular.copy(n.vxConfig.columnDefConfigs)}}});e.result.then(function(e){e=n.calculateEffectiveWidths(e),n.vxConfig.columnDefConfigs=e,1==n.vxConfig.hybrid&&n.resetHybridGrid(),n.$emit("vxGridSettingsChanged",{id:n.vxConfig.id,data:e})},function(e){})},n.calculateEffectiveWidths=function(e){var t=_.reduce(e,function(e,n){var t=0;return 0==n.hidden&&(t=parseInt(n.width)),e+t},0),i=n.selfEle.find(".vxTableScrollContainer").width(),o=0;return _.each(e,function(e){if(i>t){var n=parseInt(e.width)/t*(i-t);e.effectiveWidth=parseInt(e.width)+n}else e.effectiveWidth=e.width;e.effectiveWidth=Math.floor(e.effectiveWidth),o+=e.effectiveWidth}),e},n.openJsonEditor=function(){var e=t.open({templateUrl:"template/vx-grid/vx-grid-json-editor-modal.html",windowClass:"vxGridManageColMod",controller:["$scope","$modalInstance","griddata",function(e,n,t){e.data=angular.copy(t),e.changeData=[],e.configuration={editable:!0,viewButtonClass:"btn-info",editButtonClass:"btn-success"},e.jsonOptions={mode:"code",modes:["tree","form","code","text"],history:!1},e.onChangeJSON=function(n){e.changeData=n},e.saveChangeInConfig=function(){n.close(e.changeData)},e.cancelChangeInConfig=function(){n.dismiss()}}],backdrop:"static",resolve:{griddata:function(){return angular.copy(n.vxConfig.vxData)}}});e.result.then(function(e){n.vxConfig.vxData=e,n.$emit("vxGridDataChanged",{id:n.vxConfig.id,data:e})},function(e){})},n.revealWrapToggle=function(){n.vxColSettings.revealWrapRowData=!n.vxColSettings.revealWrapRowData},n.xsReset=function(){n.vxColSettings.xsSearch=""},n.justScrollTop=function(){var e=n.selfEle.find(".vxTableContainer.scrollTableContainer");o(function(){$(e).animate({scrollTop:0},500)},10)},n.justScrollDown=function(){var e=n.selfEle.find(".vxTableContainer.scrollTableContainer"),t=$(e).scrollTop()||0;0==n.vxConfig.hybrid?o(function(){$(e).animate({scrollTop:t+96},33)},10):1==n.vxConfig.hybrid&&(n.prepForScrollInsertion(),o(function(){$(e).animate({scrollTop:t+100},300)},10))},n.showScrollDownArrow=function(){var e=n.selfEle.find(".vxTableContainer.scrollTableContainer"),t=n.selfEle.find(".scrollTableContainer table.vxTable");return"undefined"!=typeof e&&"undefined"!=typeof t&&null!=e&&null!=t&&t.height()>e.height()},n.showScrollUpArrow=function(){var e=n.selfEle.find(".vxTableContainer.scrollTableContainer"),t=n.selfEle.find(".scrollTableContainer table.vxTable");return"undefined"!=typeof e&&"undefined"!=typeof t&&null!=e&&null!=t&&t.height()>e.height()&&e.scrollTop()>48},n.outsideHeader=function(e){1==n.vxColSettings.dropdDownOpen[e.id]&&(n.vxColSettings.dropdDownOpen[e.id]=!1,n.$$phase||n.$apply())},n.$on("vsRepeatCollectionPartiallyRendered",function(e,t){n.$emit("vxPartiallyRendered",{id:n.vxConfig.id,data:t}),1==n.vxConfig.selectAllOnRenderAll&&(n.vxColSettings.selectAllEnabled=!1,n.$emit("vxPartiallyRenderedSelectAllDisabled",{id:n.vxConfig.id,data:t}))}),n.$on("vsRepeatCollectionCompletelyRendered",function(e,t){n.$emit("vxCompletelyRendered",{id:n.vxConfig.id,data:t}),1==n.vxConfig.selectAllOnRenderAll&&(n.vxColSettings.selectAllEnabled=!0,n.$emit("vxCompletelyRenderedSelectAllEnabled",{id:n.vxConfig.id,data:t}))}),n.buildFns=function(){var e=["openJsonEditor","openManageColumns","resetVxInstance","clearFilters","selectAllFiltered","clearSelection","revealWrapToggle"];_.each(e,function(e){var t="vxGrid"+e.capitalizeFirstLetter(),i=e+"()";n.$on(t,function(e,t){0==t.id.localeCompare(n.vxConfig.id)&&n.$eval(i)}),n.config[e]=function(){n.$eval(i)}})},n.$on("vxGridChangeRowClass",function(e,t){0==t.id.localeCompare(n.vxConfig.id)&&n.changeRowClass(t.data)}),n.changeRowClass=function(e){for(var t in e)n.vxColSettings.vxRowClass[t]=e[t];"$apply"!=n.$root.$$phase&&"$digest"!=n.$root.$$phase&&n.$apply()},n.$on("vxGridResetRowClass",function(e,t){0==t.id.localeCompare(n.vxConfig.id)&&(n.vxColSettings.vxRowClass={})}),n.$on("vxGridDisableRowSelection",function(e,t){0==t.id.localeCompare(n.vxConfig.id)&&_.each(t.data,function(e){n.vxColSettings.vxRowSelectionDisable[e.key]=e.value})}),n.$on("vxGridResetDisableRowSelection",function(e,t){if(0==t.id.localeCompare(n.vxConfig.id))for(var i in n.vxColSettings.vxRowSelectionDisable)n.vxColSettings.vxRowSelectionDisable[i]=!1})}],replace:!0,templateUrl:"template/vx-grid/vx-grid.html",link:function(e,n,t){e.selfEle=n,e.$watchCollection("config.data",function(n){n=n||[];var t=new Date;"undefined"!=typeof n&&0==n.length?(n=[{fillEmptyElement:!0}],e.config.noData=!0,1==e.config.hybrid&&"undefined"!=typeof e.vxConfig&&angular.element(document.getElementById("_vxHybrid"+e.vxConfig.id)).empty()):e.config.noData=!1,1==e.config.hybrid?(e.config.vxData=_.clone(n),e._origData=_.clone(n)):e.config.vxData=angular.copy(n),t=new Date,delete e.vxConfig,e.resetVxInstance()}),1!=e.config.hybrid&&e.$watchCollection("vxConfig.vxFilteredData",function(n){n.length>=0&&1==e.vxConfig.pagination&&(e.vxColSettings.pages=_.range(Math.ceil(n.length/parseInt(e.vxConfig.pageLength))),e.vxColSettings.vxPageEnabled=e.vxColSettings.pages.length>1,e.vxColSettings.activePage=0,e.vxColSettings.vxPageStartPosition=0)}),e.getvxTableContainerWidth=function(){var n=0;return _.each(e.vxConfig.columnDefConfigs,function(e){0==e.hidden&&(n+=e.effectiveWidth)}),e.vxConfig.totalWidth=n+"px",e.vxConfig.totalWidth},e.getNonHiddenColCount=function(){var n=1;return"undefined"!=typeof e.vxConfig.columnDefConfigs&&e.vxConfig.columnDefConfigs.length>0&&(n=_.filter(e.vxConfig.columnDefConfigs,function(e){return 0==e.hidden}).length),n}}}}).directive("vxCompile",["$compile",function(e){return function(n,t,i){n.$watch(function(e){return e.$eval(i.vxCompile)},function(i){t.html(i),e(t.contents())(n)})}}]).directive("vxCompileCloneLink",["$compile",function(e){var n={},t={};return function(i,o,l){var r=null;l.vxCompileCloneLink in n?r=t[l.vxCompileCloneLink]:(t[l.vxCompileCloneLink]=i.$eval(l.vxCompileCloneLink),r=t[l.vxCompileCloneLink]);var d=null;r in n?d=n[r]:(n[r]=e(r),d=n[r]),d(i,function(e,n){o.append(e)})}}]).directive("vxEditFocusDisable",["$rootScope","$parse",function(e,n){var t={},i={},o=["input","select","button","textarea","object"];return{restrict:"AEC",link:function(e,l,r){var d=(n(r.vxEditFocusDisable),$(l).attr("id"));e.$watch(r.vxEditFocusDisable,function(e){if(e){i[d]={available:!0,stack:[]},_.each(o,function(e){var n=$(l).find(e);n.length>0&&_.each(n,function(e){var n=$(e).attr("id");"undefined"!=typeof n&&null!=n&&""!=n||($(e).attr("id",_.uniqueId("elemid")),n=$(e).attr("id")),i[d].stack.push(n)})});var n=$(l).find("[tabindex]");n.length>0&&_.each(n,function(e){var n=$(e).attr("tabindex");if(n!=-1&&0==_.contains(o,e.nodeName.toUpperCase())&&0==_.contains(i[d].stack,t)){var t=$(e).attr("id");"undefined"!=typeof t&&null!=t&&""!=t||($(e).attr("id",_.uniqueId("elemid")),t=$(e).attr("id")),i[d].stack.push(t)}}),_.each(i[d].stack,function(e){t[e]=$("#"+e).attr("tabindex")||0,$("#"+e).attr("tabindex",-1)})}else 0==e&&"undefined"!=typeof i[d]&&"undefined"!=typeof i[d].available&&1==i[d].available&&(_.each(i[d].stack,function(e){var n=t[e];$("#"+e).attr("tabindex",n)}),i[d].available=!1)})}}}]).directive("axKey",["$rootScope","$parse",function(e,n){return{restrict:"A",compile:function(t,i){var o=n(i.axKey);return function(n,t){function l(t){var i=function(){o(n,{$event:t})};e.$$phase?n.$evalAsync(i):n.$apply(i)}t.attr("role")||t.attr("role","button"),t.attr("tabindex")||t.attr("tabindex",0);var r=[],d=0;r.push(n.$watch(i.axDisabled||i.ngDisabled,function(e){e?(d=t.attr("tabindex"),t.attr("tabindex",-1),t.attr("aria-disabled",!0)):(t.attr("tabindex",0),t.attr("aria-disabled",!1))})),t.on("click",function(e){n.$eval(i.axDisabled)||n.$eval(i.ngDisabled)||l(e)}),t.on("keyup",function(e){n.$eval(i.axDisabled)||n.$eval(i.ngDisabled)||13!=e.keyCode&&32!=e.keyCode||l(e)}),n.$on("$destroy",function(){for(;r.length;)r.shift()()})}}}}]).directive("vxKeepWatch",function(){return{restrict:"AEC",link:function(e,n,t){var i=t.vxKeepWatch,o=!1;e.$watch(t[i],function(n){o?e.$emit("vxInlineEditFieldChange",{field:t.vxKeepWatchField,value:n,rowId:t.vxKeepWatchRowId}):o=!0})}}}).filter("vxGridMultiBoxFilters",function(){return function(e,n){if("undefined"!=typeof n&&null!=n&&n.length>0){var t=e,i=e,o=_.groupBy(n,"col");for(var l in o){var r=o[l],d=[];_.each(r,function(e){d=_.union(d,_.filter(i,function(n){return"undefined"!=typeof e.label&&null!=e.label&&e.label!={}&&"undefined"!=typeof n[e.col]&&null!=n[e.col]&&n[e.col]!={}?"date"==e.type?"undefined"!=typeof n[e.col]&&n[e.col]!={}&&null!=n[e.col]&&""!=n[e.col]&&n[e.col].getTime()==e.label:"object"==e.type?0==JSON.stringify(n[e.col]).localeCompare(JSON.stringify(e.label)):0==n[e.col].toString().trim().localeCompare(e.label):n[e.col]==e.label}))}),t=_.intersection(t,d)}return t}return e}}).directive("clickOutsideHeader",["$document","$parse",function(e,n){return{restrict:"A",link:function(t,i,o){var l=void 0!==o.outsideIfNot?o.outsideIfNot.replace(", ",",").split(","):[];void 0!==o.id&&l.push(o.id);var r=n(o.clickOutsideHeader);e.on("click",function(e){try{var n=$(e.target).closest("th.vxHeadRowCell");"undefined"!=typeof n&&null!=n&&0!=n.length||t.$eval(o.checkClickOutside)&&t.$eval(r)}catch(e){}})}}}]).filter("vxNumberFixedLen",function(){return function(e,n){var t=parseInt(e,10);if(n=parseInt(n,10),isNaN(t)||isNaN(n))return e;for(t=""+t;t.length
',inlineEditOnColumnEnabled:!1};n.vxConfig.columnDefConfigs.unshift(a)}_.each(n.vxConfig.vxData,function(e,t){var i=e[n.vxColSettings.primaryId];n.vxColSettings.inlineEditState[i]=n.config.allRowsInDefaultEdit||!1})}if(e=new Date,1==n.vxConfig.selectionEnabled){var r=_.find(n.vxConfig.columnDefConfigs,function(e){return 0==e.id.localeCompare("checkbox")});if("undefined"==typeof r||null==r||r=={}){var a={id:"checkbox",columnName:"Row Selection",columnIsRowSelect:!0,renderDefn:!0,renderHeadDefn:!0,ddSort:!1,ddGroup:!1,ddFilters:!1,width:"50",locked:!0,headTabIndex:-1,headerDefn:'
',cellDefn:'
{{::row[vxConfig.ariaPrimary]}}'};n.vxConfig.columnDefConfigs.unshift(a)}_.each(n.vxConfig.vxData,function(e,t){var i=e[n.vxColSettings.primaryId];n.vxColSettings.rowSelected[i]=!1,n.vxColSettings.vxRowSelectionDisable[i]=!1})}e=new Date,n.multiBoxFilters=[];var c=[{prop:"enableDropdownsInHeader",defValue:!1},{prop:"selectionEnabled",defValue:!1},{prop:"selectionAtMyRisk",defValue:!1},{prop:"preserveSelectionOnFilters",defValue:!1},{prop:"multiSelectionEnabled",defValue:!1},{prop:"showGridStats",defValue:!1},{prop:"showGridOptions",defValue:!1},{prop:"selectAllOnRenderAll",defValue:!1},{prop:"virtualization",defValue:!0},{prop:"pagination",defValue:!1},{prop:"pageLength",defValue:20},{prop:"data",defValue:[]},{prop:"vxFilteredData",defValue:[]},{prop:"xsRowTitleTemplate",defValue:'
{{row[vxColSettings.primaryId]}}
'},{prop:"inlineAddRowEnabled",defValue:!1},{prop:"inlineEditSyncEnabled",defValue:!1},{prop:"inlineDeletingEnabled",defValue:!1},{prop:"inlineSaveOverrideEnabled",defValue:!1},{prop:"inlineDeleteOverrideEnabled",defValue:!1},{prop:"allRowsInDefaultEdit",defValue:!1},{prop:"jsonEditorEnabled",defValue:!1},{prop:"allRowsSelectionEnabled",defValue:!1},{prop:"sortPredicate",defValue:n.vxColSettings.primaryId},{prop:"sortPredicateFn",defValue:n.vxColSettings.primaryId},{prop:"reverseSortDirection",defValue:!1},{prop:"emptyFill",defValue:"No records to display ..."},{prop:"caption",defValue:"sample vx grid table caption"},{prop:"loaderGifSrc",defValue:"/resource/loaderWhite36.GIF"},{prop:"ariaPrimary",defValue:n.vxColSettings.primaryId},{prop:"xsTemplate",defValue:!1},{prop:"bindOnce",defValue:!1},{prop:"hybrid",defValue:!1},{prop:"latchExcess",defValue:5}];if(_.each(c,function(e){"undefined"!==n.vxConfig[e.prop]&&null!=n.vxConfig[e.prop]&&n.vxConfig[e.prop]!={}||(n.vxConfig[e.prop]=e.defValue)}),n.vxColSettings.vxRowClass=n.vxConfig.initialRowClasses||{},n.getWindowDimensions().w<768&&(n.vxColSettings.xsViewEnabled=n.vxConfig.xsTemplate,n.vxConfig.latchExcess=5),e=new Date,n.vxColSettings.selectAllOnRenderAll=n.vxConfig.selectAllOnRenderAll,_.each(n.vxConfig.columnDefConfigs,function(e){var t=[{prop:"renderDefn",defValue:!1},{prop:"renderHeadDefn",defValue:!1},{prop:"ddSort",defValue:!1},{prop:"ddGroup",defValue:!1},{prop:"ddFilters",defValue:!1},{prop:"ddFiltersWithSearch",defValue:!1},{prop:"dropDownEnabled",defValue:!1},{prop:"hidden",defValue:!1},{prop:"xsHidden",defValue:!1},{prop:"locked",defValue:!1},{prop:"primary",defValue:!1},{prop:"width",defValue:"200"},{prop:"headerDefn",defValue:""},{prop:"cellDefn",defValue:""},{prop:"filterCellDefn",defValue:""},{prop:"inlineEditOnColumnEnabled",defValue:!1},{prop:"inlineEditValidation",defValue:!1},{prop:"editDefn",defValue:null},{prop:"editDefnTemplate",defValue:null},{prop:"headTabIndex",defValue:0},{prop:"columnIsRowSelect",defValue:!1},{prop:"columnIsDate",defValue:!1},{prop:"columnDatePipe",defValue:"dd/MM/yyyy"},{prop:"renderHybridCellDefn",defValue:!1},{prop:"hybridCompile",defValue:!1},{prop:"filterLimit",defValue:10},{prop:"scopeIsRow",defValue:!1}];_.each(t,function(n){"undefined"!==e[n.prop]&&null!=e[n.prop]&&e[n.prop]!={}||(e[n.prop]=n.defValue)}),e.effectiveWidth=e.width,e.idCollection=[];var i=[{prop:"orderLocked",defValue:!1},{prop:"widthLocked",defValue:!1},{prop:"visbilityLocked",defValue:!1}];_.each(i,function(n){"undefined"===e[n.prop]||null==e[n.prop]||e[n.prop]=={}?e[n.prop]=e.locked:e[n.prop]=e.locked||e[n.prop]}),n.vxColSettings.reverseSettings[e.id]=!1,"undefined"!=typeof e.dropDownEnabled&&null!=e.dropDownEnabled&&1==e.dropDownEnabled&&1==n.vxConfig.enableDropdownsInHeader?n.vxColSettings.dropdDownEnabled[e.id]=!0:n.vxColSettings.dropdDownEnabled[e.id]=!1,n.vxColSettings.dropdDownLoaded[e.id]=!1,n.vxColSettings.dropdDownOpen[e.id]=!1,"undefined"!=typeof e.renderDefn&&null!=e.renderDefn&&e.renderDefn!={}&&1==e.renderDefn&&(e.cellDefn=e.cellDefn.replaceAll("VX_ROW_POINT","row[vxColSettings.primaryId]"),e.cellDefn=e.cellDefn.replaceAll("VX_DATA_POINT","row[header.id]"),e.cellDefn=e.cellDefn.replaceAll("VX_ROW","row"),e.cellDefn=e.cellDefn.replaceAll("VX_CONFIG","vxConfig")),1==e.inlineEditOnColumnEnabled&&1!=n.vxConfig.hybrid&&(""!=e.editDefn&&null!=e.editDefn||(e.editDefn=''),e.editDefn=e.editDefn.replaceAll("VX_ROW_POINT","row[vxColSettings.primaryId]"),e.editDefn=e.editDefn.replaceAll("VX_DATA_POINT","row[header.id]"),e.editDefn=e.editDefn.replaceAll("VX_ROW","row"),e.editDefn=e.editDefn.replaceAll("VX_CONFIG","vxConfig"),n.vxColSettings.colWithInlineEdits.push(e.id),e.editDefn.indexOf("vx-keep-watch")!=-1&&(e.editDefn=e.editDefn.replaceAll("vx-keep-watch",'vx-keep-watch-row-id="{{row[vxColSettings.primaryId]}}" vx-keep-watch-field="'+e.id+'" vx-keep-watch')),1==e.inlineEditValidation&&(n.vxConfig.invalidRows={},n.vxConfig.invalidRowFields={},_.each(n.vxConfig.vxData,function(e,t){var i=e[n.vxColSettings.primaryId];n.vxConfig.invalidRows[i]=!1,n.vxConfig.invalidRowFields[i]={}}),e.editDefn=e.editDefn.replaceAll("VX_INVALID_ROW","vxConfig.invalidRows[row[vxColSettings.primaryId]] == true"),e.editDefn=e.editDefn.replaceAll("VX_INVALID_FIELD_ROW","vxConfig.invalidRowFields[row[vxColSettings.primaryId]]."+e.id+" == true")))}),e=new Date,n.vxConfig.columnDefConfigs=n.calculateEffectiveWidths(n.vxConfig.columnDefConfigs),"undefined"!=typeof n.vxConfig.multiSelectionDependentCol&&null!=n.vxConfig.multiSelectionDependentCol&&n.vxConfig.multiSelectionDependentCol!={}&&""!=n.vxConfig.multiSelectionDependentCol&&(n.vxColSettings.multiSelColDependent=!0),"undefined"!=typeof n.vxConfig.xsRowTitleTemplate&&null!=n.vxConfig.xsRowTitleTemplate&&n.vxConfig.xsRowTitleTemplate!={}&&""!=n.vxConfig.xsRowTitleTemplate&&(n.vxColSettings.xsRowTitleTemplateAvailable=!0),1==n.vxConfig.inlineAddRowEnabled&&1!=n.vxConfig.hybrid&&("undefined"==typeof n.vxConfig.newRowTemplate||null==n.vxConfig.newRowTemplate||n.vxConfig.newRowTemplate=={}||""==n.vxConfig.newRowTemplate)){var v=angular.copy(n.vxConfig.data[0]);_.each(n.vxConfig.columnDefConfigs,function(e){switch(typeof n.vxConfig.newRowTemplate[e.id]){case"boolean":n.vxConfig.newRowTemplate[e.id]=!1;break;case"number":n.vxConfig.newRowTemplate[e.id]=0;break;case"string":n.vxConfig.newRowTemplate[e.id]="";break;default:n.vxConfig.newRowTemplate[e.id]=null}}),n.vxConfig.newRowTemplate=v}n.$watch("getWindowDimensions()",function(e,t){n.vxColSettings.xsViewEnabled=!1,n.vxConfig.columnDefConfigs=n.calculateEffectiveWidths(n.vxConfig.columnDefConfigs)},!0);s.bind("resize",function(){n.$apply()}),n.config.getVxCounts=function(){if("undefined"!=typeof n.vxConfig&&null!=n.vxConfig&&n.vxConfig!={}&&"undefined"!==n.vxConfig.id&&null!=n.vxConfig.id&&n.vxConfig.id!={}){var e={id:n.vxConfig.id,data:{vxAllDataLength:n.getAllRowLength(),vxFilteredDataLength:n.multiBoxFilters.length>0?1!=n.vxConfig.hybrid?n.vxConfig.vxFilteredData.length:n.vxConfig.vxData.length:0,vxSelectedDataLength:n.vxColSettings.multiSelected.length}};return e}},n.config.getAppliedFilters=function(){if("undefined"!=typeof n.vxConfig&&null!=n.vxConfig&&n.vxConfig!={}&&"undefined"!==n.vxConfig.id&&null!=n.vxConfig.id&&n.vxConfig.id!={}){var e=_.map(n.multiBoxFilters,function(e){return{column:e.col,label:e.label,key:e.key}});return e}},n.config.getData=function(){return n.vxConfig.data},n.config.getActiveDataSet=function(){return n.vxConfig.vxData},n.config.getFilteredDataSet=function(){return n.vxConfig.vxFilteredData},n.config.setRowFieldValidation=function(e,t,i){if("undefined"==typeof n.vxConfig.invalidRowFields[e]&&(n.vxConfig.invalidRows[e]=!1,n.vxConfig.invalidRowFields[e]={}),1==n.vxConfig.inlineEditSyncEnabled){var o=_.filter(n.vxColSettings.multiSelected,function(n){return 0==n.localeCompare(e)});"undefined"!=typeof o&&null!=o&&o.length>0&&_.each(n.vxColSettings.multiSelected,function(e){n.vxConfig.invalidRows[e]=!i,n.vxConfig.invalidRowFields[e][t]=!i})}n.vxConfig.invalidRows[e]=!i,n.vxConfig.invalidRowFields[e][t]=!i},n.config.getSelectedRows=function(){if(1==n.vxConfig.selectionAtMyRisk){n.vxColSettings.multiSelected=[];for(var e in n.vxColSettings.rowSelected)1==n.vxColSettings.rowSelected[e]&&"undefined"!=typeof e&&"undefined"!=e.toString()&&n.vxColSettings.multiSelected.push(e)}return n.vxColSettings.multiSelected},n.config.getRowsBeingEdited=function(){var e=[];if("undefined"!=typeof n.vxColSettings.inlineEditState&&null!=n.vxColSettings.inlineEditState)for(var t in n.vxColSettings.inlineEditState)1==n.vxColSettings.inlineEditState[t]&&e.push(t);return e},n.config.modifyRows=function(e,t){var i=[];return _.each(e,function(e){var o=e[n.vxColSettings.primaryId],l=_.find(n.vxConfig.vxData,function(e){return 0==e[n.vxColSettings.primaryId].localeCompare(o)}),r=_.find(n.vxConfig.data,function(e){return 0==e[n.vxColSettings.primaryId].localeCompare(o)});if("undefined"!=typeof l&&"undefined"!=typeof r){if("undefined"==typeof t||0==t.length)for(var d in e)0!=d.localeCompare(n.vxColSettings.primaryId)&&(l[d]=e[d],r[d]=e[d]);else t.length>0&&_.each(t,function(n){l[n]=e[n],r[n]=e[n]});i.push(r),1==n.vxConfig.hybrid&&n.hybridUpdateRows(i)}}),i},n.config.selectRows=function(e){var t=[];return _.each(e,function(e){var i=n.vxColSettings.rowSelected[e];if(("undefined"==typeof i||null==i||0==i)&&(n.vxColSettings.rowSelected[e]=!0,n.vxColSettings.multiSelected.push(e),t.push(e),1==n.vxConfig.hybrid)){var o=angular.element(document.getElementById("vx_row-sel_in_"+e));"undefined"!=typeof o&&null!=o&&o.length>0&&$(o).prop("checked",!0);var l=angular.element(document.getElementById("_vxMulLength"+n.vxConfig.id));"undefined"!=typeof l&&null!=l&&l.length>0&&$(l).text(d("vxNumberFixedLen")(n.vxColSettings.multiSelected.length,2))}}),t},n.config.deselectRows=function(e){var t=[];return _.each(e,function(e){var i=n.vxColSettings.rowSelected[e];if("undefined"!=typeof i&&1==i){if(n.vxColSettings.rowSelected[e]=!1,n.vxColSettings.multiSelected=_.reject(n.vxColSettings.multiSelected,function(n){0==e.localeCompare(n)}),t.push(e),1==n.vxConfig.hybrid){var o=angular.element(document.getElementById("vx_row-sel_in_"+e));"undefined"!=typeof o&&null!=o&&o.length>0&&$(o).prop("checked",!1)}if(1==n.vxConfig.hybrid){var l=angular.element(document.getElementById("_vxMulLength"+n.vxConfig.id));"undefined"!=typeof l&&null!=l&&l.length>0&&$(l).text(d("vxNumberFixedLen")(n.vxColSettings.multiSelected.length,2))}}}),t},n.config.sortByColumn=function(e,t){var i=_.find(n.vxConfig.columnDefConfigs,function(n){return 0==n.id.localeCompare(e)});"undefined"!=typeof i&&null!=i&&(n.vxConfig.sortPredicate=i.id,i.customSortEnabled?n.vxConfig.sortPredicateFn=i.customSortFn:n.vxConfig.sortPredicateFn=i.id,n.vxConfig.reverseSortDirection=t)},n.config.resetColumnFilters=function(e){_.each(e,function(e){n.vxColSettings.dropdDownLoaded[e]=!1,n.vxColSettings.colFilterPairs[e]={}})},n.config.removeRows=function(e){0==n.vxConfig.hybrid?(n.vxConfig.vxData=_.reject(n.vxConfig.vxData,function(t){return 1==_.contains(e,t[n.vxColSettings.primaryId])}),n.vxColSettings.multiSelected=_.difference(n.vxColSettings.multiSelected,e)):1==n.vxConfig.hybrid&&n.config.hybridDeleteRows(e)},n.buildFns(),n.config.changeRowClass=n.changeRowClass,n.$emit("vxGridSettingsBuilt",{id:n.vxConfig.id}),e=new Date;var g=null,x=null,C=48,p=n.vxConfig.latchExcess,S=0,m=!1,h=0;n.config.hybridDeleteRows=function(e){window.requestAnimFrame(function(){angular.forEach(e,function(e){var t=angular.element(document.getElementById(e));t.remove(),n.vxColSettings.inlineEditState[e]=!1,n.vxColSettings.rowSelected[e]=!1,n.vxColSettings.saveInProgress[e]=!1}),n._origData=_.reject(n._origData,function(t){return 1==_.contains(e,t[n.vxColSettings.primaryId])}),n.vxConfig.vxFilteredData=_.reject(n.vxConfig.vxFilteredData,function(t){return 1==_.contains(e,t[n.vxColSettings.primaryId])}),n.vxConfig.vxData=_.reject(n.vxConfig.vxData,function(t){return 1==_.contains(e,t[n.vxColSettings.primaryId])}),n.vxColSettings.multiSelected=_.difference(n.vxColSettings.multiSelected,e);var t=angular.element(document.getElementById("_vxMulLength"+n.vxConfig.id));"undefined"!=typeof t&&null!=t&&t.length>0&&$(t).text(d("vxNumberFixedLen")(n.vxColSettings.multiSelected.length,2)),n.$$phase||n.$apply()})},n.hybridUpdateRows=function(e){angular.forEach(e,function(e){var t=n.hybridGetRowTmpl(e),i=angular.element(document.getElementById(t.rowId));i.empty(),i.replaceWith(t.rowTmpl),t.compile&&f(i.contents())(n)})},n.resetHybridGrid=function(){S=0,m=!1,h=0,n.prepHybrid()},n.prepHybrid=function(){g=angular.element(document.getElementById("_vxHybrid"+n.vxConfig.id)),x=angular.element(document.getElementById("_vxScrollContainer"+n.vxConfig.id)),g.empty();var e=x.height(),t=Math.ceil(e/C)+p,i=_.first(n.vxConfig.vxFilteredData,t);n.appendRows(i),S+=t,x.on("scroll",function(){n.debPep()})},n.prepForScrollInsertion=function(){var e=g.height()-(x.height()+x.scrollTop());if(x.scrollTop()>h&&(e<0&&(e=0),e0&&$(r).text(d("vxNumberFixedLen")(n.vxColSettings.multiSelected.length,2)),"function"==typeof n.config.rowSelectionCallback&&n.config.rowSelectionCallback(o)}else n.rowSelectionChanged(t)}})})}},e=new Date,1==n.vxConfig.hybrid&&(e=new Date,n.vxConfig.vxFilteredData=n.vxConfig.vxData||[],o(n.prepHybrid,100))},n.editRow=function(e){if(1==n.vxConfig.inlineEditSyncEnabled&&n.vxColSettings.multiSelected.length>0){var t=_.filter(n.vxColSettings.multiSelected,function(n){return 0==n.localeCompare(e)});"undefined"!=typeof t&&null!=t&&t.length>0&&_.each(n.vxColSettings.multiSelected,function(e){n.vxColSettings.inlineEditState[e]=!0})}n.vxColSettings.inlineEditState[e]=!0},n.editInProgressCount=function(){var e=0;if("undefined"!=typeof n.vxColSettings.inlineEditState&&null!=n.vxColSettings.inlineEditState)for(var t in n.vxColSettings.inlineEditState)e=1==n.vxColSettings.inlineEditState[t]?e+1:e;return e},n.$on("vxInlineEditFieldChange",function(e,t){if(1==n.vxConfig.inlineEditSyncEnabled){var i=_.filter(n.vxColSettings.multiSelected,function(e){return 0==e.localeCompare(t.rowId)});"undefined"!=typeof i&&null!=i&&i.length>0&&_.each(n.vxColSettings.multiSelected,function(e){var i=_.find(n.vxConfig.vxData,function(t){return t[n.vxColSettings.primaryId]==e});"undefined"!=typeof i&&null!=i&&1==n.vxColSettings.inlineEditState[e]&&(i[t.field]=t.value)})}}),n.savingRows=function(e){var t=_.find(n.vxConfig.vxData,function(t){return t[n.vxColSettings.primaryId]==e});if("undefined"!=typeof t&&1==t.newRow)if(1==n.vxConfig.inlineSaveOverrideEnabled){n.vxColSettings.saveInProgress[e]=!0;var i=a.defer();i.promise.then(function(i){"undefined"!=typeof t.row&&1==i.save?(t.newRow=!1,_.each(n.vxConfig.columnDefConfigs,function(e){t[e.id]=i.row[e.id]})):n.vxConfig.data.unshift(t),n.vxColSettings.inlineEditState[e]="undefined"==typeof i.save||null==i.save||1!=i.save,n.$emit("vxGridRowSave",{id:n.vxConfig.id,data:t,save:!n.vxColSettings.inlineEditState[e]}),n.vxColSettings.saveInProgress[e]=!1},function(i){n.vxColSettings.saveInProgress[e]=!1,n.vxColSettings.inlineEditState[e]=!0,t.newRow=!0}),i.resolve(n.config.fnInlineSaveOverride(t,null))}else"undefined"!=typeof o?_.each(n.vxConfig.columnDefConfigs,function(e){o[e.id]=t[e.id]}):n.vxConfig.data.unshift(t),n.vxColSettings.inlineEditState[e]=!1,n.$emit("vxGridRowSaved",{id:n.vxConfig.id,data:t});else{var o=_.find(n.vxConfig.data,function(t){return t[n.vxColSettings.primaryId]==e});if("undefined"!=typeof t&&"undefined"!=typeof o&&1==n.vxConfig.inlineSaveOverrideEnabled){n.vxColSettings.saveInProgress[e]=!0;var i=a.defer();i.promise.then(function(i){"undefined"!=typeof i.row&&1==i.save&&_.each(n.vxColSettings.colWithInlineEdits,function(e){o[e]=i.row[e]}),n.vxColSettings.inlineEditState[e]="undefined"==typeof i.save||null==i.save||1!=i.save,n.$emit("vxGridRowSave",{id:n.vxConfig.id,data:t,save:!n.vxColSettings.inlineEditState[e]}),n.vxColSettings.saveInProgress[e]=!1},function(t){n.vxColSettings.saveInProgress[e]=!1,n.vxColSettings.inlineEditState[e]=!0}),i.resolve(n.config.fnInlineSaveOverride(t,o))}}},n.saveRow=function(e){var t=!1;if(1==n.vxConfig.inlineEditSyncEnabled){var i=_.filter(n.vxColSettings.multiSelected,function(n){return 0==n.localeCompare(e)});"undefined"!=typeof i&&null!=i&&i.length>0&&_.each(n.vxColSettings.multiSelected,function(e){n.savingRows(e),t=!0})}t||n.savingRows(e)},n.revertEdits=function(){if("undefined"!=typeof n.vxColSettings.multiSelected&&null!=n.vxColSettings.multiSelected&n.vxColSettings.multiSelected.length>0&&(_.each(n.vxColSettings.multiSelected,function(e){if(n.revertEditForRow(e),n.vxColSettings.rowSelected[e]=!1,1==n.vxConfig.hybrid){var t=angular.element(document.getElementById("vx_row-sel_in_"+e));"undefined"!=typeof t&&null!=t&&t.length>0&&$(t).prop("checked",!1)}}),n.vxColSettings.multiSelected=[],1==n.vxConfig.hybrid)){var e=angular.element(document.getElementById("_vxMulLength"+n.vxConfig.id));"undefined"!=typeof e&&null!=e&&e.length>0&&$(e).text(d("vxNumberFixedLen")(n.vxColSettings.multiSelected.length,2))}},n.revertEditForRow=function(e){var t=_.find(n.vxConfig.vxData,function(t){return t[n.vxColSettings.primaryId]==e});if("undefined"!=typeof t&&1==t.newRow){if(n.vxColSettings.inlineEditState[e]=!1,n.vxColSettings.rowSelected[e]=!1,1==n.vxConfig.hybrid){var i=angular.element(document.getElementById("vx_row-sel_in_"+e));"undefined"!=typeof i&&null!=i&&i.length>0&&$(i).prop("checked",!1)}if(n.vxColSettings.multiSelected=_.reject(n.vxColSettings.multiSelected,function(n){0==e.localeCompare(n)}),n.vxConfig.vxData=_.reject(n.vxConfig.vxData,function(t){return 0==t[n.vxColSettings.primaryId].localeCompare(e)}),n.$emit("vxGridRowEditRevert",{id:n.vxConfig.id,data:t}),1==n.vxConfig.hybrid){var o=angular.element(document.getElementById("_vxMulLength"+n.vxConfig.id));"undefined"!=typeof o&&null!=o&&o.length>0&&$(o).text(d("vxNumberFixedLen")(n.vxColSettings.multiSelected.length,2))}}else{var l=_.find(n.vxConfig.data,function(t){return t[n.vxColSettings.primaryId]==e});if("undefined"!=typeof t&&"undefined"!=typeof l){if(_.each(n.vxColSettings.colWithInlineEdits,function(e){t[e]=l[e]}),n.vxColSettings.inlineEditState[e]=!1,n.vxColSettings.rowSelected[e]=!1,1==n.vxConfig.hybrid){var i=angular.element(document.getElementById("vx_row-sel_in_"+e));"undefined"!=typeof i&&null!=i&&i.length>0&&$(i).prop("checked",!1)}if(n.vxColSettings.multiSelected=_.reject(n.vxColSettings.multiSelected,function(n){0==e.localeCompare(n)}),n.$emit("vxGridRowEditRevert",{id:n.vxConfig.id,data:l}),1==n.vxConfig.hybrid){var o=angular.element(document.getElementById("_vxMulLength"+n.vxConfig.id));"undefined"!=typeof o&&null!=o&&o.length>0&&$(o).text(d("vxNumberFixedLen")(n.vxColSettings.multiSelected.length,2))}}}},n.addNewRow=function(){n.vxConfig.sortPredicate="_vxCreated",n.vxConfig.sortPredicateFn="_vxCreated",n.vxConfig.reverseSortDirection=!0;var t=angular.copy(n.vxConfig.newRowTemplate),i=e();t[n.vxColSettings.primaryId]=i,t.newRow=!0,t._vxCreated=(new Date).getTime(),n.vxColSettings.inlineEditState[i]=!0,n.vxConfig.vxData.unshift(t)},n.deleteRows=function(){if("undefined"!=typeof n.vxColSettings.multiSelected&&null!=n.vxColSettings.multiSelected&n.vxColSettings.multiSelected.length>0)if(1==n.vxConfig.inlineDeleteOverrideEnabled){_.each(n.vxColSettings.multiSelected,function(e){n.vxColSettings.saveInProgress[e]=!0});var e=a.defer(),t=angular.copy(_.filter(n.vxConfig.vxData,function(e){return 1==_.contains(n.vxColSettings.multiSelected,e[n.vxColSettings.primaryId])}));e.promise.then(function(e){if(e.rows.length>0){var t=_.map(e.rows,function(e){return e[n.vxColSettings.primaryId]});if(n.vxConfig.vxData=_.reject(n.vxConfig.vxData,function(e){return 1==_.contains(t,e[n.vxColSettings.primaryId])}),n.$emit("vxGridRowsDeleted",{id:n.vxConfig.id,data:t}),_.each(t,function(e){n.vxColSettings.inlineEditState[e]=!1,n.vxColSettings.rowSelected[e]=!1,n.vxColSettings.saveInProgress[e]=!1}),n.vxColSettings.multiSelected=_.difference(n.vxColSettings.multiSelected,t),1==n.vxConfig.hybrid){var i=angular.element(document.getElementById("_vxMulLength"+n.vxConfig.id));"undefined"!=typeof i&&null!=i&&i.length>0&&$(i).text(d("vxNumberFixedLen")(n.vxColSettings.multiSelected.length,2))}}},function(e){}).then(function(){_.each(n.vxColSettings.multiSelected,function(e){n.vxColSettings.saveInProgress[e]=!1})}),e.resolve(n.config.fnInlineDeleteOverride(t))}else if(n.vxConfig.vxData=_.reject(n.vxConfig.vxData,function(e){return 1==_.contains(n.vxColSettings.multiSelected,e[n.vxColSettings.primaryId])}),n.$emit("vxGridRowsDeleted",{id:n.vxConfig.id,data:n.vxColSettings.multiSelected}),_.each(n.vxColSettings.multiSelected,function(e){n.vxColSettings.inlineEditState[e]=!1,n.vxColSettings.rowSelected[e]=!1}),n.vxColSettings.multiSelected=[],1==n.vxConfig.hybrid){var i=angular.element(document.getElementById("_vxMulLength"+n.vxConfig.id));"undefined"!=typeof i&&null!=i&&i.length>0&&$(i).text(d("vxNumberFixedLen")(n.vxColSettings.multiSelected.length,2))}},n.activatePage=function(e){n.vxColSettings.activePage=e,n.vxColSettings.vxPageStartPosition=e>0?e*n.vxConfig.pageLength:0,n.vxColSettings.allRowSelected=!1},n.debouncedSearch=_.debounce(function(){n.vxColSettings.xsSearch=angular.copy(n.vxColSettings.searchToken)},50),n.keyUpSearch=function(e){13==e.keyCode?n.vxColSettings.xsSearch=angular.copy(n.vxColSettings.searchToken):8==e.keyCode&&""==n.vxColSettings.searchToken&&(n.vxColSettings.xsSearch=angular.copy(n.vxColSettings.searchToken))},n.filtTokenChange=function(e){n.vxColSettings.filterSearchToken[e]=n.vxColSettings.enteredSearchToken[e],_.each(n.vxConfig.columnDefConfigs,function(n){n.id==e&&(n.filterLimit=10,u[e]=0)})},n.debFiltTokenChange=_.debounce(n.filtTokenChange,10),n.filterTokenChnagedRapid=function(e){""==n.vxColSettings.enteredSearchToken[e]?(_.each(n.vxConfig.columnDefConfigs,function(n){n.id==e&&(n.filterLimit=10,u[e]=0)}),n.vxColSettings.filterSearchToken[e]=""):n.debFiltTokenChange(e)},n.filterAssignVar=function(e){var t=angular.element(document.getElementById(e+"_searchfilters_"+n.vxConfig.id));"undefined"!=typeof t&&t.length>0&&(n.vxColSettings.filterSearchToken[e]=t[0].value,_.each(n.vxConfig.columnDefConfigs,function(n){n.id==e&&(n.filterLimit=10,u[e]=0)}))},n.isValidHeaderName=function(e,n){return 0==e.renderHeadDefn&&"undefined"!=typeof n&&null!=n&&""!=n},n.headerClick=function(e,t){var i=!0,l=$(t.target);if("undefined"!=typeof l&&null!=l&l.length>0){var r=l.closest("ul.dropdown-menu");"undefined"!=typeof r&&null!=r&r.length>0&&(i=!1)}if(0!=i){var d=n.selfEle.find(".vxTableScrollContainer"),a=(n.selfEle.find(".vxHeadRowCell .dropdown ul.dropdown-menu"),n.getWindowDimensions().h/2);_.each(n.selfEle.find(".vxHeadRowCell .dropdown ul.dropdown-menu"),function(e){var n=Math.min(Math.floor(d.height())-48,a); +$(e).css("max-height",n+"px")}),_.each(n.vxConfig.columnDefConfigs,function(t){0!=t.id.localeCompare(e.id)&&(n.vxColSettings.dropdDownOpen[t.id]=!1)});var f=_.find(n.vxConfig.columnDefConfigs,function(n){return 0==n.id.localeCompare(e.id)});if("undefined"!=typeof f&&null!=f)if(0==n.vxColSettings.dropdDownEnabled[f.id])n.sortClick(e);else{n.vxColSettings.dropdDownLoaded[f.id]=!1,n.vxColSettings.dropdDownOpen[f.id]=!n.vxColSettings.dropdDownOpen[f.id];var c=_.filter(n.multiBoxFilters,function(e){return 0!=e.col.localeCompare(f.id)}),s=c.length>0,g=!1;"undefined"!=typeof n.vxColSettings.colFilterPairs[f.id]&&null!=n.vxColSettings.colFilterPairs[f.id]&&n.vxColSettings.colFilterPairs[f.id]!={}&&n.vxColSettings.colFilterPairs[f.id].length>0&&(g=!0),0==s&&1==g?(n.vxColSettings.dropdDownLoaded[f.id]=!0,_.each(n.vxColSettings.colFilterPairs[f.id],function(e){e.disabled=!1})):o(function(){if(f.idCollection=[],1==f.ddSort&&(n.vxColSettings.dropDownSort[f.id]=!0,f.idCollection.push(n.vxConfig.id+"_"+f.id+"_sort")),1==f.ddGroup&&1!=n.vxConfig.hybrid&&(n.vxColSettings.dropDownGroup[f.id]=!0,f.idCollection.push(n.vxConfig.id+"_"+f.id+"_group"),f.idCollection.push(n.vxConfig.id+"_"+f.id+"_ungroup")),1==f.ddFilters){if(f.idCollection.push(n.vxConfig.id+"_"+f.id+"_clearfilters"),f.idCollection.push(f.id+"_searchfilters_"+n.vxConfig.id),f.idCollection.push(f.id+"_invokesearchfilters_"+n.vxConfig.id),0==g){n.vxColSettings.dropDownFilters[f.id]=!0,n.vxColSettings.colFilterPairs[f.id]=[];var t=[],i=_.uniq(_.map(n.vxConfig.vxData,function(e){var n={value:e[f.id],type:""};return"undefined"!=typeof n.value&&null!=n.value&&n.value!={}&&"object"!=typeof n.value&&"number"!=typeof n.value&&"boolean"!=typeof n.value?n.value=n.value.trim():"boolean"==typeof n.value?n.value=n.value.toString().trim():"[object Date]"===Object.prototype.toString.call(n.value)&&(n.value=n.value.getTime(),n.type="date"),n}),function(e){return e.value});i=_.reject(i,function(e){return"undefined"==typeof e.value||e.value=={}}),_.each(i.sort(),function(e,i){var o=v(e,f.id,"col"),l=o.key,r=o.type,d=""===e.value||" "===e.value?"< blank >":e.value;d=null==e.value?" < null >":d;var a={key:l,label:e.value,name:d,col:f.id,type:r,disabled:!1,action:"filter"};"undefined"!=typeof f.filterCellDefn&&null!=f.filterCellDefn&&f.filterCellDefn!={}&&""!=f.filterCellDefn?(a.filterDefn=f.filterCellDefn.replaceAll("VX_DATA_POINT","filter.name"),a.filterDefnAvailable=!0):a.filterDefnAvailable=!1,t.push(a),f.idCollection.push(n.vxConfig.id+"_"+f.id+"_filter_"+i),n.vxColSettings.colFiltersStatus[l]=!1}),t=_.sortBy(t,"label"),_.each(t,function(e){n.vxColSettings.colFilterPairs[f.id].push(e)}),n.vxColSettings.filterSearchToken[f.id]="",n.vxColSettings.colFiltersActivated[f.id]=!1}else{var i=_.uniq(_.map(n.vxConfig.vxFilteredData,function(e){return"[object Date]"===Object.prototype.toString.call(e[f.id])?e[f.id].getTime():"[object Boolean]"===Object.prototype.toString.call(e[f.id])?e[f.id].toString():e[f.id]}));_.each(n.vxColSettings.colFilterPairs[f.id],function(e){1!=_.contains(i,e.label)?e.disabled=!0:e.disabled=!1})}if(1==s){var o=_.last(n.multiBoxFilters),i=_.uniq(_.map(n.vxConfig.vxFilteredData,function(e){return"[object Date]"===Object.prototype.toString.call(e[f.id])?e[f.id].getTime():"[object Boolean]"===Object.prototype.toString.call(e[f.id])?e[f.id].toString():e[f.id]}));0!=o.col.localeCompare(f.id)&&_.each(n.vxColSettings.colFilterPairs[f.id],function(e){1!=_.contains(i,e.label)?e.disabled=!0:e.disabled=!1})}u[f.id]=0,e.filterLimit=10;var l=angular.element(document.getElementById(n.vxConfig.id+"-dropdwon-menu-"+f.id));l.on("scroll",function(e){var t=f.id,i=$(e.target).scrollTop();i>u[t]&&(n.debouncedIncrementFilter(t),u[t]=i)})}n.vxColSettings.dropdDownLoaded[f.id]=!0},500)}}},n.debouncedIncrementFilter=_.throttle(c,500),n.sortClick=function(e){var t=_.find(n.vxConfig.columnDefConfigs,function(n){return 0==n.id.localeCompare(e.id)});"undefined"!=typeof t&&null!=t&&t.ddSort&&(0!=n.vxConfig.sortPredicate.localeCompare(t.id)&&(n.vxConfig.sortPredicate=t.id,t.customSortEnabled?n.vxConfig.sortPredicateFn=t.customSortFn:n.vxConfig.sortPredicateFn=t.id),n.vxColSettings.reverseSettings[t.id]=!n.vxColSettings.reverseSettings[t.id],n.vxConfig.reverseSortDirection=n.vxColSettings.reverseSettings[t.id],1==n.vxConfig.hybrid&&(n.vxConfig.vxFilteredData=_.sortBy(n.vxConfig.vxFilteredData,n.vxConfig.sortPredicateFn),1==n.vxConfig.reverseSortDirection&&n.vxConfig.vxFilteredData.reverse(),n.resetHybridGrid()))},n.getVisibleHeaderCounts=function(){return _.filter(n.vxConfig.columnDefConfigs,function(e){return 1!=e.hidden}).length},n.groupClick=function(e){if(n.clearFilters(),1!=n.vxColSettings.groupByColActivated[e.id]){n.vxConfig.sortPredicate=null;var t=[],i=e.id,o=e.columnName,l=_.uniq(_.pluck(n.vxConfig.vxData,i)),r=_.groupBy(_.sortBy(n.vxConfig.vxData,i),i);n.vxColSettings.groupKeys[i]=[],_.each(l,function(e){var l=v(e,i,"groupcol").key;if(n.vxColSettings.groupKeys[i].push(l),r[e].length>0){n.vxColSettings.groupPredicate[l]=!1;var d={type:"groupRow",colName:o,col:i,value:e,groupId:l,cellDefn:'
'};d.cellDefn=d.cellDefn.replaceAll("VX_ROW_POINT","vxColSettings.groupPredicate[row.groupId]"),t.push(d),t=_.union(t,r[e])}}),n.vxConfig.vxData=t,n.vxColSettings.groupByColActivated[e.id]=!0}},n.unGroupClick=function(e){if(n.clearFilters(),1==n.vxColSettings.groupByColActivated[e.id]){var t=_.find(n.vxConfig.columnDefConfigs,function(n){return 0==n.id.localeCompare(e.id)});"undefined"!=typeof t&&null!=t&&(n.vxConfig.sortPredicate=t.id,t.customSortEnabled?n.vxConfig.sortPredicateFn=t.customSortFn:n.vxConfig.sortPredicateFn=t.id),n.vxConfig.vxData=_.reject(n.vxConfig.vxData,function(e){return"undefined"!=typeof e.type&&null!=e.type&&0==e.type.localeCompare("groupRow")}),n.vxColSettings.groupByColActivated[e.id]=!1}},n.getAllRowLength=function(){if(n.config.noData)return 0;if(1==n.vxConfig.hybrid)return n._origData.length;var e=_.filter(n.vxConfig.vxData,function(e){return"undefined"==typeof e.type||null==e.type||0!=e.type.localeCompare("groupRow")||1==e.fillEmptyElement}).length;return e},n.removeGroupings=function(){_.each(n.vxConfig.columnDefConfigs,function(e){n.unGroupClick(e)}),n.vxColSettings.groupPredicate={}},n.groupSelectionChanged=function(e){n.emitArray=[];var t=n.vxColSettings.groupPredicate[e.groupId],i=_.filter(n.vxConfig.vxFilteredData,function(n){return"groupRow"!=n.type&&0==n[e.col].localeCompare(e.value)});if(_.each(i,function(e){if(0==n.vxColSettings.multiSelColDependent||1==n.vxColSettings.multiSelColDependent&&0==e[n.vxConfig.multiSelectionDependentCol]){var i=e[n.vxColSettings.primaryId];if(n.vxColSettings.rowSelected[i]!=t){n.vxColSettings.rowSelected[i]=t;({key:e[n.vxConfig.onSelectionReturnCol],value:n.vxColSettings.rowSelected[i],_pKey:i});n.emitArray.push(i),t?n.vxColSettings.multiSelected.push(i):n.vxColSettings.multiSelected=_.reject(n.vxColSettings.multiSelected,function(e){return 0==e.localeCompare(i)})}}}),1==n.vxConfig.hybrid){var o=angular.element(document.getElementById("_vxMulLength"+n.vxConfig.id));"undefined"!=typeof o&&null!=o&&o.length>0&&$(o).text(d("vxNumberFixedLen")(n.vxColSettings.multiSelected.length,2))}n.$emit("vxGridRwSelectionChange",{id:n.vxConfig.id,data:n.emitArray})},n.allRowSelectionChanged=function(){var e=n.vxColSettings.allRowSelected;if(1==e){if(_.each(n.vxConfig.vxFilteredData,function(t,i){var o=!0;if(1==n.vxConfig.pagination&&0==n.vxConfig.virtualization&&(i>=n.vxColSettings.vxPageStartPosition&&i0&&$(r).prop("checked",!0)}}}),_.each(n.vxConfig.columnDefConfigs,function(e){1==n.vxColSettings.dropDownGroup[e.id]&&1==n.vxColSettings.groupByColActivated[e.id]&&_.each(n.vxColSettings.groupKeys[e.id],function(e){n.vxColSettings.groupPredicate[e]=!0})}),n.vxColSettings.multiSelected=_.reject(n.vxColSettings.multiSelected,function(e){return"undefined"==typeof e||null==e||e=={}}),1==n.vxConfig.hybrid){var t=angular.element(document.getElementById("_vxMulLength"+n.vxConfig.id));"undefined"!=typeof t&&null!=t&&t.length>0&&$(t).text(d("vxNumberFixedLen")(n.vxColSettings.multiSelected.length,2))}n.$emit("vxGridRowAllSelectionChange",{id:n.vxConfig.id,data:{toggledTo:e,array:n.vxColSettings.multiSelected}})}else 0==e&&(n.clearSelection(),n.$emit("vxGridRowAllSelectionChange",{id:n.vxConfig.id,data:{toggledTo:e,array:n.vxColSettings.multiSelected}}));if(1==n.vxConfig.hybrid){var t=angular.element(document.getElementById("_vxMulLength"+n.vxConfig.id));"undefined"!=typeof t&&null!=t&&t.length>0&&$(t).text(d("vxNumberFixedLen")(n.vxColSettings.multiSelected.length,2))}},n.rowSelectionChanged=function(e){var t=e,i=_.find(n.vxConfig.vxData,function(t){return t[n.vxColSettings.primaryId]==e}),o={key:i[n.vxConfig.onSelectionReturnCol],value:n.vxColSettings.rowSelected[t],_pKey:t},l=!0;if(1==n.vxColSettings.rowSelected[t]&&1==n.vxColSettings.multiSelColDependent){l=!1;var r=n.vxConfig.multiSelectionDependentCol;if(1==i[r]&&0==n.vxColSettings.multiSelected.length)l=!0;else if(0==i[r]&&n.vxColSettings.multiSelected.length>=1){var a=n.vxColSettings.multiSelected[0],f=_.find(n.vxConfig.vxData,function(e){return 0==e[n.vxColSettings.primaryId].localeCompare(a)});"undefined"!=typeof f&&null!=f&&f!={}&&1==f[r]?(l=!1,n.vxColSettings.rowSelected[t]=!1):l=!0}else 0==i[r]?l=!0:n.vxColSettings.rowSelected[t]=!1}else 0==n.vxColSettings.rowSelected[t]&&(n.vxColSettings.multiSelected=_.reject(n.vxColSettings.multiSelected,function(e){return 0==e.localeCompare(t)}),l=!1,n.vxColSettings.allRowSelected=!1,n.$emit("vxGridRowSelectionChange",{id:n.vxConfig.id,data:o}));if(l){var c=_.find(n.vxColSettings.multiSelected,function(e){return 0==e.localeCompare(t)});"undefined"!=typeof c&&null!=c||n.vxColSettings.multiSelected.push(t),n.$emit("vxGridRowSelectionChange",{id:n.vxConfig.id,data:o}),0==n.vxConfig.multiSelectionEnabled&&(_.each(n.vxColSettings.multiSelected,function(e){0!=e.localeCompare(t)&&(n.vxColSettings.rowSelected[e]=!1)}),n.vxColSettings.multiSelected=_.reject(n.vxColSettings.multiSelected,function(e){return 0!=e.localeCompare(t)}))}if(1==n.vxConfig.hybrid){var v=angular.element(document.getElementById("_vxMulLength"+n.vxConfig.id));"undefined"!=typeof v&&null!=v&&v.length>0&&$(v).text(d("vxNumberFixedLen")(n.vxColSettings.multiSelected.length,2))}},n.filterClick=function(e,t){0==n.vxConfig.preserveSelectionOnFilters&&n.clearSelection();var i=n.vxColSettings.colFiltersStatus[t.key];if(0==i){n.multiBoxFilters=_.reject(n.multiBoxFilters,function(e){return 0==e.key.localeCompare(t.key)});var o=_.find(n.multiBoxFilters,function(e){return 0==e.col.localeCompare(t.col)});"undefined"!=typeof o&&null!=o&&o!={}&&0!=o.length||(n.vxColSettings.colFiltersActivated[e.id]=!1)}else{var l=_.find(n.multiBoxFilters,function(e){return 0==e.key.localeCompare(t.key)});"undefined"!=typeof l&&null!=l&&l!={}||n.multiBoxFilters.push(t),n.vxColSettings.colFiltersActivated[e.id]=!0}1==n.vxConfig.hybrid&&(n.vxConfig.vxFilteredData=d("vxGridMultiBoxFilters")(n._origData,n.multiBoxFilters),n.resetHybridGrid())},n.filterClearClick=function(e){if(1==n.vxColSettings.colFiltersActivated[e.id]){n.clearSelection();var t=_.filter(n.multiBoxFilters,function(n){return 0==n.col.localeCompare(e.id)});t.length>0&&_.each(t,function(e){n.vxColSettings.colFiltersStatus[e.key]=!1}),n.multiBoxFilters=_.reject(n.multiBoxFilters,function(n){return 0==n.col.localeCompare(e.id)}),n.vxColSettings.colFiltersActivated[e.id]=!1,n.vxColSettings.filterSearchToken[e.id]=""}if(""!=n.vxColSettings.filterSearchToken[e.id]){n.vxColSettings.filterSearchToken[e.id]="";var i=angular.element(document.getElementById(e.id+"_searchfilters_"+n.vxConfig.id));"undefined"!=typeof i&&i.length>0&&(i[0].value="")}1==n.vxConfig.hybrid&&(n.vxConfig.vxFilteredData=d("vxGridMultiBoxFilters")(n._origData,n.multiBoxFilters),n.resetHybridGrid())},n.clearFilters=function(){n.multiBoxFilters.length>0&&_.each(n.vxConfig.columnDefConfigs,function(e){n.filterClearClick(e)}),n.multiBoxFilters=[]},n.selectAllFiltered=function(){n.vxColSettings.multiSelected.length>0&&n.clearSelection(),n.emitArray=[];var e="";1!=n.vxConfig.hybrid?e="vxFilteredData":(n.vxConfig.hybrid=!0)&&(e="vxFilteredData"),_.each(n.vxConfig[e],function(e){if(0==n.vxColSettings.multiSelColDependent||1==n.vxColSettings.multiSelColDependent&&0==e[n.vxConfig.multiSelectionDependentCol]){if(n.vxColSettings.rowSelected[e[n.vxColSettings.primaryId]]=!0,1==n.vxConfig.hybrid){var t=angular.element(document.getElementById("vx_row-sel_in_"+e[n.vxColSettings.primaryId]));"undefined"!=typeof t&&null!=t&&t.length>0&&$(t).prop("checked",!0)}var i=e[n.vxColSettings.primaryId],o={key:e[n.vxConfig.onSelectionReturnCol],value:n.vxColSettings.rowSelected[i],_pKey:i};if(n.emitArray.push(o),1==n.vxColSettings.rowSelected[i]){var l=_.find(n.vxColSettings.multiSelected,function(e){return 0==e.localeCompare(i)});"undefined"!=typeof l&&null!=l||n.vxColSettings.multiSelected.push(i)}}}),n.$emit("vxGridRowMultiSelectionChange",{id:n.vxConfig.id,data:n.emitArray})},n.clearSelection=function(){if(n.emitArray=[],_.each(n.vxColSettings.multiSelected,function(e){if(n.vxColSettings.rowSelected[e]=!1,1==n.vxConfig.hybrid){var t=angular.element(document.getElementById("vx_row-sel_in_"+e));"undefined"!=typeof t&&null!=t&&t.length>0&&$(t).prop("checked",!1)}var i=_.find(n.vxConfig.vxData,function(t){return"groupRow"!=t.type&&0==t[n.vxColSettings.primaryId].localeCompare(e)});if("undefined"!=typeof i&&null!=i){var o={key:i[n.vxConfig.onSelectionReturnCol],value:n.vxColSettings.rowSelected[e],_pKey:e};n.emitArray.push(o)}n.vxColSettings.multiSelected=[],n.vxColSettings.allRowSelected=!1,_.each(n.vxConfig.columnDefConfigs,function(e){1==n.vxColSettings.dropDownGroup[e.id]&&1==n.vxColSettings.groupByColActivated[e.id]&&_.each(n.vxColSettings.groupKeys[e.id],function(e){n.vxColSettings.groupPredicate[e]=!1})})}),1==n.vxConfig.hybrid){var e=angular.element(document.getElementById("_vxMulLength"+n.vxConfig.id));"undefined"!=typeof e&&null!=e&&e.length>0&&$(e).text(d("vxNumberFixedLen")(n.vxColSettings.multiSelected.length,2))}n.$emit("vxGridRowMultiSelectionChange",{id:n.vxConfig.id,data:n.emitArray})},n.upDownKeyDownHandlerHeaderMenu=function(e,t){if(40==e.keyCode||27==e.keyCode)if(40==e.keyCode){var i=$(e.target).siblings().find('[tabindex="0"]');i.length>0&&$(i[0]).focus()}else if(27==e.keyCode&&1==n.vxColSettings.dropdDownOpen[t]){n.vxColSettings.dropdDownOpen[t]=!1;var o=$(e.target).closest(".dropdown").find("button");o&&o.length>0&&$(o).focus()}},n.findIdToBeFocussed=function(e,n,t){var i=e;if(t)for(i+1==n.length&&(i=-1);i<=n.length;){var o=$("#"+n[i+1]);if($(o).is('[tabindex="0"]'))return n[i+1];i+=1}else if(!t)for(0==i&&(i=n.length);i>=1;){var o=$("#"+n[i-1]);if($(o).is('[tabindex="0"]'))return n[i-1];i-=1}return e},n.findFocussable=function(e,t,i){var o=$(e).attr("id"),l=_.find(n.vxConfig.columnDefConfigs,function(e){return e.id==t});if("undefined"!=typeof l&&null!=l){var r=l.idCollection,d=_.indexOf(r,o);return d!=-1&&d!=r.length&&1==i?n.findIdToBeFocussed(d,r,!0):d!=-1&&0==i?n.findIdToBeFocussed(d,r,!1):null}},n.shiftKeyPressed=!1,n.upDowKeyUpHandlerHeaderMenuItems=function(e,t){16==e.keyCode&&(n.shiftKeyPressed=!1)},n.upDowKeyDownHandlerHeaderMenuItems=function(e,t){var i=!1;if(16==e.keyCode&&(n.shiftKeyPressed=!0),40!=e.keyCode&&38!=e.keyCode&&27!=e.keyCode&&9!=e.keyCode)return!1;if(40==e.keyCode||9==e.keyCode&&0==n.shiftKeyPressed){var o=n.findFocussable($(e.target),t,!0);$("#"+o).is('[tabindex="0"]')&&$("#"+o).focus(),i=!0}else if(38==e.keyCode||9==e.keyCode&&1==n.shiftKeyPressed){var o=n.findFocussable($(e.target),t,!1);null==o?$(e.target).closest(".dropdown").find("button").focus():$("#"+o).is('[tabindex="0"]')&&$("#"+o).focus(),i=!0}else if(27==e.keyCode&&1==n.vxColSettings.dropdDownOpen[t]){n.vxColSettings.dropdDownOpen[t]=!1;var l=$(e.target).closest(".dropdown").find("button");l&&l.length>0&&$(l).focus()}i&&(e.stopPropagation(),e.preventDefault())},n.openManageColumns=function(){var e=t.open({templateUrl:"template/vx-grid/vx-grid-manage-columns-modal.html",windowClass:"vxGridManageColMod",controller:["$scope","$uibModalInstance","originalSettings",function(e,n,t){e.headerSelected=null,e.headerSelectedForVisChange=null,e.copyForWidthVisChange=t,_.each(e.copyForWidthVisChange,function(e,n){e.order=n,e.chars=Math.ceil((e.width-20)/7),e.selected=!1}),e.swapAbove=function(n){if(0==n.locked){var t=n.order,i=n.order,o=!0;do{i-=1,o=!0;var l=_.find(e.copyForWidthVisChange,function(e){return e.order==i&&0==e.orderLocked});"undefined"!=typeof l&&null!=l&&l!={}||(o=!1)}while(!o&&i>=0);if(o&&i>=0){var l=_.find(e.copyForWidthVisChange,function(e){return e.order==i&&0==e.orderLocked});"undefined"!=typeof l&&null!=l&&l!={}&&(l.order=t,n.order=i)}}},e.swapBelow=function(n){if(0==n.locked){var t=n.order,i=n.order,o=!0;do{i+=1,o=!0;var l=_.find(e.copyForWidthVisChange,function(e){return e.order==i&&0==e.orderLocked});"undefined"!=typeof l&&null!=l&&l!={}||(o=!1)}while(!o&&i<=e.copyForWidthVisChange.length-1);if(o&&i<=e.copyForWidthVisChange.length-1){var l=_.find(e.copyForWidthVisChange,function(e){return e.order==i&&0==e.orderLocked});"undefined"!=typeof l&&null!=l&&l!={}&&(l.order=t,n.order=i)}}},e.makeVisible=function(n){var t=_.find(e.copyForWidthVisChange,function(e){return 0==e.id.localeCompare(n.id)});"undefined"!=typeof t&&null!=t&&t!={}&&0==t.visbilityLocked&&(t.hidden=!1)},e.makeHidden=function(n){var t=_.find(e.copyForWidthVisChange,function(e){return 0==e.id.localeCompare(n.id)});"undefined"!=typeof t&&null!=t&&t!={}&&0==t.visbilityLocked&&(t.hidden=!0)},e.saveChangeInConfig=function(){var t=[];t=_.sortBy(e.copyForWidthVisChange,function(n){var t=_.find(e.copyForWidthVisChange,function(e){return 0==e.id.localeCompare(n.id)});return"undefined"!=typeof t&&null!=t&&t!={}?t.order:1}),n.close(t)},e.widthChanged=function(e){e.width=Math.ceil(7*e.chars)+20},e.selectHeader=function(n){1!=n.locked&&(n.selected=!n.selected,_.each(e.copyForWidthVisChange,function(e){0!=e.id.localeCompare(n.id)&&(e.selected=!1)}),1==n.selected?e.headerSelected=n:e.headerSelected=null)},e.cancelChangeInConfig=function(){n.dismiss()},e.upDownKeyPressHandler=function(n){var t=!1;38!=n.keyCode&&40!=n.keyCode||(t=e.upDownMovement(n)),t&&(n.stopPropagation(),n.preventDefault())},e.upDownMovement=function(e){var n=!1;if(38==e.keyCode){var t=$(e.target).prev();t.length>0&&$(t[0]).attr("tabindex")!=-1&&$(t)[0].focus(),n=!0}else if(40==e.keyCode){var t=$(e.target).next();t.length>0&&$(t[0]).attr("tabindex")!=-1&&$(t)[0].focus(),n=!0}return n}}],backdrop:"static",resolve:{originalSettings:function(){return angular.copy(n.vxConfig.columnDefConfigs)}}});e.result.then(function(e){e=n.calculateEffectiveWidths(e),n.vxConfig.columnDefConfigs=e,1==n.vxConfig.hybrid&&n.resetHybridGrid(),n.$emit("vxGridSettingsChanged",{id:n.vxConfig.id,data:e})},function(e){})},n.calculateEffectiveWidths=function(e){var t=_.reduce(e,function(e,n){var t=0;return 0==n.hidden&&(t=parseInt(n.width)),e+t},0),i=n.selfEle.find(".vxTableScrollContainer").width(),o=0;return _.each(e,function(e){if(i>t){var n=parseInt(e.width)/t*(i-t);e.effectiveWidth=parseInt(e.width)+n}else e.effectiveWidth=e.width;e.effectiveWidth=Math.floor(e.effectiveWidth),o+=e.effectiveWidth}),e},n.openJsonEditor=function(){var e=t.open({templateUrl:"template/vx-grid/vx-grid-json-editor-modal.html",windowClass:"vxGridManageColMod",controller:["$scope","$modalInstance","griddata",function(e,n,t){e.data=angular.copy(t),e.changeData=[],e.configuration={editable:!0,viewButtonClass:"btn-info",editButtonClass:"btn-success"},e.jsonOptions={mode:"code",modes:["tree","form","code","text"],history:!1},e.onChangeJSON=function(n){e.changeData=n},e.saveChangeInConfig=function(){n.close(e.changeData)},e.cancelChangeInConfig=function(){n.dismiss()}}],backdrop:"static",resolve:{griddata:function(){return angular.copy(n.vxConfig.vxData)}}});e.result.then(function(e){n.vxConfig.vxData=e,n.$emit("vxGridDataChanged",{id:n.vxConfig.id,data:e})},function(e){})},n.revealWrapToggle=function(){n.vxColSettings.revealWrapRowData=!n.vxColSettings.revealWrapRowData},n.xsReset=function(){n.vxColSettings.xsSearch=""},n.justScrollTop=function(){var e=n.selfEle.find(".vxTableContainer.scrollTableContainer");o(function(){$(e).animate({scrollTop:0},500)},10)},n.justScrollDown=function(){var e=n.selfEle.find(".vxTableContainer.scrollTableContainer"),t=$(e).scrollTop()||0;0==n.vxConfig.hybrid?o(function(){$(e).animate({scrollTop:t+96},33)},10):1==n.vxConfig.hybrid&&(n.prepForScrollInsertion(),o(function(){$(e).animate({scrollTop:t+100},300)},10))},n.showScrollDownArrow=function(){var e=n.selfEle.find(".vxTableContainer.scrollTableContainer"),t=n.selfEle.find(".scrollTableContainer table.vxTable");return"undefined"!=typeof e&&"undefined"!=typeof t&&null!=e&&null!=t&&t.height()>e.height()},n.showScrollUpArrow=function(){var e=n.selfEle.find(".vxTableContainer.scrollTableContainer"),t=n.selfEle.find(".scrollTableContainer table.vxTable");return"undefined"!=typeof e&&"undefined"!=typeof t&&null!=e&&null!=t&&t.height()>e.height()&&e.scrollTop()>48},n.outsideHeader=function(e){1==n.vxColSettings.dropdDownOpen[e.id]&&(n.vxColSettings.dropdDownOpen[e.id]=!1,n.$$phase||n.$apply())},n.$on("vsRepeatCollectionPartiallyRendered",function(e,t){n.$emit("vxPartiallyRendered",{id:n.vxConfig.id,data:t}),1==n.vxConfig.selectAllOnRenderAll&&(n.vxColSettings.selectAllEnabled=!1,n.$emit("vxPartiallyRenderedSelectAllDisabled",{id:n.vxConfig.id,data:t}))}),n.$on("vsRepeatCollectionCompletelyRendered",function(e,t){n.$emit("vxCompletelyRendered",{id:n.vxConfig.id,data:t}),1==n.vxConfig.selectAllOnRenderAll&&(n.vxColSettings.selectAllEnabled=!0,n.$emit("vxCompletelyRenderedSelectAllEnabled",{id:n.vxConfig.id,data:t}))}),n.buildFns=function(){var e=["openJsonEditor","openManageColumns","resetVxInstance","clearFilters","selectAllFiltered","clearSelection","revealWrapToggle"];_.each(e,function(e){var t="vxGrid"+e.capitalizeFirstLetter(),i=e+"()";n.$on(t,function(e,t){0==t.id.localeCompare(n.vxConfig.id)&&n.$eval(i)}),n.config[e]=function(){n.$eval(i)}})},n.$on("vxGridChangeRowClass",function(e,t){0==t.id.localeCompare(n.vxConfig.id)&&n.changeRowClass(t.data)}),n.changeRowClass=function(e){for(var t in e)n.vxColSettings.vxRowClass[t]=e[t];"$apply"!=n.$root.$$phase&&"$digest"!=n.$root.$$phase&&n.$apply()},n.$on("vxGridResetRowClass",function(e,t){0==t.id.localeCompare(n.vxConfig.id)&&(n.vxColSettings.vxRowClass={})}),n.$on("vxGridDisableRowSelection",function(e,t){0==t.id.localeCompare(n.vxConfig.id)&&_.each(t.data,function(e){n.vxColSettings.vxRowSelectionDisable[e.key]=e.value})}),n.$on("vxGridResetDisableRowSelection",function(e,t){if(0==t.id.localeCompare(n.vxConfig.id))for(var i in n.vxColSettings.vxRowSelectionDisable)n.vxColSettings.vxRowSelectionDisable[i]=!1})}],replace:!0,templateUrl:"template/vx-grid/vx-grid.html",link:function(e,n,t){e.selfEle=n,e.$watchCollection("config.data",function(n){n=n||[];var t=new Date;"undefined"!=typeof n&&0==n.length?(n=[{fillEmptyElement:!0}],e.config.noData=!0,1==e.config.hybrid&&"undefined"!=typeof e.vxConfig&&angular.element(document.getElementById("_vxHybrid"+e.vxConfig.id)).empty()):e.config.noData=!1,1==e.config.hybrid?(e.config.vxData=_.clone(n),e._origData=_.clone(n)):e.config.vxData=angular.copy(n),t=new Date,delete e.vxConfig,e.resetVxInstance()}),1!=e.config.hybrid&&e.$watchCollection("vxConfig.vxFilteredData",function(n){n.length>=0&&1==e.vxConfig.pagination&&(e.vxColSettings.pages=_.range(Math.ceil(n.length/parseInt(e.vxConfig.pageLength))),e.vxColSettings.vxPageEnabled=e.vxColSettings.pages.length>1,e.vxColSettings.activePage=0,e.vxColSettings.vxPageStartPosition=0)}),e.getvxTableContainerWidth=function(){var n=0;return _.each(e.vxConfig.columnDefConfigs,function(e){0==e.hidden&&(n+=e.effectiveWidth)}),e.vxConfig.totalWidth=n+"px",e.vxConfig.totalWidth},e.getNonHiddenColCount=function(){var n=1;return"undefined"!=typeof e.vxConfig.columnDefConfigs&&e.vxConfig.columnDefConfigs.length>0&&(n=_.filter(e.vxConfig.columnDefConfigs,function(e){return 0==e.hidden}).length),n}}}}).directive("vxCompile",["$compile",function(e){return function(n,t,i){n.$watch(function(e){return e.$eval(i.vxCompile)},function(i){t.html(i),e(t.contents())(n)})}}]).directive("vxCompileCloneLink",["$compile",function(e){var n={},t={};return function(i,o,l){var r=null;l.vxCompileCloneLink in n?r=t[l.vxCompileCloneLink]:(t[l.vxCompileCloneLink]=i.$eval(l.vxCompileCloneLink),r=t[l.vxCompileCloneLink]);var d=null;r in n?d=n[r]:(n[r]=e(r),d=n[r]),d(i,function(e,n){o.append(e)})}}]).directive("vxEditFocusDisable",["$rootScope","$parse",function(e,n){var t={},i={},o=["input","select","button","textarea","object"];return{restrict:"AEC",link:function(e,l,r){var d=(n(r.vxEditFocusDisable),$(l).attr("id"));e.$watch(r.vxEditFocusDisable,function(e){if(e){i[d]={available:!0,stack:[]},_.each(o,function(e){var n=$(l).find(e);n.length>0&&_.each(n,function(e){var n=$(e).attr("id");"undefined"!=typeof n&&null!=n&&""!=n||($(e).attr("id",_.uniqueId("elemid")),n=$(e).attr("id")),i[d].stack.push(n)})});var n=$(l).find("[tabindex]");n.length>0&&_.each(n,function(e){var n=$(e).attr("tabindex");if(n!=-1&&0==_.contains(o,e.nodeName.toUpperCase())&&0==_.contains(i[d].stack,t)){var t=$(e).attr("id");"undefined"!=typeof t&&null!=t&&""!=t||($(e).attr("id",_.uniqueId("elemid")),t=$(e).attr("id")),i[d].stack.push(t)}}),_.each(i[d].stack,function(e){t[e]=$("#"+e).attr("tabindex")||0,$("#"+e).attr("tabindex",-1)})}else 0==e&&"undefined"!=typeof i[d]&&"undefined"!=typeof i[d].available&&1==i[d].available&&(_.each(i[d].stack,function(e){var n=t[e];$("#"+e).attr("tabindex",n)}),i[d].available=!1)})}}}]).directive("axKey",["$rootScope","$parse",function(e,n){return{restrict:"A",compile:function(t,i){var o=n(i.axKey);return function(n,t){function l(t){var i=function(){o(n,{$event:t})};e.$$phase?n.$evalAsync(i):n.$apply(i)}t.attr("role")||t.attr("role","button"),t.attr("tabindex")||t.attr("tabindex",0);var r=[],d=0;r.push(n.$watch(i.axDisabled||i.ngDisabled,function(e){e?(d=t.attr("tabindex"),t.attr("tabindex",-1),t.attr("aria-disabled",!0)):(t.attr("tabindex",0),t.attr("aria-disabled",!1))})),t.on("click",function(e){n.$eval(i.axDisabled)||n.$eval(i.ngDisabled)||l(e)}),t.on("keyup",function(e){n.$eval(i.axDisabled)||n.$eval(i.ngDisabled)||13!=e.keyCode&&32!=e.keyCode||l(e)}),n.$on("$destroy",function(){for(;r.length;)r.shift()()})}}}}]).directive("vxKeepWatch",function(){return{restrict:"AEC",link:function(e,n,t){var i=t.vxKeepWatch,o=!1;e.$watch(t[i],function(n){o?e.$emit("vxInlineEditFieldChange",{field:t.vxKeepWatchField,value:n,rowId:t.vxKeepWatchRowId}):o=!0})}}}).filter("vxGridMultiBoxFilters",function(){return function(e,n){if("undefined"!=typeof n&&null!=n&&n.length>0){var t=e,i=e,o=_.groupBy(n,"col");for(var l in o){var r=o[l],d=[];_.each(r,function(e){d=_.union(d,_.filter(i,function(n){return"undefined"!=typeof e.label&&null!=e.label&&e.label!={}&&"undefined"!=typeof n[e.col]&&null!=n[e.col]&&n[e.col]!={}?"date"==e.type?"undefined"!=typeof n[e.col]&&n[e.col]!={}&&null!=n[e.col]&&""!=n[e.col]&&n[e.col].getTime()==e.label:"object"==e.type?0==JSON.stringify(n[e.col]).localeCompare(JSON.stringify(e.label)):0==n[e.col].toString().trim().localeCompare(e.label):n[e.col]==e.label}))}),t=_.intersection(t,d)}return t}return e}}).directive("clickOutsideHeader",["$document","$parse",function(e,n){return{restrict:"A",link:function(t,i,o){var l=void 0!==o.outsideIfNot?o.outsideIfNot.replace(", ",",").split(","):[];void 0!==o.id&&l.push(o.id);var r=n(o.clickOutsideHeader);e.on("click",function(e){try{var n=$(e.target).closest("th.vxHeadRowCell");"undefined"!=typeof n&&null!=n&&0!=n.length||t.$eval(o.checkClickOutside)&&t.$eval(r)}catch(e){}})}}}]).filter("vxNumberFixedLen",function(){return function(e,n){var t=parseInt(e,10);if(n=parseInt(n,10),isNaN(t)||isNaN(n))return e;for(t=""+t;t.length
Column Operations Menu for the grid {{vxConfig.caption}}
{{::header.columnName}}
Previous Page
Next Page
Page {{pageNum + 1}}
Region starts for adding offscreen labels to aid screen readers please ignore the labels Edit Row Save Row Select Row Region for offscreen labels to aid screen readers ends
',vxGridManageColumnsModal:' ', -"vxGridJsonEditorModal vx-grid-related ":' ',vxGridRowTmpl:' {{row[header.id]}}
{{rowId}}
{{row[header.id] | date : header.columnDatePipe}}
{{row[vxColSettings.primaryId]}}
{{header.columnName}}
{{row[header.id]}}
',vxGridRowTmplBindonce:' {{::row[header.id]}}
{{rowId}}
{{::row[header.id] | date : header.columnDatePipe}}
GROUPED BY {{row.colName}} : {{row.value}} '};angular.module("vx.grid.modules").run(["$templateCache",function(i){i.put("template/vx-grid/vx-grid-json-editor-modal.html",e.vxGridJsonEditorModal),i.put("template/vx-grid/vx-grid-manage-columns-modal.html",e.vxGridManageColumnsModal),i.put("template/vx-grid/vx-grid.html",e.vxGridTableStructure),i.put("template/vx-grid/vx-grid-row-tmpl.html",e.vxGridRowTmpl),i.put("template/vx-grid/vx-grid-row-tmpl-bindonce.html",e.vxGridRowTmplBindonce)}])}(); \ No newline at end of file +"vxGridJsonEditorModal vx-grid-related ":' ',vxGridRowTmpl:' {{row[header.id]}}
Select Row {{rowId}}
{{row[header.id] | date : header.columnDatePipe}}
{{row[vxColSettings.primaryId]}}
{{header.columnName}}
{{row[header.id]}}
',vxGridRowTmplBindonce:' {{::row[header.id]}}
Select row {{rowId}}
{{::row[header.id] | date : header.columnDatePipe}}
GROUPED BY {{row.colName}} : {{row.value}} '};angular.module("vx.grid.modules").run(["$templateCache",function(i){i.put("template/vx-grid/vx-grid-json-editor-modal.html",e.vxGridJsonEditorModal),i.put("template/vx-grid/vx-grid-manage-columns-modal.html",e.vxGridManageColumnsModal),i.put("template/vx-grid/vx-grid.html",e.vxGridTableStructure),i.put("template/vx-grid/vx-grid-row-tmpl.html",e.vxGridRowTmpl),i.put("template/vx-grid/vx-grid-row-tmpl-bindonce.html",e.vxGridRowTmplBindonce)}])}(); \ No newline at end of file diff --git a/dist/vx.grid.min.js b/dist/vx.grid.min.js index 64fdf41..ac76672 100644 --- a/dist/vx.grid.min.js +++ b/dist/vx.grid.min.js @@ -5,7 +5,7 @@ * @git https://github.com/asitparida/vxgrid */ !function(){"use strict";var n=function(n,t){return{replace:!0,scope:{onChange:"&",jsonData:"=",options:"="},compile:function(o,r){var e=function(o,r,e){function i(){t(function(){try{var n=c.get();o.onChange({json:n})}catch(t){var n=c.getText();o.onChange({json:n})}})}var a={mode:"tree",change:i};a=angular.extend(a,o.options);var c=new n(r[0],a);o.$watch("jsonData",function(n){c.set(n)})};return e},template:'
'}};angular.module("angular-json-editor",[]).provider("JSONEditor",function(){function n(t){return angular.forEach(arguments,function(o){o!==t&&angular.forEach(o,function(o,r){t[r]&&t[r].constructor&&t[r].constructor===Object?n(t[r],o):t[r]=o})}),t}var t={defaults:{options:{indentation:2,search:!1,name:"vxgrid",mode:"code"}}};this.configure=function(o){n(t,o)},this.$get=["$window",function(o){var r=o.JSONEditor;return n(r,t),o.JSONEditor}]}).directive("jsonEditor",["JSONEditor","$timeout",n])}(); -!function(){"use strict";function e(){function e(){return Math.floor(65536*(1+Math.random())).toString(16).substring(1)}return e()+e()+"_"+e()}String.prototype.capitalizeFirstLetter=function(){return this.charAt(0).toUpperCase()+this.slice(1)},String.prototype.replaceAll=function(e,n){var t=new RegExp(e,"g");return this.replace(t,n)},window.requestAnimFrame=function(){return window.requestAnimationFrame||window.webkitRequestAnimationFrame||window.mozRequestAnimationFrame||window.oRequestAnimationFrame||window.msRequestAnimationFrame||function(e,n){window.setTimeout(e,1e3/60)}}(),angular.module("vx.grid.modules",["ngSanitize","ui.bootstrap","vs-repeat","angular-json-editor","duScroll"]).directive("vxGrid",function(){return{restrict:"E",scope:{config:"=",scrollParent:"="},controller:["$scope","$uibModal","$sce","$timeout","$rootScope","$window","$filter","$q","$compile",function(n,t,i,o,l,r,d,a,f){function c(e){_.each(n.vxConfig.columnDefConfigs,function(n){n.id==e&&(n.filterLimit=n.filterLimit+2)}),"$apply"!=n.$root.$$phase&&"$digest"!=n.$root.$$phase&&n.$digest()}function v(e,n,t){var i=t+"_"+n+"_key_",o="string";return null==e.value?i+="null":null==e.value?i+="null":"object"!=typeof e.value?(i+=e.value.toString().replace(/\s+/g,"_"),o=e.type):(i+=JSON.stringify(e.value).replace(/\s+/g,"_"),o="object"),{key:i,type:o}}n.vxColSettings={},n.posLeft=1,n.posTop=0;var u={},s=angular.element(r);n.getWindowDimensions=function(){return{h:s.height(),w:s.width()}},n.resetVxInstance=function(){u={},n.vxColSettings={primaryId:null,dropdDownEnabled:{},dropdDownLoaded:{},dropdDownOpen:{},dropDownSort:{},dropDownFilters:{},dropDownGroup:{},colFiltersStatus:{},colFilterPairs:{},colFiltersActivated:{},lastProcessedForFilters:{},multiSelected:[],multiSelColDependent:!1,reverseSettings:{},groupPredicate:{},groupByColActivated:{},rowSelected:{},vxRowClass:{},vxRowSelectionDisable:{},revealWrapRowData:!1,selectAllEnabled:!0,menu:!1,xsViewEnabled:!1,xsRowTitleTemplateAvailable:!1,xsSearch:"",searchToken:"",inlineEditState:{},colWithInlineEdits:[],groupKeys:{},allRowSelected:!1,allRowSelectionDisabled:!1,filterSearchToken:{},enteredSearchToken:{},saveInProgress:{}};var e=(new Date,new Date),t=new Date;1==n.config.hybrid?n.vxConfig=n.config:n.vxConfig=angular.copy(n.config),e=new Date,t=new Date;var i=_.find(n.vxConfig.columnDefConfigs,function(e){return 1==e.primary}),l="_uid";if("undefined"!=typeof i&&null!=i?(_.each(n.vxConfig.vxData,function(e,n){1!=e.fillEmptyElement&&(e[i.id]=e[i.id].toString(),e[l]=e[i.id]),e._vxCreated=(new Date).getTime()}),l=i.id):_.each(n.vxConfig.vxData,function(e,n){e[l]=n}),n.config.id=n.vxConfig.id="undefined"==typeof n.vxConfig.id?_.uniqueId("_vxUID_"):n.vxConfig.id,n.vxConfig.editRowID=n.vxConfig.id+"_edit_row",n.vxConfig.saveRowID=n.vxConfig.id+"_save_row",n.vxConfig.selectRowID=n.vxConfig.id+"_sel_row",n.vxColSettings.primaryId=l,1==n.vxConfig.inlineEditingEnabled&&1!=n.vxConfig.hybrid){var r=_.find(n.vxConfig.columnDefConfigs,function(e){return 0==e.id.localeCompare("inlinediting")});if("undefined"==typeof r||null==r||r=={}){var a={id:"inlinediting",columnName:"Edit",renderDefn:!0,renderHeadDefn:!0,ddSort:!1,ddGroup:!1,ddFilters:!1,width:"50",locked:!0,headTabIndex:-1,cellDefn:'
',inlineEditOnColumnEnabled:!1};n.vxConfig.columnDefConfigs.unshift(a)}_.each(n.vxConfig.vxData,function(e,t){var i=e[n.vxColSettings.primaryId];n.vxColSettings.inlineEditState[i]=n.config.allRowsInDefaultEdit||!1})}if(e=new Date,1==n.vxConfig.selectionEnabled){var r=_.find(n.vxConfig.columnDefConfigs,function(e){return 0==e.id.localeCompare("checkbox")});if("undefined"==typeof r||null==r||r=={}){var a={id:"checkbox",columnName:"Row Selection",columnIsRowSelect:!0,renderDefn:!0,renderHeadDefn:!0,ddSort:!1,ddGroup:!1,ddFilters:!1,width:"50",locked:!0,headTabIndex:-1,headerDefn:'
',cellDefn:'
{{::row[vxConfig.ariaPrimary]}}'};n.vxConfig.columnDefConfigs.unshift(a)}_.each(n.vxConfig.vxData,function(e,t){var i=e[n.vxColSettings.primaryId];n.vxColSettings.rowSelected[i]=!1,n.vxColSettings.vxRowSelectionDisable[i]=!1})}e=new Date,n.multiBoxFilters=[];var c=[{prop:"enableDropdownsInHeader",defValue:!1},{prop:"selectionEnabled",defValue:!1},{prop:"selectionAtMyRisk",defValue:!1},{prop:"preserveSelectionOnFilters",defValue:!1},{prop:"multiSelectionEnabled",defValue:!1},{prop:"showGridStats",defValue:!1},{prop:"showGridOptions",defValue:!1},{prop:"selectAllOnRenderAll",defValue:!1},{prop:"virtualization",defValue:!0},{prop:"pagination",defValue:!1},{prop:"pageLength",defValue:20},{prop:"data",defValue:[]},{prop:"vxFilteredData",defValue:[]},{prop:"xsRowTitleTemplate",defValue:'
{{row[vxColSettings.primaryId]}}
'},{prop:"inlineAddRowEnabled",defValue:!1},{prop:"inlineEditSyncEnabled",defValue:!1},{prop:"inlineDeletingEnabled",defValue:!1},{prop:"inlineSaveOverrideEnabled",defValue:!1},{prop:"inlineDeleteOverrideEnabled",defValue:!1},{prop:"allRowsInDefaultEdit",defValue:!1},{prop:"jsonEditorEnabled",defValue:!1},{prop:"allRowsSelectionEnabled",defValue:!1},{prop:"sortPredicate",defValue:n.vxColSettings.primaryId},{prop:"sortPredicateFn",defValue:n.vxColSettings.primaryId},{prop:"reverseSortDirection",defValue:!1},{prop:"emptyFill",defValue:"No records to display ..."},{prop:"caption",defValue:"sample vx grid table caption"},{prop:"loaderGifSrc",defValue:"/resource/loaderWhite36.GIF"},{prop:"ariaPrimary",defValue:n.vxColSettings.primaryId},{prop:"xsTemplate",defValue:!1},{prop:"bindOnce",defValue:!1},{prop:"hybrid",defValue:!1},{prop:"latchExcess",defValue:5}];if(_.each(c,function(e){"undefined"!==n.vxConfig[e.prop]&&null!=n.vxConfig[e.prop]&&n.vxConfig[e.prop]!={}||(n.vxConfig[e.prop]=e.defValue)}),n.vxColSettings.vxRowClass=n.vxConfig.initialRowClasses||{},n.getWindowDimensions().w<768&&(n.vxColSettings.xsViewEnabled=n.vxConfig.xsTemplate,n.vxConfig.latchExcess=5),e=new Date,n.vxColSettings.selectAllOnRenderAll=n.vxConfig.selectAllOnRenderAll,_.each(n.vxConfig.columnDefConfigs,function(e){var t=[{prop:"renderDefn",defValue:!1},{prop:"renderHeadDefn",defValue:!1},{prop:"ddSort",defValue:!1},{prop:"ddGroup",defValue:!1},{prop:"ddFilters",defValue:!1},{prop:"ddFiltersWithSearch",defValue:!1},{prop:"dropDownEnabled",defValue:!1},{prop:"hidden",defValue:!1},{prop:"xsHidden",defValue:!1},{prop:"locked",defValue:!1},{prop:"primary",defValue:!1},{prop:"width",defValue:"200"},{prop:"headerDefn",defValue:""},{prop:"cellDefn",defValue:""},{prop:"filterCellDefn",defValue:""},{prop:"inlineEditOnColumnEnabled",defValue:!1},{prop:"inlineEditValidation",defValue:!1},{prop:"editDefn",defValue:null},{prop:"editDefnTemplate",defValue:null},{prop:"headTabIndex",defValue:0},{prop:"columnIsRowSelect",defValue:!1},{prop:"columnIsDate",defValue:!1},{prop:"columnDatePipe",defValue:"dd/MM/yyyy"},{prop:"renderHybridCellDefn",defValue:!1},{prop:"hybridCompile",defValue:!1},{prop:"filterLimit",defValue:10},{prop:"scopeIsRow",defValue:!1}];_.each(t,function(n){"undefined"!==e[n.prop]&&null!=e[n.prop]&&e[n.prop]!={}||(e[n.prop]=n.defValue)}),e.effectiveWidth=e.width,e.idCollection=[];var i=[{prop:"orderLocked",defValue:!1},{prop:"widthLocked",defValue:!1},{prop:"visbilityLocked",defValue:!1}];_.each(i,function(n){"undefined"===e[n.prop]||null==e[n.prop]||e[n.prop]=={}?e[n.prop]=e.locked:e[n.prop]=e.locked||e[n.prop]}),n.vxColSettings.reverseSettings[e.id]=!1,"undefined"!=typeof e.dropDownEnabled&&null!=e.dropDownEnabled&&1==e.dropDownEnabled&&1==n.vxConfig.enableDropdownsInHeader?n.vxColSettings.dropdDownEnabled[e.id]=!0:n.vxColSettings.dropdDownEnabled[e.id]=!1,n.vxColSettings.dropdDownLoaded[e.id]=!1,n.vxColSettings.dropdDownOpen[e.id]=!1,"undefined"!=typeof e.renderDefn&&null!=e.renderDefn&&e.renderDefn!={}&&1==e.renderDefn&&(e.cellDefn=e.cellDefn.replaceAll("VX_ROW_POINT","row[vxColSettings.primaryId]"),e.cellDefn=e.cellDefn.replaceAll("VX_DATA_POINT","row[header.id]"),e.cellDefn=e.cellDefn.replaceAll("VX_ROW","row"),e.cellDefn=e.cellDefn.replaceAll("VX_CONFIG","vxConfig")),1==e.inlineEditOnColumnEnabled&&1!=n.vxConfig.hybrid&&(""!=e.editDefn&&null!=e.editDefn||(e.editDefn=''),e.editDefn=e.editDefn.replaceAll("VX_ROW_POINT","row[vxColSettings.primaryId]"),e.editDefn=e.editDefn.replaceAll("VX_DATA_POINT","row[header.id]"),e.editDefn=e.editDefn.replaceAll("VX_ROW","row"),e.editDefn=e.editDefn.replaceAll("VX_CONFIG","vxConfig"),n.vxColSettings.colWithInlineEdits.push(e.id),e.editDefn.indexOf("vx-keep-watch")!=-1&&(e.editDefn=e.editDefn.replaceAll("vx-keep-watch",'vx-keep-watch-row-id="{{row[vxColSettings.primaryId]}}" vx-keep-watch-field="'+e.id+'" vx-keep-watch')),1==e.inlineEditValidation&&(n.vxConfig.invalidRows={},n.vxConfig.invalidRowFields={},_.each(n.vxConfig.vxData,function(e,t){var i=e[n.vxColSettings.primaryId];n.vxConfig.invalidRows[i]=!1,n.vxConfig.invalidRowFields[i]={}}),e.editDefn=e.editDefn.replaceAll("VX_INVALID_ROW","vxConfig.invalidRows[row[vxColSettings.primaryId]] == true"),e.editDefn=e.editDefn.replaceAll("VX_INVALID_FIELD_ROW","vxConfig.invalidRowFields[row[vxColSettings.primaryId]]."+e.id+" == true")))}),e=new Date,n.vxConfig.columnDefConfigs=n.calculateEffectiveWidths(n.vxConfig.columnDefConfigs),"undefined"!=typeof n.vxConfig.multiSelectionDependentCol&&null!=n.vxConfig.multiSelectionDependentCol&&n.vxConfig.multiSelectionDependentCol!={}&&""!=n.vxConfig.multiSelectionDependentCol&&(n.vxColSettings.multiSelColDependent=!0),"undefined"!=typeof n.vxConfig.xsRowTitleTemplate&&null!=n.vxConfig.xsRowTitleTemplate&&n.vxConfig.xsRowTitleTemplate!={}&&""!=n.vxConfig.xsRowTitleTemplate&&(n.vxColSettings.xsRowTitleTemplateAvailable=!0),1==n.vxConfig.inlineAddRowEnabled&&1!=n.vxConfig.hybrid&&("undefined"==typeof n.vxConfig.newRowTemplate||null==n.vxConfig.newRowTemplate||n.vxConfig.newRowTemplate=={}||""==n.vxConfig.newRowTemplate)){var v=angular.copy(n.vxConfig.data[0]);_.each(n.vxConfig.columnDefConfigs,function(e){switch(typeof n.vxConfig.newRowTemplate[e.id]){case"boolean":n.vxConfig.newRowTemplate[e.id]=!1;break;case"number":n.vxConfig.newRowTemplate[e.id]=0;break;case"string":n.vxConfig.newRowTemplate[e.id]="";break;default:n.vxConfig.newRowTemplate[e.id]=null}}),n.vxConfig.newRowTemplate=v}n.$watch("getWindowDimensions()",function(e,t){n.vxColSettings.xsViewEnabled=!1,n.vxConfig.columnDefConfigs=n.calculateEffectiveWidths(n.vxConfig.columnDefConfigs)},!0);s.bind("resize",function(){n.$apply()}),n.config.getVxCounts=function(){if("undefined"!=typeof n.vxConfig&&null!=n.vxConfig&&n.vxConfig!={}&&"undefined"!==n.vxConfig.id&&null!=n.vxConfig.id&&n.vxConfig.id!={}){var e={id:n.vxConfig.id,data:{vxAllDataLength:n.getAllRowLength(),vxFilteredDataLength:n.multiBoxFilters.length>0?1!=n.vxConfig.hybrid?n.vxConfig.vxFilteredData.length:n.vxConfig.vxData.length:0,vxSelectedDataLength:n.vxColSettings.multiSelected.length}};return e}},n.config.getAppliedFilters=function(){if("undefined"!=typeof n.vxConfig&&null!=n.vxConfig&&n.vxConfig!={}&&"undefined"!==n.vxConfig.id&&null!=n.vxConfig.id&&n.vxConfig.id!={}){var e=_.map(n.multiBoxFilters,function(e){return{column:e.col,label:e.label,key:e.key}});return e}},n.config.getData=function(){return n.vxConfig.data},n.config.getActiveDataSet=function(){return n.vxConfig.vxData},n.config.getFilteredDataSet=function(){return n.vxConfig.vxFilteredData},n.config.setRowFieldValidation=function(e,t,i){if("undefined"==typeof n.vxConfig.invalidRowFields[e]&&(n.vxConfig.invalidRows[e]=!1,n.vxConfig.invalidRowFields[e]={}),1==n.vxConfig.inlineEditSyncEnabled){var o=_.filter(n.vxColSettings.multiSelected,function(n){return 0==n.localeCompare(e)});"undefined"!=typeof o&&null!=o&&o.length>0&&_.each(n.vxColSettings.multiSelected,function(e){n.vxConfig.invalidRows[e]=!i,n.vxConfig.invalidRowFields[e][t]=!i})}n.vxConfig.invalidRows[e]=!i,n.vxConfig.invalidRowFields[e][t]=!i},n.config.getSelectedRows=function(){if(1==n.vxConfig.selectionAtMyRisk){n.vxColSettings.multiSelected=[];for(var e in n.vxColSettings.rowSelected)1==n.vxColSettings.rowSelected[e]&&"undefined"!=typeof e&&"undefined"!=e.toString()&&n.vxColSettings.multiSelected.push(e)}return n.vxColSettings.multiSelected},n.config.getRowsBeingEdited=function(){var e=[];if("undefined"!=typeof n.vxColSettings.inlineEditState&&null!=n.vxColSettings.inlineEditState)for(var t in n.vxColSettings.inlineEditState)1==n.vxColSettings.inlineEditState[t]&&e.push(t);return e},n.config.modifyRows=function(e,t){var i=[];return _.each(e,function(e){var o=e[n.vxColSettings.primaryId],l=_.find(n.vxConfig.vxData,function(e){return 0==e[n.vxColSettings.primaryId].localeCompare(o)}),r=_.find(n.vxConfig.data,function(e){return 0==e[n.vxColSettings.primaryId].localeCompare(o)});if("undefined"!=typeof l&&"undefined"!=typeof r){if("undefined"==typeof t||0==t.length)for(var d in e)0!=d.localeCompare(n.vxColSettings.primaryId)&&(l[d]=e[d],r[d]=e[d]);else t.length>0&&_.each(t,function(n){l[n]=e[n],r[n]=e[n]});i.push(r),1==n.vxConfig.hybrid&&n.hybridUpdateRows(i)}}),i},n.config.selectRows=function(e){var t=[];return _.each(e,function(e){var i=n.vxColSettings.rowSelected[e];if(("undefined"==typeof i||null==i||0==i)&&(n.vxColSettings.rowSelected[e]=!0,n.vxColSettings.multiSelected.push(e),t.push(e),1==n.vxConfig.hybrid)){var o=angular.element(document.getElementById("vx_row-sel_in_"+e));"undefined"!=typeof o&&null!=o&&o.length>0&&$(o).prop("checked",!0);var l=angular.element(document.getElementById("_vxMulLength"+n.vxConfig.id));"undefined"!=typeof l&&null!=l&&l.length>0&&$(l).text(d("vxNumberFixedLen")(n.vxColSettings.multiSelected.length,2))}}),t},n.config.deselectRows=function(e){var t=[];return _.each(e,function(e){var i=n.vxColSettings.rowSelected[e];if("undefined"!=typeof i&&1==i){if(n.vxColSettings.rowSelected[e]=!1,n.vxColSettings.multiSelected=_.reject(n.vxColSettings.multiSelected,function(n){0==e.localeCompare(n)}),t.push(e),1==n.vxConfig.hybrid){var o=angular.element(document.getElementById("vx_row-sel_in_"+e));"undefined"!=typeof o&&null!=o&&o.length>0&&$(o).prop("checked",!1)}if(1==n.vxConfig.hybrid){var l=angular.element(document.getElementById("_vxMulLength"+n.vxConfig.id));"undefined"!=typeof l&&null!=l&&l.length>0&&$(l).text(d("vxNumberFixedLen")(n.vxColSettings.multiSelected.length,2))}}}),t},n.config.sortByColumn=function(e,t){var i=_.find(n.vxConfig.columnDefConfigs,function(n){return 0==n.id.localeCompare(e)});"undefined"!=typeof i&&null!=i&&(n.vxConfig.sortPredicate=i.id,i.customSortEnabled?n.vxConfig.sortPredicateFn=i.customSortFn:n.vxConfig.sortPredicateFn=i.id,n.vxConfig.reverseSortDirection=t)},n.config.resetColumnFilters=function(e){_.each(e,function(e){n.vxColSettings.dropdDownLoaded[e]=!1,n.vxColSettings.colFilterPairs[e]={}})},n.config.removeRows=function(e){0==n.vxConfig.hybrid?(n.vxConfig.vxData=_.reject(n.vxConfig.vxData,function(t){return 1==_.contains(e,t[n.vxColSettings.primaryId])}),n.vxColSettings.multiSelected=_.difference(n.vxColSettings.multiSelected,e)):1==n.vxConfig.hybrid&&n.config.hybridDeleteRows(e)},n.buildFns(),n.config.changeRowClass=n.changeRowClass,n.$emit("vxGridSettingsBuilt",{id:n.vxConfig.id}),e=new Date;var g=null,x=null,C=48,p=n.vxConfig.latchExcess,S=0,m=!1,h=0;n.config.hybridDeleteRows=function(e){window.requestAnimFrame(function(){angular.forEach(e,function(e){var t=angular.element(document.getElementById(e));t.remove(),n.vxColSettings.inlineEditState[e]=!1,n.vxColSettings.rowSelected[e]=!1,n.vxColSettings.saveInProgress[e]=!1}),n._origData=_.reject(n._origData,function(t){return 1==_.contains(e,t[n.vxColSettings.primaryId])}),n.vxConfig.vxFilteredData=_.reject(n.vxConfig.vxFilteredData,function(t){return 1==_.contains(e,t[n.vxColSettings.primaryId])}),n.vxConfig.vxData=_.reject(n.vxConfig.vxData,function(t){return 1==_.contains(e,t[n.vxColSettings.primaryId])}),n.vxColSettings.multiSelected=_.difference(n.vxColSettings.multiSelected,e);var t=angular.element(document.getElementById("_vxMulLength"+n.vxConfig.id));"undefined"!=typeof t&&null!=t&&t.length>0&&$(t).text(d("vxNumberFixedLen")(n.vxColSettings.multiSelected.length,2)),n.$$phase||n.$apply()})},n.hybridUpdateRows=function(e){angular.forEach(e,function(e){var t=n.hybridGetRowTmpl(e),i=angular.element(document.getElementById(t.rowId));i.empty(),i.replaceWith(t.rowTmpl),t.compile&&f(i.contents())(n)})},n.resetHybridGrid=function(){S=0,m=!1,h=0,n.prepHybrid()},n.prepHybrid=function(){g=angular.element(document.getElementById("_vxHybrid"+n.vxConfig.id)),x=angular.element(document.getElementById("_vxScrollContainer"+n.vxConfig.id)),g.empty();var e=x.height(),t=Math.ceil(e/C)+p,i=_.first(n.vxConfig.vxFilteredData,t);n.appendRows(i),S+=t,x.on("scroll",function(){n.debPep()})},n.prepForScrollInsertion=function(){var e=g.height()-(x.height()+x.scrollTop());if(x.scrollTop()>h&&(e<0&&(e=0),e0&&$(r).text(d("vxNumberFixedLen")(n.vxColSettings.multiSelected.length,2)),"function"==typeof n.config.rowSelectionCallback&&n.config.rowSelectionCallback(o)}else n.rowSelectionChanged(t)}})})}},e=new Date,1==n.vxConfig.hybrid&&(e=new Date,n.vxConfig.vxFilteredData=n.vxConfig.vxData||[],o(n.prepHybrid,100))},n.editRow=function(e){if(1==n.vxConfig.inlineEditSyncEnabled&&n.vxColSettings.multiSelected.length>0){var t=_.filter(n.vxColSettings.multiSelected,function(n){return 0==n.localeCompare(e)});"undefined"!=typeof t&&null!=t&&t.length>0&&_.each(n.vxColSettings.multiSelected,function(e){n.vxColSettings.inlineEditState[e]=!0})}n.vxColSettings.inlineEditState[e]=!0},n.editInProgressCount=function(){var e=0;if("undefined"!=typeof n.vxColSettings.inlineEditState&&null!=n.vxColSettings.inlineEditState)for(var t in n.vxColSettings.inlineEditState)e=1==n.vxColSettings.inlineEditState[t]?e+1:e;return e},n.$on("vxInlineEditFieldChange",function(e,t){if(1==n.vxConfig.inlineEditSyncEnabled){var i=_.filter(n.vxColSettings.multiSelected,function(e){return 0==e.localeCompare(t.rowId)});"undefined"!=typeof i&&null!=i&&i.length>0&&_.each(n.vxColSettings.multiSelected,function(e){var i=_.find(n.vxConfig.vxData,function(t){return t[n.vxColSettings.primaryId]==e});"undefined"!=typeof i&&null!=i&&1==n.vxColSettings.inlineEditState[e]&&(i[t.field]=t.value)})}}),n.savingRows=function(e){var t=_.find(n.vxConfig.vxData,function(t){return t[n.vxColSettings.primaryId]==e});if("undefined"!=typeof t&&1==t.newRow)if(1==n.vxConfig.inlineSaveOverrideEnabled){n.vxColSettings.saveInProgress[e]=!0;var i=a.defer();i.promise.then(function(i){"undefined"!=typeof t.row&&1==i.save?(t.newRow=!1,_.each(n.vxConfig.columnDefConfigs,function(e){t[e.id]=i.row[e.id]})):n.vxConfig.data.unshift(t),n.vxColSettings.inlineEditState[e]="undefined"==typeof i.save||null==i.save||1!=i.save,n.$emit("vxGridRowSave",{id:n.vxConfig.id,data:t,save:!n.vxColSettings.inlineEditState[e]}),n.vxColSettings.saveInProgress[e]=!1},function(i){n.vxColSettings.saveInProgress[e]=!1,n.vxColSettings.inlineEditState[e]=!0,t.newRow=!0}),i.resolve(n.config.fnInlineSaveOverride(t,null))}else"undefined"!=typeof o?_.each(n.vxConfig.columnDefConfigs,function(e){o[e.id]=t[e.id]}):n.vxConfig.data.unshift(t),n.vxColSettings.inlineEditState[e]=!1,n.$emit("vxGridRowSaved",{id:n.vxConfig.id,data:t});else{var o=_.find(n.vxConfig.data,function(t){return t[n.vxColSettings.primaryId]==e});if("undefined"!=typeof t&&"undefined"!=typeof o&&1==n.vxConfig.inlineSaveOverrideEnabled){n.vxColSettings.saveInProgress[e]=!0;var i=a.defer();i.promise.then(function(i){"undefined"!=typeof i.row&&1==i.save&&_.each(n.vxColSettings.colWithInlineEdits,function(e){o[e]=i.row[e]}),n.vxColSettings.inlineEditState[e]="undefined"==typeof i.save||null==i.save||1!=i.save,n.$emit("vxGridRowSave",{id:n.vxConfig.id,data:t,save:!n.vxColSettings.inlineEditState[e]}),n.vxColSettings.saveInProgress[e]=!1},function(t){n.vxColSettings.saveInProgress[e]=!1,n.vxColSettings.inlineEditState[e]=!0}),i.resolve(n.config.fnInlineSaveOverride(t,o))}}},n.saveRow=function(e){var t=!1;if(1==n.vxConfig.inlineEditSyncEnabled){var i=_.filter(n.vxColSettings.multiSelected,function(n){return 0==n.localeCompare(e)});"undefined"!=typeof i&&null!=i&&i.length>0&&_.each(n.vxColSettings.multiSelected,function(e){n.savingRows(e),t=!0})}t||n.savingRows(e)},n.revertEdits=function(){if("undefined"!=typeof n.vxColSettings.multiSelected&&null!=n.vxColSettings.multiSelected&n.vxColSettings.multiSelected.length>0&&(_.each(n.vxColSettings.multiSelected,function(e){if(n.revertEditForRow(e),n.vxColSettings.rowSelected[e]=!1,1==n.vxConfig.hybrid){var t=angular.element(document.getElementById("vx_row-sel_in_"+e));"undefined"!=typeof t&&null!=t&&t.length>0&&$(t).prop("checked",!1)}}),n.vxColSettings.multiSelected=[],1==n.vxConfig.hybrid)){var e=angular.element(document.getElementById("_vxMulLength"+n.vxConfig.id));"undefined"!=typeof e&&null!=e&&e.length>0&&$(e).text(d("vxNumberFixedLen")(n.vxColSettings.multiSelected.length,2))}},n.revertEditForRow=function(e){var t=_.find(n.vxConfig.vxData,function(t){return t[n.vxColSettings.primaryId]==e});if("undefined"!=typeof t&&1==t.newRow){if(n.vxColSettings.inlineEditState[e]=!1,n.vxColSettings.rowSelected[e]=!1,1==n.vxConfig.hybrid){var i=angular.element(document.getElementById("vx_row-sel_in_"+e));"undefined"!=typeof i&&null!=i&&i.length>0&&$(i).prop("checked",!1)}if(n.vxColSettings.multiSelected=_.reject(n.vxColSettings.multiSelected,function(n){0==e.localeCompare(n)}),n.vxConfig.vxData=_.reject(n.vxConfig.vxData,function(t){return 0==t[n.vxColSettings.primaryId].localeCompare(e)}),n.$emit("vxGridRowEditRevert",{id:n.vxConfig.id,data:t}),1==n.vxConfig.hybrid){var o=angular.element(document.getElementById("_vxMulLength"+n.vxConfig.id));"undefined"!=typeof o&&null!=o&&o.length>0&&$(o).text(d("vxNumberFixedLen")(n.vxColSettings.multiSelected.length,2))}}else{var l=_.find(n.vxConfig.data,function(t){return t[n.vxColSettings.primaryId]==e});if("undefined"!=typeof t&&"undefined"!=typeof l){if(_.each(n.vxColSettings.colWithInlineEdits,function(e){t[e]=l[e]}),n.vxColSettings.inlineEditState[e]=!1,n.vxColSettings.rowSelected[e]=!1,1==n.vxConfig.hybrid){var i=angular.element(document.getElementById("vx_row-sel_in_"+e));"undefined"!=typeof i&&null!=i&&i.length>0&&$(i).prop("checked",!1)}if(n.vxColSettings.multiSelected=_.reject(n.vxColSettings.multiSelected,function(n){0==e.localeCompare(n)}),n.$emit("vxGridRowEditRevert",{id:n.vxConfig.id,data:l}),1==n.vxConfig.hybrid){var o=angular.element(document.getElementById("_vxMulLength"+n.vxConfig.id));"undefined"!=typeof o&&null!=o&&o.length>0&&$(o).text(d("vxNumberFixedLen")(n.vxColSettings.multiSelected.length,2))}}}},n.addNewRow=function(){n.vxConfig.sortPredicate="_vxCreated",n.vxConfig.sortPredicateFn="_vxCreated",n.vxConfig.reverseSortDirection=!0;var t=angular.copy(n.vxConfig.newRowTemplate),i=e();t[n.vxColSettings.primaryId]=i,t.newRow=!0,t._vxCreated=(new Date).getTime(),n.vxColSettings.inlineEditState[i]=!0,n.vxConfig.vxData.unshift(t)},n.deleteRows=function(){if("undefined"!=typeof n.vxColSettings.multiSelected&&null!=n.vxColSettings.multiSelected&n.vxColSettings.multiSelected.length>0)if(1==n.vxConfig.inlineDeleteOverrideEnabled){_.each(n.vxColSettings.multiSelected,function(e){n.vxColSettings.saveInProgress[e]=!0});var e=a.defer(),t=angular.copy(_.filter(n.vxConfig.vxData,function(e){return 1==_.contains(n.vxColSettings.multiSelected,e[n.vxColSettings.primaryId])}));e.promise.then(function(e){if(e.rows.length>0){var t=_.map(e.rows,function(e){return e[n.vxColSettings.primaryId]});if(n.vxConfig.vxData=_.reject(n.vxConfig.vxData,function(e){return 1==_.contains(t,e[n.vxColSettings.primaryId])}),n.$emit("vxGridRowsDeleted",{id:n.vxConfig.id,data:t}),_.each(t,function(e){n.vxColSettings.inlineEditState[e]=!1,n.vxColSettings.rowSelected[e]=!1,n.vxColSettings.saveInProgress[e]=!1}),n.vxColSettings.multiSelected=_.difference(n.vxColSettings.multiSelected,t),1==n.vxConfig.hybrid){var i=angular.element(document.getElementById("_vxMulLength"+n.vxConfig.id));"undefined"!=typeof i&&null!=i&&i.length>0&&$(i).text(d("vxNumberFixedLen")(n.vxColSettings.multiSelected.length,2))}}},function(e){}).then(function(){_.each(n.vxColSettings.multiSelected,function(e){n.vxColSettings.saveInProgress[e]=!1})}),e.resolve(n.config.fnInlineDeleteOverride(t))}else if(n.vxConfig.vxData=_.reject(n.vxConfig.vxData,function(e){return 1==_.contains(n.vxColSettings.multiSelected,e[n.vxColSettings.primaryId])}),n.$emit("vxGridRowsDeleted",{id:n.vxConfig.id,data:n.vxColSettings.multiSelected}),_.each(n.vxColSettings.multiSelected,function(e){n.vxColSettings.inlineEditState[e]=!1,n.vxColSettings.rowSelected[e]=!1}),n.vxColSettings.multiSelected=[],1==n.vxConfig.hybrid){var i=angular.element(document.getElementById("_vxMulLength"+n.vxConfig.id));"undefined"!=typeof i&&null!=i&&i.length>0&&$(i).text(d("vxNumberFixedLen")(n.vxColSettings.multiSelected.length,2))}},n.activatePage=function(e){n.vxColSettings.activePage=e,n.vxColSettings.vxPageStartPosition=e>0?e*n.vxConfig.pageLength:0,n.vxColSettings.allRowSelected=!1},n.debouncedSearch=_.debounce(function(){n.vxColSettings.xsSearch=angular.copy(n.vxColSettings.searchToken)},50),n.keyUpSearch=function(e){13==e.keyCode?n.vxColSettings.xsSearch=angular.copy(n.vxColSettings.searchToken):8==e.keyCode&&""==n.vxColSettings.searchToken&&(n.vxColSettings.xsSearch=angular.copy(n.vxColSettings.searchToken))},n.filtTokenChange=function(e){n.vxColSettings.filterSearchToken[e]=n.vxColSettings.enteredSearchToken[e],_.each(n.vxConfig.columnDefConfigs,function(n){n.id==e&&(n.filterLimit=10,u[e]=0)})},n.debFiltTokenChange=_.debounce(n.filtTokenChange,10),n.filterTokenChnagedRapid=function(e){""==n.vxColSettings.enteredSearchToken[e]?(_.each(n.vxConfig.columnDefConfigs,function(n){n.id==e&&(n.filterLimit=10,u[e]=0)}),n.vxColSettings.filterSearchToken[e]=""):n.debFiltTokenChange(e)},n.filterAssignVar=function(e){var t=angular.element(document.getElementById(e+"_searchfilters_"+n.vxConfig.id));"undefined"!=typeof t&&t.length>0&&(n.vxColSettings.filterSearchToken[e]=t[0].value,_.each(n.vxConfig.columnDefConfigs,function(n){n.id==e&&(n.filterLimit=10,u[e]=0)}))},n.isValidHeaderName=function(e,n){return 0==e.renderHeadDefn&&"undefined"!=typeof n&&null!=n&&""!=n},n.headerClick=function(e,t){var i=!0,l=$(t.target);if("undefined"!=typeof l&&null!=l&l.length>0){var r=l.closest("ul.dropdown-menu");"undefined"!=typeof r&&null!=r&r.length>0&&(i=!1)}if(0!=i){var d=n.selfEle.find(".vxTableScrollContainer"),a=(n.selfEle.find(".vxHeadRowCell .dropdown ul.dropdown-menu"),n.getWindowDimensions().h/2);_.each(n.selfEle.find(".vxHeadRowCell .dropdown ul.dropdown-menu"),function(e){ -var n=Math.min(Math.floor(d.height())-48,a);$(e).css("max-height",n+"px")}),_.each(n.vxConfig.columnDefConfigs,function(t){0!=t.id.localeCompare(e.id)&&(n.vxColSettings.dropdDownOpen[t.id]=!1)});var f=_.find(n.vxConfig.columnDefConfigs,function(n){return 0==n.id.localeCompare(e.id)});if("undefined"!=typeof f&&null!=f)if(0==n.vxColSettings.dropdDownEnabled[f.id])n.sortClick(e);else{n.vxColSettings.dropdDownLoaded[f.id]=!1,n.vxColSettings.dropdDownOpen[f.id]=!n.vxColSettings.dropdDownOpen[f.id];var c=_.filter(n.multiBoxFilters,function(e){return 0!=e.col.localeCompare(f.id)}),s=c.length>0,g=!1;"undefined"!=typeof n.vxColSettings.colFilterPairs[f.id]&&null!=n.vxColSettings.colFilterPairs[f.id]&&n.vxColSettings.colFilterPairs[f.id]!={}&&n.vxColSettings.colFilterPairs[f.id].length>0&&(g=!0),0==s&&1==g?(n.vxColSettings.dropdDownLoaded[f.id]=!0,_.each(n.vxColSettings.colFilterPairs[f.id],function(e){e.disabled=!1})):o(function(){if(f.idCollection=[],1==f.ddSort&&(n.vxColSettings.dropDownSort[f.id]=!0,f.idCollection.push(n.vxConfig.id+"_"+f.id+"_sort")),1==f.ddGroup&&1!=n.vxConfig.hybrid&&(n.vxColSettings.dropDownGroup[f.id]=!0,f.idCollection.push(n.vxConfig.id+"_"+f.id+"_group"),f.idCollection.push(n.vxConfig.id+"_"+f.id+"_ungroup")),1==f.ddFilters){if(f.idCollection.push(n.vxConfig.id+"_"+f.id+"_clearfilters"),f.idCollection.push(f.id+"_searchfilters_"+n.vxConfig.id),f.idCollection.push(f.id+"_invokesearchfilters_"+n.vxConfig.id),0==g){n.vxColSettings.dropDownFilters[f.id]=!0,n.vxColSettings.colFilterPairs[f.id]=[];var t=[],i=_.uniq(_.map(n.vxConfig.vxData,function(e){var n={value:e[f.id],type:""};return"undefined"!=typeof n.value&&null!=n.value&&n.value!={}&&"object"!=typeof n.value&&"number"!=typeof n.value&&"boolean"!=typeof n.value?n.value=n.value.trim():"boolean"==typeof n.value?n.value=n.value.toString().trim():"[object Date]"===Object.prototype.toString.call(n.value)&&(n.value=n.value.getTime(),n.type="date"),n}),function(e){return e.value});i=_.reject(i,function(e){return"undefined"==typeof e.value||e.value=={}}),_.each(i.sort(),function(e,i){var o=v(e,f.id,"col"),l=o.key,r=o.type,d=""===e.value||" "===e.value?"< blank >":e.value;d=null==e.value?" < null >":d;var a={key:l,label:e.value,name:d,col:f.id,type:r,disabled:!1,action:"filter"};"undefined"!=typeof f.filterCellDefn&&null!=f.filterCellDefn&&f.filterCellDefn!={}&&""!=f.filterCellDefn?(a.filterDefn=f.filterCellDefn.replaceAll("VX_DATA_POINT","filter.name"),a.filterDefnAvailable=!0):a.filterDefnAvailable=!1,t.push(a),f.idCollection.push(n.vxConfig.id+"_"+f.id+"_filter_"+i),n.vxColSettings.colFiltersStatus[l]=!1}),t=_.sortBy(t,"label"),_.each(t,function(e){n.vxColSettings.colFilterPairs[f.id].push(e)}),n.vxColSettings.filterSearchToken[f.id]="",n.vxColSettings.colFiltersActivated[f.id]=!1}else{var i=_.uniq(_.map(n.vxConfig.vxFilteredData,function(e){return"[object Date]"===Object.prototype.toString.call(e[f.id])?e[f.id].getTime():"[object Boolean]"===Object.prototype.toString.call(e[f.id])?e[f.id].toString():e[f.id]}));_.each(n.vxColSettings.colFilterPairs[f.id],function(e){1!=_.contains(i,e.label)?e.disabled=!0:e.disabled=!1})}if(1==s){var o=_.last(n.multiBoxFilters),i=_.uniq(_.map(n.vxConfig.vxFilteredData,function(e){return"[object Date]"===Object.prototype.toString.call(e[f.id])?e[f.id].getTime():"[object Boolean]"===Object.prototype.toString.call(e[f.id])?e[f.id].toString():e[f.id]}));0!=o.col.localeCompare(f.id)&&_.each(n.vxColSettings.colFilterPairs[f.id],function(e){1!=_.contains(i,e.label)?e.disabled=!0:e.disabled=!1})}u[f.id]=0,e.filterLimit=10;var l=angular.element(document.getElementById(n.vxConfig.id+"-dropdwon-menu-"+f.id));l.on("scroll",function(e){var t=f.id,i=$(e.target).scrollTop();i>u[t]&&(n.debouncedIncrementFilter(t),u[t]=i)})}n.vxColSettings.dropdDownLoaded[f.id]=!0},500)}}},n.debouncedIncrementFilter=_.throttle(c,500),n.sortClick=function(e){var t=_.find(n.vxConfig.columnDefConfigs,function(n){return 0==n.id.localeCompare(e.id)});"undefined"!=typeof t&&null!=t&&t.ddSort&&(0!=n.vxConfig.sortPredicate.localeCompare(t.id)&&(n.vxConfig.sortPredicate=t.id,t.customSortEnabled?n.vxConfig.sortPredicateFn=t.customSortFn:n.vxConfig.sortPredicateFn=t.id),n.vxColSettings.reverseSettings[t.id]=!n.vxColSettings.reverseSettings[t.id],n.vxConfig.reverseSortDirection=n.vxColSettings.reverseSettings[t.id],1==n.vxConfig.hybrid&&(n.vxConfig.vxFilteredData=_.sortBy(n.vxConfig.vxFilteredData,n.vxConfig.sortPredicateFn),1==n.vxConfig.reverseSortDirection&&n.vxConfig.vxFilteredData.reverse(),n.resetHybridGrid()))},n.getVisibleHeaderCounts=function(){return _.filter(n.vxConfig.columnDefConfigs,function(e){return 1!=e.hidden}).length},n.groupClick=function(e){if(n.clearFilters(),1!=n.vxColSettings.groupByColActivated[e.id]){n.vxConfig.sortPredicate=null;var t=[],i=e.id,o=e.columnName,l=_.uniq(_.pluck(n.vxConfig.vxData,i)),r=_.groupBy(_.sortBy(n.vxConfig.vxData,i),i);n.vxColSettings.groupKeys[i]=[],_.each(l,function(e){var l=v(e,i,"groupcol").key;if(n.vxColSettings.groupKeys[i].push(l),r[e].length>0){n.vxColSettings.groupPredicate[l]=!1;var d={type:"groupRow",colName:o,col:i,value:e,groupId:l,cellDefn:'
'};d.cellDefn=d.cellDefn.replaceAll("VX_ROW_POINT","vxColSettings.groupPredicate[row.groupId]"),t.push(d),t=_.union(t,r[e])}}),n.vxConfig.vxData=t,n.vxColSettings.groupByColActivated[e.id]=!0}},n.unGroupClick=function(e){if(n.clearFilters(),1==n.vxColSettings.groupByColActivated[e.id]){var t=_.find(n.vxConfig.columnDefConfigs,function(n){return 0==n.id.localeCompare(e.id)});"undefined"!=typeof t&&null!=t&&(n.vxConfig.sortPredicate=t.id,t.customSortEnabled?n.vxConfig.sortPredicateFn=t.customSortFn:n.vxConfig.sortPredicateFn=t.id),n.vxConfig.vxData=_.reject(n.vxConfig.vxData,function(e){return"undefined"!=typeof e.type&&null!=e.type&&0==e.type.localeCompare("groupRow")}),n.vxColSettings.groupByColActivated[e.id]=!1}},n.getAllRowLength=function(){if(n.config.noData)return 0;if(1==n.vxConfig.hybrid)return n._origData.length;var e=_.filter(n.vxConfig.vxData,function(e){return"undefined"==typeof e.type||null==e.type||0!=e.type.localeCompare("groupRow")||1==e.fillEmptyElement}).length;return e},n.removeGroupings=function(){_.each(n.vxConfig.columnDefConfigs,function(e){n.unGroupClick(e)}),n.vxColSettings.groupPredicate={}},n.groupSelectionChanged=function(e){n.emitArray=[];var t=n.vxColSettings.groupPredicate[e.groupId],i=_.filter(n.vxConfig.vxFilteredData,function(n){return"groupRow"!=n.type&&0==n[e.col].localeCompare(e.value)});if(_.each(i,function(e){if(0==n.vxColSettings.multiSelColDependent||1==n.vxColSettings.multiSelColDependent&&0==e[n.vxConfig.multiSelectionDependentCol]){var i=e[n.vxColSettings.primaryId];if(n.vxColSettings.rowSelected[i]!=t){n.vxColSettings.rowSelected[i]=t;({key:e[n.vxConfig.onSelectionReturnCol],value:n.vxColSettings.rowSelected[i],_pKey:i});n.emitArray.push(i),t?n.vxColSettings.multiSelected.push(i):n.vxColSettings.multiSelected=_.reject(n.vxColSettings.multiSelected,function(e){return 0==e.localeCompare(i)})}}}),1==n.vxConfig.hybrid){var o=angular.element(document.getElementById("_vxMulLength"+n.vxConfig.id));"undefined"!=typeof o&&null!=o&&o.length>0&&$(o).text(d("vxNumberFixedLen")(n.vxColSettings.multiSelected.length,2))}n.$emit("vxGridRwSelectionChange",{id:n.vxConfig.id,data:n.emitArray})},n.allRowSelectionChanged=function(){var e=n.vxColSettings.allRowSelected;if(1==e){if(_.each(n.vxConfig.vxFilteredData,function(t,i){var o=!0;if(1==n.vxConfig.pagination&&0==n.vxConfig.virtualization&&(i>=n.vxColSettings.vxPageStartPosition&&i0&&$(r).prop("checked",!0)}}}),_.each(n.vxConfig.columnDefConfigs,function(e){1==n.vxColSettings.dropDownGroup[e.id]&&1==n.vxColSettings.groupByColActivated[e.id]&&_.each(n.vxColSettings.groupKeys[e.id],function(e){n.vxColSettings.groupPredicate[e]=!0})}),n.vxColSettings.multiSelected=_.reject(n.vxColSettings.multiSelected,function(e){return"undefined"==typeof e||null==e||e=={}}),1==n.vxConfig.hybrid){var t=angular.element(document.getElementById("_vxMulLength"+n.vxConfig.id));"undefined"!=typeof t&&null!=t&&t.length>0&&$(t).text(d("vxNumberFixedLen")(n.vxColSettings.multiSelected.length,2))}n.$emit("vxGridRowAllSelectionChange",{id:n.vxConfig.id,data:{toggledTo:e,array:n.vxColSettings.multiSelected}})}else 0==e&&(n.clearSelection(),n.$emit("vxGridRowAllSelectionChange",{id:n.vxConfig.id,data:{toggledTo:e,array:n.vxColSettings.multiSelected}}));if(1==n.vxConfig.hybrid){var t=angular.element(document.getElementById("_vxMulLength"+n.vxConfig.id));"undefined"!=typeof t&&null!=t&&t.length>0&&$(t).text(d("vxNumberFixedLen")(n.vxColSettings.multiSelected.length,2))}},n.rowSelectionChanged=function(e){var t=e,i=_.find(n.vxConfig.vxData,function(t){return t[n.vxColSettings.primaryId]==e}),o={key:i[n.vxConfig.onSelectionReturnCol],value:n.vxColSettings.rowSelected[t],_pKey:t},l=!0;if(1==n.vxColSettings.rowSelected[t]&&1==n.vxColSettings.multiSelColDependent){l=!1;var r=n.vxConfig.multiSelectionDependentCol;if(1==i[r]&&0==n.vxColSettings.multiSelected.length)l=!0;else if(0==i[r]&&n.vxColSettings.multiSelected.length>=1){var a=n.vxColSettings.multiSelected[0],f=_.find(n.vxConfig.vxData,function(e){return 0==e[n.vxColSettings.primaryId].localeCompare(a)});"undefined"!=typeof f&&null!=f&&f!={}&&1==f[r]?(l=!1,n.vxColSettings.rowSelected[t]=!1):l=!0}else 0==i[r]?l=!0:n.vxColSettings.rowSelected[t]=!1}else 0==n.vxColSettings.rowSelected[t]&&(n.vxColSettings.multiSelected=_.reject(n.vxColSettings.multiSelected,function(e){return 0==e.localeCompare(t)}),l=!1,n.vxColSettings.allRowSelected=!1,n.$emit("vxGridRowSelectionChange",{id:n.vxConfig.id,data:o}));if(l){var c=_.find(n.vxColSettings.multiSelected,function(e){return 0==e.localeCompare(t)});"undefined"!=typeof c&&null!=c||n.vxColSettings.multiSelected.push(t),n.$emit("vxGridRowSelectionChange",{id:n.vxConfig.id,data:o}),0==n.vxConfig.multiSelectionEnabled&&(_.each(n.vxColSettings.multiSelected,function(e){0!=e.localeCompare(t)&&(n.vxColSettings.rowSelected[e]=!1)}),n.vxColSettings.multiSelected=_.reject(n.vxColSettings.multiSelected,function(e){return 0!=e.localeCompare(t)}))}if(1==n.vxConfig.hybrid){var v=angular.element(document.getElementById("_vxMulLength"+n.vxConfig.id));"undefined"!=typeof v&&null!=v&&v.length>0&&$(v).text(d("vxNumberFixedLen")(n.vxColSettings.multiSelected.length,2))}},n.filterClick=function(e,t){0==n.vxConfig.preserveSelectionOnFilters&&n.clearSelection();var i=n.vxColSettings.colFiltersStatus[t.key];if(0==i){n.multiBoxFilters=_.reject(n.multiBoxFilters,function(e){return 0==e.key.localeCompare(t.key)});var o=_.find(n.multiBoxFilters,function(e){return 0==e.col.localeCompare(t.col)});"undefined"!=typeof o&&null!=o&&o!={}&&0!=o.length||(n.vxColSettings.colFiltersActivated[e.id]=!1)}else{var l=_.find(n.multiBoxFilters,function(e){return 0==e.key.localeCompare(t.key)});"undefined"!=typeof l&&null!=l&&l!={}||n.multiBoxFilters.push(t),n.vxColSettings.colFiltersActivated[e.id]=!0}1==n.vxConfig.hybrid&&(n.vxConfig.vxFilteredData=d("vxGridMultiBoxFilters")(n._origData,n.multiBoxFilters),n.resetHybridGrid())},n.filterClearClick=function(e){if(1==n.vxColSettings.colFiltersActivated[e.id]){n.clearSelection();var t=_.filter(n.multiBoxFilters,function(n){return 0==n.col.localeCompare(e.id)});t.length>0&&_.each(t,function(e){n.vxColSettings.colFiltersStatus[e.key]=!1}),n.multiBoxFilters=_.reject(n.multiBoxFilters,function(n){return 0==n.col.localeCompare(e.id)}),n.vxColSettings.colFiltersActivated[e.id]=!1,n.vxColSettings.filterSearchToken[e.id]=""}if(""!=n.vxColSettings.filterSearchToken[e.id]){n.vxColSettings.filterSearchToken[e.id]="";var i=angular.element(document.getElementById(e.id+"_searchfilters_"+n.vxConfig.id));"undefined"!=typeof i&&i.length>0&&(i[0].value="")}1==n.vxConfig.hybrid&&(n.vxConfig.vxFilteredData=d("vxGridMultiBoxFilters")(n._origData,n.multiBoxFilters),n.resetHybridGrid())},n.clearFilters=function(){n.multiBoxFilters.length>0&&_.each(n.vxConfig.columnDefConfigs,function(e){n.filterClearClick(e)}),n.multiBoxFilters=[]},n.selectAllFiltered=function(){n.vxColSettings.multiSelected.length>0&&n.clearSelection(),n.emitArray=[];var e="";1!=n.vxConfig.hybrid?e="vxFilteredData":(n.vxConfig.hybrid=!0)&&(e="vxFilteredData"),_.each(n.vxConfig[e],function(e){if(0==n.vxColSettings.multiSelColDependent||1==n.vxColSettings.multiSelColDependent&&0==e[n.vxConfig.multiSelectionDependentCol]){if(n.vxColSettings.rowSelected[e[n.vxColSettings.primaryId]]=!0,1==n.vxConfig.hybrid){var t=angular.element(document.getElementById("vx_row-sel_in_"+e[n.vxColSettings.primaryId]));"undefined"!=typeof t&&null!=t&&t.length>0&&$(t).prop("checked",!0)}var i=e[n.vxColSettings.primaryId],o={key:e[n.vxConfig.onSelectionReturnCol],value:n.vxColSettings.rowSelected[i],_pKey:i};if(n.emitArray.push(o),1==n.vxColSettings.rowSelected[i]){var l=_.find(n.vxColSettings.multiSelected,function(e){return 0==e.localeCompare(i)});"undefined"!=typeof l&&null!=l||n.vxColSettings.multiSelected.push(i)}}}),n.$emit("vxGridRowMultiSelectionChange",{id:n.vxConfig.id,data:n.emitArray})},n.clearSelection=function(){if(n.emitArray=[],_.each(n.vxColSettings.multiSelected,function(e){if(n.vxColSettings.rowSelected[e]=!1,1==n.vxConfig.hybrid){var t=angular.element(document.getElementById("vx_row-sel_in_"+e));"undefined"!=typeof t&&null!=t&&t.length>0&&$(t).prop("checked",!1)}var i=_.find(n.vxConfig.vxData,function(t){return"groupRow"!=t.type&&0==t[n.vxColSettings.primaryId].localeCompare(e)});if("undefined"!=typeof i&&null!=i){var o={key:i[n.vxConfig.onSelectionReturnCol],value:n.vxColSettings.rowSelected[e],_pKey:e};n.emitArray.push(o)}n.vxColSettings.multiSelected=[],n.vxColSettings.allRowSelected=!1,_.each(n.vxConfig.columnDefConfigs,function(e){1==n.vxColSettings.dropDownGroup[e.id]&&1==n.vxColSettings.groupByColActivated[e.id]&&_.each(n.vxColSettings.groupKeys[e.id],function(e){n.vxColSettings.groupPredicate[e]=!1})})}),1==n.vxConfig.hybrid){var e=angular.element(document.getElementById("_vxMulLength"+n.vxConfig.id));"undefined"!=typeof e&&null!=e&&e.length>0&&$(e).text(d("vxNumberFixedLen")(n.vxColSettings.multiSelected.length,2))}n.$emit("vxGridRowMultiSelectionChange",{id:n.vxConfig.id,data:n.emitArray})},n.upDownKeyDownHandlerHeaderMenu=function(e,t){if(40==e.keyCode||27==e.keyCode)if(40==e.keyCode){var i=$(e.target).siblings().find('[tabindex="0"]');i.length>0&&$(i[0]).focus()}else if(27==e.keyCode&&1==n.vxColSettings.dropdDownOpen[t]){n.vxColSettings.dropdDownOpen[t]=!1;var o=$(e.target).closest(".dropdown").find("button");o&&o.length>0&&$(o).focus()}},n.findIdToBeFocussed=function(e,n,t){var i=e;if(t)for(i+1==n.length&&(i=-1);i<=n.length;){var o=$("#"+n[i+1]);if($(o).is('[tabindex="0"]'))return n[i+1];i+=1}else if(!t)for(0==i&&(i=n.length);i>=1;){var o=$("#"+n[i-1]);if($(o).is('[tabindex="0"]'))return n[i-1];i-=1}return e},n.findFocussable=function(e,t,i){var o=$(e).attr("id"),l=_.find(n.vxConfig.columnDefConfigs,function(e){return e.id==t});if("undefined"!=typeof l&&null!=l){var r=l.idCollection,d=_.indexOf(r,o);return d!=-1&&d!=r.length&&1==i?n.findIdToBeFocussed(d,r,!0):d!=-1&&0==i?n.findIdToBeFocussed(d,r,!1):null}},n.shiftKeyPressed=!1,n.upDowKeyUpHandlerHeaderMenuItems=function(e,t){16==e.keyCode&&(n.shiftKeyPressed=!1)},n.upDowKeyDownHandlerHeaderMenuItems=function(e,t){var i=!1;if(16==e.keyCode&&(n.shiftKeyPressed=!0),40!=e.keyCode&&38!=e.keyCode&&27!=e.keyCode&&9!=e.keyCode)return!1;if(40==e.keyCode||9==e.keyCode&&0==n.shiftKeyPressed){var o=n.findFocussable($(e.target),t,!0);$("#"+o).is('[tabindex="0"]')&&$("#"+o).focus(),i=!0}else if(38==e.keyCode||9==e.keyCode&&1==n.shiftKeyPressed){var o=n.findFocussable($(e.target),t,!1);null==o?$(e.target).closest(".dropdown").find("button").focus():$("#"+o).is('[tabindex="0"]')&&$("#"+o).focus(),i=!0}else if(27==e.keyCode&&1==n.vxColSettings.dropdDownOpen[t]){n.vxColSettings.dropdDownOpen[t]=!1;var l=$(e.target).closest(".dropdown").find("button");l&&l.length>0&&$(l).focus()}i&&(e.stopPropagation(),e.preventDefault())},n.openManageColumns=function(){var e=t.open({templateUrl:"template/vx-grid/vx-grid-manage-columns-modal.html",windowClass:"vxGridManageColMod",controller:["$scope","$uibModalInstance","originalSettings",function(e,n,t){e.headerSelected=null,e.headerSelectedForVisChange=null,e.copyForWidthVisChange=t,_.each(e.copyForWidthVisChange,function(e,n){e.order=n,e.chars=Math.ceil((e.width-20)/7),e.selected=!1}),e.swapAbove=function(n){if(0==n.locked){var t=n.order,i=n.order,o=!0;do{i-=1,o=!0;var l=_.find(e.copyForWidthVisChange,function(e){return e.order==i&&0==e.orderLocked});"undefined"!=typeof l&&null!=l&&l!={}||(o=!1)}while(!o&&i>=0);if(o&&i>=0){var l=_.find(e.copyForWidthVisChange,function(e){return e.order==i&&0==e.orderLocked});"undefined"!=typeof l&&null!=l&&l!={}&&(l.order=t,n.order=i)}}},e.swapBelow=function(n){if(0==n.locked){var t=n.order,i=n.order,o=!0;do{i+=1,o=!0;var l=_.find(e.copyForWidthVisChange,function(e){return e.order==i&&0==e.orderLocked});"undefined"!=typeof l&&null!=l&&l!={}||(o=!1)}while(!o&&i<=e.copyForWidthVisChange.length-1);if(o&&i<=e.copyForWidthVisChange.length-1){var l=_.find(e.copyForWidthVisChange,function(e){return e.order==i&&0==e.orderLocked});"undefined"!=typeof l&&null!=l&&l!={}&&(l.order=t,n.order=i)}}},e.makeVisible=function(n){var t=_.find(e.copyForWidthVisChange,function(e){return 0==e.id.localeCompare(n.id)});"undefined"!=typeof t&&null!=t&&t!={}&&0==t.visbilityLocked&&(t.hidden=!1)},e.makeHidden=function(n){var t=_.find(e.copyForWidthVisChange,function(e){return 0==e.id.localeCompare(n.id)});"undefined"!=typeof t&&null!=t&&t!={}&&0==t.visbilityLocked&&(t.hidden=!0)},e.saveChangeInConfig=function(){var t=[];t=_.sortBy(e.copyForWidthVisChange,function(n){var t=_.find(e.copyForWidthVisChange,function(e){return 0==e.id.localeCompare(n.id)});return"undefined"!=typeof t&&null!=t&&t!={}?t.order:1}),n.close(t)},e.widthChanged=function(e){e.width=Math.ceil(7*e.chars)+20},e.selectHeader=function(n){1!=n.locked&&(n.selected=!n.selected,_.each(e.copyForWidthVisChange,function(e){0!=e.id.localeCompare(n.id)&&(e.selected=!1)}),1==n.selected?e.headerSelected=n:e.headerSelected=null)},e.cancelChangeInConfig=function(){n.dismiss()},e.upDownKeyPressHandler=function(n){var t=!1;38!=n.keyCode&&40!=n.keyCode||(t=e.upDownMovement(n)),t&&(n.stopPropagation(),n.preventDefault())},e.upDownMovement=function(e){var n=!1;if(38==e.keyCode){var t=$(e.target).prev();t.length>0&&$(t[0]).attr("tabindex")!=-1&&$(t)[0].focus(),n=!0}else if(40==e.keyCode){var t=$(e.target).next();t.length>0&&$(t[0]).attr("tabindex")!=-1&&$(t)[0].focus(),n=!0}return n}}],backdrop:"static",resolve:{originalSettings:function(){return angular.copy(n.vxConfig.columnDefConfigs)}}});e.result.then(function(e){e=n.calculateEffectiveWidths(e),n.vxConfig.columnDefConfigs=e,1==n.vxConfig.hybrid&&n.resetHybridGrid(),n.$emit("vxGridSettingsChanged",{id:n.vxConfig.id,data:e})},function(e){})},n.calculateEffectiveWidths=function(e){var t=_.reduce(e,function(e,n){var t=0;return 0==n.hidden&&(t=parseInt(n.width)),e+t},0),i=n.selfEle.find(".vxTableScrollContainer").width(),o=0;return _.each(e,function(e){if(i>t){var n=parseInt(e.width)/t*(i-t);e.effectiveWidth=parseInt(e.width)+n}else e.effectiveWidth=e.width;e.effectiveWidth=Math.floor(e.effectiveWidth),o+=e.effectiveWidth}),e},n.openJsonEditor=function(){var e=t.open({templateUrl:"template/vx-grid/vx-grid-json-editor-modal.html",windowClass:"vxGridManageColMod",controller:["$scope","$modalInstance","griddata",function(e,n,t){e.data=angular.copy(t),e.changeData=[],e.configuration={editable:!0,viewButtonClass:"btn-info",editButtonClass:"btn-success"},e.jsonOptions={mode:"code",modes:["tree","form","code","text"],history:!1},e.onChangeJSON=function(n){e.changeData=n},e.saveChangeInConfig=function(){n.close(e.changeData)},e.cancelChangeInConfig=function(){n.dismiss()}}],backdrop:"static",resolve:{griddata:function(){return angular.copy(n.vxConfig.vxData)}}});e.result.then(function(e){n.vxConfig.vxData=e,n.$emit("vxGridDataChanged",{id:n.vxConfig.id,data:e})},function(e){})},n.revealWrapToggle=function(){n.vxColSettings.revealWrapRowData=!n.vxColSettings.revealWrapRowData},n.xsReset=function(){n.vxColSettings.xsSearch=""},n.justScrollTop=function(){var e=n.selfEle.find(".vxTableContainer.scrollTableContainer");o(function(){$(e).animate({scrollTop:0},500)},10)},n.justScrollDown=function(){var e=n.selfEle.find(".vxTableContainer.scrollTableContainer"),t=$(e).scrollTop()||0;0==n.vxConfig.hybrid?o(function(){$(e).animate({scrollTop:t+96},33)},10):1==n.vxConfig.hybrid&&(n.prepForScrollInsertion(),o(function(){$(e).animate({scrollTop:t+100},300)},10))},n.showScrollDownArrow=function(){var e=n.selfEle.find(".vxTableContainer.scrollTableContainer"),t=n.selfEle.find(".scrollTableContainer table.vxTable");return"undefined"!=typeof e&&"undefined"!=typeof t&&null!=e&&null!=t&&t.height()>e.height()},n.showScrollUpArrow=function(){var e=n.selfEle.find(".vxTableContainer.scrollTableContainer"),t=n.selfEle.find(".scrollTableContainer table.vxTable");return"undefined"!=typeof e&&"undefined"!=typeof t&&null!=e&&null!=t&&t.height()>e.height()&&e.scrollTop()>48},n.outsideHeader=function(e){1==n.vxColSettings.dropdDownOpen[e.id]&&(n.vxColSettings.dropdDownOpen[e.id]=!1,n.$$phase||n.$apply())},n.$on("vsRepeatCollectionPartiallyRendered",function(e,t){n.$emit("vxPartiallyRendered",{id:n.vxConfig.id,data:t}),1==n.vxConfig.selectAllOnRenderAll&&(n.vxColSettings.selectAllEnabled=!1,n.$emit("vxPartiallyRenderedSelectAllDisabled",{id:n.vxConfig.id,data:t}))}),n.$on("vsRepeatCollectionCompletelyRendered",function(e,t){n.$emit("vxCompletelyRendered",{id:n.vxConfig.id,data:t}),1==n.vxConfig.selectAllOnRenderAll&&(n.vxColSettings.selectAllEnabled=!0,n.$emit("vxCompletelyRenderedSelectAllEnabled",{id:n.vxConfig.id,data:t}))}),n.buildFns=function(){var e=["openJsonEditor","openManageColumns","resetVxInstance","clearFilters","selectAllFiltered","clearSelection","revealWrapToggle"];_.each(e,function(e){var t="vxGrid"+e.capitalizeFirstLetter(),i=e+"()";n.$on(t,function(e,t){0==t.id.localeCompare(n.vxConfig.id)&&n.$eval(i)}),n.config[e]=function(){n.$eval(i)}})},n.$on("vxGridChangeRowClass",function(e,t){0==t.id.localeCompare(n.vxConfig.id)&&n.changeRowClass(t.data)}),n.changeRowClass=function(e){for(var t in e)n.vxColSettings.vxRowClass[t]=e[t];"$apply"!=n.$root.$$phase&&"$digest"!=n.$root.$$phase&&n.$apply()},n.$on("vxGridResetRowClass",function(e,t){0==t.id.localeCompare(n.vxConfig.id)&&(n.vxColSettings.vxRowClass={})}),n.$on("vxGridDisableRowSelection",function(e,t){0==t.id.localeCompare(n.vxConfig.id)&&_.each(t.data,function(e){n.vxColSettings.vxRowSelectionDisable[e.key]=e.value})}),n.$on("vxGridResetDisableRowSelection",function(e,t){if(0==t.id.localeCompare(n.vxConfig.id))for(var i in n.vxColSettings.vxRowSelectionDisable)n.vxColSettings.vxRowSelectionDisable[i]=!1})}],replace:!0,templateUrl:"template/vx-grid/vx-grid.html",link:function(e,n,t){e.selfEle=n,e.$watchCollection("config.data",function(n){n=n||[];var t=new Date;"undefined"!=typeof n&&0==n.length?(n=[{fillEmptyElement:!0}],e.config.noData=!0,1==e.config.hybrid&&"undefined"!=typeof e.vxConfig&&angular.element(document.getElementById("_vxHybrid"+e.vxConfig.id)).empty()):e.config.noData=!1,1==e.config.hybrid?(e.config.vxData=_.clone(n),e._origData=_.clone(n)):e.config.vxData=angular.copy(n),t=new Date,delete e.vxConfig,e.resetVxInstance()}),1!=e.config.hybrid&&e.$watchCollection("vxConfig.vxFilteredData",function(n){n.length>=0&&1==e.vxConfig.pagination&&(e.vxColSettings.pages=_.range(Math.ceil(n.length/parseInt(e.vxConfig.pageLength))),e.vxColSettings.vxPageEnabled=e.vxColSettings.pages.length>1,e.vxColSettings.activePage=0,e.vxColSettings.vxPageStartPosition=0)}),e.getvxTableContainerWidth=function(){var n=0;return _.each(e.vxConfig.columnDefConfigs,function(e){0==e.hidden&&(n+=e.effectiveWidth)}),e.vxConfig.totalWidth=n+"px",e.vxConfig.totalWidth},e.getNonHiddenColCount=function(){var n=1;return"undefined"!=typeof e.vxConfig.columnDefConfigs&&e.vxConfig.columnDefConfigs.length>0&&(n=_.filter(e.vxConfig.columnDefConfigs,function(e){return 0==e.hidden}).length),n}}}}).directive("vxCompile",["$compile",function(e){return function(n,t,i){n.$watch(function(e){return e.$eval(i.vxCompile)},function(i){t.html(i),e(t.contents())(n)})}}]).directive("vxCompileCloneLink",["$compile",function(e){var n={},t={};return function(i,o,l){var r=null;l.vxCompileCloneLink in n?r=t[l.vxCompileCloneLink]:(t[l.vxCompileCloneLink]=i.$eval(l.vxCompileCloneLink),r=t[l.vxCompileCloneLink]);var d=null;r in n?d=n[r]:(n[r]=e(r),d=n[r]),d(i,function(e,n){o.append(e)})}}]).directive("vxEditFocusDisable",["$rootScope","$parse",function(e,n){var t={},i={},o=["input","select","button","textarea","object"];return{restrict:"AEC",link:function(e,l,r){var d=(n(r.vxEditFocusDisable),$(l).attr("id"));e.$watch(r.vxEditFocusDisable,function(e){if(e){i[d]={available:!0,stack:[]},_.each(o,function(e){var n=$(l).find(e);n.length>0&&_.each(n,function(e){var n=$(e).attr("id");"undefined"!=typeof n&&null!=n&&""!=n||($(e).attr("id",_.uniqueId("elemid")),n=$(e).attr("id")),i[d].stack.push(n)})});var n=$(l).find("[tabindex]");n.length>0&&_.each(n,function(e){var n=$(e).attr("tabindex");if(n!=-1&&0==_.contains(o,e.nodeName.toUpperCase())&&0==_.contains(i[d].stack,t)){var t=$(e).attr("id");"undefined"!=typeof t&&null!=t&&""!=t||($(e).attr("id",_.uniqueId("elemid")),t=$(e).attr("id")),i[d].stack.push(t)}}),_.each(i[d].stack,function(e){t[e]=$("#"+e).attr("tabindex")||0,$("#"+e).attr("tabindex",-1)})}else 0==e&&"undefined"!=typeof i[d]&&"undefined"!=typeof i[d].available&&1==i[d].available&&(_.each(i[d].stack,function(e){var n=t[e];$("#"+e).attr("tabindex",n)}),i[d].available=!1)})}}}]).directive("axKey",["$rootScope","$parse",function(e,n){return{restrict:"A",compile:function(t,i){var o=n(i.axKey);return function(n,t){function l(t){var i=function(){o(n,{$event:t})};e.$$phase?n.$evalAsync(i):n.$apply(i)}t.attr("role")||t.attr("role","button"),t.attr("tabindex")||t.attr("tabindex",0);var r=[],d=0;r.push(n.$watch(i.axDisabled||i.ngDisabled,function(e){e?(d=t.attr("tabindex"),t.attr("tabindex",-1),t.attr("aria-disabled",!0)):(t.attr("tabindex",0),t.attr("aria-disabled",!1))})),t.on("click",function(e){n.$eval(i.axDisabled)||n.$eval(i.ngDisabled)||l(e)}),t.on("keyup",function(e){n.$eval(i.axDisabled)||n.$eval(i.ngDisabled)||13!=e.keyCode&&32!=e.keyCode||l(e)}),n.$on("$destroy",function(){for(;r.length;)r.shift()()})}}}}]).directive("vxKeepWatch",function(){return{restrict:"AEC",link:function(e,n,t){var i=t.vxKeepWatch,o=!1;e.$watch(t[i],function(n){o?e.$emit("vxInlineEditFieldChange",{field:t.vxKeepWatchField,value:n,rowId:t.vxKeepWatchRowId}):o=!0})}}}).filter("vxGridMultiBoxFilters",function(){return function(e,n){if("undefined"!=typeof n&&null!=n&&n.length>0){var t=e,i=e,o=_.groupBy(n,"col");for(var l in o){var r=o[l],d=[];_.each(r,function(e){d=_.union(d,_.filter(i,function(n){return"undefined"!=typeof e.label&&null!=e.label&&e.label!={}&&"undefined"!=typeof n[e.col]&&null!=n[e.col]&&n[e.col]!={}?"date"==e.type?"undefined"!=typeof n[e.col]&&n[e.col]!={}&&null!=n[e.col]&&""!=n[e.col]&&n[e.col].getTime()==e.label:"object"==e.type?0==JSON.stringify(n[e.col]).localeCompare(JSON.stringify(e.label)):0==n[e.col].toString().trim().localeCompare(e.label):n[e.col]==e.label}))}),t=_.intersection(t,d)}return t}return e}}).directive("clickOutsideHeader",["$document","$parse",function(e,n){return{restrict:"A",link:function(t,i,o){var l=void 0!==o.outsideIfNot?o.outsideIfNot.replace(", ",",").split(","):[];void 0!==o.id&&l.push(o.id);var r=n(o.clickOutsideHeader);e.on("click",function(e){try{var n=$(e.target).closest("th.vxHeadRowCell");"undefined"!=typeof n&&null!=n&&0!=n.length||t.$eval(o.checkClickOutside)&&t.$eval(r)}catch(e){}})}}}]).filter("vxNumberFixedLen",function(){return function(e,n){var t=parseInt(e,10);if(n=parseInt(n,10),isNaN(t)||isNaN(n))return e;for(t=""+t;t.length
',inlineEditOnColumnEnabled:!1};n.vxConfig.columnDefConfigs.unshift(a)}_.each(n.vxConfig.vxData,function(e,t){var i=e[n.vxColSettings.primaryId];n.vxColSettings.inlineEditState[i]=n.config.allRowsInDefaultEdit||!1})}if(e=new Date,1==n.vxConfig.selectionEnabled){var r=_.find(n.vxConfig.columnDefConfigs,function(e){return 0==e.id.localeCompare("checkbox")});if("undefined"==typeof r||null==r||r=={}){var a={id:"checkbox",columnName:"Row Selection",columnIsRowSelect:!0,renderDefn:!0,renderHeadDefn:!0,ddSort:!1,ddGroup:!1,ddFilters:!1,width:"50",locked:!0,headTabIndex:-1,headerDefn:'
',cellDefn:'
{{::row[vxConfig.ariaPrimary]}}'};n.vxConfig.columnDefConfigs.unshift(a)}_.each(n.vxConfig.vxData,function(e,t){var i=e[n.vxColSettings.primaryId];n.vxColSettings.rowSelected[i]=!1,n.vxColSettings.vxRowSelectionDisable[i]=!1})}e=new Date,n.multiBoxFilters=[];var c=[{prop:"enableDropdownsInHeader",defValue:!1},{prop:"selectionEnabled",defValue:!1},{prop:"selectionAtMyRisk",defValue:!1},{prop:"preserveSelectionOnFilters",defValue:!1},{prop:"multiSelectionEnabled",defValue:!1},{prop:"showGridStats",defValue:!1},{prop:"showGridOptions",defValue:!1},{prop:"selectAllOnRenderAll",defValue:!1},{prop:"virtualization",defValue:!0},{prop:"pagination",defValue:!1},{prop:"pageLength",defValue:20},{prop:"data",defValue:[]},{prop:"vxFilteredData",defValue:[]},{prop:"xsRowTitleTemplate",defValue:'
{{row[vxColSettings.primaryId]}}
'},{prop:"inlineAddRowEnabled",defValue:!1},{prop:"inlineEditSyncEnabled",defValue:!1},{prop:"inlineDeletingEnabled",defValue:!1},{prop:"inlineSaveOverrideEnabled",defValue:!1},{prop:"inlineDeleteOverrideEnabled",defValue:!1},{prop:"allRowsInDefaultEdit",defValue:!1},{prop:"jsonEditorEnabled",defValue:!1},{prop:"allRowsSelectionEnabled",defValue:!1},{prop:"sortPredicate",defValue:n.vxColSettings.primaryId},{prop:"sortPredicateFn",defValue:n.vxColSettings.primaryId},{prop:"reverseSortDirection",defValue:!1},{prop:"emptyFill",defValue:"No records to display ..."},{prop:"caption",defValue:"sample vx grid table caption"},{prop:"loaderGifSrc",defValue:"/resource/loaderWhite36.GIF"},{prop:"ariaPrimary",defValue:n.vxColSettings.primaryId},{prop:"xsTemplate",defValue:!1},{prop:"bindOnce",defValue:!1},{prop:"hybrid",defValue:!1},{prop:"latchExcess",defValue:5}];if(_.each(c,function(e){"undefined"!==n.vxConfig[e.prop]&&null!=n.vxConfig[e.prop]&&n.vxConfig[e.prop]!={}||(n.vxConfig[e.prop]=e.defValue)}),n.vxColSettings.vxRowClass=n.vxConfig.initialRowClasses||{},n.getWindowDimensions().w<768&&(n.vxColSettings.xsViewEnabled=n.vxConfig.xsTemplate,n.vxConfig.latchExcess=5),e=new Date,n.vxColSettings.selectAllOnRenderAll=n.vxConfig.selectAllOnRenderAll,_.each(n.vxConfig.columnDefConfigs,function(e){var t=[{prop:"renderDefn",defValue:!1},{prop:"renderHeadDefn",defValue:!1},{prop:"ddSort",defValue:!1},{prop:"ddGroup",defValue:!1},{prop:"ddFilters",defValue:!1},{prop:"ddFiltersWithSearch",defValue:!1},{prop:"dropDownEnabled",defValue:!1},{prop:"hidden",defValue:!1},{prop:"xsHidden",defValue:!1},{prop:"locked",defValue:!1},{prop:"primary",defValue:!1},{prop:"width",defValue:"200"},{prop:"headerDefn",defValue:""},{prop:"cellDefn",defValue:""},{prop:"filterCellDefn",defValue:""},{prop:"inlineEditOnColumnEnabled",defValue:!1},{prop:"inlineEditValidation",defValue:!1},{prop:"editDefn",defValue:null},{prop:"editDefnTemplate",defValue:null},{prop:"headTabIndex",defValue:0},{prop:"columnIsRowSelect",defValue:!1},{prop:"columnIsDate",defValue:!1},{prop:"columnDatePipe",defValue:"dd/MM/yyyy"},{prop:"renderHybridCellDefn",defValue:!1},{prop:"hybridCompile",defValue:!1},{prop:"filterLimit",defValue:10},{prop:"scopeIsRow",defValue:!1}];_.each(t,function(n){"undefined"!==e[n.prop]&&null!=e[n.prop]&&e[n.prop]!={}||(e[n.prop]=n.defValue)}),e.effectiveWidth=e.width,e.idCollection=[];var i=[{prop:"orderLocked",defValue:!1},{prop:"widthLocked",defValue:!1},{prop:"visbilityLocked",defValue:!1}];_.each(i,function(n){"undefined"===e[n.prop]||null==e[n.prop]||e[n.prop]=={}?e[n.prop]=e.locked:e[n.prop]=e.locked||e[n.prop]}),n.vxColSettings.reverseSettings[e.id]=!1,"undefined"!=typeof e.dropDownEnabled&&null!=e.dropDownEnabled&&1==e.dropDownEnabled&&1==n.vxConfig.enableDropdownsInHeader?n.vxColSettings.dropdDownEnabled[e.id]=!0:n.vxColSettings.dropdDownEnabled[e.id]=!1,n.vxColSettings.dropdDownLoaded[e.id]=!1,n.vxColSettings.dropdDownOpen[e.id]=!1,"undefined"!=typeof e.renderDefn&&null!=e.renderDefn&&e.renderDefn!={}&&1==e.renderDefn&&(e.cellDefn=e.cellDefn.replaceAll("VX_ROW_POINT","row[vxColSettings.primaryId]"),e.cellDefn=e.cellDefn.replaceAll("VX_DATA_POINT","row[header.id]"),e.cellDefn=e.cellDefn.replaceAll("VX_ROW","row"),e.cellDefn=e.cellDefn.replaceAll("VX_CONFIG","vxConfig")),1==e.inlineEditOnColumnEnabled&&1!=n.vxConfig.hybrid&&(""!=e.editDefn&&null!=e.editDefn||(e.editDefn=''),e.editDefn=e.editDefn.replaceAll("VX_ROW_POINT","row[vxColSettings.primaryId]"),e.editDefn=e.editDefn.replaceAll("VX_DATA_POINT","row[header.id]"),e.editDefn=e.editDefn.replaceAll("VX_ROW","row"),e.editDefn=e.editDefn.replaceAll("VX_CONFIG","vxConfig"),n.vxColSettings.colWithInlineEdits.push(e.id),e.editDefn.indexOf("vx-keep-watch")!=-1&&(e.editDefn=e.editDefn.replaceAll("vx-keep-watch",'vx-keep-watch-row-id="{{row[vxColSettings.primaryId]}}" vx-keep-watch-field="'+e.id+'" vx-keep-watch')),1==e.inlineEditValidation&&(n.vxConfig.invalidRows={},n.vxConfig.invalidRowFields={},_.each(n.vxConfig.vxData,function(e,t){var i=e[n.vxColSettings.primaryId];n.vxConfig.invalidRows[i]=!1,n.vxConfig.invalidRowFields[i]={}}),e.editDefn=e.editDefn.replaceAll("VX_INVALID_ROW","vxConfig.invalidRows[row[vxColSettings.primaryId]] == true"),e.editDefn=e.editDefn.replaceAll("VX_INVALID_FIELD_ROW","vxConfig.invalidRowFields[row[vxColSettings.primaryId]]."+e.id+" == true")))}),e=new Date,n.vxConfig.columnDefConfigs=n.calculateEffectiveWidths(n.vxConfig.columnDefConfigs),"undefined"!=typeof n.vxConfig.multiSelectionDependentCol&&null!=n.vxConfig.multiSelectionDependentCol&&n.vxConfig.multiSelectionDependentCol!={}&&""!=n.vxConfig.multiSelectionDependentCol&&(n.vxColSettings.multiSelColDependent=!0),"undefined"!=typeof n.vxConfig.xsRowTitleTemplate&&null!=n.vxConfig.xsRowTitleTemplate&&n.vxConfig.xsRowTitleTemplate!={}&&""!=n.vxConfig.xsRowTitleTemplate&&(n.vxColSettings.xsRowTitleTemplateAvailable=!0),1==n.vxConfig.inlineAddRowEnabled&&1!=n.vxConfig.hybrid&&("undefined"==typeof n.vxConfig.newRowTemplate||null==n.vxConfig.newRowTemplate||n.vxConfig.newRowTemplate=={}||""==n.vxConfig.newRowTemplate)){var v=angular.copy(n.vxConfig.data[0]);_.each(n.vxConfig.columnDefConfigs,function(e){switch(typeof n.vxConfig.newRowTemplate[e.id]){case"boolean":n.vxConfig.newRowTemplate[e.id]=!1;break;case"number":n.vxConfig.newRowTemplate[e.id]=0;break;case"string":n.vxConfig.newRowTemplate[e.id]="";break;default:n.vxConfig.newRowTemplate[e.id]=null}}),n.vxConfig.newRowTemplate=v}n.$watch("getWindowDimensions()",function(e,t){n.vxColSettings.xsViewEnabled=!1,n.vxConfig.columnDefConfigs=n.calculateEffectiveWidths(n.vxConfig.columnDefConfigs)},!0);s.bind("resize",function(){n.$apply()}),n.config.getVxCounts=function(){if("undefined"!=typeof n.vxConfig&&null!=n.vxConfig&&n.vxConfig!={}&&"undefined"!==n.vxConfig.id&&null!=n.vxConfig.id&&n.vxConfig.id!={}){var e={id:n.vxConfig.id,data:{vxAllDataLength:n.getAllRowLength(),vxFilteredDataLength:n.multiBoxFilters.length>0?1!=n.vxConfig.hybrid?n.vxConfig.vxFilteredData.length:n.vxConfig.vxData.length:0,vxSelectedDataLength:n.vxColSettings.multiSelected.length}};return e}},n.config.getAppliedFilters=function(){if("undefined"!=typeof n.vxConfig&&null!=n.vxConfig&&n.vxConfig!={}&&"undefined"!==n.vxConfig.id&&null!=n.vxConfig.id&&n.vxConfig.id!={}){var e=_.map(n.multiBoxFilters,function(e){return{column:e.col,label:e.label,key:e.key}});return e}},n.config.getData=function(){return n.vxConfig.data},n.config.getActiveDataSet=function(){return n.vxConfig.vxData},n.config.getFilteredDataSet=function(){return n.vxConfig.vxFilteredData},n.config.setRowFieldValidation=function(e,t,i){if("undefined"==typeof n.vxConfig.invalidRowFields[e]&&(n.vxConfig.invalidRows[e]=!1,n.vxConfig.invalidRowFields[e]={}),1==n.vxConfig.inlineEditSyncEnabled){var o=_.filter(n.vxColSettings.multiSelected,function(n){return 0==n.localeCompare(e)});"undefined"!=typeof o&&null!=o&&o.length>0&&_.each(n.vxColSettings.multiSelected,function(e){n.vxConfig.invalidRows[e]=!i,n.vxConfig.invalidRowFields[e][t]=!i})}n.vxConfig.invalidRows[e]=!i,n.vxConfig.invalidRowFields[e][t]=!i},n.config.getSelectedRows=function(){if(1==n.vxConfig.selectionAtMyRisk){n.vxColSettings.multiSelected=[];for(var e in n.vxColSettings.rowSelected)1==n.vxColSettings.rowSelected[e]&&"undefined"!=typeof e&&"undefined"!=e.toString()&&n.vxColSettings.multiSelected.push(e)}return n.vxColSettings.multiSelected},n.config.getRowsBeingEdited=function(){var e=[];if("undefined"!=typeof n.vxColSettings.inlineEditState&&null!=n.vxColSettings.inlineEditState)for(var t in n.vxColSettings.inlineEditState)1==n.vxColSettings.inlineEditState[t]&&e.push(t);return e},n.config.modifyRows=function(e,t){var i=[];return _.each(e,function(e){var o=e[n.vxColSettings.primaryId],l=_.find(n.vxConfig.vxData,function(e){return 0==e[n.vxColSettings.primaryId].localeCompare(o)}),r=_.find(n.vxConfig.data,function(e){return 0==e[n.vxColSettings.primaryId].localeCompare(o)});if("undefined"!=typeof l&&"undefined"!=typeof r){if("undefined"==typeof t||0==t.length)for(var d in e)0!=d.localeCompare(n.vxColSettings.primaryId)&&(l[d]=e[d],r[d]=e[d]);else t.length>0&&_.each(t,function(n){l[n]=e[n],r[n]=e[n]});i.push(r),1==n.vxConfig.hybrid&&n.hybridUpdateRows(i)}}),i},n.config.selectRows=function(e){var t=[];return _.each(e,function(e){var i=n.vxColSettings.rowSelected[e];if(("undefined"==typeof i||null==i||0==i)&&(n.vxColSettings.rowSelected[e]=!0,n.vxColSettings.multiSelected.push(e),t.push(e),1==n.vxConfig.hybrid)){var o=angular.element(document.getElementById("vx_row-sel_in_"+e));"undefined"!=typeof o&&null!=o&&o.length>0&&$(o).prop("checked",!0);var l=angular.element(document.getElementById("_vxMulLength"+n.vxConfig.id));"undefined"!=typeof l&&null!=l&&l.length>0&&$(l).text(d("vxNumberFixedLen")(n.vxColSettings.multiSelected.length,2))}}),t},n.config.deselectRows=function(e){var t=[];return _.each(e,function(e){var i=n.vxColSettings.rowSelected[e];if("undefined"!=typeof i&&1==i){if(n.vxColSettings.rowSelected[e]=!1,n.vxColSettings.multiSelected=_.reject(n.vxColSettings.multiSelected,function(n){0==e.localeCompare(n)}),t.push(e),1==n.vxConfig.hybrid){var o=angular.element(document.getElementById("vx_row-sel_in_"+e));"undefined"!=typeof o&&null!=o&&o.length>0&&$(o).prop("checked",!1)}if(1==n.vxConfig.hybrid){var l=angular.element(document.getElementById("_vxMulLength"+n.vxConfig.id));"undefined"!=typeof l&&null!=l&&l.length>0&&$(l).text(d("vxNumberFixedLen")(n.vxColSettings.multiSelected.length,2))}}}),t},n.config.sortByColumn=function(e,t){var i=_.find(n.vxConfig.columnDefConfigs,function(n){return 0==n.id.localeCompare(e)});"undefined"!=typeof i&&null!=i&&(n.vxConfig.sortPredicate=i.id,i.customSortEnabled?n.vxConfig.sortPredicateFn=i.customSortFn:n.vxConfig.sortPredicateFn=i.id,n.vxConfig.reverseSortDirection=t)},n.config.resetColumnFilters=function(e){_.each(e,function(e){n.vxColSettings.dropdDownLoaded[e]=!1,n.vxColSettings.colFilterPairs[e]={}})},n.config.removeRows=function(e){0==n.vxConfig.hybrid?(n.vxConfig.vxData=_.reject(n.vxConfig.vxData,function(t){return 1==_.contains(e,t[n.vxColSettings.primaryId])}),n.vxColSettings.multiSelected=_.difference(n.vxColSettings.multiSelected,e)):1==n.vxConfig.hybrid&&n.config.hybridDeleteRows(e)},n.buildFns(),n.config.changeRowClass=n.changeRowClass,n.$emit("vxGridSettingsBuilt",{id:n.vxConfig.id}),e=new Date;var g=null,x=null,C=48,p=n.vxConfig.latchExcess,S=0,m=!1,h=0;n.config.hybridDeleteRows=function(e){window.requestAnimFrame(function(){angular.forEach(e,function(e){var t=angular.element(document.getElementById(e));t.remove(),n.vxColSettings.inlineEditState[e]=!1,n.vxColSettings.rowSelected[e]=!1,n.vxColSettings.saveInProgress[e]=!1}),n._origData=_.reject(n._origData,function(t){return 1==_.contains(e,t[n.vxColSettings.primaryId])}),n.vxConfig.vxFilteredData=_.reject(n.vxConfig.vxFilteredData,function(t){return 1==_.contains(e,t[n.vxColSettings.primaryId])}),n.vxConfig.vxData=_.reject(n.vxConfig.vxData,function(t){return 1==_.contains(e,t[n.vxColSettings.primaryId])}),n.vxColSettings.multiSelected=_.difference(n.vxColSettings.multiSelected,e);var t=angular.element(document.getElementById("_vxMulLength"+n.vxConfig.id));"undefined"!=typeof t&&null!=t&&t.length>0&&$(t).text(d("vxNumberFixedLen")(n.vxColSettings.multiSelected.length,2)),n.$$phase||n.$apply()})},n.hybridUpdateRows=function(e){angular.forEach(e,function(e){var t=n.hybridGetRowTmpl(e),i=angular.element(document.getElementById(t.rowId));i.empty(),i.replaceWith(t.rowTmpl),t.compile&&f(i.contents())(n)})},n.resetHybridGrid=function(){S=0,m=!1,h=0,n.prepHybrid()},n.prepHybrid=function(){g=angular.element(document.getElementById("_vxHybrid"+n.vxConfig.id)),x=angular.element(document.getElementById("_vxScrollContainer"+n.vxConfig.id)),g.empty();var e=x.height(),t=Math.ceil(e/C)+p,i=_.first(n.vxConfig.vxFilteredData,t);n.appendRows(i),S+=t,x.on("scroll",function(){n.debPep()})},n.prepForScrollInsertion=function(){var e=g.height()-(x.height()+x.scrollTop());if(x.scrollTop()>h&&(e<0&&(e=0),e0&&$(r).text(d("vxNumberFixedLen")(n.vxColSettings.multiSelected.length,2)),"function"==typeof n.config.rowSelectionCallback&&n.config.rowSelectionCallback(o)}else n.rowSelectionChanged(t)}})})}},e=new Date,1==n.vxConfig.hybrid&&(e=new Date,n.vxConfig.vxFilteredData=n.vxConfig.vxData||[],o(n.prepHybrid,100))},n.editRow=function(e){if(1==n.vxConfig.inlineEditSyncEnabled&&n.vxColSettings.multiSelected.length>0){var t=_.filter(n.vxColSettings.multiSelected,function(n){return 0==n.localeCompare(e)});"undefined"!=typeof t&&null!=t&&t.length>0&&_.each(n.vxColSettings.multiSelected,function(e){n.vxColSettings.inlineEditState[e]=!0})}n.vxColSettings.inlineEditState[e]=!0},n.editInProgressCount=function(){var e=0;if("undefined"!=typeof n.vxColSettings.inlineEditState&&null!=n.vxColSettings.inlineEditState)for(var t in n.vxColSettings.inlineEditState)e=1==n.vxColSettings.inlineEditState[t]?e+1:e;return e},n.$on("vxInlineEditFieldChange",function(e,t){if(1==n.vxConfig.inlineEditSyncEnabled){var i=_.filter(n.vxColSettings.multiSelected,function(e){return 0==e.localeCompare(t.rowId)});"undefined"!=typeof i&&null!=i&&i.length>0&&_.each(n.vxColSettings.multiSelected,function(e){var i=_.find(n.vxConfig.vxData,function(t){return t[n.vxColSettings.primaryId]==e});"undefined"!=typeof i&&null!=i&&1==n.vxColSettings.inlineEditState[e]&&(i[t.field]=t.value)})}}),n.savingRows=function(e){var t=_.find(n.vxConfig.vxData,function(t){return t[n.vxColSettings.primaryId]==e});if("undefined"!=typeof t&&1==t.newRow)if(1==n.vxConfig.inlineSaveOverrideEnabled){n.vxColSettings.saveInProgress[e]=!0;var i=a.defer();i.promise.then(function(i){"undefined"!=typeof t.row&&1==i.save?(t.newRow=!1,_.each(n.vxConfig.columnDefConfigs,function(e){t[e.id]=i.row[e.id]})):n.vxConfig.data.unshift(t),n.vxColSettings.inlineEditState[e]="undefined"==typeof i.save||null==i.save||1!=i.save,n.$emit("vxGridRowSave",{id:n.vxConfig.id,data:t,save:!n.vxColSettings.inlineEditState[e]}),n.vxColSettings.saveInProgress[e]=!1},function(i){n.vxColSettings.saveInProgress[e]=!1,n.vxColSettings.inlineEditState[e]=!0,t.newRow=!0}),i.resolve(n.config.fnInlineSaveOverride(t,null))}else"undefined"!=typeof o?_.each(n.vxConfig.columnDefConfigs,function(e){o[e.id]=t[e.id]}):n.vxConfig.data.unshift(t),n.vxColSettings.inlineEditState[e]=!1,n.$emit("vxGridRowSaved",{id:n.vxConfig.id,data:t});else{var o=_.find(n.vxConfig.data,function(t){return t[n.vxColSettings.primaryId]==e});if("undefined"!=typeof t&&"undefined"!=typeof o&&1==n.vxConfig.inlineSaveOverrideEnabled){n.vxColSettings.saveInProgress[e]=!0;var i=a.defer();i.promise.then(function(i){"undefined"!=typeof i.row&&1==i.save&&_.each(n.vxColSettings.colWithInlineEdits,function(e){o[e]=i.row[e]}),n.vxColSettings.inlineEditState[e]="undefined"==typeof i.save||null==i.save||1!=i.save,n.$emit("vxGridRowSave",{id:n.vxConfig.id,data:t,save:!n.vxColSettings.inlineEditState[e]}),n.vxColSettings.saveInProgress[e]=!1},function(t){n.vxColSettings.saveInProgress[e]=!1,n.vxColSettings.inlineEditState[e]=!0}),i.resolve(n.config.fnInlineSaveOverride(t,o))}}},n.saveRow=function(e){var t=!1;if(1==n.vxConfig.inlineEditSyncEnabled){var i=_.filter(n.vxColSettings.multiSelected,function(n){return 0==n.localeCompare(e)});"undefined"!=typeof i&&null!=i&&i.length>0&&_.each(n.vxColSettings.multiSelected,function(e){n.savingRows(e),t=!0})}t||n.savingRows(e)},n.revertEdits=function(){if("undefined"!=typeof n.vxColSettings.multiSelected&&null!=n.vxColSettings.multiSelected&n.vxColSettings.multiSelected.length>0&&(_.each(n.vxColSettings.multiSelected,function(e){if(n.revertEditForRow(e),n.vxColSettings.rowSelected[e]=!1,1==n.vxConfig.hybrid){var t=angular.element(document.getElementById("vx_row-sel_in_"+e));"undefined"!=typeof t&&null!=t&&t.length>0&&$(t).prop("checked",!1)}}),n.vxColSettings.multiSelected=[],1==n.vxConfig.hybrid)){var e=angular.element(document.getElementById("_vxMulLength"+n.vxConfig.id));"undefined"!=typeof e&&null!=e&&e.length>0&&$(e).text(d("vxNumberFixedLen")(n.vxColSettings.multiSelected.length,2))}},n.revertEditForRow=function(e){var t=_.find(n.vxConfig.vxData,function(t){return t[n.vxColSettings.primaryId]==e});if("undefined"!=typeof t&&1==t.newRow){if(n.vxColSettings.inlineEditState[e]=!1,n.vxColSettings.rowSelected[e]=!1,1==n.vxConfig.hybrid){var i=angular.element(document.getElementById("vx_row-sel_in_"+e));"undefined"!=typeof i&&null!=i&&i.length>0&&$(i).prop("checked",!1)}if(n.vxColSettings.multiSelected=_.reject(n.vxColSettings.multiSelected,function(n){0==e.localeCompare(n)}),n.vxConfig.vxData=_.reject(n.vxConfig.vxData,function(t){return 0==t[n.vxColSettings.primaryId].localeCompare(e)}),n.$emit("vxGridRowEditRevert",{id:n.vxConfig.id,data:t}),1==n.vxConfig.hybrid){var o=angular.element(document.getElementById("_vxMulLength"+n.vxConfig.id));"undefined"!=typeof o&&null!=o&&o.length>0&&$(o).text(d("vxNumberFixedLen")(n.vxColSettings.multiSelected.length,2))}}else{var l=_.find(n.vxConfig.data,function(t){return t[n.vxColSettings.primaryId]==e});if("undefined"!=typeof t&&"undefined"!=typeof l){if(_.each(n.vxColSettings.colWithInlineEdits,function(e){t[e]=l[e]}),n.vxColSettings.inlineEditState[e]=!1,n.vxColSettings.rowSelected[e]=!1,1==n.vxConfig.hybrid){var i=angular.element(document.getElementById("vx_row-sel_in_"+e));"undefined"!=typeof i&&null!=i&&i.length>0&&$(i).prop("checked",!1)}if(n.vxColSettings.multiSelected=_.reject(n.vxColSettings.multiSelected,function(n){0==e.localeCompare(n)}),n.$emit("vxGridRowEditRevert",{id:n.vxConfig.id,data:l}),1==n.vxConfig.hybrid){var o=angular.element(document.getElementById("_vxMulLength"+n.vxConfig.id));"undefined"!=typeof o&&null!=o&&o.length>0&&$(o).text(d("vxNumberFixedLen")(n.vxColSettings.multiSelected.length,2))}}}},n.addNewRow=function(){n.vxConfig.sortPredicate="_vxCreated",n.vxConfig.sortPredicateFn="_vxCreated",n.vxConfig.reverseSortDirection=!0;var t=angular.copy(n.vxConfig.newRowTemplate),i=e();t[n.vxColSettings.primaryId]=i,t.newRow=!0,t._vxCreated=(new Date).getTime(),n.vxColSettings.inlineEditState[i]=!0,n.vxConfig.vxData.unshift(t)},n.deleteRows=function(){if("undefined"!=typeof n.vxColSettings.multiSelected&&null!=n.vxColSettings.multiSelected&n.vxColSettings.multiSelected.length>0)if(1==n.vxConfig.inlineDeleteOverrideEnabled){_.each(n.vxColSettings.multiSelected,function(e){n.vxColSettings.saveInProgress[e]=!0});var e=a.defer(),t=angular.copy(_.filter(n.vxConfig.vxData,function(e){return 1==_.contains(n.vxColSettings.multiSelected,e[n.vxColSettings.primaryId])}));e.promise.then(function(e){if(e.rows.length>0){var t=_.map(e.rows,function(e){return e[n.vxColSettings.primaryId]});if(n.vxConfig.vxData=_.reject(n.vxConfig.vxData,function(e){return 1==_.contains(t,e[n.vxColSettings.primaryId])}),n.$emit("vxGridRowsDeleted",{id:n.vxConfig.id,data:t}),_.each(t,function(e){n.vxColSettings.inlineEditState[e]=!1,n.vxColSettings.rowSelected[e]=!1,n.vxColSettings.saveInProgress[e]=!1}),n.vxColSettings.multiSelected=_.difference(n.vxColSettings.multiSelected,t),1==n.vxConfig.hybrid){var i=angular.element(document.getElementById("_vxMulLength"+n.vxConfig.id));"undefined"!=typeof i&&null!=i&&i.length>0&&$(i).text(d("vxNumberFixedLen")(n.vxColSettings.multiSelected.length,2))}}},function(e){}).then(function(){_.each(n.vxColSettings.multiSelected,function(e){n.vxColSettings.saveInProgress[e]=!1})}),e.resolve(n.config.fnInlineDeleteOverride(t))}else if(n.vxConfig.vxData=_.reject(n.vxConfig.vxData,function(e){return 1==_.contains(n.vxColSettings.multiSelected,e[n.vxColSettings.primaryId])}),n.$emit("vxGridRowsDeleted",{id:n.vxConfig.id,data:n.vxColSettings.multiSelected}),_.each(n.vxColSettings.multiSelected,function(e){n.vxColSettings.inlineEditState[e]=!1,n.vxColSettings.rowSelected[e]=!1}),n.vxColSettings.multiSelected=[],1==n.vxConfig.hybrid){var i=angular.element(document.getElementById("_vxMulLength"+n.vxConfig.id));"undefined"!=typeof i&&null!=i&&i.length>0&&$(i).text(d("vxNumberFixedLen")(n.vxColSettings.multiSelected.length,2))}},n.activatePage=function(e){n.vxColSettings.activePage=e,n.vxColSettings.vxPageStartPosition=e>0?e*n.vxConfig.pageLength:0,n.vxColSettings.allRowSelected=!1},n.debouncedSearch=_.debounce(function(){n.vxColSettings.xsSearch=angular.copy(n.vxColSettings.searchToken)},50),n.keyUpSearch=function(e){13==e.keyCode?n.vxColSettings.xsSearch=angular.copy(n.vxColSettings.searchToken):8==e.keyCode&&""==n.vxColSettings.searchToken&&(n.vxColSettings.xsSearch=angular.copy(n.vxColSettings.searchToken))},n.filtTokenChange=function(e){n.vxColSettings.filterSearchToken[e]=n.vxColSettings.enteredSearchToken[e],_.each(n.vxConfig.columnDefConfigs,function(n){n.id==e&&(n.filterLimit=10,u[e]=0)})},n.debFiltTokenChange=_.debounce(n.filtTokenChange,10),n.filterTokenChnagedRapid=function(e){""==n.vxColSettings.enteredSearchToken[e]?(_.each(n.vxConfig.columnDefConfigs,function(n){n.id==e&&(n.filterLimit=10,u[e]=0)}),n.vxColSettings.filterSearchToken[e]=""):n.debFiltTokenChange(e)},n.filterAssignVar=function(e){var t=angular.element(document.getElementById(e+"_searchfilters_"+n.vxConfig.id));"undefined"!=typeof t&&t.length>0&&(n.vxColSettings.filterSearchToken[e]=t[0].value,_.each(n.vxConfig.columnDefConfigs,function(n){n.id==e&&(n.filterLimit=10,u[e]=0)}))},n.isValidHeaderName=function(e,n){return 0==e.renderHeadDefn&&"undefined"!=typeof n&&null!=n&&""!=n},n.headerClick=function(e,t){var i=!0,l=$(t.target);if("undefined"!=typeof l&&null!=l&l.length>0){var r=l.closest("ul.dropdown-menu");"undefined"!=typeof r&&null!=r&r.length>0&&(i=!1)}if(0!=i){var d=n.selfEle.find(".vxTableScrollContainer"),a=(n.selfEle.find(".vxHeadRowCell .dropdown ul.dropdown-menu"),n.getWindowDimensions().h/2);_.each(n.selfEle.find(".vxHeadRowCell .dropdown ul.dropdown-menu"),function(e){var n=Math.min(Math.floor(d.height())-48,a); +$(e).css("max-height",n+"px")}),_.each(n.vxConfig.columnDefConfigs,function(t){0!=t.id.localeCompare(e.id)&&(n.vxColSettings.dropdDownOpen[t.id]=!1)});var f=_.find(n.vxConfig.columnDefConfigs,function(n){return 0==n.id.localeCompare(e.id)});if("undefined"!=typeof f&&null!=f)if(0==n.vxColSettings.dropdDownEnabled[f.id])n.sortClick(e);else{n.vxColSettings.dropdDownLoaded[f.id]=!1,n.vxColSettings.dropdDownOpen[f.id]=!n.vxColSettings.dropdDownOpen[f.id];var c=_.filter(n.multiBoxFilters,function(e){return 0!=e.col.localeCompare(f.id)}),s=c.length>0,g=!1;"undefined"!=typeof n.vxColSettings.colFilterPairs[f.id]&&null!=n.vxColSettings.colFilterPairs[f.id]&&n.vxColSettings.colFilterPairs[f.id]!={}&&n.vxColSettings.colFilterPairs[f.id].length>0&&(g=!0),0==s&&1==g?(n.vxColSettings.dropdDownLoaded[f.id]=!0,_.each(n.vxColSettings.colFilterPairs[f.id],function(e){e.disabled=!1})):o(function(){if(f.idCollection=[],1==f.ddSort&&(n.vxColSettings.dropDownSort[f.id]=!0,f.idCollection.push(n.vxConfig.id+"_"+f.id+"_sort")),1==f.ddGroup&&1!=n.vxConfig.hybrid&&(n.vxColSettings.dropDownGroup[f.id]=!0,f.idCollection.push(n.vxConfig.id+"_"+f.id+"_group"),f.idCollection.push(n.vxConfig.id+"_"+f.id+"_ungroup")),1==f.ddFilters){if(f.idCollection.push(n.vxConfig.id+"_"+f.id+"_clearfilters"),f.idCollection.push(f.id+"_searchfilters_"+n.vxConfig.id),f.idCollection.push(f.id+"_invokesearchfilters_"+n.vxConfig.id),0==g){n.vxColSettings.dropDownFilters[f.id]=!0,n.vxColSettings.colFilterPairs[f.id]=[];var t=[],i=_.uniq(_.map(n.vxConfig.vxData,function(e){var n={value:e[f.id],type:""};return"undefined"!=typeof n.value&&null!=n.value&&n.value!={}&&"object"!=typeof n.value&&"number"!=typeof n.value&&"boolean"!=typeof n.value?n.value=n.value.trim():"boolean"==typeof n.value?n.value=n.value.toString().trim():"[object Date]"===Object.prototype.toString.call(n.value)&&(n.value=n.value.getTime(),n.type="date"),n}),function(e){return e.value});i=_.reject(i,function(e){return"undefined"==typeof e.value||e.value=={}}),_.each(i.sort(),function(e,i){var o=v(e,f.id,"col"),l=o.key,r=o.type,d=""===e.value||" "===e.value?"< blank >":e.value;d=null==e.value?" < null >":d;var a={key:l,label:e.value,name:d,col:f.id,type:r,disabled:!1,action:"filter"};"undefined"!=typeof f.filterCellDefn&&null!=f.filterCellDefn&&f.filterCellDefn!={}&&""!=f.filterCellDefn?(a.filterDefn=f.filterCellDefn.replaceAll("VX_DATA_POINT","filter.name"),a.filterDefnAvailable=!0):a.filterDefnAvailable=!1,t.push(a),f.idCollection.push(n.vxConfig.id+"_"+f.id+"_filter_"+i),n.vxColSettings.colFiltersStatus[l]=!1}),t=_.sortBy(t,"label"),_.each(t,function(e){n.vxColSettings.colFilterPairs[f.id].push(e)}),n.vxColSettings.filterSearchToken[f.id]="",n.vxColSettings.colFiltersActivated[f.id]=!1}else{var i=_.uniq(_.map(n.vxConfig.vxFilteredData,function(e){return"[object Date]"===Object.prototype.toString.call(e[f.id])?e[f.id].getTime():"[object Boolean]"===Object.prototype.toString.call(e[f.id])?e[f.id].toString():e[f.id]}));_.each(n.vxColSettings.colFilterPairs[f.id],function(e){1!=_.contains(i,e.label)?e.disabled=!0:e.disabled=!1})}if(1==s){var o=_.last(n.multiBoxFilters),i=_.uniq(_.map(n.vxConfig.vxFilteredData,function(e){return"[object Date]"===Object.prototype.toString.call(e[f.id])?e[f.id].getTime():"[object Boolean]"===Object.prototype.toString.call(e[f.id])?e[f.id].toString():e[f.id]}));0!=o.col.localeCompare(f.id)&&_.each(n.vxColSettings.colFilterPairs[f.id],function(e){1!=_.contains(i,e.label)?e.disabled=!0:e.disabled=!1})}u[f.id]=0,e.filterLimit=10;var l=angular.element(document.getElementById(n.vxConfig.id+"-dropdwon-menu-"+f.id));l.on("scroll",function(e){var t=f.id,i=$(e.target).scrollTop();i>u[t]&&(n.debouncedIncrementFilter(t),u[t]=i)})}n.vxColSettings.dropdDownLoaded[f.id]=!0},500)}}},n.debouncedIncrementFilter=_.throttle(c,500),n.sortClick=function(e){var t=_.find(n.vxConfig.columnDefConfigs,function(n){return 0==n.id.localeCompare(e.id)});"undefined"!=typeof t&&null!=t&&t.ddSort&&(0!=n.vxConfig.sortPredicate.localeCompare(t.id)&&(n.vxConfig.sortPredicate=t.id,t.customSortEnabled?n.vxConfig.sortPredicateFn=t.customSortFn:n.vxConfig.sortPredicateFn=t.id),n.vxColSettings.reverseSettings[t.id]=!n.vxColSettings.reverseSettings[t.id],n.vxConfig.reverseSortDirection=n.vxColSettings.reverseSettings[t.id],1==n.vxConfig.hybrid&&(n.vxConfig.vxFilteredData=_.sortBy(n.vxConfig.vxFilteredData,n.vxConfig.sortPredicateFn),1==n.vxConfig.reverseSortDirection&&n.vxConfig.vxFilteredData.reverse(),n.resetHybridGrid()))},n.getVisibleHeaderCounts=function(){return _.filter(n.vxConfig.columnDefConfigs,function(e){return 1!=e.hidden}).length},n.groupClick=function(e){if(n.clearFilters(),1!=n.vxColSettings.groupByColActivated[e.id]){n.vxConfig.sortPredicate=null;var t=[],i=e.id,o=e.columnName,l=_.uniq(_.pluck(n.vxConfig.vxData,i)),r=_.groupBy(_.sortBy(n.vxConfig.vxData,i),i);n.vxColSettings.groupKeys[i]=[],_.each(l,function(e){var l=v(e,i,"groupcol").key;if(n.vxColSettings.groupKeys[i].push(l),r[e].length>0){n.vxColSettings.groupPredicate[l]=!1;var d={type:"groupRow",colName:o,col:i,value:e,groupId:l,cellDefn:'
'};d.cellDefn=d.cellDefn.replaceAll("VX_ROW_POINT","vxColSettings.groupPredicate[row.groupId]"),t.push(d),t=_.union(t,r[e])}}),n.vxConfig.vxData=t,n.vxColSettings.groupByColActivated[e.id]=!0}},n.unGroupClick=function(e){if(n.clearFilters(),1==n.vxColSettings.groupByColActivated[e.id]){var t=_.find(n.vxConfig.columnDefConfigs,function(n){return 0==n.id.localeCompare(e.id)});"undefined"!=typeof t&&null!=t&&(n.vxConfig.sortPredicate=t.id,t.customSortEnabled?n.vxConfig.sortPredicateFn=t.customSortFn:n.vxConfig.sortPredicateFn=t.id),n.vxConfig.vxData=_.reject(n.vxConfig.vxData,function(e){return"undefined"!=typeof e.type&&null!=e.type&&0==e.type.localeCompare("groupRow")}),n.vxColSettings.groupByColActivated[e.id]=!1}},n.getAllRowLength=function(){if(n.config.noData)return 0;if(1==n.vxConfig.hybrid)return n._origData.length;var e=_.filter(n.vxConfig.vxData,function(e){return"undefined"==typeof e.type||null==e.type||0!=e.type.localeCompare("groupRow")||1==e.fillEmptyElement}).length;return e},n.removeGroupings=function(){_.each(n.vxConfig.columnDefConfigs,function(e){n.unGroupClick(e)}),n.vxColSettings.groupPredicate={}},n.groupSelectionChanged=function(e){n.emitArray=[];var t=n.vxColSettings.groupPredicate[e.groupId],i=_.filter(n.vxConfig.vxFilteredData,function(n){return"groupRow"!=n.type&&0==n[e.col].localeCompare(e.value)});if(_.each(i,function(e){if(0==n.vxColSettings.multiSelColDependent||1==n.vxColSettings.multiSelColDependent&&0==e[n.vxConfig.multiSelectionDependentCol]){var i=e[n.vxColSettings.primaryId];if(n.vxColSettings.rowSelected[i]!=t){n.vxColSettings.rowSelected[i]=t;({key:e[n.vxConfig.onSelectionReturnCol],value:n.vxColSettings.rowSelected[i],_pKey:i});n.emitArray.push(i),t?n.vxColSettings.multiSelected.push(i):n.vxColSettings.multiSelected=_.reject(n.vxColSettings.multiSelected,function(e){return 0==e.localeCompare(i)})}}}),1==n.vxConfig.hybrid){var o=angular.element(document.getElementById("_vxMulLength"+n.vxConfig.id));"undefined"!=typeof o&&null!=o&&o.length>0&&$(o).text(d("vxNumberFixedLen")(n.vxColSettings.multiSelected.length,2))}n.$emit("vxGridRwSelectionChange",{id:n.vxConfig.id,data:n.emitArray})},n.allRowSelectionChanged=function(){var e=n.vxColSettings.allRowSelected;if(1==e){if(_.each(n.vxConfig.vxFilteredData,function(t,i){var o=!0;if(1==n.vxConfig.pagination&&0==n.vxConfig.virtualization&&(i>=n.vxColSettings.vxPageStartPosition&&i0&&$(r).prop("checked",!0)}}}),_.each(n.vxConfig.columnDefConfigs,function(e){1==n.vxColSettings.dropDownGroup[e.id]&&1==n.vxColSettings.groupByColActivated[e.id]&&_.each(n.vxColSettings.groupKeys[e.id],function(e){n.vxColSettings.groupPredicate[e]=!0})}),n.vxColSettings.multiSelected=_.reject(n.vxColSettings.multiSelected,function(e){return"undefined"==typeof e||null==e||e=={}}),1==n.vxConfig.hybrid){var t=angular.element(document.getElementById("_vxMulLength"+n.vxConfig.id));"undefined"!=typeof t&&null!=t&&t.length>0&&$(t).text(d("vxNumberFixedLen")(n.vxColSettings.multiSelected.length,2))}n.$emit("vxGridRowAllSelectionChange",{id:n.vxConfig.id,data:{toggledTo:e,array:n.vxColSettings.multiSelected}})}else 0==e&&(n.clearSelection(),n.$emit("vxGridRowAllSelectionChange",{id:n.vxConfig.id,data:{toggledTo:e,array:n.vxColSettings.multiSelected}}));if(1==n.vxConfig.hybrid){var t=angular.element(document.getElementById("_vxMulLength"+n.vxConfig.id));"undefined"!=typeof t&&null!=t&&t.length>0&&$(t).text(d("vxNumberFixedLen")(n.vxColSettings.multiSelected.length,2))}},n.rowSelectionChanged=function(e){var t=e,i=_.find(n.vxConfig.vxData,function(t){return t[n.vxColSettings.primaryId]==e}),o={key:i[n.vxConfig.onSelectionReturnCol],value:n.vxColSettings.rowSelected[t],_pKey:t},l=!0;if(1==n.vxColSettings.rowSelected[t]&&1==n.vxColSettings.multiSelColDependent){l=!1;var r=n.vxConfig.multiSelectionDependentCol;if(1==i[r]&&0==n.vxColSettings.multiSelected.length)l=!0;else if(0==i[r]&&n.vxColSettings.multiSelected.length>=1){var a=n.vxColSettings.multiSelected[0],f=_.find(n.vxConfig.vxData,function(e){return 0==e[n.vxColSettings.primaryId].localeCompare(a)});"undefined"!=typeof f&&null!=f&&f!={}&&1==f[r]?(l=!1,n.vxColSettings.rowSelected[t]=!1):l=!0}else 0==i[r]?l=!0:n.vxColSettings.rowSelected[t]=!1}else 0==n.vxColSettings.rowSelected[t]&&(n.vxColSettings.multiSelected=_.reject(n.vxColSettings.multiSelected,function(e){return 0==e.localeCompare(t)}),l=!1,n.vxColSettings.allRowSelected=!1,n.$emit("vxGridRowSelectionChange",{id:n.vxConfig.id,data:o}));if(l){var c=_.find(n.vxColSettings.multiSelected,function(e){return 0==e.localeCompare(t)});"undefined"!=typeof c&&null!=c||n.vxColSettings.multiSelected.push(t),n.$emit("vxGridRowSelectionChange",{id:n.vxConfig.id,data:o}),0==n.vxConfig.multiSelectionEnabled&&(_.each(n.vxColSettings.multiSelected,function(e){0!=e.localeCompare(t)&&(n.vxColSettings.rowSelected[e]=!1)}),n.vxColSettings.multiSelected=_.reject(n.vxColSettings.multiSelected,function(e){return 0!=e.localeCompare(t)}))}if(1==n.vxConfig.hybrid){var v=angular.element(document.getElementById("_vxMulLength"+n.vxConfig.id));"undefined"!=typeof v&&null!=v&&v.length>0&&$(v).text(d("vxNumberFixedLen")(n.vxColSettings.multiSelected.length,2))}},n.filterClick=function(e,t){0==n.vxConfig.preserveSelectionOnFilters&&n.clearSelection();var i=n.vxColSettings.colFiltersStatus[t.key];if(0==i){n.multiBoxFilters=_.reject(n.multiBoxFilters,function(e){return 0==e.key.localeCompare(t.key)});var o=_.find(n.multiBoxFilters,function(e){return 0==e.col.localeCompare(t.col)});"undefined"!=typeof o&&null!=o&&o!={}&&0!=o.length||(n.vxColSettings.colFiltersActivated[e.id]=!1)}else{var l=_.find(n.multiBoxFilters,function(e){return 0==e.key.localeCompare(t.key)});"undefined"!=typeof l&&null!=l&&l!={}||n.multiBoxFilters.push(t),n.vxColSettings.colFiltersActivated[e.id]=!0}1==n.vxConfig.hybrid&&(n.vxConfig.vxFilteredData=d("vxGridMultiBoxFilters")(n._origData,n.multiBoxFilters),n.resetHybridGrid())},n.filterClearClick=function(e){if(1==n.vxColSettings.colFiltersActivated[e.id]){n.clearSelection();var t=_.filter(n.multiBoxFilters,function(n){return 0==n.col.localeCompare(e.id)});t.length>0&&_.each(t,function(e){n.vxColSettings.colFiltersStatus[e.key]=!1}),n.multiBoxFilters=_.reject(n.multiBoxFilters,function(n){return 0==n.col.localeCompare(e.id)}),n.vxColSettings.colFiltersActivated[e.id]=!1,n.vxColSettings.filterSearchToken[e.id]=""}if(""!=n.vxColSettings.filterSearchToken[e.id]){n.vxColSettings.filterSearchToken[e.id]="";var i=angular.element(document.getElementById(e.id+"_searchfilters_"+n.vxConfig.id));"undefined"!=typeof i&&i.length>0&&(i[0].value="")}1==n.vxConfig.hybrid&&(n.vxConfig.vxFilteredData=d("vxGridMultiBoxFilters")(n._origData,n.multiBoxFilters),n.resetHybridGrid())},n.clearFilters=function(){n.multiBoxFilters.length>0&&_.each(n.vxConfig.columnDefConfigs,function(e){n.filterClearClick(e)}),n.multiBoxFilters=[]},n.selectAllFiltered=function(){n.vxColSettings.multiSelected.length>0&&n.clearSelection(),n.emitArray=[];var e="";1!=n.vxConfig.hybrid?e="vxFilteredData":(n.vxConfig.hybrid=!0)&&(e="vxFilteredData"),_.each(n.vxConfig[e],function(e){if(0==n.vxColSettings.multiSelColDependent||1==n.vxColSettings.multiSelColDependent&&0==e[n.vxConfig.multiSelectionDependentCol]){if(n.vxColSettings.rowSelected[e[n.vxColSettings.primaryId]]=!0,1==n.vxConfig.hybrid){var t=angular.element(document.getElementById("vx_row-sel_in_"+e[n.vxColSettings.primaryId]));"undefined"!=typeof t&&null!=t&&t.length>0&&$(t).prop("checked",!0)}var i=e[n.vxColSettings.primaryId],o={key:e[n.vxConfig.onSelectionReturnCol],value:n.vxColSettings.rowSelected[i],_pKey:i};if(n.emitArray.push(o),1==n.vxColSettings.rowSelected[i]){var l=_.find(n.vxColSettings.multiSelected,function(e){return 0==e.localeCompare(i)});"undefined"!=typeof l&&null!=l||n.vxColSettings.multiSelected.push(i)}}}),n.$emit("vxGridRowMultiSelectionChange",{id:n.vxConfig.id,data:n.emitArray})},n.clearSelection=function(){if(n.emitArray=[],_.each(n.vxColSettings.multiSelected,function(e){if(n.vxColSettings.rowSelected[e]=!1,1==n.vxConfig.hybrid){var t=angular.element(document.getElementById("vx_row-sel_in_"+e));"undefined"!=typeof t&&null!=t&&t.length>0&&$(t).prop("checked",!1)}var i=_.find(n.vxConfig.vxData,function(t){return"groupRow"!=t.type&&0==t[n.vxColSettings.primaryId].localeCompare(e)});if("undefined"!=typeof i&&null!=i){var o={key:i[n.vxConfig.onSelectionReturnCol],value:n.vxColSettings.rowSelected[e],_pKey:e};n.emitArray.push(o)}n.vxColSettings.multiSelected=[],n.vxColSettings.allRowSelected=!1,_.each(n.vxConfig.columnDefConfigs,function(e){1==n.vxColSettings.dropDownGroup[e.id]&&1==n.vxColSettings.groupByColActivated[e.id]&&_.each(n.vxColSettings.groupKeys[e.id],function(e){n.vxColSettings.groupPredicate[e]=!1})})}),1==n.vxConfig.hybrid){var e=angular.element(document.getElementById("_vxMulLength"+n.vxConfig.id));"undefined"!=typeof e&&null!=e&&e.length>0&&$(e).text(d("vxNumberFixedLen")(n.vxColSettings.multiSelected.length,2))}n.$emit("vxGridRowMultiSelectionChange",{id:n.vxConfig.id,data:n.emitArray})},n.upDownKeyDownHandlerHeaderMenu=function(e,t){if(40==e.keyCode||27==e.keyCode)if(40==e.keyCode){var i=$(e.target).siblings().find('[tabindex="0"]');i.length>0&&$(i[0]).focus()}else if(27==e.keyCode&&1==n.vxColSettings.dropdDownOpen[t]){n.vxColSettings.dropdDownOpen[t]=!1;var o=$(e.target).closest(".dropdown").find("button");o&&o.length>0&&$(o).focus()}},n.findIdToBeFocussed=function(e,n,t){var i=e;if(t)for(i+1==n.length&&(i=-1);i<=n.length;){var o=$("#"+n[i+1]);if($(o).is('[tabindex="0"]'))return n[i+1];i+=1}else if(!t)for(0==i&&(i=n.length);i>=1;){var o=$("#"+n[i-1]);if($(o).is('[tabindex="0"]'))return n[i-1];i-=1}return e},n.findFocussable=function(e,t,i){var o=$(e).attr("id"),l=_.find(n.vxConfig.columnDefConfigs,function(e){return e.id==t});if("undefined"!=typeof l&&null!=l){var r=l.idCollection,d=_.indexOf(r,o);return d!=-1&&d!=r.length&&1==i?n.findIdToBeFocussed(d,r,!0):d!=-1&&0==i?n.findIdToBeFocussed(d,r,!1):null}},n.shiftKeyPressed=!1,n.upDowKeyUpHandlerHeaderMenuItems=function(e,t){16==e.keyCode&&(n.shiftKeyPressed=!1)},n.upDowKeyDownHandlerHeaderMenuItems=function(e,t){var i=!1;if(16==e.keyCode&&(n.shiftKeyPressed=!0),40!=e.keyCode&&38!=e.keyCode&&27!=e.keyCode&&9!=e.keyCode)return!1;if(40==e.keyCode||9==e.keyCode&&0==n.shiftKeyPressed){var o=n.findFocussable($(e.target),t,!0);$("#"+o).is('[tabindex="0"]')&&$("#"+o).focus(),i=!0}else if(38==e.keyCode||9==e.keyCode&&1==n.shiftKeyPressed){var o=n.findFocussable($(e.target),t,!1);null==o?$(e.target).closest(".dropdown").find("button").focus():$("#"+o).is('[tabindex="0"]')&&$("#"+o).focus(),i=!0}else if(27==e.keyCode&&1==n.vxColSettings.dropdDownOpen[t]){n.vxColSettings.dropdDownOpen[t]=!1;var l=$(e.target).closest(".dropdown").find("button");l&&l.length>0&&$(l).focus()}i&&(e.stopPropagation(),e.preventDefault())},n.openManageColumns=function(){var e=t.open({templateUrl:"template/vx-grid/vx-grid-manage-columns-modal.html",windowClass:"vxGridManageColMod",controller:["$scope","$uibModalInstance","originalSettings",function(e,n,t){e.headerSelected=null,e.headerSelectedForVisChange=null,e.copyForWidthVisChange=t,_.each(e.copyForWidthVisChange,function(e,n){e.order=n,e.chars=Math.ceil((e.width-20)/7),e.selected=!1}),e.swapAbove=function(n){if(0==n.locked){var t=n.order,i=n.order,o=!0;do{i-=1,o=!0;var l=_.find(e.copyForWidthVisChange,function(e){return e.order==i&&0==e.orderLocked});"undefined"!=typeof l&&null!=l&&l!={}||(o=!1)}while(!o&&i>=0);if(o&&i>=0){var l=_.find(e.copyForWidthVisChange,function(e){return e.order==i&&0==e.orderLocked});"undefined"!=typeof l&&null!=l&&l!={}&&(l.order=t,n.order=i)}}},e.swapBelow=function(n){if(0==n.locked){var t=n.order,i=n.order,o=!0;do{i+=1,o=!0;var l=_.find(e.copyForWidthVisChange,function(e){return e.order==i&&0==e.orderLocked});"undefined"!=typeof l&&null!=l&&l!={}||(o=!1)}while(!o&&i<=e.copyForWidthVisChange.length-1);if(o&&i<=e.copyForWidthVisChange.length-1){var l=_.find(e.copyForWidthVisChange,function(e){return e.order==i&&0==e.orderLocked});"undefined"!=typeof l&&null!=l&&l!={}&&(l.order=t,n.order=i)}}},e.makeVisible=function(n){var t=_.find(e.copyForWidthVisChange,function(e){return 0==e.id.localeCompare(n.id)});"undefined"!=typeof t&&null!=t&&t!={}&&0==t.visbilityLocked&&(t.hidden=!1)},e.makeHidden=function(n){var t=_.find(e.copyForWidthVisChange,function(e){return 0==e.id.localeCompare(n.id)});"undefined"!=typeof t&&null!=t&&t!={}&&0==t.visbilityLocked&&(t.hidden=!0)},e.saveChangeInConfig=function(){var t=[];t=_.sortBy(e.copyForWidthVisChange,function(n){var t=_.find(e.copyForWidthVisChange,function(e){return 0==e.id.localeCompare(n.id)});return"undefined"!=typeof t&&null!=t&&t!={}?t.order:1}),n.close(t)},e.widthChanged=function(e){e.width=Math.ceil(7*e.chars)+20},e.selectHeader=function(n){1!=n.locked&&(n.selected=!n.selected,_.each(e.copyForWidthVisChange,function(e){0!=e.id.localeCompare(n.id)&&(e.selected=!1)}),1==n.selected?e.headerSelected=n:e.headerSelected=null)},e.cancelChangeInConfig=function(){n.dismiss()},e.upDownKeyPressHandler=function(n){var t=!1;38!=n.keyCode&&40!=n.keyCode||(t=e.upDownMovement(n)),t&&(n.stopPropagation(),n.preventDefault())},e.upDownMovement=function(e){var n=!1;if(38==e.keyCode){var t=$(e.target).prev();t.length>0&&$(t[0]).attr("tabindex")!=-1&&$(t)[0].focus(),n=!0}else if(40==e.keyCode){var t=$(e.target).next();t.length>0&&$(t[0]).attr("tabindex")!=-1&&$(t)[0].focus(),n=!0}return n}}],backdrop:"static",resolve:{originalSettings:function(){return angular.copy(n.vxConfig.columnDefConfigs)}}});e.result.then(function(e){e=n.calculateEffectiveWidths(e),n.vxConfig.columnDefConfigs=e,1==n.vxConfig.hybrid&&n.resetHybridGrid(),n.$emit("vxGridSettingsChanged",{id:n.vxConfig.id,data:e})},function(e){})},n.calculateEffectiveWidths=function(e){var t=_.reduce(e,function(e,n){var t=0;return 0==n.hidden&&(t=parseInt(n.width)),e+t},0),i=n.selfEle.find(".vxTableScrollContainer").width(),o=0;return _.each(e,function(e){if(i>t){var n=parseInt(e.width)/t*(i-t);e.effectiveWidth=parseInt(e.width)+n}else e.effectiveWidth=e.width;e.effectiveWidth=Math.floor(e.effectiveWidth),o+=e.effectiveWidth}),e},n.openJsonEditor=function(){var e=t.open({templateUrl:"template/vx-grid/vx-grid-json-editor-modal.html",windowClass:"vxGridManageColMod",controller:["$scope","$modalInstance","griddata",function(e,n,t){e.data=angular.copy(t),e.changeData=[],e.configuration={editable:!0,viewButtonClass:"btn-info",editButtonClass:"btn-success"},e.jsonOptions={mode:"code",modes:["tree","form","code","text"],history:!1},e.onChangeJSON=function(n){e.changeData=n},e.saveChangeInConfig=function(){n.close(e.changeData)},e.cancelChangeInConfig=function(){n.dismiss()}}],backdrop:"static",resolve:{griddata:function(){return angular.copy(n.vxConfig.vxData)}}});e.result.then(function(e){n.vxConfig.vxData=e,n.$emit("vxGridDataChanged",{id:n.vxConfig.id,data:e})},function(e){})},n.revealWrapToggle=function(){n.vxColSettings.revealWrapRowData=!n.vxColSettings.revealWrapRowData},n.xsReset=function(){n.vxColSettings.xsSearch=""},n.justScrollTop=function(){var e=n.selfEle.find(".vxTableContainer.scrollTableContainer");o(function(){$(e).animate({scrollTop:0},500)},10)},n.justScrollDown=function(){var e=n.selfEle.find(".vxTableContainer.scrollTableContainer"),t=$(e).scrollTop()||0;0==n.vxConfig.hybrid?o(function(){$(e).animate({scrollTop:t+96},33)},10):1==n.vxConfig.hybrid&&(n.prepForScrollInsertion(),o(function(){$(e).animate({scrollTop:t+100},300)},10))},n.showScrollDownArrow=function(){var e=n.selfEle.find(".vxTableContainer.scrollTableContainer"),t=n.selfEle.find(".scrollTableContainer table.vxTable");return"undefined"!=typeof e&&"undefined"!=typeof t&&null!=e&&null!=t&&t.height()>e.height()},n.showScrollUpArrow=function(){var e=n.selfEle.find(".vxTableContainer.scrollTableContainer"),t=n.selfEle.find(".scrollTableContainer table.vxTable");return"undefined"!=typeof e&&"undefined"!=typeof t&&null!=e&&null!=t&&t.height()>e.height()&&e.scrollTop()>48},n.outsideHeader=function(e){1==n.vxColSettings.dropdDownOpen[e.id]&&(n.vxColSettings.dropdDownOpen[e.id]=!1,n.$$phase||n.$apply())},n.$on("vsRepeatCollectionPartiallyRendered",function(e,t){n.$emit("vxPartiallyRendered",{id:n.vxConfig.id,data:t}),1==n.vxConfig.selectAllOnRenderAll&&(n.vxColSettings.selectAllEnabled=!1,n.$emit("vxPartiallyRenderedSelectAllDisabled",{id:n.vxConfig.id,data:t}))}),n.$on("vsRepeatCollectionCompletelyRendered",function(e,t){n.$emit("vxCompletelyRendered",{id:n.vxConfig.id,data:t}),1==n.vxConfig.selectAllOnRenderAll&&(n.vxColSettings.selectAllEnabled=!0,n.$emit("vxCompletelyRenderedSelectAllEnabled",{id:n.vxConfig.id,data:t}))}),n.buildFns=function(){var e=["openJsonEditor","openManageColumns","resetVxInstance","clearFilters","selectAllFiltered","clearSelection","revealWrapToggle"];_.each(e,function(e){var t="vxGrid"+e.capitalizeFirstLetter(),i=e+"()";n.$on(t,function(e,t){0==t.id.localeCompare(n.vxConfig.id)&&n.$eval(i)}),n.config[e]=function(){n.$eval(i)}})},n.$on("vxGridChangeRowClass",function(e,t){0==t.id.localeCompare(n.vxConfig.id)&&n.changeRowClass(t.data)}),n.changeRowClass=function(e){for(var t in e)n.vxColSettings.vxRowClass[t]=e[t];"$apply"!=n.$root.$$phase&&"$digest"!=n.$root.$$phase&&n.$apply()},n.$on("vxGridResetRowClass",function(e,t){0==t.id.localeCompare(n.vxConfig.id)&&(n.vxColSettings.vxRowClass={})}),n.$on("vxGridDisableRowSelection",function(e,t){0==t.id.localeCompare(n.vxConfig.id)&&_.each(t.data,function(e){n.vxColSettings.vxRowSelectionDisable[e.key]=e.value})}),n.$on("vxGridResetDisableRowSelection",function(e,t){if(0==t.id.localeCompare(n.vxConfig.id))for(var i in n.vxColSettings.vxRowSelectionDisable)n.vxColSettings.vxRowSelectionDisable[i]=!1})}],replace:!0,templateUrl:"template/vx-grid/vx-grid.html",link:function(e,n,t){e.selfEle=n,e.$watchCollection("config.data",function(n){n=n||[];var t=new Date;"undefined"!=typeof n&&0==n.length?(n=[{fillEmptyElement:!0}],e.config.noData=!0,1==e.config.hybrid&&"undefined"!=typeof e.vxConfig&&angular.element(document.getElementById("_vxHybrid"+e.vxConfig.id)).empty()):e.config.noData=!1,1==e.config.hybrid?(e.config.vxData=_.clone(n),e._origData=_.clone(n)):e.config.vxData=angular.copy(n),t=new Date,delete e.vxConfig,e.resetVxInstance()}),1!=e.config.hybrid&&e.$watchCollection("vxConfig.vxFilteredData",function(n){n.length>=0&&1==e.vxConfig.pagination&&(e.vxColSettings.pages=_.range(Math.ceil(n.length/parseInt(e.vxConfig.pageLength))),e.vxColSettings.vxPageEnabled=e.vxColSettings.pages.length>1,e.vxColSettings.activePage=0,e.vxColSettings.vxPageStartPosition=0)}),e.getvxTableContainerWidth=function(){var n=0;return _.each(e.vxConfig.columnDefConfigs,function(e){0==e.hidden&&(n+=e.effectiveWidth)}),e.vxConfig.totalWidth=n+"px",e.vxConfig.totalWidth},e.getNonHiddenColCount=function(){var n=1;return"undefined"!=typeof e.vxConfig.columnDefConfigs&&e.vxConfig.columnDefConfigs.length>0&&(n=_.filter(e.vxConfig.columnDefConfigs,function(e){return 0==e.hidden}).length),n}}}}).directive("vxCompile",["$compile",function(e){return function(n,t,i){n.$watch(function(e){return e.$eval(i.vxCompile)},function(i){t.html(i),e(t.contents())(n)})}}]).directive("vxCompileCloneLink",["$compile",function(e){var n={},t={};return function(i,o,l){var r=null;l.vxCompileCloneLink in n?r=t[l.vxCompileCloneLink]:(t[l.vxCompileCloneLink]=i.$eval(l.vxCompileCloneLink),r=t[l.vxCompileCloneLink]);var d=null;r in n?d=n[r]:(n[r]=e(r),d=n[r]),d(i,function(e,n){o.append(e)})}}]).directive("vxEditFocusDisable",["$rootScope","$parse",function(e,n){var t={},i={},o=["input","select","button","textarea","object"];return{restrict:"AEC",link:function(e,l,r){var d=(n(r.vxEditFocusDisable),$(l).attr("id"));e.$watch(r.vxEditFocusDisable,function(e){if(e){i[d]={available:!0,stack:[]},_.each(o,function(e){var n=$(l).find(e);n.length>0&&_.each(n,function(e){var n=$(e).attr("id");"undefined"!=typeof n&&null!=n&&""!=n||($(e).attr("id",_.uniqueId("elemid")),n=$(e).attr("id")),i[d].stack.push(n)})});var n=$(l).find("[tabindex]");n.length>0&&_.each(n,function(e){var n=$(e).attr("tabindex");if(n!=-1&&0==_.contains(o,e.nodeName.toUpperCase())&&0==_.contains(i[d].stack,t)){var t=$(e).attr("id");"undefined"!=typeof t&&null!=t&&""!=t||($(e).attr("id",_.uniqueId("elemid")),t=$(e).attr("id")),i[d].stack.push(t)}}),_.each(i[d].stack,function(e){t[e]=$("#"+e).attr("tabindex")||0,$("#"+e).attr("tabindex",-1)})}else 0==e&&"undefined"!=typeof i[d]&&"undefined"!=typeof i[d].available&&1==i[d].available&&(_.each(i[d].stack,function(e){var n=t[e];$("#"+e).attr("tabindex",n)}),i[d].available=!1)})}}}]).directive("axKey",["$rootScope","$parse",function(e,n){return{restrict:"A",compile:function(t,i){var o=n(i.axKey);return function(n,t){function l(t){var i=function(){o(n,{$event:t})};e.$$phase?n.$evalAsync(i):n.$apply(i)}t.attr("role")||t.attr("role","button"),t.attr("tabindex")||t.attr("tabindex",0);var r=[],d=0;r.push(n.$watch(i.axDisabled||i.ngDisabled,function(e){e?(d=t.attr("tabindex"),t.attr("tabindex",-1),t.attr("aria-disabled",!0)):(t.attr("tabindex",0),t.attr("aria-disabled",!1))})),t.on("click",function(e){n.$eval(i.axDisabled)||n.$eval(i.ngDisabled)||l(e)}),t.on("keyup",function(e){n.$eval(i.axDisabled)||n.$eval(i.ngDisabled)||13!=e.keyCode&&32!=e.keyCode||l(e)}),n.$on("$destroy",function(){for(;r.length;)r.shift()()})}}}}]).directive("vxKeepWatch",function(){return{restrict:"AEC",link:function(e,n,t){var i=t.vxKeepWatch,o=!1;e.$watch(t[i],function(n){o?e.$emit("vxInlineEditFieldChange",{field:t.vxKeepWatchField,value:n,rowId:t.vxKeepWatchRowId}):o=!0})}}}).filter("vxGridMultiBoxFilters",function(){return function(e,n){if("undefined"!=typeof n&&null!=n&&n.length>0){var t=e,i=e,o=_.groupBy(n,"col");for(var l in o){var r=o[l],d=[];_.each(r,function(e){d=_.union(d,_.filter(i,function(n){return"undefined"!=typeof e.label&&null!=e.label&&e.label!={}&&"undefined"!=typeof n[e.col]&&null!=n[e.col]&&n[e.col]!={}?"date"==e.type?"undefined"!=typeof n[e.col]&&n[e.col]!={}&&null!=n[e.col]&&""!=n[e.col]&&n[e.col].getTime()==e.label:"object"==e.type?0==JSON.stringify(n[e.col]).localeCompare(JSON.stringify(e.label)):0==n[e.col].toString().trim().localeCompare(e.label):n[e.col]==e.label}))}),t=_.intersection(t,d)}return t}return e}}).directive("clickOutsideHeader",["$document","$parse",function(e,n){return{restrict:"A",link:function(t,i,o){var l=void 0!==o.outsideIfNot?o.outsideIfNot.replace(", ",",").split(","):[];void 0!==o.id&&l.push(o.id);var r=n(o.clickOutsideHeader);e.on("click",function(e){try{var n=$(e.target).closest("th.vxHeadRowCell");"undefined"!=typeof n&&null!=n&&0!=n.length||t.$eval(o.checkClickOutside)&&t.$eval(r)}catch(e){}})}}}]).filter("vxNumberFixedLen",function(){return function(e,n){var t=parseInt(e,10);if(n=parseInt(n,10),isNaN(t)||isNaN(n))return e;for(t=""+t;t.length
Column Operations Menu for the grid {{vxConfig.caption}}
{{::header.columnName}}
Previous Page
Next Page
Page {{pageNum + 1}}
Region starts for adding offscreen labels to aid screen readers please ignore the labels Edit Row Save Row Select Row Region for offscreen labels to aid screen readers ends
',vxGridManageColumnsModal:' ', -"vxGridJsonEditorModal vx-grid-related ":' ',vxGridRowTmpl:' {{row[header.id]}}
{{rowId}}
{{row[header.id] | date : header.columnDatePipe}}
{{row[vxColSettings.primaryId]}}
{{header.columnName}}
{{row[header.id]}}
',vxGridRowTmplBindonce:' {{::row[header.id]}}
{{rowId}}
{{::row[header.id] | date : header.columnDatePipe}}
GROUPED BY {{row.colName}} : {{row.value}} '};angular.module("vx.grid.modules").run(["$templateCache",function(i){i.put("template/vx-grid/vx-grid-json-editor-modal.html",e.vxGridJsonEditorModal),i.put("template/vx-grid/vx-grid-manage-columns-modal.html",e.vxGridManageColumnsModal),i.put("template/vx-grid/vx-grid.html",e.vxGridTableStructure),i.put("template/vx-grid/vx-grid-row-tmpl.html",e.vxGridRowTmpl),i.put("template/vx-grid/vx-grid-row-tmpl-bindonce.html",e.vxGridRowTmplBindonce)}])}(); \ No newline at end of file +"vxGridJsonEditorModal vx-grid-related ":' ',vxGridRowTmpl:' {{row[header.id]}}
Select Row {{rowId}}
{{row[header.id] | date : header.columnDatePipe}}
{{row[vxColSettings.primaryId]}}
{{header.columnName}}
{{row[header.id]}}
',vxGridRowTmplBindonce:' {{::row[header.id]}}
Select row {{rowId}}
{{::row[header.id] | date : header.columnDatePipe}}
GROUPED BY {{row.colName}} : {{row.value}} '};angular.module("vx.grid.modules").run(["$templateCache",function(i){i.put("template/vx-grid/vx-grid-json-editor-modal.html",e.vxGridJsonEditorModal),i.put("template/vx-grid/vx-grid-manage-columns-modal.html",e.vxGridManageColumnsModal),i.put("template/vx-grid/vx-grid.html",e.vxGridTableStructure),i.put("template/vx-grid/vx-grid-row-tmpl.html",e.vxGridRowTmpl),i.put("template/vx-grid/vx-grid-row-tmpl-bindonce.html",e.vxGridRowTmplBindonce)}])}(); \ No newline at end of file