@wavemaker/app-runtime-wm-build 12.0.0-next.45752 → 12.0.0-rc.5849
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- app-runtime-wm-build/package.json +1 -1
- app-runtime-wm-build/wmapp/scripts/wm-libs.js +3 -3
- app-runtime-wm-build/wmapp/scripts/wm-libs.min.js +3 -3
- app-runtime-wm-build/wmapp/scripts/wm-loader.js +1 -1
- app-runtime-wm-build/wmapp/scripts/wm-loader.min.js +1 -1
- app-runtime-wm-build/wmapp/styles/css/wm-style.css +1 -1
- app-runtime-wm-build/wmmobile/scripts/wm-libs.js +3 -3
- app-runtime-wm-build/wmmobile/scripts/wm-libs.min.js +3 -3
- app-runtime-wm-build/wmmobile/scripts/wm-mobileloader.js +1 -1
- app-runtime-wm-build/wmmobile/scripts/wm-mobileloader.min.js +1 -1
- app-runtime-wm-build/wmmobile/styles/css/wm-style.css +1 -1
|
@@ -662,7 +662,7 @@ var FullCalendar=function(e){"use strict";var t=function(e,n){return(t=Object.se
|
|
|
662
662
|
* Copyright (c) 2016 Jorik Tangelder;
|
|
663
663
|
* Licensed under the MIT license */
|
|
664
664
|
!function(a,b,c,d){"use strict";function e(a,b,c){return setTimeout(j(a,c),b)}function f(a,b,c){return Array.isArray(a)?(g(a,c[b],c),!0):!1}function g(a,b,c){var e;if(a)if(a.forEach)a.forEach(b,c);else if(a.length!==d)for(e=0;e<a.length;)b.call(c,a[e],e,a),e++;else for(e in a)a.hasOwnProperty(e)&&b.call(c,a[e],e,a)}function h(b,c,d){var e="DEPRECATED METHOD: "+c+"\n"+d+" AT \n";return function(){var c=new Error("get-stack-trace"),d=c&&c.stack?c.stack.replace(/^[^\(]+?[\n$]/gm,"").replace(/^\s+at\s+/gm,"").replace(/^Object.<anonymous>\s*\(/gm,"{anonymous}()@"):"Unknown Stack Trace",f=a.console&&(a.console.warn||a.console.log);return f&&f.call(a.console,e,d),b.apply(this,arguments)}}function i(a,b,c){var d,e=b.prototype;d=a.prototype=Object.create(e),d.constructor=a,d._super=e,c&&la(d,c)}function j(a,b){return function(){return a.apply(b,arguments)}}function k(a,b){return typeof a==oa?a.apply(b?b[0]||d:d,b):a}function l(a,b){return a===d?b:a}function m(a,b,c){g(q(b),(function(b){a.addEventListener(b,c,!1)}))}function n(a,b,c){g(q(b),(function(b){a.removeEventListener(b,c,!1)}))}function o(a,b){for(;a;){if(a==b)return!0;a=a.parentNode}return!1}function p(a,b){return a.indexOf(b)>-1}function q(a){return a.trim().split(/\s+/g)}function r(a,b,c){if(a.indexOf&&!c)return a.indexOf(b);for(var d=0;d<a.length;){if(c&&a[d][c]==b||!c&&a[d]===b)return d;d++}return-1}function s(a){return Array.prototype.slice.call(a,0)}function t(a,b,c){for(var d=[],e=[],f=0;f<a.length;){var g=b?a[f][b]:a[f];r(e,g)<0&&d.push(a[f]),e[f]=g,f++}return c&&(d=b?d.sort((function(a,c){return a[b]>c[b]})):d.sort()),d}function u(a,b){for(var c,e,f=b[0].toUpperCase()+b.slice(1),g=0;g<ma.length;){if(c=ma[g],e=c?c+f:b,e in a)return e;g++}return d}function v(){return ua++}function w(b){var c=b.ownerDocument||b;return c.defaultView||c.parentWindow||a}function x(a,b){var c=this;this.manager=a,this.callback=b,this.element=a.element,this.target=a.options.inputTarget,this.domHandler=function(b){k(a.options.enable,[a])&&c.handler(b)},this.init()}function y(a){var b,c=a.options.inputClass;return new(b=c?c:xa?M:ya?P:wa?R:L)(a,z)}function z(a,b,c){var d=c.pointers.length,e=c.changedPointers.length,f=b&Ea&&d-e===0,g=b&(Ga|Ha)&&d-e===0;c.isFirst=!!f,c.isFinal=!!g,f&&(a.session={}),c.eventType=b,A(a,c),a.emit("hammer.input",c),a.recognize(c),a.session.prevInput=c}function A(a,b){var c=a.session,d=b.pointers,e=d.length;c.firstInput||(c.firstInput=D(b)),e>1&&!c.firstMultiple?c.firstMultiple=D(b):1===e&&(c.firstMultiple=!1);var f=c.firstInput,g=c.firstMultiple,h=g?g.center:f.center,i=b.center=E(d);b.timeStamp=ra(),b.deltaTime=b.timeStamp-f.timeStamp,b.angle=I(h,i),b.distance=H(h,i),B(c,b),b.offsetDirection=G(b.deltaX,b.deltaY);var j=F(b.deltaTime,b.deltaX,b.deltaY);b.overallVelocityX=j.x,b.overallVelocityY=j.y,b.overallVelocity=qa(j.x)>qa(j.y)?j.x:j.y,b.scale=g?K(g.pointers,d):1,b.rotation=g?J(g.pointers,d):0,b.maxPointers=c.prevInput?b.pointers.length>c.prevInput.maxPointers?b.pointers.length:c.prevInput.maxPointers:b.pointers.length,C(c,b);var k=a.element;o(b.srcEvent.target,k)&&(k=b.srcEvent.target),b.target=k}function B(a,b){var c=b.center,d=a.offsetDelta||{},e=a.prevDelta||{},f=a.prevInput||{};b.eventType!==Ea&&f.eventType!==Ga||(e=a.prevDelta={x:f.deltaX||0,y:f.deltaY||0},d=a.offsetDelta={x:c.x,y:c.y}),b.deltaX=e.x+(c.x-d.x),b.deltaY=e.y+(c.y-d.y)}function C(a,b){var c,e,f,g,h=a.lastInterval||b,i=b.timeStamp-h.timeStamp;if(b.eventType!=Ha&&(i>Da||h.velocity===d)){var j=b.deltaX-h.deltaX,k=b.deltaY-h.deltaY,l=F(i,j,k);e=l.x,f=l.y,c=qa(l.x)>qa(l.y)?l.x:l.y,g=G(j,k),a.lastInterval=b}else c=h.velocity,e=h.velocityX,f=h.velocityY,g=h.direction;b.velocity=c,b.velocityX=e,b.velocityY=f,b.direction=g}function D(a){for(var b=[],c=0;c<a.pointers.length;)b[c]={clientX:pa(a.pointers[c].clientX),clientY:pa(a.pointers[c].clientY)},c++;return{timeStamp:ra(),pointers:b,center:E(b),deltaX:a.deltaX,deltaY:a.deltaY}}function E(a){var b=a.length;if(1===b)return{x:pa(a[0].clientX),y:pa(a[0].clientY)};for(var c=0,d=0,e=0;b>e;)c+=a[e].clientX,d+=a[e].clientY,e++;return{x:pa(c/b),y:pa(d/b)}}function F(a,b,c){return{x:b/a||0,y:c/a||0}}function G(a,b){return a===b?Ia:qa(a)>=qa(b)?0>a?Ja:Ka:0>b?La:Ma}function H(a,b,c){c||(c=Qa);var d=b[c[0]]-a[c[0]],e=b[c[1]]-a[c[1]];return Math.sqrt(d*d+e*e)}function I(a,b,c){c||(c=Qa);var d=b[c[0]]-a[c[0]],e=b[c[1]]-a[c[1]];return 180*Math.atan2(e,d)/Math.PI}function J(a,b){return I(b[1],b[0],Ra)+I(a[1],a[0],Ra)}function K(a,b){return H(b[0],b[1],Ra)/H(a[0],a[1],Ra)}function L(){this.evEl=Ta,this.evWin=Ua,this.pressed=!1,x.apply(this,arguments)}function M(){this.evEl=Xa,this.evWin=Ya,x.apply(this,arguments),this.store=this.manager.session.pointerEvents=[]}function N(){this.evTarget=$a,this.evWin=_a,this.started=!1,x.apply(this,arguments)}function O(a,b){var c=s(a.touches),d=s(a.changedTouches);return b&(Ga|Ha)&&(c=t(c.concat(d),"identifier",!0)),[c,d]}function P(){this.evTarget=bb,this.targetIds={},x.apply(this,arguments)}function Q(a,b){var c=s(a.touches),d=this.targetIds;if(b&(Ea|Fa)&&1===c.length)return d[c[0].identifier]=!0,[c,c];var e,f,g=s(a.changedTouches),h=[],i=this.target;if(f=c.filter((function(a){return o(a.target,i)})),b===Ea)for(e=0;e<f.length;)d[f[e].identifier]=!0,e++;for(e=0;e<g.length;)d[g[e].identifier]&&h.push(g[e]),b&(Ga|Ha)&&delete d[g[e].identifier],e++;return h.length?[t(f.concat(h),"identifier",!0),h]:void 0}function R(){x.apply(this,arguments);var a=j(this.handler,this);this.touch=new P(this.manager,a),this.mouse=new L(this.manager,a),this.primaryTouch=null,this.lastTouches=[]}function S(a,b){a&Ea?(this.primaryTouch=b.changedPointers[0].identifier,T.call(this,b)):a&(Ga|Ha)&&T.call(this,b)}function T(a){var b=a.changedPointers[0];if(b.identifier===this.primaryTouch){var c={x:b.clientX,y:b.clientY};this.lastTouches.push(c);var d=this.lastTouches,e=function(){var a=d.indexOf(c);a>-1&&d.splice(a,1)};setTimeout(e,cb)}}function U(a){for(var b=a.srcEvent.clientX,c=a.srcEvent.clientY,d=0;d<this.lastTouches.length;d++){var e=this.lastTouches[d],f=Math.abs(b-e.x),g=Math.abs(c-e.y);if(db>=f&&db>=g)return!0}return!1}function V(a,b){this.manager=a,this.set(b)}function W(a){if(p(a,jb))return jb;var b=p(a,kb),c=p(a,lb);return b&&c?jb:b||c?b?kb:lb:p(a,ib)?ib:hb}function X(){if(!fb)return!1;var b={},c=a.CSS&&a.CSS.supports;return["auto","manipulation","pan-y","pan-x","pan-x pan-y","none"].forEach((function(d){b[d]=c?a.CSS.supports("touch-action",d):!0})),b}function Y(a){this.options=la({},this.defaults,a||{}),this.id=v(),this.manager=null,this.options.enable=l(this.options.enable,!0),this.state=nb,this.simultaneous={},this.requireFail=[]}function Z(a){return a&sb?"cancel":a&qb?"end":a&pb?"move":a&ob?"start":""}function $(a){return a==Ma?"down":a==La?"up":a==Ja?"left":a==Ka?"right":""}function _(a,b){var c=b.manager;return c?c.get(a):a}function aa(){Y.apply(this,arguments)}function ba(){aa.apply(this,arguments),this.pX=null,this.pY=null}function ca(){aa.apply(this,arguments)}function da(){Y.apply(this,arguments),this._timer=null,this._input=null}function ea(){aa.apply(this,arguments)}function fa(){aa.apply(this,arguments)}function ga(){Y.apply(this,arguments),this.pTime=!1,this.pCenter=!1,this._timer=null,this._input=null,this.count=0}function ha(a,b){return b=b||{},b.recognizers=l(b.recognizers,ha.defaults.preset),new ia(a,b)}function ia(a,b){this.options=la({},ha.defaults,b||{}),this.options.inputTarget=this.options.inputTarget||a,this.handlers={},this.session={},this.recognizers=[],this.oldCssProps={},this.element=a,this.input=y(this),this.touchAction=new V(this,this.options.touchAction),ja(this,!0),g(this.options.recognizers,(function(a){var b=this.add(new a[0](a[1]));a[2]&&b.recognizeWith(a[2]),a[3]&&b.requireFailure(a[3])}),this)}function ja(a,b){var c=a.element;if(c.style){var d;g(a.options.cssProps,(function(e,f){d=u(c.style,f),b?(a.oldCssProps[d]=c.style[d],c.style[d]=e):c.style[d]=a.oldCssProps[d]||""})),b||(a.oldCssProps={})}}function ka(a,c){var d=b.createEvent("Event");d.initEvent(a,!0,!0),d.gesture=c,c.target.dispatchEvent(d)}var la,ma=["","webkit","Moz","MS","ms","o"],na=b.createElement("div"),oa="function",pa=Math.round,qa=Math.abs,ra=Date.now;la="function"!=typeof Object.assign?function(a){if(a===d||null===a)throw new TypeError("Cannot convert undefined or null to object");for(var b=Object(a),c=1;c<arguments.length;c++){var e=arguments[c];if(e!==d&&null!==e)for(var f in e)e.hasOwnProperty(f)&&(b[f]=e[f])}return b}:Object.assign;var sa=h((function(a,b,c){for(var e=Object.keys(b),f=0;f<e.length;)(!c||c&&a[e[f]]===d)&&(a[e[f]]=b[e[f]]),f++;return a}),"extend","Use `assign`."),ta=h((function(a,b){return sa(a,b,!0)}),"merge","Use `assign`."),ua=1,va=/mobile|tablet|ip(ad|hone|od)|android/i,wa="ontouchstart"in a,xa=u(a,"PointerEvent")!==d,ya=wa&&va.test(navigator.userAgent),za="touch",Aa="pen",Ba="mouse",Ca="kinect",Da=25,Ea=1,Fa=2,Ga=4,Ha=8,Ia=1,Ja=2,Ka=4,La=8,Ma=16,Na=Ja|Ka,Oa=La|Ma,Pa=Na|Oa,Qa=["x","y"],Ra=["clientX","clientY"];x.prototype={handler:function(){},init:function(){this.evEl&&m(this.element,this.evEl,this.domHandler),this.evTarget&&m(this.target,this.evTarget,this.domHandler),this.evWin&&m(w(this.element),this.evWin,this.domHandler)},destroy:function(){this.evEl&&n(this.element,this.evEl,this.domHandler),this.evTarget&&n(this.target,this.evTarget,this.domHandler),this.evWin&&n(w(this.element),this.evWin,this.domHandler)}};var Sa={mousedown:Ea,mousemove:Fa,mouseup:Ga},Ta="mousedown",Ua="mousemove mouseup";i(L,x,{handler:function(a){var b=Sa[a.type];b&Ea&&0===a.button&&(this.pressed=!0),b&Fa&&1!==a.which&&(b=Ga),this.pressed&&(b&Ga&&(this.pressed=!1),this.callback(this.manager,b,{pointers:[a],changedPointers:[a],pointerType:Ba,srcEvent:a}))}});var Va={pointerdown:Ea,pointermove:Fa,pointerup:Ga,pointercancel:Ha,pointerout:Ha},Wa={2:za,3:Aa,4:Ba,5:Ca},Xa="pointerdown",Ya="pointermove pointerup pointercancel";a.MSPointerEvent&&!a.PointerEvent&&(Xa="MSPointerDown",Ya="MSPointerMove MSPointerUp MSPointerCancel"),i(M,x,{handler:function(a){var b=this.store,c=!1,d=a.type.toLowerCase().replace("ms",""),e=Va[d],f=Wa[a.pointerType]||a.pointerType,g=f==za,h=r(b,a.pointerId,"pointerId");e&Ea&&(0===a.button||g)?0>h&&(b.push(a),h=b.length-1):e&(Ga|Ha)&&(c=!0),0>h||(b[h]=a,this.callback(this.manager,e,{pointers:b,changedPointers:[a],pointerType:f,srcEvent:a}),c&&b.splice(h,1))}});var Za={touchstart:Ea,touchmove:Fa,touchend:Ga,touchcancel:Ha},$a="touchstart",_a="touchstart touchmove touchend touchcancel";i(N,x,{handler:function(a){var b=Za[a.type];if(b===Ea&&(this.started=!0),this.started){var c=O.call(this,a,b);b&(Ga|Ha)&&c[0].length-c[1].length===0&&(this.started=!1),this.callback(this.manager,b,{pointers:c[0],changedPointers:c[1],pointerType:za,srcEvent:a})}}});var ab={touchstart:Ea,touchmove:Fa,touchend:Ga,touchcancel:Ha},bb="touchstart touchmove touchend touchcancel";i(P,x,{handler:function(a){var b=ab[a.type],c=Q.call(this,a,b);c&&this.callback(this.manager,b,{pointers:c[0],changedPointers:c[1],pointerType:za,srcEvent:a})}});var cb=2500,db=25;i(R,x,{handler:function(a,b,c){var d=c.pointerType==za,e=c.pointerType==Ba;if(!(e&&c.sourceCapabilities&&c.sourceCapabilities.firesTouchEvents)){if(d)S.call(this,b,c);else if(e&&U.call(this,c))return;this.callback(a,b,c)}},destroy:function(){this.touch.destroy(),this.mouse.destroy()}});var eb=u(na.style,"touchAction"),fb=eb!==d,gb="compute",hb="auto",ib="manipulation",jb="none",kb="pan-x",lb="pan-y",mb=X();V.prototype={set:function(a){a==gb&&(a=this.compute()),fb&&this.manager.element.style&&mb[a]&&(this.manager.element.style[eb]=a),this.actions=a.toLowerCase().trim()},update:function(){this.set(this.manager.options.touchAction)},compute:function(){var a=[];return g(this.manager.recognizers,(function(b){k(b.options.enable,[b])&&(a=a.concat(b.getTouchAction()))})),W(a.join(" "))},preventDefaults:function(a){var b=a.srcEvent,c=a.offsetDirection;if(this.manager.session.prevented)return void b.preventDefault();var d=this.actions,e=p(d,jb)&&!mb[jb],f=p(d,lb)&&!mb[lb],g=p(d,kb)&&!mb[kb];if(e){var h=1===a.pointers.length,i=a.distance<2,j=a.deltaTime<250;if(h&&i&&j)return}return g&&f?void 0:e||f&&c&Na||g&&c&Oa?this.preventSrc(b):void 0},preventSrc:function(a){this.manager.session.prevented=!0,a.preventDefault()}};var nb=1,ob=2,pb=4,qb=8,rb=qb,sb=16,tb=32;Y.prototype={defaults:{},set:function(a){return la(this.options,a),this.manager&&this.manager.touchAction.update(),this},recognizeWith:function(a){if(f(a,"recognizeWith",this))return this;var b=this.simultaneous;return a=_(a,this),b[a.id]||(b[a.id]=a,a.recognizeWith(this)),this},dropRecognizeWith:function(a){return f(a,"dropRecognizeWith",this)?this:(a=_(a,this),delete this.simultaneous[a.id],this)},requireFailure:function(a){if(f(a,"requireFailure",this))return this;var b=this.requireFail;return a=_(a,this),-1===r(b,a)&&(b.push(a),a.requireFailure(this)),this},dropRequireFailure:function(a){if(f(a,"dropRequireFailure",this))return this;a=_(a,this);var b=r(this.requireFail,a);return b>-1&&this.requireFail.splice(b,1),this},hasRequireFailures:function(){return this.requireFail.length>0},canRecognizeWith:function(a){return!!this.simultaneous[a.id]},emit:function(a){function b(b){c.manager.emit(b,a)}var c=this,d=this.state;qb>d&&b(c.options.event+Z(d)),b(c.options.event),a.additionalEvent&&b(a.additionalEvent),d>=qb&&b(c.options.event+Z(d))},tryEmit:function(a){return this.canEmit()?this.emit(a):void(this.state=tb)},canEmit:function(){for(var a=0;a<this.requireFail.length;){if(!(this.requireFail[a].state&(tb|nb)))return!1;a++}return!0},recognize:function(a){var b=la({},a);return k(this.options.enable,[this,b])?(this.state&(rb|sb|tb)&&(this.state=nb),this.state=this.process(b),void(this.state&(ob|pb|qb|sb)&&this.tryEmit(b))):(this.reset(),void(this.state=tb))},process:function(a){},getTouchAction:function(){},reset:function(){}},i(aa,Y,{defaults:{pointers:1},attrTest:function(a){var b=this.options.pointers;return 0===b||a.pointers.length===b},process:function(a){var b=this.state,c=a.eventType,d=b&(ob|pb),e=this.attrTest(a);return d&&(c&Ha||!e)?b|sb:d||e?c&Ga?b|qb:b&ob?b|pb:ob:tb}}),i(ba,aa,{defaults:{event:"pan",threshold:10,pointers:1,direction:Pa},getTouchAction:function(){var a=this.options.direction,b=[];return a&Na&&b.push(lb),a&Oa&&b.push(kb),b},directionTest:function(a){var b=this.options,c=!0,d=a.distance,e=a.direction,f=a.deltaX,g=a.deltaY;return e&b.direction||(b.direction&Na?(e=0===f?Ia:0>f?Ja:Ka,c=f!=this.pX,d=Math.abs(a.deltaX)):(e=0===g?Ia:0>g?La:Ma,c=g!=this.pY,d=Math.abs(a.deltaY))),a.direction=e,c&&d>b.threshold&&e&b.direction},attrTest:function(a){return aa.prototype.attrTest.call(this,a)&&(this.state&ob||!(this.state&ob)&&this.directionTest(a))},emit:function(a){this.pX=a.deltaX,this.pY=a.deltaY;var b=$(a.direction);b&&(a.additionalEvent=this.options.event+b),this._super.emit.call(this,a)}}),i(ca,aa,{defaults:{event:"pinch",threshold:0,pointers:2},getTouchAction:function(){return[jb]},attrTest:function(a){return this._super.attrTest.call(this,a)&&(Math.abs(a.scale-1)>this.options.threshold||this.state&ob)},emit:function(a){if(1!==a.scale){var b=a.scale<1?"in":"out";a.additionalEvent=this.options.event+b}this._super.emit.call(this,a)}}),i(da,Y,{defaults:{event:"press",pointers:1,time:251,threshold:9},getTouchAction:function(){return[hb]},process:function(a){var b=this.options,c=a.pointers.length===b.pointers,d=a.distance<b.threshold,f=a.deltaTime>b.time;if(this._input=a,!d||!c||a.eventType&(Ga|Ha)&&!f)this.reset();else if(a.eventType&Ea)this.reset(),this._timer=e((function(){this.state=rb,this.tryEmit()}),b.time,this);else if(a.eventType&Ga)return rb;return tb},reset:function(){clearTimeout(this._timer)},emit:function(a){this.state===rb&&(a&&a.eventType&Ga?this.manager.emit(this.options.event+"up",a):(this._input.timeStamp=ra(),this.manager.emit(this.options.event,this._input)))}}),i(ea,aa,{defaults:{event:"rotate",threshold:0,pointers:2},getTouchAction:function(){return[jb]},attrTest:function(a){return this._super.attrTest.call(this,a)&&(Math.abs(a.rotation)>this.options.threshold||this.state&ob)}}),i(fa,aa,{defaults:{event:"swipe",threshold:10,velocity:.3,direction:Na|Oa,pointers:1},getTouchAction:function(){return ba.prototype.getTouchAction.call(this)},attrTest:function(a){var b,c=this.options.direction;return c&(Na|Oa)?b=a.overallVelocity:c&Na?b=a.overallVelocityX:c&Oa&&(b=a.overallVelocityY),this._super.attrTest.call(this,a)&&c&a.offsetDirection&&a.distance>this.options.threshold&&a.maxPointers==this.options.pointers&&qa(b)>this.options.velocity&&a.eventType&Ga},emit:function(a){var b=$(a.offsetDirection);b&&this.manager.emit(this.options.event+b,a),this.manager.emit(this.options.event,a)}}),i(ga,Y,{defaults:{event:"tap",pointers:1,taps:1,interval:300,time:250,threshold:9,posThreshold:10},getTouchAction:function(){return[ib]},process:function(a){var b=this.options,c=a.pointers.length===b.pointers,d=a.distance<b.threshold,f=a.deltaTime<b.time;if(this.reset(),a.eventType&Ea&&0===this.count)return this.failTimeout();if(d&&f&&c){if(a.eventType!=Ga)return this.failTimeout();var g=this.pTime?a.timeStamp-this.pTime<b.interval:!0,h=!this.pCenter||H(this.pCenter,a.center)<b.posThreshold;this.pTime=a.timeStamp,this.pCenter=a.center,h&&g?this.count+=1:this.count=1,this._input=a;var i=this.count%b.taps;if(0===i)return this.hasRequireFailures()?(this._timer=e((function(){this.state=rb,this.tryEmit()}),b.interval,this),ob):rb}return tb},failTimeout:function(){return this._timer=e((function(){this.state=tb}),this.options.interval,this),tb},reset:function(){clearTimeout(this._timer)},emit:function(){this.state==rb&&(this._input.tapCount=this.count,this.manager.emit(this.options.event,this._input))}}),ha.VERSION="2.0.7",ha.defaults={domEvents:!1,touchAction:gb,enable:!0,inputTarget:null,inputClass:null,preset:[[ea,{enable:!1}],[ca,{enable:!1},["rotate"]],[fa,{direction:Na}],[ba,{direction:Na},["swipe"]],[ga],[ga,{event:"doubletap",taps:2},["tap"]],[da]],cssProps:{userSelect:"none",touchSelect:"none",touchCallout:"none",contentZooming:"none",userDrag:"none",tapHighlightColor:"rgba(0,0,0,0)"}};var ub=1,vb=2;ia.prototype={set:function(a){return la(this.options,a),a.touchAction&&this.touchAction.update(),a.inputTarget&&(this.input.destroy(),this.input.target=a.inputTarget,this.input.init()),this},stop:function(a){this.session.stopped=a?vb:ub},recognize:function(a){var b=this.session;if(!b.stopped){this.touchAction.preventDefaults(a);var c,d=this.recognizers,e=b.curRecognizer;(!e||e&&e.state&rb)&&(e=b.curRecognizer=null);for(var f=0;f<d.length;)c=d[f],b.stopped===vb||e&&c!=e&&!c.canRecognizeWith(e)?c.reset():c.recognize(a),!e&&c.state&(ob|pb|qb)&&(e=b.curRecognizer=c),f++}},get:function(a){if(a instanceof Y)return a;for(var b=this.recognizers,c=0;c<b.length;c++)if(b[c].options.event==a)return b[c];return null},add:function(a){if(f(a,"add",this))return this;var b=this.get(a.options.event);return b&&this.remove(b),this.recognizers.push(a),a.manager=this,this.touchAction.update(),a},remove:function(a){if(f(a,"remove",this))return this;if(a=this.get(a)){var b=this.recognizers,c=r(b,a);-1!==c&&(b.splice(c,1),this.touchAction.update())}return this},on:function(a,b){if(a!==d&&b!==d){var c=this.handlers;return g(q(a),(function(a){c[a]=c[a]||[],c[a].push(b)})),this}},off:function(a,b){if(a!==d){var c=this.handlers;return g(q(a),(function(a){b?c[a]&&c[a].splice(r(c[a],b),1):delete c[a]})),this}},emit:function(a,b){this.options.domEvents&&ka(a,b);var c=this.handlers[a]&&this.handlers[a].slice();if(c&&c.length){b.type=a,b.preventDefault=function(){b.srcEvent.preventDefault()};for(var d=0;d<c.length;)c[d](b),d++}},destroy:function(){this.element&&ja(this,!1),this.handlers={},this.session={},this.input.destroy(),this.element=null}},la(ha,{INPUT_START:Ea,INPUT_MOVE:Fa,INPUT_END:Ga,INPUT_CANCEL:Ha,STATE_POSSIBLE:nb,STATE_BEGAN:ob,STATE_CHANGED:pb,STATE_ENDED:qb,STATE_RECOGNIZED:rb,STATE_CANCELLED:sb,STATE_FAILED:tb,DIRECTION_NONE:Ia,DIRECTION_LEFT:Ja,DIRECTION_RIGHT:Ka,DIRECTION_UP:La,DIRECTION_DOWN:Ma,DIRECTION_HORIZONTAL:Na,DIRECTION_VERTICAL:Oa,DIRECTION_ALL:Pa,Manager:ia,Input:x,TouchAction:V,TouchInput:P,MouseInput:L,PointerEventInput:M,TouchMouseInput:R,SingleTouchInput:N,Recognizer:Y,AttrRecognizer:aa,Tap:ga,Pan:ba,Swipe:fa,Pinch:ca,Rotate:ea,Press:da,on:m,off:n,each:g,merge:ta,extend:sa,assign:la,inherit:i,bindFn:j,prefixed:u});var wb="undefined"!=typeof a?a:"undefined"!=typeof self?self:{};wb.Hammer=ha,"function"==typeof define&&define.amd?define((function(){return ha})):"undefined"!=typeof module&&module.exports?module.exports=ha:a[c]=ha}(window,document,"Hammer");/*! iScroll v5.2.0 ~ (c) 2008-2016 Matteo Spinelli ~ http://cubiq.org/license */
|
|
665
|
-
(function(window,document,Math){var rAF=window.requestAnimationFrame||window.webkitRequestAnimationFrame||window.mozRequestAnimationFrame||window.oRequestAnimationFrame||window.msRequestAnimationFrame||function(callback){window.setTimeout(callback,1e3/60)};var utils=function(){var me={};var _elementStyle=document.createElement("div").style;var _vendor=function(){var vendors=["t","webkitT","MozT","msT","OT"],transform,i=0,l=vendors.length;for(;i<l;i++){transform=vendors[i]+"ransform";if(transform in _elementStyle)return vendors[i].substr(0,vendors[i].length-1)}return false}();function _prefixStyle(style){if(_vendor===false)return false;if(_vendor==="")return style;return _vendor+style.charAt(0).toUpperCase()+style.substr(1)}me.getTime=Date.now||function getTime(){return(new Date).getTime()};me.extend=function(target,obj){for(var i in obj){target[i]=obj[i]}};me.addEvent=function(el,type,fn,capture){el.addEventListener(type,fn,!!capture)};me.removeEvent=function(el,type,fn,capture){el.removeEventListener(type,fn,!!capture)};me.prefixPointerEvent=function(pointerEvent){return window.MSPointerEvent?"MSPointer"+pointerEvent.charAt(7).toUpperCase()+pointerEvent.substr(8):pointerEvent};me.momentum=function(current,start,time,lowerMargin,wrapperSize,deceleration){var distance=current-start,speed=Math.abs(distance)/time,destination,duration;deceleration=deceleration===undefined?6e-4:deceleration;destination=current+speed*speed/(2*deceleration)*(distance<0?-1:1);duration=speed/deceleration;if(destination<lowerMargin){destination=wrapperSize?lowerMargin-wrapperSize/2.5*(speed/8):lowerMargin;distance=Math.abs(destination-current);duration=distance/speed}else if(destination>0){destination=wrapperSize?wrapperSize/2.5*(speed/8):0;distance=Math.abs(current)+destination;duration=distance/speed}return{destination:Math.round(destination),duration:duration}};var _transform=_prefixStyle("transform");me.extend(me,{hasTransform:_transform!==false,hasPerspective:_prefixStyle("perspective")in _elementStyle,hasTouch:"ontouchstart"in window,hasPointer:!!(window.PointerEvent||window.MSPointerEvent),hasTransition:_prefixStyle("transition")in _elementStyle});me.isBadAndroid=function(){var appVersion=window.navigator.appVersion;if(/Android/.test(appVersion)&&!/Chrome\/\d/.test(appVersion)){var safariVersion=appVersion.match(/Safari\/(\d+.\d)/);if(safariVersion&&typeof safariVersion==="object"&&safariVersion.length>=2){return parseFloat(safariVersion[1])<535.19}else{return true}}else{return false}}();me.extend(me.style={},{transform:_transform,transitionTimingFunction:_prefixStyle("transitionTimingFunction"),transitionDuration:_prefixStyle("transitionDuration"),transitionDelay:_prefixStyle("transitionDelay"),transformOrigin:_prefixStyle("transformOrigin")});me.hasClass=function(e,c){var re=new RegExp("(^|\\s)"+c+"(\\s|$)");return re.test(e.className)};me.addClass=function(e,c){if(me.hasClass(e,c)){return}var newclass=e.className.split(" ");newclass.push(c);e.className=newclass.join(" ")};me.removeClass=function(e,c){if(!me.hasClass(e,c)){return}var re=new RegExp("(^|\\s)"+c+"(\\s|$)","g");e.className=e.className.replace(re," ")};me.offset=function(el){var left=-el.offsetLeft,top=-el.offsetTop;while(el=el.offsetParent){left-=el.offsetLeft;top-=el.offsetTop}return{left:left,top:top}};me.preventDefaultException=function(el,exceptions){for(var i in exceptions){if(exceptions[i].test(el[i])){return true}}return false};me.extend(me.eventType={},{touchstart:1,touchmove:1,touchend:1,mousedown:2,mousemove:2,mouseup:2,pointerdown:3,pointermove:3,pointerup:3,MSPointerDown:3,MSPointerMove:3,MSPointerUp:3});me.extend(me.ease={},{quadratic:{style:"cubic-bezier(0.25, 0.46, 0.45, 0.94)",fn:function(k){return k*(2-k)}},circular:{style:"cubic-bezier(0.1, 0.57, 0.1, 1)",fn:function(k){return Math.sqrt(1- --k*k)}},back:{style:"cubic-bezier(0.175, 0.885, 0.32, 1.275)",fn:function(k){var b=4;return(k=k-1)*k*((b+1)*k+b)+1}},bounce:{style:"",fn:function(k){if((k/=1)<1/2.75){return 7.5625*k*k}else if(k<2/2.75){return 7.5625*(k-=1.5/2.75)*k+.75}else if(k<2.5/2.75){return 7.5625*(k-=2.25/2.75)*k+.9375}else{return 7.5625*(k-=2.625/2.75)*k+.984375}}},elastic:{style:"",fn:function(k){var f=.22,e=.4;if(k===0){return 0}if(k==1){return 1}return e*Math.pow(2,-10*k)*Math.sin((k-f/4)*(2*Math.PI)/f)+1}}});me.tap=function(e,eventName){var ev=document.createEvent("Event");ev.initEvent(eventName,true,true);ev.pageX=e.pageX;ev.pageY=e.pageY;e.target.dispatchEvent(ev)};me.click=function(e){var target=e.target,ev;if(!/(SELECT|INPUT|TEXTAREA)/i.test(target.tagName)){ev=document.createEvent("MouseEvents");ev.initMouseEvent("click",true,true,e.view,1,target.screenX,target.screenY,target.clientX,target.clientY,e.ctrlKey,e.altKey,e.shiftKey,e.metaKey,0,null);ev._constructed=true;target.dispatchEvent(ev)}};return me}();function IScroll(el,options){this.wrapper=typeof el=="string"?document.querySelector(el):el;this.scroller=this.wrapper.children[0];this.scrollerStyle=this.scroller.style;this.options={resizeScrollbars:true,mouseWheelSpeed:20,snapThreshold:.334,disablePointer:!utils.hasPointer,disableTouch:utils.hasPointer||!utils.hasTouch,disableMouse:utils.hasPointer||utils.hasTouch,startX:0,startY:0,scrollY:true,directionLockThreshold:5,momentum:true,bounce:true,bounceTime:600,bounceEasing:"",preventDefault:true,preventDefaultException:{tagName:/^(INPUT|TEXTAREA|BUTTON|SELECT)$/},HWCompositing:true,useTransition:true,useTransform:true,bindToWrapper:typeof window.onmousedown==="undefined"};for(var i in options){this.options[i]=options[i]}this.translateZ=this.options.HWCompositing&&utils.hasPerspective?" translateZ(0)":"";this.options.useTransition=utils.hasTransition&&this.options.useTransition;this.options.useTransform=utils.hasTransform&&this.options.useTransform;this.options.eventPassthrough=this.options.eventPassthrough===true?"vertical":this.options.eventPassthrough;this.options.preventDefault=!this.options.eventPassthrough&&this.options.preventDefault;this.options.scrollY=this.options.eventPassthrough=="vertical"?false:this.options.scrollY;this.options.scrollX=this.options.eventPassthrough=="horizontal"?false:this.options.scrollX;this.options.freeScroll=this.options.freeScroll&&!this.options.eventPassthrough;this.options.directionLockThreshold=this.options.eventPassthrough?0:this.options.directionLockThreshold;this.options.bounceEasing=typeof this.options.bounceEasing=="string"?utils.ease[this.options.bounceEasing]||utils.ease.circular:this.options.bounceEasing;this.options.resizePolling=this.options.resizePolling===undefined?60:this.options.resizePolling;if(this.options.tap===true){this.options.tap="tap"}if(this.options.shrinkScrollbars=="scale"){this.options.useTransition=false}this.options.invertWheelDirection=this.options.invertWheelDirection?-1:1;this.x=0;this.y=0;this.directionX=0;this.directionY=0;this._events={};this._init();this.refresh();this.scrollTo(this.options.startX,this.options.startY);this.enable()}IScroll.prototype={version:"5.2.0",_init:function(){this._initEvents();if(this.options.scrollbars||this.options.indicators){this._initIndicators()}if(this.options.mouseWheel){this._initWheel()}if(this.options.snap){this._initSnap()}if(this.options.keyBindings){this._initKeys()}},destroy:function(){this._initEvents(true);clearTimeout(this.resizeTimeout);this.resizeTimeout=null;this._execEvent("destroy")},_transitionEnd:function(e){if(e.target!=this.scroller||!this.isInTransition){return}this._transitionTime();if(!this.resetPosition(this.options.bounceTime)){this.isInTransition=false;this._execEvent("scrollEnd")}},_start:function(e){if(utils.eventType[e.type]!=1){var button;if(!e.which){button=e.button<2?0:e.button==4?1:2}else{button=e.button}if(button!==0){return}}if(!this.enabled||this.initiated&&utils.eventType[e.type]!==this.initiated){return}if(this.options.preventDefault&&!utils.isBadAndroid&&!utils.preventDefaultException(e.target,this.options.preventDefaultException)){e.preventDefault()}var point=e.touches?e.touches[0]:e,pos;this.initiated=utils.eventType[e.type];this.moved=false;this.distX=0;this.distY=0;this.directionX=0;this.directionY=0;this.directionLocked=0;this.startTime=utils.getTime();if(this.options.useTransition&&this.isInTransition){this._transitionTime();this.isInTransition=false;pos=this.getComputedPosition();this._translate(Math.round(pos.x),Math.round(pos.y));this._execEvent("scrollEnd")}else if(!this.options.useTransition&&this.isAnimating){this.isAnimating=false;this._execEvent("scrollEnd")}this.startX=this.x;this.startY=this.y;this.absStartX=this.x;this.absStartY=this.y;this.pointX=point.pageX;this.pointY=point.pageY;this._execEvent("beforeScrollStart")},_move:function(e){if(!this.enabled||utils.eventType[e.type]!==this.initiated){return}if(this.options.preventDefault){e.preventDefault()}var point=e.touches?e.touches[0]:e,deltaX=point.pageX-this.pointX,deltaY=point.pageY-this.pointY,timestamp=utils.getTime(),newX,newY,absDistX,absDistY;this.pointX=point.pageX;this.pointY=point.pageY;this.distX+=deltaX;this.distY+=deltaY;absDistX=Math.abs(this.distX);absDistY=Math.abs(this.distY);if(timestamp-this.endTime>300&&(absDistX<10&&absDistY<10)){return}if(!this.directionLocked&&!this.options.freeScroll){if(absDistX>absDistY+this.options.directionLockThreshold){this.directionLocked="h"}else if(absDistY>=absDistX+this.options.directionLockThreshold){this.directionLocked="v"}else{this.directionLocked="n"}}if(this.directionLocked=="h"){if(this.options.eventPassthrough=="vertical"){e.preventDefault()}else if(this.options.eventPassthrough=="horizontal"){this.initiated=false;return}deltaY=0}else if(this.directionLocked=="v"){if(this.options.eventPassthrough=="horizontal"){e.preventDefault()}else if(this.options.eventPassthrough=="vertical"){this.initiated=false;return}deltaX=0}deltaX=this.hasHorizontalScroll?deltaX:0;deltaY=this.hasVerticalScroll?deltaY:0;newX=this.x+deltaX;newY=this.y+deltaY;if(newX>0||newX<this.maxScrollX){newX=this.options.bounce?this.x+deltaX/3:newX>0?0:this.maxScrollX}if(newY>0||newY<this.maxScrollY){newY=this.options.bounce?this.y+deltaY/3:newY>0?0:this.maxScrollY}this.directionX=deltaX>0?-1:deltaX<0?1:0;this.directionY=deltaY>0?-1:deltaY<0?1:0;if(!this.moved){this._execEvent("scrollStart")}this.moved=true;this._translate(newX,newY);if(timestamp-this.startTime>300){this.startTime=timestamp;this.startX=this.x;this.startY=this.y}},_end:function(e){if(!this.enabled||utils.eventType[e.type]!==this.initiated){return}if(this.options.preventDefault&&!utils.preventDefaultException(e.target,this.options.preventDefaultException)){e.preventDefault()}var point=e.changedTouches?e.changedTouches[0]:e,momentumX,momentumY,duration=utils.getTime()-this.startTime,newX=Math.round(this.x),newY=Math.round(this.y),distanceX=Math.abs(newX-this.startX),distanceY=Math.abs(newY-this.startY),time=0,easing="";this.isInTransition=0;this.initiated=0;this.endTime=utils.getTime();if(this.resetPosition(this.options.bounceTime)){return}this.scrollTo(newX,newY);if(!this.moved){if(this.options.tap){utils.tap(e,this.options.tap)}if(this.options.click){utils.click(e)}this._execEvent("scrollCancel");return}if(this._events.flick&&duration<200&&distanceX<100&&distanceY<100){this._execEvent("flick");return}if(this.options.momentum&&duration<300){momentumX=this.hasHorizontalScroll?utils.momentum(this.x,this.startX,duration,this.maxScrollX,this.options.bounce?this.wrapperWidth:0,this.options.deceleration):{destination:newX,duration:0};momentumY=this.hasVerticalScroll?utils.momentum(this.y,this.startY,duration,this.maxScrollY,this.options.bounce?this.wrapperHeight:0,this.options.deceleration):{destination:newY,duration:0};newX=momentumX.destination;newY=momentumY.destination;time=Math.max(momentumX.duration,momentumY.duration);this.isInTransition=1}if(this.options.snap){var snap=this._nearestSnap(newX,newY);this.currentPage=snap;time=this.options.snapSpeed||Math.max(Math.max(Math.min(Math.abs(newX-snap.x),1e3),Math.min(Math.abs(newY-snap.y),1e3)),300);newX=snap.x;newY=snap.y;this.directionX=0;this.directionY=0;easing=this.options.bounceEasing}if(newX!=this.x||newY!=this.y){if(newX>0||newX<this.maxScrollX||newY>0||newY<this.maxScrollY){easing=utils.ease.quadratic}this.scrollTo(newX,newY,time,easing);return}this._execEvent("scrollEnd")},_resize:function(){var that=this;clearTimeout(this.resizeTimeout);this.resizeTimeout=setTimeout((function(){that.refresh()}),this.options.resizePolling)},resetPosition:function(time){var x=this.x,y=this.y;time=time||0;if(!this.hasHorizontalScroll||this.x>0){x=0}else if(this.x<this.maxScrollX){x=this.maxScrollX}if(!this.hasVerticalScroll||this.y>0){y=0}else if(this.y<this.maxScrollY){y=this.maxScrollY}if(x==this.x&&y==this.y){return false}this.scrollTo(x,y,time,this.options.bounceEasing);return true},disable:function(){this.enabled=false},enable:function(){this.enabled=true},refresh:function(){var rf=this.wrapper.offsetHeight;this.wrapperWidth=this.wrapper.clientWidth;this.wrapperHeight=this.wrapper.clientHeight;this.scrollerWidth=this.scroller.offsetWidth;this.scrollerHeight=this.scroller.offsetHeight;this.maxScrollX=this.wrapperWidth-this.scrollerWidth;this.maxScrollY=this.wrapperHeight-this.scrollerHeight;this.hasHorizontalScroll=this.options.scrollX&&this.maxScrollX<0;this.hasVerticalScroll=this.options.scrollY&&this.maxScrollY<0;if(!this.hasHorizontalScroll){this.maxScrollX=0;this.scrollerWidth=this.wrapperWidth}if(!this.hasVerticalScroll){this.maxScrollY=0;this.scrollerHeight=this.wrapperHeight}this.endTime=0;this.directionX=0;this.directionY=0;this.wrapperOffset=utils.offset(this.wrapper);this._execEvent("refresh");this.resetPosition()},on:function(type,fn){if(!this._events[type]){this._events[type]=[]}this._events[type].push(fn)},off:function(type,fn){if(!this._events[type]){return}var index=this._events[type].indexOf(fn);if(index>-1){this._events[type].splice(index,1)}},_execEvent:function(type){if(!this._events[type]){return}var i=0,l=this._events[type].length;if(!l){return}for(;i<l;i++){this._events[type][i].apply(this,[].slice.call(arguments,1))}},scrollBy:function(x,y,time,easing){x=this.x+x;y=this.y+y;time=time||0;this.scrollTo(x,y,time,easing)},scrollTo:function(x,y,time,easing){easing=easing||utils.ease.circular;this.isInTransition=this.options.useTransition&&time>0;var transitionType=this.options.useTransition&&easing.style;if(!time||transitionType){if(transitionType){this._transitionTimingFunction(easing.style);this._transitionTime(time)}this._translate(x,y)}else{this._animate(x,y,time,easing.fn)}},scrollToElement:function(el,time,offsetX,offsetY,easing){el=el.nodeType?el:this.scroller.querySelector(el);if(!el){return}var pos=utils.offset(el);pos.left-=this.wrapperOffset.left;pos.top-=this.wrapperOffset.top;if(offsetX===true){offsetX=Math.round(el.offsetWidth/2-this.wrapper.offsetWidth/2)}if(offsetY===true){offsetY=Math.round(el.offsetHeight/2-this.wrapper.offsetHeight/2)}pos.left-=offsetX||0;pos.top-=offsetY||0;pos.left=pos.left>0?0:pos.left<this.maxScrollX?this.maxScrollX:pos.left;pos.top=pos.top>0?0:pos.top<this.maxScrollY?this.maxScrollY:pos.top;time=time===undefined||time===null||time==="auto"?Math.max(Math.abs(this.x-pos.left),Math.abs(this.y-pos.top)):time;this.scrollTo(pos.left,pos.top,time,easing)},_transitionTime:function(time){time=time||0;var durationProp=utils.style.transitionDuration;this.scrollerStyle[durationProp]=time+"ms";if(!time&&utils.isBadAndroid){this.scrollerStyle[durationProp]="0.0001ms";var self=this;rAF((function(){if(self.scrollerStyle[durationProp]==="0.0001ms"){self.scrollerStyle[durationProp]="0s"}}))}if(this.indicators){for(var i=this.indicators.length;i--;){this.indicators[i].transitionTime(time)}}},_transitionTimingFunction:function(easing){this.scrollerStyle[utils.style.transitionTimingFunction]=easing;if(this.indicators){for(var i=this.indicators.length;i--;){this.indicators[i].transitionTimingFunction(easing)}}},_translate:function(x,y){if(this.options.useTransform){this.scrollerStyle[utils.style.transform]="translate("+x+"px,"+y+"px)"+this.translateZ}else{x=Math.round(x);y=Math.round(y);this.scrollerStyle.left=x+"px";this.scrollerStyle.top=y+"px"}this.x=x;this.y=y;if(this.indicators){for(var i=this.indicators.length;i--;){this.indicators[i].updatePosition()}}},_initEvents:function(remove){var eventType=remove?utils.removeEvent:utils.addEvent,target=this.options.bindToWrapper?this.wrapper:window;eventType(window,"orientationchange",this);eventType(window,"resize",this);if(this.options.click){eventType(this.wrapper,"click",this,true)}if(!this.options.disableMouse){eventType(this.wrapper,"mousedown",this);eventType(target,"mousemove",this);eventType(target,"mousecancel",this);eventType(target,"mouseup",this)}if(utils.hasPointer&&!this.options.disablePointer){eventType(this.wrapper,utils.prefixPointerEvent("pointerdown"),this);eventType(target,utils.prefixPointerEvent("pointermove"),this);eventType(target,utils.prefixPointerEvent("pointercancel"),this);eventType(target,utils.prefixPointerEvent("pointerup"),this)}if(utils.hasTouch&&!this.options.disableTouch){eventType(this.wrapper,"touchstart",this);eventType(target,"touchmove",this);eventType(target,"touchcancel",this);eventType(target,"touchend",this)}eventType(this.scroller,"transitionend",this);eventType(this.scroller,"webkitTransitionEnd",this);eventType(this.scroller,"oTransitionEnd",this);eventType(this.scroller,"MSTransitionEnd",this)},getComputedPosition:function(){var matrix=window.getComputedStyle(this.scroller,null),x,y;if(this.options.useTransform){matrix=matrix[utils.style.transform].split(")")[0].split(", ");x=+(matrix[12]||matrix[4]);y=+(matrix[13]||matrix[5])}else{x=+matrix.left.replace(/[^-\d.]/g,"");y=+matrix.top.replace(/[^-\d.]/g,"")}return{x:x,y:y}},_initIndicators:function(){var interactive=this.options.interactiveScrollbars,customStyle=typeof this.options.scrollbars!="string",indicators=[],indicator;var that=this;this.indicators=[];if(this.options.scrollbars){if(this.options.scrollY){indicator={el:createDefaultScrollbar("v",interactive,this.options.scrollbars),interactive:interactive,defaultScrollbars:true,customStyle:customStyle,resize:this.options.resizeScrollbars,shrink:this.options.shrinkScrollbars,fade:this.options.fadeScrollbars,listenX:false};this.wrapper.appendChild(indicator.el);indicators.push(indicator)}if(this.options.scrollX){indicator={el:createDefaultScrollbar("h",interactive,this.options.scrollbars),interactive:interactive,defaultScrollbars:true,customStyle:customStyle,resize:this.options.resizeScrollbars,shrink:this.options.shrinkScrollbars,fade:this.options.fadeScrollbars,listenY:false};this.wrapper.appendChild(indicator.el);indicators.push(indicator)}}if(this.options.indicators){indicators=indicators.concat(this.options.indicators)}for(var i=indicators.length;i--;){this.indicators.push(new Indicator(this,indicators[i]))}function _indicatorsMap(fn){if(that.indicators){for(var i=that.indicators.length;i--;){fn.call(that.indicators[i])}}}if(this.options.fadeScrollbars){this.on("scrollEnd",(function(){_indicatorsMap((function(){this.fade()}))}));this.on("scrollCancel",(function(){_indicatorsMap((function(){this.fade()}))}));this.on("scrollStart",(function(){_indicatorsMap((function(){this.fade(1)}))}));this.on("beforeScrollStart",(function(){_indicatorsMap((function(){this.fade(1,true)}))}))}this.on("refresh",(function(){_indicatorsMap((function(){this.refresh()}))}));this.on("destroy",(function(){_indicatorsMap((function(){this.destroy()}));delete this.indicators}))},_initWheel:function(){utils.addEvent(this.wrapper,"wheel",this);utils.addEvent(this.wrapper,"mousewheel",this);utils.addEvent(this.wrapper,"DOMMouseScroll",this);this.on("destroy",(function(){clearTimeout(this.wheelTimeout);this.wheelTimeout=null;utils.removeEvent(this.wrapper,"wheel",this);utils.removeEvent(this.wrapper,"mousewheel",this);utils.removeEvent(this.wrapper,"DOMMouseScroll",this)}))},_wheel:function(e){if(!this.enabled){return}e.preventDefault();var wheelDeltaX,wheelDeltaY,newX,newY,that=this;if(this.wheelTimeout===undefined){that._execEvent("scrollStart")}clearTimeout(this.wheelTimeout);this.wheelTimeout=setTimeout((function(){if(!that.options.snap){that._execEvent("scrollEnd")}that.wheelTimeout=undefined}),400);if("deltaX"in e){if(e.deltaMode===1){wheelDeltaX=-e.deltaX*this.options.mouseWheelSpeed;wheelDeltaY=-e.deltaY*this.options.mouseWheelSpeed}else{wheelDeltaX=-e.deltaX;wheelDeltaY=-e.deltaY}}else if("wheelDeltaX"in e){wheelDeltaX=e.wheelDeltaX/120*this.options.mouseWheelSpeed;wheelDeltaY=e.wheelDeltaY/120*this.options.mouseWheelSpeed}else if("wheelDelta"in e){wheelDeltaX=wheelDeltaY=e.wheelDelta/120*this.options.mouseWheelSpeed}else if("detail"in e){wheelDeltaX=wheelDeltaY=-e.detail/3*this.options.mouseWheelSpeed}else{return}wheelDeltaX*=this.options.invertWheelDirection;wheelDeltaY*=this.options.invertWheelDirection;if(!this.hasVerticalScroll){wheelDeltaX=wheelDeltaY;wheelDeltaY=0}if(this.options.snap){newX=this.currentPage.pageX;newY=this.currentPage.pageY;if(wheelDeltaX>0){newX--}else if(wheelDeltaX<0){newX++}if(wheelDeltaY>0){newY--}else if(wheelDeltaY<0){newY++}this.goToPage(newX,newY);return}newX=this.x+Math.round(this.hasHorizontalScroll?wheelDeltaX:0);newY=this.y+Math.round(this.hasVerticalScroll?wheelDeltaY:0);this.directionX=wheelDeltaX>0?-1:wheelDeltaX<0?1:0;this.directionY=wheelDeltaY>0?-1:wheelDeltaY<0?1:0;if(newX>0){newX=0}else if(newX<this.maxScrollX){newX=this.maxScrollX}if(newY>0){newY=0}else if(newY<this.maxScrollY){newY=this.maxScrollY}this.scrollTo(newX,newY,0)},_initSnap:function(){this.currentPage={};if(typeof this.options.snap=="string"){this.options.snap=this.scroller.querySelectorAll(this.options.snap)}this.on("refresh",(function(){var i=0,l,m=0,n,cx,cy,x=0,y,stepX=this.options.snapStepX||this.wrapperWidth,stepY=this.options.snapStepY||this.wrapperHeight,el;this.pages=[];if(!this.wrapperWidth||!this.wrapperHeight||!this.scrollerWidth||!this.scrollerHeight){return}if(this.options.snap===true){cx=Math.round(stepX/2);cy=Math.round(stepY/2);while(x>-this.scrollerWidth){this.pages[i]=[];l=0;y=0;while(y>-this.scrollerHeight){this.pages[i][l]={x:Math.max(x,this.maxScrollX),y:Math.max(y,this.maxScrollY),width:stepX,height:stepY,cx:x-cx,cy:y-cy};y-=stepY;l++}x-=stepX;i++}}else{el=this.options.snap;l=el.length;n=-1;for(;i<l;i++){if(i===0||el[i].offsetLeft<=el[i-1].offsetLeft){m=0;n++}if(!this.pages[m]){this.pages[m]=[]}x=Math.max(-el[i].offsetLeft,this.maxScrollX);y=Math.max(-el[i].offsetTop,this.maxScrollY);cx=x-Math.round(el[i].offsetWidth/2);cy=y-Math.round(el[i].offsetHeight/2);this.pages[m][n]={x:x,y:y,width:el[i].offsetWidth,height:el[i].offsetHeight,cx:cx,cy:cy};if(x>this.maxScrollX){m++}}}this.goToPage(this.currentPage.pageX||0,this.currentPage.pageY||0,0);if(this.options.snapThreshold%1===0){this.snapThresholdX=this.options.snapThreshold;this.snapThresholdY=this.options.snapThreshold}else{this.snapThresholdX=Math.round(this.pages[this.currentPage.pageX][this.currentPage.pageY].width*this.options.snapThreshold);this.snapThresholdY=Math.round(this.pages[this.currentPage.pageX][this.currentPage.pageY].height*this.options.snapThreshold)}}));this.on("flick",(function(){var time=this.options.snapSpeed||Math.max(Math.max(Math.min(Math.abs(this.x-this.startX),1e3),Math.min(Math.abs(this.y-this.startY),1e3)),300);this.goToPage(this.currentPage.pageX+this.directionX,this.currentPage.pageY+this.directionY,time)}))},_nearestSnap:function(x,y){if(!this.pages.length){return{x:0,y:0,pageX:0,pageY:0}}var i=0,l=this.pages.length,m=0;if(Math.abs(x-this.absStartX)<this.snapThresholdX&&Math.abs(y-this.absStartY)<this.snapThresholdY){return this.currentPage}if(x>0){x=0}else if(x<this.maxScrollX){x=this.maxScrollX}if(y>0){y=0}else if(y<this.maxScrollY){y=this.maxScrollY}for(;i<l;i++){if(x>=this.pages[i][0].cx){x=this.pages[i][0].x;break}}l=this.pages[i].length;for(;m<l;m++){if(y>=this.pages[0][m].cy){y=this.pages[0][m].y;break}}if(i==this.currentPage.pageX){i+=this.directionX;if(i<0){i=0}else if(i>=this.pages.length){i=this.pages.length-1}x=this.pages[i][0].x}if(m==this.currentPage.pageY){m+=this.directionY;if(m<0){m=0}else if(m>=this.pages[0].length){m=this.pages[0].length-1}y=this.pages[0][m].y}return{x:x,y:y,pageX:i,pageY:m}},goToPage:function(x,y,time,easing){easing=easing||this.options.bounceEasing;if(x>=this.pages.length){x=this.pages.length-1}else if(x<0){x=0}if(y>=this.pages[x].length){y=this.pages[x].length-1}else if(y<0){y=0}var posX=this.pages[x][y].x,posY=this.pages[x][y].y;time=time===undefined?this.options.snapSpeed||Math.max(Math.max(Math.min(Math.abs(posX-this.x),1e3),Math.min(Math.abs(posY-this.y),1e3)),300):time;this.currentPage={x:posX,y:posY,pageX:x,pageY:y};this.scrollTo(posX,posY,time,easing)},next:function(time,easing){var x=this.currentPage.pageX,y=this.currentPage.pageY;x++;if(x>=this.pages.length&&this.hasVerticalScroll){x=0;y++}this.goToPage(x,y,time,easing)},prev:function(time,easing){var x=this.currentPage.pageX,y=this.currentPage.pageY;x--;if(x<0&&this.hasVerticalScroll){x=0;y--}this.goToPage(x,y,time,easing)},_initKeys:function(e){var keys={pageUp:33,pageDown:34,end:35,home:36,left:37,up:38,right:39,down:40};var i;if(typeof this.options.keyBindings=="object"){for(i in this.options.keyBindings){if(typeof this.options.keyBindings[i]=="string"){this.options.keyBindings[i]=this.options.keyBindings[i].toUpperCase().charCodeAt(0)}}}else{this.options.keyBindings={}}for(i in keys){this.options.keyBindings[i]=this.options.keyBindings[i]||keys[i]}utils.addEvent(window,"keydown",this);this.on("destroy",(function(){utils.removeEvent(window,"keydown",this)}))},_key:function(e){if(!this.enabled){return}var snap=this.options.snap,newX=snap?this.currentPage.pageX:this.x,newY=snap?this.currentPage.pageY:this.y,now=utils.getTime(),prevTime=this.keyTime||0,acceleration=.25,pos;if(this.options.useTransition&&this.isInTransition){pos=this.getComputedPosition();this._translate(Math.round(pos.x),Math.round(pos.y));this.isInTransition=false}this.keyAcceleration=now-prevTime<200?Math.min(this.keyAcceleration+acceleration,50):0;switch(e.keyCode){case this.options.keyBindings.pageUp:if(this.hasHorizontalScroll&&!this.hasVerticalScroll){newX+=snap?1:this.wrapperWidth}else{newY+=snap?1:this.wrapperHeight}break;case this.options.keyBindings.pageDown:if(this.hasHorizontalScroll&&!this.hasVerticalScroll){newX-=snap?1:this.wrapperWidth}else{newY-=snap?1:this.wrapperHeight}break;case this.options.keyBindings.end:newX=snap?this.pages.length-1:this.maxScrollX;newY=snap?this.pages[0].length-1:this.maxScrollY;break;case this.options.keyBindings.home:newX=0;newY=0;break;case this.options.keyBindings.left:newX+=snap?-1:5+this.keyAcceleration>>0;break;case this.options.keyBindings.up:newY+=snap?1:5+this.keyAcceleration>>0;break;case this.options.keyBindings.right:newX-=snap?-1:5+this.keyAcceleration>>0;break;case this.options.keyBindings.down:newY-=snap?1:5+this.keyAcceleration>>0;break;default:return}if(snap){this.goToPage(newX,newY);return}if(newX>0){newX=0;this.keyAcceleration=0}else if(newX<this.maxScrollX){newX=this.maxScrollX;this.keyAcceleration=0}if(newY>0){newY=0;this.keyAcceleration=0}else if(newY<this.maxScrollY){newY=this.maxScrollY;this.keyAcceleration=0}this.scrollTo(newX,newY,0);this.keyTime=now},_animate:function(destX,destY,duration,easingFn){var that=this,startX=this.x,startY=this.y,startTime=utils.getTime(),destTime=startTime+duration;function step(){var now=utils.getTime(),newX,newY,easing;if(now>=destTime){that.isAnimating=false;that._translate(destX,destY);if(!that.resetPosition(that.options.bounceTime)){that._execEvent("scrollEnd")}return}now=(now-startTime)/duration;easing=easingFn(now);newX=(destX-startX)*easing+startX;newY=(destY-startY)*easing+startY;that._translate(newX,newY);if(that.isAnimating){rAF(step)}}this.isAnimating=true;step()},handleEvent:function(e){switch(e.type){case"touchstart":case"pointerdown":case"MSPointerDown":case"mousedown":this._start(e);break;case"touchmove":case"pointermove":case"MSPointerMove":case"mousemove":this._move(e);break;case"touchend":case"pointerup":case"MSPointerUp":case"mouseup":case"touchcancel":case"pointercancel":case"MSPointerCancel":case"mousecancel":this._end(e);break;case"orientationchange":case"resize":this._resize();break;case"transitionend":case"webkitTransitionEnd":case"oTransitionEnd":case"MSTransitionEnd":this._transitionEnd(e);break;case"wheel":case"DOMMouseScroll":case"mousewheel":this._wheel(e);break;case"keydown":this._key(e);break;case"click":if(this.enabled&&!e._constructed){e.preventDefault();e.stopPropagation()}break}}};function createDefaultScrollbar(direction,interactive,type){var scrollbar=document.createElement("div"),indicator=document.createElement("div");if(type===true){scrollbar.style.cssText="position:absolute;z-index:9999";indicator.style.cssText="-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;position:absolute;background:rgba(0,0,0,0.5);border:1px solid rgba(255,255,255,0.9);border-radius:3px"}indicator.className="iScrollIndicator";if(direction=="h"){if(type===true){scrollbar.style.cssText+=";height:7px;left:2px;right:2px;bottom:0";indicator.style.height="100%"}scrollbar.className="iScrollHorizontalScrollbar"}else{if(type===true){scrollbar.style.cssText+=";width:7px;bottom:2px;top:2px;right:1px";indicator.style.width="100%"}scrollbar.className="iScrollVerticalScrollbar"}scrollbar.style.cssText+=";overflow:hidden";if(!interactive){scrollbar.style.pointerEvents="none"}scrollbar.appendChild(indicator);return scrollbar}function Indicator(scroller,options){this.wrapper=typeof options.el=="string"?document.querySelector(options.el):options.el;this.wrapperStyle=this.wrapper.style;this.indicator=this.wrapper.children[0];this.indicatorStyle=this.indicator.style;this.scroller=scroller;this.options={listenX:true,listenY:true,interactive:false,resize:true,defaultScrollbars:false,shrink:false,fade:false,speedRatioX:0,speedRatioY:0};for(var i in options){this.options[i]=options[i]}this.sizeRatioX=1;this.sizeRatioY=1;this.maxPosX=0;this.maxPosY=0;if(this.options.interactive){if(!this.options.disableTouch){utils.addEvent(this.indicator,"touchstart",this);utils.addEvent(window,"touchend",this)}if(!this.options.disablePointer){utils.addEvent(this.indicator,utils.prefixPointerEvent("pointerdown"),this);utils.addEvent(window,utils.prefixPointerEvent("pointerup"),this)}if(!this.options.disableMouse){utils.addEvent(this.indicator,"mousedown",this);utils.addEvent(window,"mouseup",this)}}if(this.options.fade){this.wrapperStyle[utils.style.transform]=this.scroller.translateZ;var durationProp=utils.style.transitionDuration;this.wrapperStyle[durationProp]=utils.isBadAndroid?"0.0001ms":"0ms";var self=this;if(utils.isBadAndroid){rAF((function(){if(self.wrapperStyle[durationProp]==="0.0001ms"){self.wrapperStyle[durationProp]="0s"}}))}this.wrapperStyle.opacity="0"}}Indicator.prototype={handleEvent:function(e){switch(e.type){case"touchstart":case"pointerdown":case"MSPointerDown":case"mousedown":this._start(e);break;case"touchmove":case"pointermove":case"MSPointerMove":case"mousemove":this._move(e);break;case"touchend":case"pointerup":case"MSPointerUp":case"mouseup":case"touchcancel":case"pointercancel":case"MSPointerCancel":case"mousecancel":this._end(e);break}},destroy:function(){if(this.options.fadeScrollbars){clearTimeout(this.fadeTimeout);this.fadeTimeout=null}if(this.options.interactive){utils.removeEvent(this.indicator,"touchstart",this);utils.removeEvent(this.indicator,utils.prefixPointerEvent("pointerdown"),this);utils.removeEvent(this.indicator,"mousedown",this);utils.removeEvent(window,"touchmove",this);utils.removeEvent(window,utils.prefixPointerEvent("pointermove"),this);utils.removeEvent(window,"mousemove",this);utils.removeEvent(window,"touchend",this);utils.removeEvent(window,utils.prefixPointerEvent("pointerup"),this);utils.removeEvent(window,"mouseup",this)}if(this.options.defaultScrollbars){this.wrapper.parentNode.removeChild(this.wrapper)}},_start:function(e){var point=e.touches?e.touches[0]:e;e.preventDefault();e.stopPropagation();this.transitionTime();this.initiated=true;this.moved=false;this.lastPointX=point.pageX;this.lastPointY=point.pageY;this.startTime=utils.getTime();if(!this.options.disableTouch){utils.addEvent(window,"touchmove",this)}if(!this.options.disablePointer){utils.addEvent(window,utils.prefixPointerEvent("pointermove"),this)}if(!this.options.disableMouse){utils.addEvent(window,"mousemove",this)}this.scroller._execEvent("beforeScrollStart")},_move:function(e){var point=e.touches?e.touches[0]:e,deltaX,deltaY,newX,newY,timestamp=utils.getTime();if(!this.moved){this.scroller._execEvent("scrollStart")}this.moved=true;deltaX=point.pageX-this.lastPointX;this.lastPointX=point.pageX;deltaY=point.pageY-this.lastPointY;this.lastPointY=point.pageY;newX=this.x+deltaX;newY=this.y+deltaY;this._pos(newX,newY);e.preventDefault();e.stopPropagation()},_end:function(e){if(!this.initiated){return}this.initiated=false;e.preventDefault();e.stopPropagation();utils.removeEvent(window,"touchmove",this);utils.removeEvent(window,utils.prefixPointerEvent("pointermove"),this);utils.removeEvent(window,"mousemove",this);if(this.scroller.options.snap){var snap=this.scroller._nearestSnap(this.scroller.x,this.scroller.y);var time=this.options.snapSpeed||Math.max(Math.max(Math.min(Math.abs(this.scroller.x-snap.x),1e3),Math.min(Math.abs(this.scroller.y-snap.y),1e3)),300);if(this.scroller.x!=snap.x||this.scroller.y!=snap.y){this.scroller.directionX=0;this.scroller.directionY=0;this.scroller.currentPage=snap;this.scroller.scrollTo(snap.x,snap.y,time,this.scroller.options.bounceEasing)}}if(this.moved){this.scroller._execEvent("scrollEnd")}},transitionTime:function(time){time=time||0;var durationProp=utils.style.transitionDuration;this.indicatorStyle[durationProp]=time+"ms";if(!time&&utils.isBadAndroid){this.indicatorStyle[durationProp]="0.0001ms";var self=this;rAF((function(){if(self.indicatorStyle[durationProp]==="0.0001ms"){self.indicatorStyle[durationProp]="0s"}}))}},transitionTimingFunction:function(easing){this.indicatorStyle[utils.style.transitionTimingFunction]=easing},refresh:function(){this.transitionTime();if(this.options.listenX&&!this.options.listenY){this.indicatorStyle.display=this.scroller.hasHorizontalScroll?"block":"none"}else if(this.options.listenY&&!this.options.listenX){this.indicatorStyle.display=this.scroller.hasVerticalScroll?"block":"none"}else{this.indicatorStyle.display=this.scroller.hasHorizontalScroll||this.scroller.hasVerticalScroll?"block":"none"}if(this.scroller.hasHorizontalScroll&&this.scroller.hasVerticalScroll){utils.addClass(this.wrapper,"iScrollBothScrollbars");utils.removeClass(this.wrapper,"iScrollLoneScrollbar");if(this.options.defaultScrollbars&&this.options.customStyle){if(this.options.listenX){this.wrapper.style.right="8px"}else{this.wrapper.style.bottom="8px"}}}else{utils.removeClass(this.wrapper,"iScrollBothScrollbars");utils.addClass(this.wrapper,"iScrollLoneScrollbar");if(this.options.defaultScrollbars&&this.options.customStyle){if(this.options.listenX){this.wrapper.style.right="2px"}else{this.wrapper.style.bottom="2px"}}}var r=this.wrapper.offsetHeight;if(this.options.listenX){this.wrapperWidth=this.wrapper.clientWidth;if(this.options.resize){this.indicatorWidth=Math.max(Math.round(this.wrapperWidth*this.wrapperWidth/(this.scroller.scrollerWidth||this.wrapperWidth||1)),8);this.indicatorStyle.width=this.indicatorWidth+"px"}else{this.indicatorWidth=this.indicator.clientWidth}this.maxPosX=this.wrapperWidth-this.indicatorWidth;if(this.options.shrink=="clip"){this.minBoundaryX=-this.indicatorWidth+8;this.maxBoundaryX=this.wrapperWidth-8}else{this.minBoundaryX=0;this.maxBoundaryX=this.maxPosX}this.sizeRatioX=this.options.speedRatioX||this.scroller.maxScrollX&&this.maxPosX/this.scroller.maxScrollX}if(this.options.listenY){this.wrapperHeight=this.wrapper.clientHeight;if(this.options.resize){this.indicatorHeight=Math.max(Math.round(this.wrapperHeight*this.wrapperHeight/(this.scroller.scrollerHeight||this.wrapperHeight||1)),8);this.indicatorStyle.height=this.indicatorHeight+"px"}else{this.indicatorHeight=this.indicator.clientHeight}this.maxPosY=this.wrapperHeight-this.indicatorHeight;if(this.options.shrink=="clip"){this.minBoundaryY=-this.indicatorHeight+8;this.maxBoundaryY=this.wrapperHeight-8}else{this.minBoundaryY=0;this.maxBoundaryY=this.maxPosY}this.maxPosY=this.wrapperHeight-this.indicatorHeight;this.sizeRatioY=this.options.speedRatioY||this.scroller.maxScrollY&&this.maxPosY/this.scroller.maxScrollY}this.updatePosition()},updatePosition:function(){var x=this.options.listenX&&Math.round(this.sizeRatioX*this.scroller.x)||0,y=this.options.listenY&&Math.round(this.sizeRatioY*this.scroller.y)||0;if(!this.options.ignoreBoundaries){if(x<this.minBoundaryX){if(this.options.shrink=="scale"){this.width=Math.max(this.indicatorWidth+x,8);this.indicatorStyle.width=this.width+"px"}x=this.minBoundaryX}else if(x>this.maxBoundaryX){if(this.options.shrink=="scale"){this.width=Math.max(this.indicatorWidth-(x-this.maxPosX),8);this.indicatorStyle.width=this.width+"px";x=this.maxPosX+this.indicatorWidth-this.width}else{x=this.maxBoundaryX}}else if(this.options.shrink=="scale"&&this.width!=this.indicatorWidth){this.width=this.indicatorWidth;this.indicatorStyle.width=this.width+"px"}if(y<this.minBoundaryY){if(this.options.shrink=="scale"){this.height=Math.max(this.indicatorHeight+y*3,8);this.indicatorStyle.height=this.height+"px"}y=this.minBoundaryY}else if(y>this.maxBoundaryY){if(this.options.shrink=="scale"){this.height=Math.max(this.indicatorHeight-(y-this.maxPosY)*3,8);this.indicatorStyle.height=this.height+"px";y=this.maxPosY+this.indicatorHeight-this.height}else{y=this.maxBoundaryY}}else if(this.options.shrink=="scale"&&this.height!=this.indicatorHeight){this.height=this.indicatorHeight;this.indicatorStyle.height=this.height+"px"}}this.x=x;this.y=y;if(this.scroller.options.useTransform){this.indicatorStyle[utils.style.transform]="translate("+x+"px,"+y+"px)"+this.scroller.translateZ}else{this.indicatorStyle.left=x+"px";this.indicatorStyle.top=y+"px"}},_pos:function(x,y){if(x<0){x=0}else if(x>this.maxPosX){x=this.maxPosX}if(y<0){y=0}else if(y>this.maxPosY){y=this.maxPosY}x=this.options.listenX?Math.round(x/this.sizeRatioX):this.scroller.x;y=this.options.listenY?Math.round(y/this.sizeRatioY):this.scroller.y;this.scroller.scrollTo(x,y)},fade:function(val,hold){if(hold&&!this.visible){return}clearTimeout(this.fadeTimeout);this.fadeTimeout=null;var time=val?250:500,delay=val?0:300;val=val?"1":"0";this.wrapperStyle[utils.style.transitionDuration]=time+"ms";this.fadeTimeout=setTimeout(function(val){this.wrapperStyle.opacity=val;this.visible=+val}.bind(this,val),delay)}};IScroll.utils=utils;if(typeof module!="undefined"&&module.exports){module.exports=IScroll}else if(typeof define=="function"&&define.amd){define((function(){return IScroll}))}else{window.IScroll=IScroll}})(window,document,Math);(function(factory){var registeredInModuleLoader=false;if(typeof define==="function"&&define.amd){define(factory);registeredInModuleLoader=true}if(typeof exports==="object"){module.exports=factory();registeredInModuleLoader=true}if(!registeredInModuleLoader){var OldCookies=window.Cookies;var api=window.Cookies=factory();api.noConflict=function(){window.Cookies=OldCookies;return api}}})((function(){function extend(){var i=0;var result={};for(;i<arguments.length;i++){var attributes=arguments[i];for(var key in attributes){result[key]=attributes[key]}}return result}function init(converter){function api(key,value,attributes){var result;if(typeof document==="undefined"){return}if(arguments.length>1){attributes=extend({path:"/"},api.defaults,attributes);if(typeof attributes.expires==="number"){var expires=new Date;expires.setMilliseconds(expires.getMilliseconds()+attributes.expires*864e5);attributes.expires=expires}attributes.expires=attributes.expires?attributes.expires.toUTCString():"";try{result=JSON.stringify(value);if(/^[\{\[]/.test(result)){value=result}}catch(e){}if(!converter.write){value=encodeURIComponent(String(value)).replace(/%(23|24|26|2B|3A|3C|3E|3D|2F|3F|40|5B|5D|5E|60|7B|7D|7C)/g,decodeURIComponent)}else{value=converter.write(value,key)}key=encodeURIComponent(String(key));key=key.replace(/%(23|24|26|2B|5E|60|7C)/g,decodeURIComponent);key=key.replace(/[\(\)]/g,escape);var stringifiedAttributes="";for(var attributeName in attributes){if(!attributes[attributeName]){continue}stringifiedAttributes+="; "+attributeName;if(attributes[attributeName]===true){continue}stringifiedAttributes+="="+attributes[attributeName]}return document.cookie=key+"="+value+stringifiedAttributes}if(!key){result={}}var cookies=document.cookie?document.cookie.split("; "):[];var rdecode=/(%[0-9A-Z]{2})+/g;var i=0;for(;i<cookies.length;i++){var parts=cookies[i].split("=");var cookie=parts.slice(1).join("=");if(!this.json&&cookie.charAt(0)==='"'){cookie=cookie.slice(1,-1)}try{var name=parts[0].replace(rdecode,decodeURIComponent);cookie=converter.read?converter.read(cookie,name):converter(cookie,name)||cookie.replace(rdecode,decodeURIComponent);if(this.json){try{cookie=JSON.parse(cookie)}catch(e){}}if(key===name){result=cookie;break}if(!key){result[name]=cookie}}catch(e){}}return result}api.set=api;api.get=function(key){return api.call(api,key)};api.getJSON=function(){return api.apply({json:true},[].slice.call(arguments))};api.defaults={};api.remove=function(key,attributes){api(key,"",extend(attributes,{expires:-1}))};api.withConverter=init;return api}return init((function(){}))}));"use strict";$.widget("wm.datatable",{options:{data:[],statusMsg:"",colDefs:[],rowActions:[],headerConfig:[],sortInfo:{field:"",direction:""},isMobile:false,enableSort:true,filtermode:"",filteronkeypress:false,activeRow:undefined,height:"100%",showHeader:true,selectFirstRow:false,showNewRow:true,showRowIndex:false,enableRowSelection:true,enableColumnSelection:false,multiselect:false,filterNullRecords:true,navigation:"",isdynamictable:"",cssClassNames:{tableRow:"app-datagrid-row",headerCell:"app-datagrid-header-cell",groupHeaderCell:"app-datagrid-group-header-cell",tableCell:"app-datagrid-cell",grid:"",gridDefault:"table",gridBody:"app-datagrid-body",gridFooter:"app-datagrid-footer",deleteRow:"danger",ascIcon:"wi wi-long-arrow-up",descIcon:"wi wi-long-arrow-down",selectedColumn:"selected-column",rowExpandIcon:"wi wi-minus-square",rowCollapseIcon:"wi wi-plus-square",gridRowExpansionClass:"table-row-expansion",expandedRowClass:"expanded"},dataStates:{loading:"Loading...",ready:"",error:"An error occurred in loading the data.",nodata:"No data found."},messages:{selectField:"Select Field"},loadingicon:"",startRowIndex:1,editmode:"",actionsEnabled:{edit:true,new:true},rowExpansionEnabled:false,rowDef:{position:"0",closeothers:false,columnwidth:"30px"},summaryRow:false,summaryRowDefs:[],summaryRowDefsObject:[],searchHandler:function(){},sortHandler:function(){}},customColumnDefs:{checkbox:{field:"checkbox",type:"custom",displayName:"",sortable:false,searchable:false,resizable:false,selectable:false,readonly:true,style:"width: 50px; text-align: center;",textAlignment:"center",isMultiSelectCol:true,show:true},radio:{field:"radio",type:"custom",displayName:"",sortable:false,searchable:false,resizable:false,selectable:false,readonly:true,style:"width: 50px; text-align: center;",textAlignment:"center",show:true},__expand:{field:"__expand",type:"custom",displayName:"",sortable:false,searchable:false,resizable:false,selectable:false,readonly:true,style:"text-align: center;",textAlignment:"center",show:true,width:"30px"},rowIndex:{field:"rowIndex",type:"custom",displayName:"S. No.",sortable:false,searchable:false,selectable:false,readonly:true,style:"text-align: left;",textAlignment:"left",show:true}},CONSTANTS:{QUICK_EDIT:"quickedit",INLINE:"inline",FORM:"form",DIALOG:"dialog",SEARCH:"search",MULTI_COLUMN:"multicolumn"},Utils:{random:function(){return Math.floor((1+Math.random())*65536).toString(16).substring(1)},isDefined:function(value){return value!==undefined},isObject:function(value){return value!==null&&typeof value==="object"},getObjectIndex:function(data,obj){var matchIndex=-1;if(!Array.isArray(data)){return-1}data.some((function(data,index){if(_.isEqual(data,obj)){matchIndex=index;return true}}));return matchIndex},generateGuid:function(){var random=this.random;return random()+random()+"-"+random()+"-"+random()+"-"+random()+"-"+random()+random()+random()},isValidHtml:function(htm){var validHtmlRegex=/<[a-z][\s\S]*>/i;return validHtmlRegex.test(htm)},isMac:function(){return navigator.platform.toUpperCase().indexOf("MAC")>=0},isDeleteKey:function(event){return this.isMac()&&event.which===8||event.which===46}},_setStyles:function($el,styleString){if(!styleString){return}var styles=styleString.split(";");styles.forEach((function(styleBit){var parts=styleBit.split(":");var property,value;if(parts.length===2){property=parts[0].trim();value=parts[1].trim();$el.css(property,value)}}));return styleString},_getColumnSortDirection:function(field){var sortInfo=this.options.sortInfo;return field===sortInfo.field?sortInfo.direction:""},_toggleSpacingClasses:function(value){switch(value){case"normal":this.tableContainer.removeClass("table-condensed");if(this.gridSearch){this.gridSearch.find(".form-group").removeClass("form-group-sm");this.gridSearch.find("select").removeClass("input-sm");this.gridSearch.find(".input-group").removeClass("input-group-sm")}break;case"condensed":this.tableContainer.addClass("table-condensed");if(this.gridSearch){this.gridSearch.find(".form-group").addClass("form-group-sm");this.gridSearch.find("select").addClass("input-sm");this.gridSearch.find(".input-group").addClass("input-group-sm")}break}},_getColSpan:function(cols){var colSpan=0,self=this;_.forEach(cols,(function(col){var colDef;if(col.isGroup){colSpan+=self._getColSpan(col.columns)}else{colDef=_.find(self.preparedHeaderData,{field:col.field});colSpan=!_.isUndefined(colDef.show)&&!colDef.show?colSpan:colSpan+1}}));return colSpan},_setColSpan:function(config){var self=this;_.forEach(config,(function(col){if(col.isGroup){col.colspan=self._getColSpan(col.columns);self.gridHeaderElement.find('th[data-col-group="'+col.field+'"]').attr("colspan",col.colspan);self._setColSpan(col.columns)}}))},_getHeaderTemplate:function(){var $colgroup=$("<colgroup></colgroup>"),$htm=this.gridHeaderElement.empty(),isDefined=this.Utils.isDefined,sortInfo=this.options.sortInfo,sortField=sortInfo.field,self=this,rowTemplates=[],headerConfig=this.options.headerConfig,headerGroupClass=self.options.cssClassNames.groupHeaderCell,$row;function generateHeaderCell(value,index){var id=index,field=value.field,headerLabel=self.Utils.isDefined(value.displayName)?value.displayName:field||"",titleLabel=headerLabel,sortEnabled=self.options.enableSort&&(_.isUndefined(value.show)||value.show)&&(_.isUndefined(value.sortable)||value.sortable),headerClasses=self.options.cssClassNames.headerCell,sortClass,tl="",$th,$col,$sortSpan,$sortIcon;headerLabel=!self.Utils.isDefined(headerLabel)||headerLabel===""?" ":headerLabel;$col=$("<col/>");if(value.style){self._setStyles($col,value.style)}$colgroup.append($col);if(isDefined(value.class)){headerClasses+=" "+value.class}if(value.selected){headerClasses+=" "+self.options.cssClassNames.selectedColumn+" "}if(field==="checkbox"||field==="radio"){headerClasses+=" grid-col-small"}tl+="<th";if((_.isUndefined(value.resizable)||value.resizable)&&(_.isUndefined(value.show)||value.show)){tl+=" data-col-resizable"}if(self.options.enableColumnSelection&&(_.isUndefined(value.selectable)||value.selectable)){tl+=" data-col-selectable"}if(sortEnabled){tl+=" data-col-sortable"}tl+="></th>";$th=$(tl);$th.attr({"data-col-id":id,"data-col-field":field,title:titleLabel});self._setStyles($th,"text-align: "+value.textAlignment);$th.addClass(headerClasses);if(field==="checkbox"){$th.append('<input type="checkbox" />')}$th.append('<span class="header-data">'+headerLabel+"</span>");if(sortEnabled){$sortSpan=$('<span class="sort-buttons-container"></span>');$sortIcon=$('<i class="sort-icon"></i>');if(sortField&&sortField===value.field&&sortInfo.direction){sortClass=sortInfo.direction==="asc"?self.options.cssClassNames.ascIcon:self.options.cssClassNames.descIcon;$sortSpan.addClass("active");$sortIcon.addClass(sortClass+" "+sortInfo.direction)}$th.append($sortSpan.append($sortIcon))}return $th}function generateRow(cols,i){var $thList=[];_.forEach(cols,(function(col){var index,value,classes,styles,$groupTl;if(col.columns&&col.columns.length){$groupTl=$("<th></th>");classes=headerGroupClass+" "+(col.class||"");styles="text-align: "+col.textAlignment+";background-color: "+(col.backgroundColor||"")+";";$groupTl.attr({"data-col-group":col.field,class:classes,title:col.displayName});self._setStyles($groupTl,styles);$groupTl.append('<span class="header-data">'+col.displayName+"</span>");$thList.push($groupTl);generateRow(col.columns,i+1)}else{index=_.findIndex(self.preparedHeaderData,{field:col.field});value=self.preparedHeaderData[index];if(value){$thList.push(generateHeaderCell(value,index))}}}));rowTemplates[i]=rowTemplates[i]||[];rowTemplates[i]=rowTemplates[i].concat($thList)}if(_.isEmpty(headerConfig)){$row=$("<tr></tr>");self.preparedHeaderData.forEach((function(value,index){$row.append(generateHeaderCell(value,index))}));$htm.append($row)}else{generateRow(headerConfig,0);rowTemplates.forEach((function($thList,index){$row=$('<tr role="row" tabindex="0"></tr>');var rowSpan=rowTemplates.length-index;$thList.forEach((function($th){if(rowSpan>1&&$th.hasClass("app-datagrid-header-cell")){$th.attr("rowspan",rowSpan)}$row.append($th)}));$htm.append($row)}))}return{colgroup:$colgroup,header:$htm}},_getSearchEl:function(){var htm,sel='<select name="wm-datatable" data-element="dgFilterValue" '+'class="form-control app-select">'+'<option value="" selected class="placeholder">'+this.options.messages.selectField+"</option>",searchLabel=this.Utils.isDefined(this.options.searchLabel)&&this.options.searchLabel.length?this.options.searchLabel:"";this.options.colDefs.forEach((function(colDef,index){if(colDef.field!=="none"&&colDef.field!=="rowOperations"&&colDef.searchable&&_.toString(colDef.showinfilter)!=="false"){sel+='<option value="'+colDef.field+'" data-coldef-index="'+index+'">'+(colDef.displayName||colDef.field)+"</option>"}}));sel+="</select>";htm='<form class="form-search form-inline" onsubmit="return false;"><div class="form-group">'+'<input type="text" data-element="dgSearchText" class="form-control app-textbox" value="" placeholder="'+searchLabel+'"/>'+'</div><div class="input-append input-group">'+sel+'<span class="input-group-addon"><button type="button" data-element="dgSearchButton" class="app-search-button" title="'+searchLabel+'">'+'<i class="wi wi-search"></i>'+"</button></span>"+"</div>"+"</div></form>";var $htm=$(htm);this._setStyles($htm.find('[data-element="dgSearchText"]'),"display: inline-block;");return $htm},_appendRowExpansionButtons:function($htm){var self=this;$htm.find("[data-identifier='rowExpansionButtons']").each((function(index){var _rowData,$row,rowId,rowIndex=index;$row=$(this).closest("tr.app-datagrid-row");rowId=parseInt($row.attr("data-row-id"),10);_rowData=_.clone(self.options.data[rowId]);_rowData.$index=rowIndex+1;self.options.generateRowExpansionCell(_rowData,rowIndex);$(this).empty().append(self.options.getRowExpansionAction(rowIndex))}))},setSummaryRowDef:function(key,data,rowIndex,refreshIndicator){this.options.summaryRow=true;if(this.options.summaryRowDefs[rowIndex]==undefined){this.options.summaryRowDefs[rowIndex]={};this.options.summaryRowDefsObject[rowIndex]={}}this.options.summaryRowDefsObject[rowIndex][key]=data;this.options.summaryRowDefs[rowIndex][key]=data&&data.value?data.value:data;if(refreshIndicator)this.refreshGridData()},_getSummaryRowTemplate:function(){var self=this,$tfoot=$('<tfoot class="'+this.options.cssClassNames.gridFooter+'"></tfoot>');this._setStyles($tfoot,"border-top: 3px solid #eee;");_.forEach(this.options.summaryRowDefs,(function(row,index){row.$$pk=index;$tfoot.append(self._getRowTemplate(row,index,true))}));return $tfoot},getPageStartIndex:function(){var currentPage=this.options.getCurrentPage(),pagesize=this.options.getPageSize();var isPrevPageUpdated=this.options.actionRowPage<currentPage;var pageIndex=isPrevPageUpdated?this.options.actionRowPage:currentPage;return(pageIndex-1)*pagesize},_getPreparedDataForInfiniteScroll:function($tbody,preparedData){preparedData=preparedData.filter((function(row,index){var isExists=$tbody.find("tr.app-datagrid-row[data-row-id="+row.$$pk+"]");if(!isExists.length){return row}}));return preparedData},_updateTrData:function($tbody){var editedRow,updatedRowData,self=this;editedRow=$tbody.find("tr.app-datagrid-row[data-row-id="+self.options.actionRowIndex+"]");updatedRowData=self.preparedData[self.options.actionRowIndex];self.options.generateCustomExpressions(updatedRowData,self.options.actionRowIndex);var rowTemplate=self._getRowTemplate(updatedRowData,self.options.actionRowIndex);editedRow.replaceWith(rowTemplate[0])},_handleCRUDForInfiniteScroll:function($tbody){var self=this;if((self.options.lastActionPerformed===self.options.ACTIONS.SEARCH_OR_SORT||self.options.lastActionPerformed===self.options.ACTIONS.FILTER_CRITERIA||self.options.lastActionPerformed===self.options.ACTIONS.DATASET_UPDATE)&&(self.options.isSearchTrigerred||self.options.isDatasetUpdated||self.options.isDataUpdatedByUser)){$tbody.html("");if(this.options.navigation==="On-Demand"&&!this.options.isLastPage)this.element.find(".on-demand-datagrid").show();self.options.clearCustomExpression();self.options.clearRowDetailExpression();self.options.setIsSearchTrigerred(false);self.options.setIsDatasetUpdated(false)}else if(self.options.lastActionPerformed===self.options.ACTIONS.EDIT&&self.options.actionRowIndex!==undefined&&self.options.editmode!==this.CONSTANTS.QUICK_EDIT){self._updateTrData($tbody)}},_getGridTemplate:function(){var self=this,preparedData,$tbody,pageStartIndex=self.getPageStartIndex(),startRowIndex=self.options.startRowIndex,isScrollorOnDemand=self.options.isNavTypeScrollOrOndemand();if(isScrollorOnDemand){$tbody=this.gridElement;if(this.renderTableOnViewLess){$tbody=this.gridElement.empty();this.hideLoadingIndicator();this.renderTableOnViewLess=false}}else{$tbody=this.gridElement.empty()}if(isScrollorOnDemand){this._handleCRUDForInfiniteScroll($tbody);if(self.options.lastActionPerformed===self.options.ACTIONS.DELETE){startRowIndex=self.options.actionRowIndex+1}preparedData=this._getPreparedDataForInfiniteScroll($tbody,this.preparedData.slice(pageStartIndex))}else{this.options.clearCustomExpression();this.options.clearRowDetailExpression();preparedData=this.preparedData}_.forEach(preparedData,(function(row,index){var _row=_.clone(row),rowIndex=isScrollorOnDemand?startRowIndex+index-1:index,rowTemplate;_row.$index=rowIndex+1;self.options.generateCustomExpressions(_row,rowIndex);self.options.registerRowNgClassWatcher(_row,rowIndex);rowTemplate=self._getRowTemplate(row,rowIndex);$tbody.append(rowTemplate);if(self.options.rowExpansionEnabled){var rowHeight=self.options.rowDef.height;var rowPosition=self.options.rowDef.position;var colSpanLength=_.filter(self.preparedHeaderData,(function(c){return c.show})).length-1;var $tr=$('<tr class="app-datagrid-detail-row" tabindex="0" role="row" data-row-id="'+row.$$pk+'"><td></td><td colspan="'+colSpanLength+'" class="app-datagrid-row-details-cell">'+'<div class="row-overlay"><div class="row-status"><i class="'+self.options.loadingicon+'"></i></div></div><div class="details-section"></div>'+"</td></tr>");if(rowPosition==="-1"){$tr=$('<tr class="app-datagrid-detail-row" tabindex="0" role="row" data-row-id="'+row.$$pk+'"><td colspan="'+colSpanLength+'" class="app-datagrid-row-details-cell">'+'<div class="row-overlay"><div class="row-status"><i class="'+self.options.loadingicon+'"></i></div></div><div class="details-section"></div>'+"</td><td></td></tr>")}if(rowHeight){$tr.find("div.row-overlay").css("min-height",rowHeight)}$tr.css("display","none");$tr.find(".details-section").css("display","none");$tbody.append($tr)}}));if(!this.options.isdynamictable){this.options.setLastActionPerformed(this.options.ACTIONS.DEFAULT);this.options.setIsDataUpdatedByUser(false);this.options.clearActionRowIndex()}return $tbody},_getRowTemplate:function(row,rowIndex,summaryRow){var $htm,self=this,gridOptions=self.options;$htm=$('<tr role="row" tabindex="0" class="'+gridOptions.cssClassNames.tableRow+" "+(gridOptions.rowClass||"")+'" data-row-id="'+row.$$pk+'"></tr>');this.preparedHeaderData.forEach((function(current,colIndex){$htm.append(self._getColumnTemplate(row,colIndex,current,rowIndex,summaryRow))}));return $htm},_getRowActionsColumnDefIndex:function(){var i,len=this.preparedHeaderData.length;for(i=0;i<len;i+=1){if(this.preparedHeaderData[i].field==="rowOperations"){return i}}return-1},_getRowActionsColumnDef:function(){var index=this._getRowActionsColumnDefIndex();if(index!==-1){return this.preparedHeaderData[index]}return null},_getCheckboxTemplate:function(row,isMultiSelectCol){var checked=row._checked===true?" checked":"",disabled=row.disabed?" disabled":"",chkBoxName=isMultiSelectCol?"gridMultiSelect":"";return'<input name="'+chkBoxName+'" type="checkbox"'+checked+disabled+"/>"},_getRadioTemplate:function(row){var checked=row._checked===true?" checked":"",disabled=row.disabed?" disabled":"";return'<input type="radio" rowSelectInput name="" value=""'+checked+disabled+"/>"},_getColumnTemplate:function(row,colId,colDef,rowIndex,summaryRow){var $htm,columnValue,columnValueObject,cellPreloader='<div class="overlay"><span aria-hidden="true" class="form-field-spinner fa fa-circle-o-notch fa-spin form-control-feedback"></span></div>',customExpressionHtml,innerTmpl,classes=this.options.cssClassNames.tableCell+" "+(colDef.class||""),colExpression=colDef.customExpression,styles="text-align: "+colDef.textAlignment+";position: relative;";$htm=$('<td class="'+classes+'" data-col-id="'+colId+'" role="cell"></td>');this._setStyles($htm,styles);columnValue=_.get(row,colDef.field);if(summaryRow){columnValueObject=this.options.summaryRowDefsObject[rowIndex][colDef.field];if(columnValueObject instanceof Object){if(columnValueObject.class){$htm.addClass(columnValueObject.class)}}if(columnValue instanceof Promise){customExpressionHtml=cellPreloader;$htm.html(customExpressionHtml)}else{innerTmpl=_.isUndefined(columnValue)||columnValue===null?"":columnValue;$htm.html(innerTmpl)}}else if(colExpression){$htm.html(this.options.getCustomExpression(colDef.field,rowIndex))}else{if(colDef.type!=="custom"){columnValue=_.get(row,colDef.field);if(this.options.filterNullRecords&&columnValue===null||_.isUndefined(columnValue)){columnValue=""}$htm.attr("title",columnValue);$htm.text(""+columnValue)}else{switch(colDef.field){case"checkbox":innerTmpl=this._getCheckboxTemplate(row,colDef.isMultiSelectCol);break;case"__expand":innerTmpl='<span class="row-expansion-column" data-identifier="rowExpansionButtons"></span>';break;case"radio":innerTmpl=this._getRadioTemplate(row);break;case"rowOperations":innerTmpl='<span class="actions-column" data-identifier="actionButtons"></span>';break;case"rowIndex":innerTmpl=row.$$index;break;case"none":innerTmpl="";break;default:innerTmpl=_.isUndefined(columnValue)||columnValue===null?"":columnValue}$htm.html(innerTmpl)}}row.$index=rowIndex+1;this.options.registerColNgClassWatcher(row,colDef,rowIndex,colId,summaryRow);return $htm},_getEventTemplate:function(colDef){var events=_.filter(_.keys(colDef),(function(key){return _.startsWith(key,"on")})),changeEvt,template="";changeEvt=colDef.editWidgetType==="autocomplete"?"onSubmit":"onChange";events=_.union(events,[changeEvt]);_.forEach(events,(function(eventName){template+=" "+_.kebabCase(eventName)+'="';if(eventName==="onSubmit"||eventName==="onChange"){template+="_"+eventName+"Field($event, $scope, newVal, oldVal);"}template+=(colDef[eventName]||"")+'" '}));return template},_insertFieldInHeaderConfig:function(headerConfig,fieldName,position){var index=_.findIndex(headerConfig,{field:position}),self=this;if(index===-1){_.forEach(headerConfig,(function(config){if(config.isGroup){self._insertFieldInHeaderConfig(config.columns,fieldName,position)}}))}else{headerConfig.splice(index+1,0,{field:fieldName,isPredefined:true})}},setHeaderConfigForDefaultFields:function(name,position){if(_.isEmpty(this.options.headerConfig)){return}var fieldName=this.customColumnDefs[name].field;_.remove(this.options.headerConfig,{field:fieldName});if(position==="0"){this.options.headerConfig.unshift({field:fieldName,isPredefined:true})}else if(position==="-1"){this.options.headerConfig.push({field:fieldName,isPredefined:true})}else{this._insertFieldInHeaderConfig(this.options.headerConfig,fieldName,position)}},setDefaultColsData:function(header){if(_.isEmpty(this.preparedHeaderData)){return}var rowExpandPosition,rowExpandCol;if(this.options.rowExpansionEnabled){rowExpandPosition=this.options.rowDef.position;rowExpandCol=_.clone(this.customColumnDefs.__expand);rowExpandCol.width=this.options.rowDef.columnwidth;if(header){if(rowExpandPosition==="-1"){this.preparedHeaderData.push(rowExpandCol)}else if(rowExpandPosition==="0"){this.preparedHeaderData.unshift(rowExpandCol)}else{var index=_.findIndex(this.preparedHeaderData,{field:rowExpandPosition});this.preparedHeaderData.splice(index+1,0,rowExpandCol)}}this.setHeaderConfigForDefaultFields("__expand",rowExpandPosition)}if(this.options.showRowIndex){if(header){this.preparedHeaderData.unshift(this.customColumnDefs.rowIndex)}this.setHeaderConfigForDefaultFields("rowIndex","0")}if(this.options.multiselect){if(header){this.preparedHeaderData.unshift(this.customColumnDefs.checkbox)}this.setHeaderConfigForDefaultFields("checkbox","0")}if(!this.options.multiselect&&this.options.showRadioColumn){if(header){this.preparedHeaderData.unshift(this.customColumnDefs.radio)}this.setHeaderConfigForDefaultFields("radio","0")}},_prepareHeaderData:function(){this.preparedHeaderData=[];$.extend(this.preparedHeaderData,this.options.colDefs);this.setDefaultColsData(true)},_generateCustomColDefs:function(){var colDefs=[],generatedColDefs={};function generateColumnDef(key){if(!generatedColDefs[key]){var colDef={type:"string",field:key};colDefs.push(colDef);generatedColDefs[key]=true}}this.options.data.forEach((function(item){_.keys(item).forEach(generateColumnDef)}));this.options.colDefs=colDefs;this._prepareHeaderData()},_prepareData:function(){var data=[],colDefs=this.options.colDefs,self=this,gridData=[],pageStartIndex=self.getPageStartIndex(),isObject=this.Utils.isObject,isDefined=this.Utils.isDefined;if(!this.options.colDefs.length&&this.options.data.length){this._generateCustomColDefs()}gridData=this.options.isNavTypeScrollOrOndemand()?this.options.data.slice(pageStartIndex):this.options.data;gridData.forEach((function(item,i){var rowData=$.extend(true,{},item);colDefs.forEach((function(colDef){if(!colDef.field){return}var fields=colDef.field.split("."),text=item,j,len=fields.length,key,isArray;for(j=0;j<len;j++){key=fields[j];isArray=undefined;if(key.indexOf("[0]")!==-1){key=key.replace("[0]","");isArray=true}if(isObject(text)&&!isArray){text=_.get(text,key)}else if(isArray){text=_.get(text,key+"[0]")}else{text=undefined;break}}if(isDefined(text)){rowData[colDef.field]=text}else if(fields.length>1&&_.has(item,colDef.field)){rowData[colDef.field]=item[colDef.field]}}));rowData.$$index=pageStartIndex+i+1;rowData.$$pk=self.options.isNavTypeScrollOrOndemand()?pageStartIndex+i:i;data.push(rowData)}));if(self.options.isNavTypeScrollOrOndemand()){if(self.options.isSearchTrigerred&&!self.emptySearch||self.options.isDatasetUpdated){self.preparedData=data}else if(self.preparedData.length){data.forEach((function(rowData,index){var rowId=pageStartIndex+index;if(self.preparedData[rowId]&&rowData.$$index===self.preparedData[rowId].$$index){self.preparedData[rowId]=rowData}else{self.preparedData.push(rowData)}}))}else{self.preparedData.push(...data)}}else{self.preparedData=data}},_reselectColumns:function(){var selectedColumns=[],self=this;if(this.gridHeaderElement&&this.options.enableColumnSelection){selectedColumns=this.gridHeaderElement.find("th."+this.options.cssClassNames.selectedColumn);if(selectedColumns.length){selectedColumns.each((function(){self.columnSelectionHandler(undefined,$(this))}))}}if(this.options.multiselect){this.updateSelectAllCheckboxState()}},_create:function(){$.extend(this,{dataStatus:{message:"",state:"ready"},preparedData:[],preparedHeaderData:[],dataStatusContainer:null,gridContainer:null,gridElement:null,gridHeader:null,gridBody:null,columnClickInfo:{},gridFooter:null,gridSearch:null,tableId:null,searchObj:{field:"",value:"",event:null},compiledCellTemplates:{}});this._setStatus=_.debounce((function(isCreated){this.__setStatus(isCreated)}),100);this._debounceOnEnter=_.debounce((function($target,$row,quickEdit,event){this._onEnter($target,$row,quickEdit,event)}),150);this.options.summaryRow=false;this.options.summaryRowDefs=[];this._prepareHeaderData();this._prepareData();this._render(true)},_setGridEditMode:function(val){if(_.isFunction(this.options.setGridEditMode)){this.options.setGridEditMode(val)}},_refreshGrid:function(){this._prepareHeaderData();this._prepareData();this._render();this.addOrRemoveScroll();this._setGridEditMode(false)},refreshGrid:function(){window.clearTimeout(this.refreshGridTimeout);this.refreshGridTimeout=window.setTimeout(this._refreshGrid.bind(this),50)},callRenderGridForInfiniteScroll:function(){this.gridFooter.remove();var $alwaysNewRow=this.gridElement.find("> tr.app-datagrid-row.always-new-row");if($alwaysNewRow.length){$alwaysNewRow.remove()}this._renderGrid(undefined)},refreshGridData:function(){this._prepareData();if(!this.options.isNavTypeScrollOrOndemand()){this.gridFooter.remove();this._renderGrid()}else{this.callRenderGridForInfiniteScroll()}this._reselectColumns();this.addOrRemoveScroll();this._setGridEditMode(false);this.toggleNewRowActions(false)},setDefaultRowData:function(rowData){_.forEach(this.preparedHeaderData,(function(colDef){rowData[colDef.field]=colDef.defaultvalue}))},addNewRow:function(skipFocus,alwaysNewRow){var rowId=this.gridElement.find("> tr.app-datagrid-row:visible").length||99999,self=this,rowData={},$row,$gridBody,$alwaysNewRow;if(!alwaysNewRow&&_.isFunction(this.options.beforeRowInsert)){this.options.beforeRowInsert()}$gridBody=this.gridElement;$alwaysNewRow=$gridBody.find("> tr.app-datagrid-row.always-new-row");if($alwaysNewRow.length){this.setFocusOnElement(undefined,$alwaysNewRow);if(this.options.editmode===this.CONSTANTS.QUICK_EDIT){var $qTarget=$alwaysNewRow.find("input").length>0?$($alwaysNewRow.find("input")[0]):null;if($qTarget!==null){var event=$.Event("keydown");event.which=13;$qTarget.trigger(event)}}return}rowData.$index=rowId;rowData.$$pk=rowId;if(this.options.editmode!==this.CONSTANTS.FORM&&this.options.editmode!==this.CONSTANTS.DIALOG){$row=$(this._getRowTemplate(rowData,rowData.$index));if(!this.preparedData.length){this.setStatus("ready",this.dataStatus.ready)}if(this.options.formPosition==="top"){$gridBody.prepend($row)}else{$gridBody.append($row)}this._appendRowActions($row,true,rowData);this.attachEventHandlers($row);if(alwaysNewRow||this.options.editmode!==this.CONSTANTS.QUICK_EDIT){$row.find(".delete-row-button").hide();if(alwaysNewRow){$row.find(".edit-row-button").hide()}}this._findAndReplaceCompiledTemplates();if(alwaysNewRow){this.setDefaultRowData(rowData);$row.addClass("always-new-row").addClass("row-editing");this.options.runInNgZone((function(){self.makeRowEditable($row,rowData,true)}))}else{$row.trigger("click",[undefined,{action:"edit",operation:"new",skipFocus:skipFocus}])}this.updateSelectAllCheckboxState();this.addOrRemoveScroll();this.options.timeoutCall((function(){self.setColGroupWidths()}),100)}},addLoadMoreBtn:function(onDemandMsg,loadingdatamsg,cb,infScroll){var $btnEl;if(!this.options.isLastPage||infScroll){var self=this;var $parenEl=$('<div class="on-demand-datagrid"><a class="app-button btn btn-block on-demand-load-btn"></a></div>');$btnEl=$parenEl.find("a");$btnEl.append(onDemandMsg);this.element.find(".app-grid-header-inner").append($parenEl);if(infScroll){if(this.element.find(".on-demand-load-btn").length){this.element.find(".on-demand-load-btn").text(this.options.viewlessmessage)}}$btnEl.on("click",(function(e){var lastPage=self.options.getCurrentPage()==self.options.getPageCount();if(!lastPage){self.showLoadingIndicator(loadingdatamsg,false)}if(!self.options.showviewlessbutton){$btnEl.hide()}if(infScroll){if(lastPage){self.element.find(".on-demand-datagrid").remove()}}if(lastPage&&self.options.showviewlessbutton){$btnEl.hide();self.renderTableOnViewLess=true;self.renderPaginationOnViewLess=true;self.options.enableNavigation();self._renderGrid()}if(cb&&typeof cb==="function"){cb(e)}}))}},showLoadingIndicator:function(loadingdatamsg,infScroll){var hasLoadingEl=this.element.find(".loading-data-msg");var $dataGrid=this.element.find(".on-demand-datagrid");if(hasLoadingEl.length&&!infScroll){hasLoadingEl.show()}else if(infScroll&&$dataGrid.length){$dataGrid.show()}else{var $loadingEl=$('<div class="loading-data-msg spin-icon-in-center"><span><i class="app-icon panel-icon fa-spin '+this.options.loadingicon+'"></i>'+'<span class="sr-only">Loading</span><span class="loading-text"></span></span></div>');$loadingEl.find(".loading-text").html(loadingdatamsg);if($dataGrid.length){$dataGrid.append($loadingEl)}else{var gridEl=$('<div class="on-demand-datagrid">'+$loadingEl[0].outerHTML+"</div>");this.element.find(".app-grid-header-inner").append(gridEl)}}},hideLoadingIndicator:function(showLoadBtn,infScroll){if(!showLoadBtn&&!infScroll){this.element.find(".loading-data-msg").hide();this.element.find(".on-demand-load-btn").text(this.options.ondemandmessage);this.element.find(".on-demand-load-btn").show()}else if(this.options.getCurrentPage()==this.options.getPageCount()&&this.options.showviewlessbutton){this.element.find(".on-demand-load-btn").show().text(this.options.viewlessmessage);this.element.find(".loading-data-msg").hide();if(infScroll){if(!this.element.find(".on-demand-load-btn").length){this.options.addLoadMoreBtn()}this.element.find(".loading-data-msg").hide()}}else{this.element.find(".on-demand-datagrid").hide()}},getSelectedRows:function(){this.getSelectedColumns();var selectedRowsData=[],self=this;this.preparedData.forEach((function(data,i){if(data._selected){selectedRowsData.push(self.options.data[i])}}));return selectedRowsData},selectRows:function(rows){var self=this;self.gridElement.find("tr.app-datagrid-row").each((function(index){if(self.preparedData[index]&&self.preparedData[index]._selected===true){$(this).trigger("click",[$(this),{skipSingleCheck:true}])}}));if(_.isArray(rows)){_.forEach(rows,(function(row){self.selectRow(row,true)}))}else{self.selectRow(rows,true)}},toggleRowFilter:function(show){if(this.options.filtermode===this.CONSTANTS.MULTI_COLUMN&&this.gridSearch){if(show){this.gridSearch.show()}else{this.gridSearch.hide()}}},setColGroupWidths:function(){var self=this,headerCols=this.options.isMobile?this.tableContainer.find("col"):this.tableContainer.find("col"),bodyCols=this.tableContainer.find("col"),headerCells=this.options.showHeader?this.gridContainer.find("th.app-datagrid-header-cell"):this.gridElement.find("tr.app-datagrid-row").first().find("td"),colLength=this.preparedHeaderData.length,scrollLeft=this.gridElement.parent().prop("scrollLeft");if(!headerCols.length&&!headerCells.length){return}this._setColSpan(this.options.headerConfig);this.toggleRowFilter();var definedColWidth=0;var colsLen=headerCols.length;headerCols.each((function(){var eachColWidth=$(this).width();if(eachColWidth){definedColWidth=definedColWidth+eachColWidth;colsLen=colsLen-1}}));headerCells.each((function(){var id=Number($(this).attr("data-col-id")),colDef=self.preparedHeaderData[id],$headerCell=self.gridContainer.find('th[data-col-id="'+id+'"]'),$tdCell=self.gridElement.find('td.app-datagrid-cell[data-col-id="'+id+'"]'),$footCell=self.tableContainer.find('tfoot tr.app-datagrid-row td.app-datagrid-cell[data-col-id="'+id+'"]'),$headerCol=$(headerCols[id]),$bodyCol=$(bodyCols[id]),definedWidth,width;if(!colDef){return}definedWidth=colDef.width;if(!_.isUndefined(colDef.show)&&!colDef.show){$headerCell.hide();$tdCell.hide();$headerCol.hide();$bodyCol.hide();$footCell.hide()}else{$headerCell.show();$tdCell.show();$headerCol.show();$bodyCol.show();$footCell.show()}if($headerCol.length&&$headerCol[0].style.width==="90px"){width=_.isUndefined(definedWidth)?"":definedWidth;$headerCol.css("width",width);$bodyCol.css("width",width)}}));headerCells.each((function(){var $header=$(this),id=Number($header.attr("data-col-id")),colDef=self.preparedHeaderData[id],definedWidth,width,tempWidth,$headerCol;if(!colDef){return}definedWidth=colDef.width;if(!_.isUndefined(colDef.show)&&!colDef.show){width=0}else{if($header.hasClass("grid-col-small")){width=50}else{if(_.isUndefined(definedWidth)||definedWidth===""||_.includes(definedWidth,"%")){$headerCol=$(headerCols[id]);if($headerCol.length){tempWidth=$headerCol[0].style.width;if(tempWidth===""||tempWidth==="0px"||tempWidth==="90px"||_.includes(tempWidth,"%")){width=$header.width();if(width<=0){var currentNode=$header;var elemWidth=width;var padding=0;while(elemWidth<=0){currentNode=currentNode.parent();elemWidth=currentNode.width();if(currentNode.find("table").length&¤tNode.prop("style")){padding=padding+parseFloat(currentNode.css("padding-left"))+parseFloat(currentNode.css("padding-right"))}}if(elemWidth>0){if(padding){elemWidth=elemWidth-padding}if(_.includes(tempWidth,"%")){var widthPercent=parseInt(tempWidth);var pixelWidth=elemWidth*(widthPercent/100);width=pixelWidth}else{var parentWidth=definedColWidth&&definedColWidth>0?elemWidth-definedColWidth:elemWidth;var totalCols=colsLen?colsLen:headerCols.length;width=parentWidth/totalCols;width=width>90?colLength===id+1?width-17:width:90}}else{width=width>90?colLength===id+1?width-17:width:90}}else{width=width>90?colLength===id+1?width-17:width:90}}else{width=tempWidth}}}else{width=definedWidth}}}$(headerCols[id]).css("width",width);$(bodyCols[id]).css("width",width)}));this.toggleRowFilter(true);this.gridElement.parent().prop("scrollLeft",scrollLeft);this.gridHeaderElement.parent().prop("scrollLeft",scrollLeft)},getSelectedColumns:function(){var selectedColsData={},headerData=[],self=this,multiSelectColIndex,radioColIndex,colIndex;$.extend(headerData,this.preparedHeaderData);if(this.options.multiselect){headerData.some((function(item,i){if(item.field==="checkbox"){multiSelectColIndex=i;return true}}));headerData.splice(multiSelectColIndex,1)}else if(this.options.showRadioColumn){headerData.some((function(item,i){if(item.field==="radio"){radioColIndex=i;return true}}));headerData.splice(radioColIndex,1)}if(this.options.showRowIndex){headerData.some((function(item,i){if(item.field==="rowIndex"){colIndex=i;return true}}));headerData.splice(colIndex,1)}headerData.forEach((function(colDef){var field=colDef.field;if(colDef.selected){selectedColsData[field]={colDef:colDef,colData:self.options.data.map((function(data){return data[field]}))}}}));return selectedColsData},_setOption:function(key,value){this._super(key,value);switch(key){case"showHeader":this._toggleHeader();this._toggleSearch();this.setColGroupWidths();this.addOrRemoveScroll();break;case"filtermode":this._toggleSearch();break;case"searchLabel":if(this.gridSearch){this.gridSearch.find('[data-element="dgSearchText"]').attr("placeholder",value);this.gridSearch.find('[data-element="dgSearchButton"]').attr("title",value)}break;case"selectFirstRow":this.selectFirstRow(value);break;case"data":if(!this.isResetSortIconsDone){this.setSortIconDefault()}this.refreshGridData();break;case"dataStates":if(this.dataStatus.state==="nodata"){this.setStatus("nodata",this.dataStatus.nodata)}else if(this.dataStatus.state==="loading"){this.setStatus("loading")}break;case"loadingicon":this.dataStatusContainer.find("i").removeClass().addClass(this.options.loadingicon);break;case"colDefs":if(this.options.isNavTypeScrollOrOndemand()&&this.options.isNextPageData){this.tableContainer.find("colgroup").remove();this._prepareHeaderData();this.setColGroupWidths();this._renderHeader();this._renderSearch();this.attachEventHandlers(this.gridElement);this._reselectColumns();this.addOrRemoveScroll();break}case"multiselect":case"showRadioColumn":case"rowActions":case"filterNullRecords":case"showRowIndex":this.refreshGrid();break;case"cssClassNames":var gridClass=this.options.cssClassNames.gridDefault+" "+this.options.cssClassNames.grid;if(this.options.rowExpansionEnabled){gridClass=gridClass+" "+this.options.cssClassNames.gridRowExpansionClass}this.tableContainer.attr("class",gridClass);if(this.options.spacing==="condensed"){this._toggleSpacingClasses("condensed")}break;case"spacing":this._toggleSpacingClasses(value);break;case"messages":this.gridSearch&&this.gridSearch.find("option.placeholder").text(value&&value.selectField);break}},getOptions:function(){return this.options},_toggleHeader:function(){if(this.gridHeaderElement){this.gridHeaderElement.empty()}if(this.tableContainer){this.tableContainer.find("colgroup").remove();this.tableContainer.find("thead").remove()}this.setDefaultColsData();if(this.options.showHeader){this._renderHeader()}},_toggleSearch:function(){if(this.gridSearch){this.gridSearch.remove()}if(this.options.filtermode===this.CONSTANTS.SEARCH){this._renderSearch()}else if(this.options.filtermode===this.CONSTANTS.MULTI_COLUMN){this._renderRowFilter();this.setColGroupWidths()}},selectFirstRow:function(value,visible){var $row,id;if(visible&&this.gridElement.find("tr").is(":visible")){this.__setStatus();$row=this.gridElement.find("tr.app-datagrid-row:visible:not(.always-new-row)").first()}else{$row=this.gridElement.find("tr.app-datagrid-row:not(.always-new-row)").first()}id=$row.attr("data-row-id");if($row.length&&this.preparedData.length){this.preparedData[id]._selected=!value;$row[0].click()}},selectRow:function(row,value){var rowIndex=_.isNumber(row)?row:this.Utils.getObjectIndex(this.options.data,row),selector,$row;if(rowIndex!==-1){selector="tr.app-datagrid-row[data-row-id="+rowIndex+"]";$row=this.gridElement.find(selector);if($row.length){this.preparedData[rowIndex]._selected=!value}if(value){$row.trigger("click")}else{this.toggleRowSelection($row,value);this.options.callOnRowDeselectEvent(this.preparedData[rowIndex])}}},deselectRow:function(row){this.selectRow(row,false)},toggleRowSelection:function($row,selected,e,isSelectAll){if(!$row.length){return}var rowId=$row.attr("data-row-id"),$checkbox,$radio;if(!this.preparedData[rowId]){return}this.preparedData[rowId]._selected=selected;if(selected){$row.addClass("active")}else{$row.removeClass("active")}if(this.options.showRadioColumn){$radio=$row.find("td input[rowSelectInput]:radio:not(:disabled)");$radio.prop("checked",selected);this.preparedData[rowId]._checked=selected}if(this.options.multiselect){$checkbox=$row.find('td input[name="gridMultiSelect"]:checkbox:not(:disabled)');$checkbox.prop("checked",selected);this.preparedData[rowId]._checked=selected;if(!isSelectAll){this.updateSelectAllCheckboxState()}}else{this._deselectPreviousSelection($row,e)}},updateSelectAllCheckboxState:function(){if(!this.options.showHeader||!this.options.multiselect){return}this.__setStatus();var $headerCheckbox=this.gridHeaderElement.find("th.app-datagrid-header-cell input:checkbox"),$tbody=this.gridElement,checkedItemsLength=$tbody.find('tr.app-datagrid-row:visible input[name="gridMultiSelect"]:checkbox:checked').length,visibleRowsLength=$tbody.find("tr.app-datagrid-row:visible").length;if(!visibleRowsLength){$headerCheckbox.prop("checked",false);return}if(checkedItemsLength===visibleRowsLength){$headerCheckbox.prop("checked",true)}else{$headerCheckbox.prop("checked",false)}},rowClickHandlerOnCapture:function(e,$row,options){if(this.getColInfo(e)&&(e.target.type!="checkbox"&&e.target.type!="radio")){return}$row=$row||$(e.target).closest("tr.app-datagrid-row");var gridRow=this.gridElement.find($row);if(gridRow.length&&gridRow.closest("tbody").attr("id")===this.gridElement.attr("id")){var rowId=$row.attr("data-row-id");var rowData=this.preparedData[rowId];var data=this.options.data[rowId];this.options.assignSelectedItems(data,e,{rowId:rowId,_selected:rowData?._selected})}},rowSelectionHandler:function(e,$row,options){if(this.getColInfo(e)&&(e.target.type!="checkbox"&&e.target.type!="radio")){return}options=options||{};var rowId,rowData,data,selected,self=this,action=options.action,$target=$(e.target),isQuickEdit=this.options.editmode===this.CONSTANTS.QUICK_EDIT;function callRowSelectionEvents(){if(selected&&_.isFunction(self.options.onRowSelect)){self.options.onRowSelect(data,e)}if(!selected&&_.isFunction(self.options.onRowDeselect)){self.options.onRowDeselect(data,e)}}$row=$row||$target.closest("tr.app-datagrid-row");if(action||isQuickEdit&&($target.hasClass("app-datagrid-cell")||$target.closest("td.app-datagrid-cell").length)&&!$row.hasClass("always-new-row")){options.action=options.action||"edit";if(options.operation==="new"||self.options.actionsEnabled.edit){self.toggleEditRow(e,options)}if(options.skipSelect){return}}rowId=$row.attr("data-row-id");rowData=this.preparedData[rowId];data=this.options.data[rowId];selected=rowData&&rowData._selected||false;if(!options.skipSingleCheck&&($row.hasClass("active")&&!this.options.multiselect||!rowData)){if(!isQuickEdit&&options.operation!=="new"){callRowSelectionEvents()}return}this.options.callOnRowClickEvent(data,e);selected=!selected;this.options.assignSelectedItems(data,e,{rowId:rowId,_selected:selected});this.toggleRowSelection($row,selected,e);callRowSelectionEvents()},rowDblClickHandler:function(e,$row){e.stopPropagation();$row=$row||$(e.target).closest("tr.app-datagrid-row");var rowData,rowId=$row.attr("data-row-id");rowData=this.preparedData[rowId];if(!rowData){return}if(_.isFunction(this.options.onRowDblClick)){this.options.onRowDblClick(rowData,e)}},closePopover:function(){this.options.closePopover(this.element)},headerClickHandler:function(e){var $th=$(e.target).closest("th.app-datagrid-header-cell"),id=$th.attr("data-col-id");this.closePopover();this.options.onHeaderClick(this.preparedHeaderData[id],e)},columnSelectionHandler:function(e,$headerCell){if(e){e.stopImmediatePropagation()}var $th=e?$(e.target).closest("th.app-datagrid-header-cell"):$headerCell,id=$th.attr("data-col-id"),colDef=this.preparedHeaderData[id],field=colDef.field,selector='td[data-col-id="'+id+'"]',$column=this.gridElement.find(selector),selected=$column.data("selected")||false,colInfo={colDef:colDef,data:this.options.data.map((function(data){return data[field]})),sortDirection:this._getColumnSortDirection(colDef.field)},selectedClass=this.options.cssClassNames.selectedColumn;selected=!selected;colDef.selected=selected;$column.data("selected",selected);if(selected){$column.addClass(selectedClass);$th.addClass(selectedClass);if(_.isFunction(this.options.onColumnSelect)&&e){this.options.onColumnSelect(colInfo,e)}}else{$column.removeClass(selectedClass);$th.removeClass(selectedClass);if(_.isFunction(this.options.onColumnDeselect)&&e){this.options.onColumnDeselect(colInfo,e)}}},getTextValue:function(fieldName,alwaysNewRow){return this.options.getFieldValue(alwaysNewRow?fieldName+"_new":fieldName)},getUploadedFiles:function($el,fieldName){return _.get(document.forms,[$el.find("form").attr("name"),fieldName,"files",0])},isDataModified:function($editableElements,rowData,alwaysNewRow){var isDataChanged=false,self=this;function getEpoch(val){return val?moment(val).valueOf():val}$editableElements.each((function(){var $el=$(this),colId=$el.attr("data-col-id"),colDef=self.preparedHeaderData[colId],text=self.getTextValue(colDef.field,alwaysNewRow),originalData=_.get(rowData,colDef.field);if(colDef.editWidgetType==="upload"){isDataChanged=self.getUploadedFiles($el,colDef.field)instanceof File}else{if(!self.Utils.isDefined(text)&&(originalData===null||originalData===undefined)){isDataChanged=false}else{if(colDef.editWidgetType==="datetime"){isDataChanged=!(getEpoch(originalData)===getEpoch(text))}else{isDataChanged=!(originalData==text)}}}if(isDataChanged){return!isDataChanged}}));return isDataChanged},focusActiveRow:function(){this.gridElement.find("tr.app-datagrid-row.active").focus()},focusNewRow:function(){var newRow=this.gridElement.find("tr.always-new-row");var newRowInputs=newRow&&newRow.find("input")||[];newRowInputs.length&&newRowInputs[0].focus()},disableActions:function(val){var $deleteBtns=this.gridElement.find(".delete-row-button"),$editBtns=this.gridElement.find(".edit-row-button");if(val){$editBtns.addClass("disabled-action");$deleteBtns.addClass("disabled-action")}else{$editBtns.removeClass("disabled-action");$deleteBtns.removeClass("disabled-action")}},setFocusOnElement:function(e,$el,skipDelay){var $firstEl,$target=e&&$(e.target),$focusEl;if($target&&$target.hasClass("app-datagrid-cell")){$firstEl=$target.find("input")}else{if(!$el){$el=$target.closest("tr.app-datagrid-row").find("td.cell-editing")}else if($el.hasClass("app-datagrid-row")){$el=$el.find("td.cell-editing")}$firstEl=$($el).first().find("input");if(!$firstEl.length){$firstEl=$($el).first().find("textarea")}if(!$firstEl.length){$firstEl=$($el).first().find("select")}}if($firstEl.length){$focusEl=$firstEl.first();if(skipDelay){$focusEl.focus();$focusEl.select()}else{this.options.timeoutCall((function(){$focusEl.focus();$focusEl.select()}))}}},removeNewRow:function($row){this.disableActions(false);this._setGridEditMode(false);if($row.hasClass("always-new-row")){return}$row.attr("data-removed",true);$row.remove();if(!this.preparedData.length){this.setStatus("nodata",this.dataStatus.nodata)}this.addOrRemoveScroll();this.toggleNewRowActions(false)},saveRow:function(callBack){this.gridElement.find("tr.app-datagrid-row.row-editing:not(.always-new-row)").each((function(){$(this).trigger("click",[undefined,{action:"save",skipSelect:true,noMsg:true,success:callBack}])}))},makeRowEditable:function($row,rowData,alwaysNewRow){var self=this,$originalElements=$row.find("td.app-datagrid-cell"),rowId=parseInt($row.attr("data-row-id"),10),$editableElements,_rowData=_.clone(rowData);_rowData.$index=rowId+1;this.options.removeValidations(alwaysNewRow);this.options.generateInlineEditRow(_rowData,alwaysNewRow);$originalElements.each((function(){var $el=$(this),cellText=$el.text(),id=$el.attr("data-col-id"),colDef=self.preparedHeaderData[id],value,editableTemplate;if(!colDef.readonly){value=_.get(rowData,colDef.field);editableTemplate=self.options.getInlineEditWidget(colDef.field,value,alwaysNewRow);if(!(colDef.customExpression||colDef.formatpattern&&colDef.formatpattern!=="None")){$el.addClass("cell-editing").html(editableTemplate).data("originalText",cellText)}else{$el.addClass("cell-editing editable-expression").data("originalValue",{rowIndex:rowId,fieldName:colDef.field});$el.addClass("cell-editing editable-expression").html(editableTemplate).data("originalText",cellText)}$el.addClass("form-group");if(colDef.binding!=="rowOperations"){self.options.timeoutCall((function(){self.options.applyValidations(colDef,alwaysNewRow);if(colDef.required){$el.addClass("required-field")}}))}else if(colDef.required){$el.addClass("required-field")}}}));$editableElements=$row.find("td.cell-editing");$editableElements.on("click",(function(e){e.stopPropagation()}));$editableElements.on("keydown",(function(e){if((e.which===38||e.which===40)&&(e.currentTarget&&!e.currentTarget.closest(".always-new-row"))){e.stopPropagation()}}))},toggleNewRowActions:function(saveInd){var self=this,$gridActions=$(this.element).siblings("div.panel-footer, div.panel-heading").find("div.app-datagrid-actions"),$newRow=this.gridElement.find("tr.app-datagrid-row.row-editing"),$newRowButton=$gridActions.find("i.wi-plus").closest(".app-button");if(this.options.editmode===this.CONSTANTS.INLINE&&(this.options.rowActions.length===0||!_.some(this.options.rowActions,{action:"editRow($event)"}))){if(saveInd){$gridActions.append('<button type="button" wmbutton="" class="btn app-button btn-default cancelNewRow" tabindex="0" accesskey="" title="Cancel">'+'<i aria-hidden="true" class="app-icon wi wi-cancel"></i>'+'<span class="sr-only">Cancel Icon</span><span class="btn-caption">Cancel</span>'+"</button>"+'<button type="button" wmbutton="" class="btn app-button btn-primary saveNewRow" tabindex="0" accesskey="" title="Save">'+'<i aria-hidden="true" class="app-icon wi wi-done"></i>'+'<span class="sr-only">Save Icon</span><span class="btn-caption">Save</span>'+"</button>");$gridActions.find(".cancelNewRow").on("click",(function(event){self.toggleEditRow(event,{action:"cancel",$row:$newRow})}));$gridActions.find(".saveNewRow").on("click",(function(event){self.toggleEditRow(event,{action:"save",$row:$newRow})}));$newRowButton.hide()}else{$("typeahead-container").removeClass("open");$gridActions.find(".cancelNewRow").remove();$gridActions.find(".saveNewRow").remove();$newRowButton.show()}}},_isNewRow:function($row){var rowId=parseInt($row.attr("data-row-id"),10);return rowId>=this.preparedData.length||$row.hasClass("always-new-row")},toggleEditRow:function(e,options){options=options||{};if(e){e.stopPropagation()}this.closePopover();var $row=options.$row||$(e.target).closest("tr.app-datagrid-row"),$editButton=$row.find(".edit-row-button"),$cancelButton=$row.find(".cancel-edit-row-button"),$saveButton=$row.find(".save-edit-row-button"),$deleteButton=$row.find(".delete-row-button"),rowData=_.cloneDeep(this.options.data[$row.attr("data-row-id")])||{},self=this,action,isNewRow,$editableElements,isDataChanged=false,isValid,$requiredEls,alwaysNewRow=$row.hasClass("always-new-row"),advancedEdit=self.options.editmode===self.CONSTANTS.QUICK_EDIT,editOptions={};this.options.setActionRowIndex($row.attr("data-row-id"));this.options.setLastActionPerformed(this.options.ACTIONS.EDIT);function onSaveSuccess(skipFocus,error){if(_.isFunction(options.success)){options.success(skipFocus,error)}if(!advancedEdit||self.options.actionsEnabled.edit){self.focusActiveRow()}}if($row.attr("data-removed")==="true"){return}if(options.selectRow){this.selectRow(rowData,true)}e=e||{};e.data=e.data||{};action=e.data.action||options.action;if(action==="edit"){if(this.options.editmode===this.CONSTANTS.INLINE){this.options.callLoadInlineWidgetData()}if(advancedEdit&&self.gridElement.find("tr.app-datagrid-row.row-editing:not(.always-new-row)").length){self.saveRow((function(skipFocus,error){self.editSuccessHandler(skipFocus,error,e,$row,true)}));return}$row.addClass("row-editing");if(_.isFunction(this.options.beforeRowUpdate)){this.options.beforeRowUpdate(rowData,e)}if(self.options.editmode===self.CONSTANTS.FORM||self.options.editmode===self.CONSTANTS.DIALOG){return}if(options.operation==="new"){self.setDefaultRowData(rowData);self.toggleNewRowActions(true)}if(_.isFunction(this.options.onBeforeFormRender)){isValid=this.options.onBeforeFormRender(rowData,e,options.operation||action);if(isValid===false){return}}this._setGridEditMode(true);this.disableActions(true);$deleteButton.removeClass("disabled-action");this.options.runInNgZone((function(){self.makeRowEditable($row,rowData)}));$editButton.addClass("hidden");$cancelButton.removeClass("hidden");$saveButton.removeClass("hidden");$editableElements=$row.find("td.cell-editing");if(!options.skipFocus&&$editableElements){this.options.timeoutCall((function(){self.setFocusOnElement(e,$editableElements)}))}if(_.isFunction(this.options.onFormRender)){this.options.onFormRender($row,e,options.operation||action,$row.hasClass("always-new-row"))}}else{$editableElements=$row.find("td.cell-editing");isNewRow=self._isNewRow($row);if(action==="save"){if(isNewRow){isDataChanged=true}else{isDataChanged=this.isDataModified($editableElements,rowData,alwaysNewRow)}if(isDataChanged){$editableElements.each((function(){var $el=$(this),colId=$el.attr("data-col-id"),colDef=self.preparedHeaderData[colId],fields=_.split(colDef.field,"."),text;text=self.getTextValue(colDef.field,alwaysNewRow);if(fields.length===1&&colDef.editWidgetType==="upload"){_.set(rowData,colDef.field,self.getUploadedFiles($el,colDef.field))}else{text=(fields.length===1||isNewRow)&&text===""?undefined:text;if(self.Utils.isDefined(text)){text=text==="null"?null:text;if(text===null){if(fields.length>1){_.set(rowData,fields[0],text)}else{if(!isNewRow){_.set(rowData,colDef.field,"")}}}else{_.set(rowData,colDef.field,text)}}else{if(fields.length===1&&!isNewRow){_.set(rowData,colDef.field,text)}}}}));if($editableElements.find(".ng-pending").length>0){setTimeout(this.toggleEditRow.bind(this,e,options),200);return}$requiredEls=$editableElements.find(".ng-invalid");if($requiredEls.length>0){$requiredEls.each((function(index){var $invalidTd=$(this).closest("td.app-datagrid-cell");if(index===0){$invalidTd.find("[focus-target]").focus()}self.options.setTouched($invalidTd.find("[formcontrolname]").attr("formcontrolname"))}));if(_.isFunction(options.success)){options.success(false,true)}return}if(isNewRow&&advancedEdit&&_.isEmpty(rowData)){self.removeNewRow($row);if(_.isFunction(options.success)){options.success(false,undefined,true)}return}if(isNewRow){if(_.isFunction(this.options.onBeforeRowInsert)){isValid=this.options.onBeforeRowInsert(rowData,e,editOptions);if(isValid===false){return}}this.options.onRowInsert(rowData,e,onSaveSuccess,editOptions);self.toggleNewRowActions(false);if(!$row.hasClass("always-new-row")&&self.options.isNavTypeScrollOrOndemand()){self.removeNewRow($row)}}else{if(_.isFunction(this.options.onBeforeRowUpdate)){isValid=this.options.onBeforeRowUpdate(rowData,e,editOptions);if(isValid===false){return}}this.options.afterRowUpdate(rowData,e,onSaveSuccess,editOptions)}}else{this.cancelEdit($row);if(!options.noMsg){this.options.noChangesDetected()}if(_.isFunction(options.success)){options.success(false)}}}else{if(isNewRow){self.removeNewRow($row);return}this.cancelEdit($row)}}this.addOrRemoveScroll()},cancelEdit:function($row){var self=this,$editableElements=$row.find("td.cell-editing"),$cancelButton=$row.find(".cancel-edit-row-button"),$saveButton=$row.find(".save-edit-row-button"),$editButton=$row.find(".edit-row-button");this.options.clearActionRowIndex();this.disableActions(false);$row.removeClass("row-editing");$editableElements.off("click");$editableElements.each((function(){var $el=$(this),value=$el.data("originalValue");$el.removeClass("datetime-wrapper cell-editing required-field form-group");if(!value){$el.text($el.data("originalText")||"")}else{$el.html(self.options.getCustomExpression(value.fieldName,value.rowIndex))}}));$("typeahead-container").removeClass("open");$editButton.removeClass("hidden");$cancelButton.addClass("hidden");$saveButton.addClass("hidden");this._setGridEditMode(false)},closeEditedRow:function(){var $row=this.gridElement.find("tr.app-datagrid-row.row-editing");if($row.length){if(this._isNewRow($row)){this.removeNewRow($row)}else{this.cancelEdit($row)}}},hideRowEditMode:function($row){if($row.hasClass("always-new-row")&&this.options.isNavTypeScrollOrOndemand()){this.resetNewRow($row);return}var $editableElements=$row.find("td.cell-editing"),$editButton=$row.find(".edit-row-button"),$cancelButton=$row.find(".cancel-edit-row-button"),$saveButton=$row.find(".save-edit-row-button"),self=this;$row.removeClass("row-editing");$editableElements.off("click");this.disableActions(false);this._setGridEditMode(false);$editableElements.each((function(){var $el=$(this),value=$el.data("originalValue"),text,colDef;$el.removeClass("datetime-wrapper cell-editing required-field form-group");if(!value){colDef=self.preparedHeaderData[$el.attr("data-col-id")];text=self.getTextValue(colDef.field);$el.text(self.Utils.isDefined(text)?text:"")}else{$el.html(self.options.getCustomExpression(value.fieldName,value.rowIndex))}}));$editButton.removeClass("hidden");$cancelButton.addClass("hidden");$saveButton.addClass("hidden");this.addOrRemoveScroll()},deleteRow:function(e){e.stopPropagation();var $row=$(e.target).closest("tr.app-datagrid-row"),rowId=$row.attr("data-row-id"),rowData=this.options.data[rowId],isNewRow=this._isNewRow($row),className,isActiveRow,isValid,options={},self=this;this.options.setActionRowIndex(rowId);this.options.setLastActionPerformed(this.options.ACTIONS.DELETE);if(_.isFunction(this.options.beforeRowDelete)){this.options.beforeRowDelete(rowData,e)}if(isNewRow){this.disableActions(false);this._setGridEditMode(false);$row.attr("data-removed",true);$row.remove();if(!this.preparedData.length){this.setStatus("nodata",this.dataStatus.nodata)}this.addOrRemoveScroll();return}if(_.isFunction(this.options.onBeforeRowDelete)){isValid=this.options.onBeforeRowDelete(rowData,e,options);if(isValid===false){return}}if(_.isFunction(this.options.onRowDelete)){className=this.options.cssClassNames.deleteRow;isActiveRow=$row.attr("class").indexOf("active")!==-1;if(isActiveRow){$row.removeClass("active")}$row.addClass(className);this.options.onRowDelete(rowData,(function(){if(isActiveRow){$row.addClass("active")}$row.removeClass(className);self.addOrRemoveScroll()}),e,(function(skipFocus,error){if(self.options.isNavTypeScrollOrOndemand()){var rowId=+$(e.target).closest("tr.app-datagrid-row").attr("data-row-id");var $row=self.gridElement.find('tr.app-datagrid-row[data-row-id="'+rowId+'"]');self.options.setDeletedRowIndex(rowId);self.preparedData.splice(rowId,1);self.options.data.splice(rowId,1);self.gridElement.find("tr.app-datagrid-row:gt("+rowId+")").each((function(index,row){if(!$row.is(":last-child")&&!$(row).hasClass("always-new-row")){$(row).attr("data-row-id",rowId);self.preparedData[rowId].$$pk--;self.preparedData[rowId].$$index--;self.preparedData[rowId].$index--;rowId++}}));$row.remove()}if(self.options.editmode!==self.CONSTANTS.QUICK_EDIT||!($(e.target).hasClass("delete-row-button")||self.Utils.isDeleteKey(e))){return}self.__setStatus();var rowID,$nextRow;if(error){return}rowID=+$(e.target).closest("tr.app-datagrid-row").attr("data-row-id");$nextRow=self.gridElement.find('tr.app-datagrid-row[data-row-id="'+rowID+'"]');if(!$nextRow.length){$nextRow=self.gridElement.find('tr.app-datagrid-row[data-row-id="'+(rowID-1)+'"]')}$nextRow.trigger("click",[undefined,{action:"edit",skipFocus:skipFocus}])}),options)}},deleteRowAndUpdateSelectAll:function(e){this.deleteRow(e);this.updateSelectAllCheckboxState()},_deselectPreviousSelection:function($row,e){var selectedRows=this.gridElement.find("tr.app-datagrid-row.active"),rowId=$row.attr("data-row-id"),self=this;selectedRows.each((function(){var id=$(this).attr("data-row-id"),preparedData=self.preparedData[id];if(id!==rowId&&preparedData){$(this).find("input[rowSelectInput]:radio").prop("checked",false);preparedData._selected=preparedData._checked=false;$(this).removeClass("active");self.options.callOnRowDeselectEvent(preparedData,e)}}))},resetSortIcons:function($el){this.isResetSortIconsDone=true;var $sortContainer;if(!$el&&this.gridHeaderElement){$sortContainer=this.gridHeaderElement.find(".sort-buttons-container.active");$el=$sortContainer.find("i.sort-icon");$sortContainer.removeClass("active")}$el.removeClass("desc asc").removeClass(this.options.cssClassNames.descIcon).removeClass(this.options.cssClassNames.ascIcon)},setSortIconDefault:function(){const sortInfo=this.options.sortInfo,$e=this.tableContainer,$th=$e.find("[data-col-field='"+sortInfo.field+"']"),$sortContainer=$th.find(".sort-buttons-container"),$sortIcon=$sortContainer.find("i.sort-icon"),direction=sortInfo.direction;if(direction==="asc"){$sortIcon.addClass(direction+" "+this.options.cssClassNames.ascIcon);$sortContainer.addClass("active")}else if(direction==="desc"){$sortIcon.addClass(direction+" "+this.options.cssClassNames.descIcon);$sortContainer.addClass("active")}},sortHandler:function(e){e.stopImmediatePropagation();if($(e.target).hasClass("header-data")&&this.options.enableColumnSelection){this.headerClickHandler(e)}var $e=$(e.target),$th=$e.closest("th.app-datagrid-header-cell"),id=$th.attr("data-col-id"),$sortContainer=$th.find(".sort-buttons-container"),$sortIcon=$sortContainer.find("i.sort-icon"),direction=$sortIcon.hasClass("asc")?"desc":"asc",sortInfo=this.options.sortInfo,$previousSortMarker=this.gridHeaderElement.find(".sort-buttons-container.active"),field=$th.attr("data-col-field"),$previousSortedColumn,$previousSortIcon,colId,colDef;this.resetSortIcons($sortIcon);$sortIcon.addClass(direction);if(direction==="asc"){$sortIcon.addClass(this.options.cssClassNames.ascIcon);$sortContainer.addClass("active")}else if(direction==="desc"){$sortIcon.addClass(this.options.cssClassNames.descIcon);$sortContainer.addClass("active")}if($previousSortMarker.length){$previousSortedColumn=$previousSortMarker.closest("th.app-datagrid-header-cell");colId=$previousSortedColumn.attr("data-col-id");colDef=this.preparedHeaderData[colId];$previousSortIcon=$previousSortMarker.find("i.sort-icon");if(colDef.field!==field){$previousSortMarker.removeClass("active");this.resetSortIcons($previousSortIcon)}colDef.sortInfo={sorted:false,direction:""}}sortInfo.direction=direction;sortInfo.field=field;if(direction!==""){this.preparedHeaderData[id].sortInfo={sorted:true,direction:direction}}this._setGridEditMode(false);this.closeEditedRow();this.options.sortHandler.call(this,this.options.sortInfo,e,"sort")},processUpDownKeys:function(event,$row,direction){var self=this;var rowData=$row.find("input").val();if($row.hasClass("row-editing")&&self.options.editmode===self.CONSTANTS.QUICK_EDIT&&rowData){self.toggleEditRow(event,{action:"save",noMsg:true,success:function(skipFocus,error){self.editSuccessHandler(skipFocus,error,event,$row,true,direction)}})}else{$row=direction==="down"?$row.next():$row.prev();if(this.options.rowExpansionEnabled&&!$row.is(":visible")){$row=direction==="down"?$row.next():$row.prev()}$row.focus()}},resetNewRow:function($row){var rowData={},self=this;this.options.clearForm(true);self.setDefaultRowData(rowData);$row.find("[data-field-name]").each((function(){var $input=$(this),fieldName=$input.attr("data-field-name")+"_new";self.options.setFieldValue(fieldName,rowData[$input.attr("data-field-name")]||"")}));self.options.safeApply();self.setFocusOnElement(undefined,$row,true)},_onEnter:function($target,$row,quickEdit,event){var self=this;if($target.is("button")){return}if(quickEdit&&$target.hasClass("app-datagrid-row")&&!$target.hasClass("row-editing")){$row.trigger("click",[undefined,{action:"edit"}])}else{if($row.hasClass("row-editing")&&$target.closest("[data-field-name]").length){$target.blur();self.toggleEditRow(event,{action:"save",success:function(skipFocus,error){if(error){$target.focus()}else{self.focusActiveRow();self.focusNewRow()}}})}else{$row.trigger("click");if(quickEdit&&$target.hasClass("always-new-row")&&$target.hasClass("row-editing")){self.focusNewRow()}}}if(!$target.is("button")){event.stopPropagation()}},onKeyDown:function(event){var $target=$(event.target),$row=$target.closest("tr.app-datagrid-row"),self=this,quickEdit=this.options.editmode===this.CONSTANTS.QUICK_EDIT,isNewRow;if(this.options.rowExpansionEnabled&&!$row.length){$row=$target.closest("tr.app-datagrid-detail-row")}if(this.Utils.isDeleteKey(event)){if(!this.options.actionsEnabled.delete||$target.is("input")||$target.hasClass("form-control")){return}this.deleteRow(event);return}if(event.which===27){isNewRow=this._isNewRow($row);if(isNewRow&&$row.hasClass("always-new-row")){$target.blur();self.resetNewRow($row)}else{$row.trigger("click",[undefined,{action:"cancel"}])}if(!isNewRow){$row.focus()}return}if(event.which===13){event.stopPropagation();this._debounceOnEnter($target,$row,quickEdit,event);return}if(event.which===38){this.processUpDownKeys(event,$row,"up");return}if(event.which===40){this.processUpDownKeys(event,$row,"down")}},editSuccessHandler:function(skipFocus,error,e,$row,isSameRow,direction){var self=this,rowID,$nextRow;self.__setStatus();if(error){self.setFocusOnElement(e);return}rowID=+$row.attr("data-row-id");if(direction){rowID=direction==="down"?++rowID:--rowID;$nextRow=self.gridElement.find('tr.app-datagrid-row[data-row-id="'+rowID+'"]');if($nextRow.length){$nextRow.focus()}else{$row.focus()}return}if(!isSameRow&&!_.isUndefined(isSameRow)){rowID++}$nextRow=self.gridElement.find('tr.app-datagrid-row[data-row-id="'+rowID+'"]');if($nextRow.hasClass("always-new-row")){if(self.options.formPosition!=="top"||$row.hasClass("always-new-row")){self.addNewRow(skipFocus)}}else if($nextRow.length){$nextRow.trigger("click",[undefined,{action:"edit",skipFocus:skipFocus,skipSelect:self.options.multiselect}])}else if(self.options.actionsEnabled.new){self.addNewRow(skipFocus)}},isLastColumn:function($target){var $cell=$target.closest("td.app-datagrid-cell"),$editCells;if($cell.is(":last-child")){return true}if($cell.hasClass("cell-editing")){$editCells=$cell.closest("tr.app-datagrid-row").find(".cell-editing").has('> :not([disabled="disabled"])');return $cell.attr("data-col-id")===$editCells.last().attr("data-col-id")}return false},getColInfo:function(event){var row=$(event.target).closest("tr.app-datagrid-row");var rowId=row.attr("data-row-id");var column=$(event.target).closest("td.app-datagrid-cell");var colId=column.attr("data-col-id");if(this.columnClickInfo&&this.columnClickInfo[rowId]&&this.columnClickInfo[rowId][colId]){return this.columnClickInfo[rowId][colId]}return false},attachEventHandlers:function($htm){var $header=this.gridHeaderElement,self=this;if(this.options.enableRowSelection){$htm[0].removeEventListener("click",this.rowClickHandlerOnCapture.bind(this));$htm.off();$htm[0].addEventListener("click",this.rowClickHandlerOnCapture.bind(this));$htm.on("click",this.rowSelectionHandler.bind(this));$htm.on("click","td *",(function(event){if(event.target.type!="checkbox"){var row=$(event.target).closest("tr.app-datagrid-row");var rowId=row.attr("data-row-id");var column=$(event.target).closest("td.app-datagrid-cell");var colId=column.attr("data-col-id");var id=Number(colId);var colDefination=self.preparedHeaderData[id];if(colDefination&&colDefination.readonly&&colDefination.field!=="rowOperations"){self.columnClickInfo[rowId]={};self.columnClickInfo[rowId][colId]=true}}}));$htm.on("dblclick",this.rowDblClickHandler.bind(this));$htm.on("keydown",this.onKeyDown.bind(this))}if($header){if(this.options.enableColumnSelection){$header.find("th[data-col-selectable]").off("click",this.columnSelectionHandler.bind(this));$header.find("th[data-col-selectable]").on("click",this.columnSelectionHandler.bind(this))}else{$header.find("th[data-col-selectable]").off("click")}if(this.options.enableSort){if(this.options.enableColumnSelection){$header.find("th[data-col-sortable] .header-data").off("click",this.sortHandler.bind(this));$header.find("th[data-col-sortable] .header-data").on("click",this.sortHandler.bind(this))}else{$header.find("th[data-col-sortable]").off("click",this.sortHandler.bind(this));$header.find("th[data-col-sortable]").on("click",this.sortHandler.bind(this))}}else{if(this.options.enableColumnSelection){$header.find("th[data-col-sortable] .header-data").off("click")}else{$header.find("th[data-col-sortable]").off("click")}}}if(this.options.rowActions.length){$htm.find(".cancel-edit-row-button").off("click");$htm.find(".save-edit-row-button").off("click");$htm.find(".cancel-edit-row-button").on("click",{action:"cancel"},this.toggleEditRow.bind(this));$htm.find(".save-edit-row-button").on("click",{action:"save"},this.toggleEditRow.bind(this))}if(self.options.editmode===self.CONSTANTS.QUICK_EDIT){$htm.on("focusout","tr.app-datagrid-row",(function(e){var $target=$(e.target),$row=$target.closest("tr.app-datagrid-row"),$relatedTarget=$(e.relatedTarget),isLastColumn=self.isLastColumn($target,$relatedTarget),isTargetRowAction=$target.closest("span.actions-column").length>0,isRelatedTargetRowAction=$relatedTarget.closest("span.actions-column").length>0,isTargetGridAction=$relatedTarget.closest("div.app-datagrid-actions").length>0,isRelatedTargetGridAction=$relatedTarget.closest("div.app-datagrid-actions").length>0,invalidTargets='.row-editing:not(".always-new-row"), .row-action-button, .app-datagrid-cell, .caption, button.btn-time, button.btn-date';function isInvalidTarget(){if(!$relatedTarget.closest(".app-grid").length){return true}return $relatedTarget.is(invalidTargets)}if($relatedTarget.is("tr.app-datagrid-row")){if($relatedTarget.attr("data-row-id")===$row.attr("data-row-id")){return}}if(isRelatedTargetRowAction||$row.hasClass("danger")||isRelatedTargetGridAction||isTargetRowAction&&isRelatedTargetRowAction||isTargetRowAction&&e.relatedTarget===null||isInvalidTarget()||$relatedTarget.attr("focus-target")===""){return}if(!isTargetGridAction&&!isTargetRowAction){if(!isLastColumn||isLastColumn&&e.relatedTarget===null||$target.hasClass("file-upload")){return}}self.options.timeoutCall((function(){self.toggleEditRow(e,{action:"save",noMsg:true,success:function(skipFocus,error,isNewRow){if(!isNewRow){self.editSuccessHandler(skipFocus,error,e,$row)}}})}))}))}$htm.find('[data-identifier="rowExpansionButtons"]').off("click");$htm.find('[data-identifier="rowExpansionButtons"]').on("click",(function(e){var $row=$(e.target).closest("tr.app-datagrid-row");if($(this).find(".app-button").attr("disabled")){return}self.toggleExpandRow(+$row.attr("data-row-id"),undefined,e)}))},expandRow:function(rowId){this.toggleExpandRow(rowId,true)},collapseRow:function(rowId){this.toggleExpandRow(rowId,false)},hasAllClasses:function(element,classNames){return classNames&&classNames.every((cls=>element.hasClass(cls)))},_collapseRow:function(e,rowData,rowId,$nextDetailRow,$icon){var self=this,$tbody=self.gridElement,$row=$($tbody.find('> tr.app-datagrid-row[data-row-id="'+rowId+'"]'));$row.removeClass(self.options.cssClassNames.expandedRowClass);$row.find("button, a").attr("aria-expanded","false").attr("aria-live","polite");if(this.options.onBeforeRowCollapse(e,rowData,rowId)===false){return}if($icon.length&&this.hasAllClasses($icon,this.options.cssClassNames.rowExpandIcon?.split(" "))){$icon.removeClass(this.options.cssClassNames.rowExpandIcon).addClass(this.options.cssClassNames.rowCollapseIcon)}$nextDetailRow.hide();this.options.onRowCollapse(e,rowData)},toggleExpandRow:function(rowId,isExpand,e){var self=this,$tbody=self.gridElement,$row=$($tbody.find('> tr.app-datagrid-row[data-row-id="'+rowId+'"]')),rowData=_.clone(self.options.data[rowId]),$nextDetailRow=$row.next("tr.app-datagrid-detail-row"),isClosed=!$nextDetailRow.is(":visible"),$icon=$row.find('[data-identifier="rowExpansionButtons"] i.app-icon');rowData.$index=rowId+1;if(isExpand&&!isClosed){return}if(isExpand===false&&isClosed){return}if(isClosed){$row.addClass(self.options.cssClassNames.expandedRowClass);$row.find("button, a").attr("aria-expanded","true");if(e&&self.preparedData[rowId]._selected){e.stopPropagation()}if(self.options.rowDef.closeothers){$tbody.find("> tr.app-datagrid-detail-row:visible").each((function(){var $otherDetailRow=$(this),$otherIcon=$otherDetailRow.prev("tr.app-datagrid-row").find('[data-identifier="rowExpansionButtons"] i.app-icon'),otherRowId=+$otherDetailRow.attr("data-row-id"),otherRowData=self.options.data[otherRowId];$otherDetailRow.hide();self._collapseRow(e,otherRowData,otherRowId,$otherDetailRow,$otherIcon)}))}self.options.generateRowDetailView(e,rowData,rowId,$nextDetailRow.find("td.app-datagrid-row-details-cell .details-section"),$nextDetailRow.find("td.app-datagrid-row-details-cell .row-overlay"),(function(){if($icon.length&&self.hasAllClasses($icon,self.options.cssClassNames.rowCollapseIcon?.split(" "))){$icon.removeClass(self.options.cssClassNames.rowCollapseIcon).addClass(self.options.cssClassNames.rowExpandIcon)}$nextDetailRow.show()}))}else{self._collapseRow(e,rowData,rowId,$nextDetailRow,$icon)}},_findAndReplaceCompiledTemplates:function(){if(!this.gridElement){return}var $compiledCells=this.gridElement.find("td[data-compiled-template]"),self=this;$compiledCells.each((function(){var $cell=$(this),id=$cell.attr("data-compiled-template");$cell.replaceWith(self.compiledCellTemplates[id])}))},_renderSearch:function(){var $htm=$(this._getSearchEl()),self=this,$searchBox;function search(e){e.stopPropagation();var searchText=$htm.find('[data-element="dgSearchText"]')[0].value,$filterField=$htm.find('[data-element="dgFilterValue"]'),field=$filterField[0].value,colDefIndex=$htm.find("option:selected").attr("data-coldef-index"),colDef=self.options.colDefs[colDefIndex],type=colDef&&colDef.type?colDef.type:"";self.searchObj={field:field,value:searchText,type:type,event:e};self.options.searchHandler.call(self,self.searchObj,e,"search")}this.element.find(".form-search").remove();$htm.insertBefore(this.gridContainer);this.gridSearch=this.element.find(".form-search");$searchBox=this.gridSearch.find('[data-element="dgSearchText"]');this.gridSearch.find(".app-search-button").on("click",search);this.gridSearch.find('[data-element="dgFilterValue"]').on("change",(function(e){if(self.dataStatusContainer.find(".status").text()===self.options.dataStates.nodata){search(e)}}));$searchBox.on("keyup",(function(e){e.stopPropagation();if(!$(this).val()){self.emptySearch=true;if(self.searchObj.value){self.searchObj.value="";search(e)}}else{self.emptySearch=false}if(e.which===13||self.options.filteronkeypress){search(e)}}))},_renderRowFilter:function(){var $row=$('<tr class="filter-row"></tr>'),self=this,$headerElement=this.options.isMobile&&!this.options.showHeader?this.gridElement:this.gridHeaderElement;$headerElement.find(".filter-row").remove();this.options.generateFilterRow();this.preparedHeaderData.forEach((function(field,index){var fieldName=field.field,$th=$('<th data-col-id="'+index+'"></th>');if(!field.searchable){$row.append($th);return}$th.append(self.options.getFilterWidget(fieldName));$row.append($th)}),this);if(this.options.showHeader){this.gridHeaderElement.append($row)}else{if(this.options.isMobile){$headerElement.empty().append($row)}else{$headerElement.empty().append($row)}}this.gridSearch=$headerElement.find(".filter-row")},_renderHeader:function(){var headerTemplate=this._getHeaderTemplate(),$colgroup=headerTemplate.colgroup,self=this,$header;this.gridElement.parent().scroll((function(){self.gridHeaderElement.parent().prop("scrollLeft",this.scrollLeft)}));if(!this.options.showHeader){this.tableContainer.append($colgroup);this.gridHeaderElement.hide();return}else{this.gridHeaderElement.show()}$header=headerTemplate.header;function toggleSelectAll(e){var $checkboxes=$('tr.app-datagrid-row:not(.always-new-row):visible td input[name="gridMultiSelect"]:checkbox',self.gridElement),checked=this.checked;$checkboxes.prop("checked",checked);$checkboxes.each((function(){var $row=$(this).closest("tr.app-datagrid-row"),rowId=$row.attr("data-row-id"),rowData=self.options.data[rowId];self.toggleRowSelection($row,checked,e,true);self.options.assignSelectedItems(rowData,e,{rowId:rowId,_selected:self.preparedData[rowId]?._selected});if(checked&&_.isFunction(self.options.onRowSelect)){self.options.onRowSelect(rowData,e)}if(!checked&&_.isFunction(self.options.onRowDeselect)){self.options.onRowDeselect(rowData,e)}}))}var headerCells=$header.find("th.app-datagrid-header-cell");var headerCols=$colgroup.find("col");headerCells.each((function(){var id=Number($(this).attr("data-col-id")),colDef=self.preparedHeaderData[id],$headerCol=$(headerCols[id]);if(!colDef){return}if(!_.isUndefined(colDef.show)&&!colDef.show){$(this).hide();$headerCol.hide()}}));if(this.options.isMobile){this.tableContainer.append($colgroup)}else{this.tableContainer.append($colgroup)}$header.on("click",".app-datagrid-header-cell input:checkbox",toggleSelectAll);if(_.isFunction(this.options.onHeaderClick)){this.gridHeaderElement.find("th.app-datagrid-header-cell").on("click",this.headerClickHandler.bind(this))}if(!this.options.isMobile&&this.gridHeaderElement.length){this.gridHeaderElement.find("th[data-col-resizable]").resizable({handles:"e",minWidth:50,resize:function(evt,ui){var $colElement,$colHeaderElement,$cellElements,colIndex=+ui.helper.attr("data-col-id")+1,originalWidth=ui.helper.width(),newWidth=ui.size.width,originalTableWidth,newTableWidth;$colHeaderElement=self.tableContainer.find("colgroup > col:nth-child("+colIndex+")");$colElement=self.tableContainer.find("colgroup > col:nth-child("+colIndex+")");$cellElements=self.gridElement.find("tr.app-datagrid-row > td:nth-child("+colIndex+") > div");$colElement.width(newWidth);$colHeaderElement.width(newWidth);$cellElements.width(newWidth);$(this).css("height","auto");if(newWidth>ui.originalSize.width){originalTableWidth=self.gridHeaderElement.width();newTableWidth=originalTableWidth+newWidth-originalWidth;self.gridHeaderElement.width(newTableWidth);self.gridElement.width(newTableWidth)}self.addOrRemoveScroll();self.options.redrawWidgets()}})}if(!this.isResetSortIconsDone){this.setSortIconDefault()}},addOrRemoveScroll:function(){var gridContent=this.gridContainer.find("tbody"),gridHeader=this.gridContainer.find(".table-header");if(gridContent.scrollHeight>gridContent.clientHeight&&!this.Utils.isMac()){gridHeader.addClass("scroll-visible")}else{gridHeader.removeClass("scroll-visible")}},_handleCustomEvents:function(e,options){this.options.handleCustomEvents(e,options)},_setActionsEnabled:function(){var self=this;_.forEach(this.options.rowActions,(function(def){if(_.includes(def.action,"editRow(")){self.options.actionsEnabled.edit=true}else if(_.includes(def.action,"deleteRow(")){self.options.actionsEnabled.delete=true}}))},_appendRowActions:function($htm,isNewRow,rowData){var self,rowOperationsCol=this._getRowActionsColumnDef();if(this.options.rowActions.length||rowOperationsCol){this._setActionsEnabled();self=this;$htm.find("[data-identifier='actionButtons']").each((function(index){var _rowData,$row,rowId,rowIndex=index;if(isNewRow){_rowData=rowData}else{$row=$(this).closest("tr.app-datagrid-row");rowId=parseInt($row.attr("data-row-id"),10);_rowData=_.clone(self.options.data[rowId]);_rowData.$index=rowIndex+1}self.options.generateRowActions(_rowData,rowIndex);$(this).empty().append(self.options.getRowAction(rowIndex))}))}},_renderGrid:function(isCreated){var $htm,isScrollorOnDemand=this.options.isNavTypeScrollOrOndemand(),pageStartIndex=this.getPageStartIndex();$("table.table-bordered").parents(".app-grid-header-inner").addClass("table_border");if(isScrollorOnDemand){var $tbody=this.gridElement;var template=this._getGridTemplate();$htm=$(template);if(template&&!$tbody.length){this.gridElement.append($htm)}}else{var templates=this._getGridTemplate();$htm=$(templates);if(templates){this.gridElement.append($htm)}}if(this.options.summaryRow){var $summaryRowHtm=$(this._getSummaryRowTemplate());this.tableContainer.find("tfoot").remove();if(this.options.data.length){this.tableContainer.append($summaryRowHtm)}}if(!this.options.data.length&&this.dataStatus.state==="nodata"){this.setStatus("nodata")}else{this.dataStatus.state=this.dataStatus.state||"loading";this.dataStatus.message=this.dataStatus.message||this.options.dataStates.loading;this.setStatus(this.dataStatus.state,this.dataStatus.message,isCreated)}this.gridBody=this.gridElement.find("tbody");this.gridFooter=this.tableContainer.find("tfoot");this._findAndReplaceCompiledTemplates();this.options.clearRowActions();this._appendRowExpansionButtons($htm);this._appendRowActions($htm);this.attachEventHandlers($htm);this.__setStatus(isCreated);if(this.options.editmode===this.CONSTANTS.QUICK_EDIT&&this.options.showNewRow){this.addNewRow(false,true)}if(isCreated){this._setColSpan(this.options.headerConfig)}if(_.isFunction(this.options.onDataRender)){this.options.onDataRender()}if(!isCreated&&this.options.selectFirstRow){if(this.options.multiselect){this.options.selectFirstRow=false}if(this.gridElement.find("tr.app-datagrid-row.active").length<=0){this.selectFirstRow(true,true)}}},_render:function(isCreated){if(!this.tableId){this.tableId=this.Utils.generateGuid()}var overflow=this.options.isNavTypeScrollOrOndemand()&&(this.options.height==="100%"||this.options.height==="auto")?"hidden":"auto";var statusContainer='<div class="overlay">'+'<div class="status"><i class="'+this.options.loadingicon+'"></i><span class="message"></span></div>'+"</div>",table='<div class="table-container table-responsive">'+'<div class="app-grid-header">'+'<div class="app-grid-header-inner">'+'<table tabindex="0" class="'+this.options.cssClassNames.gridDefault+" "+this.options.cssClassNames.grid+'">'+'<thead tabindex="0" class="table-header thead-sticky" id="table_header_'+this.tableId+'">'+'</thead><tbody class="app-grid-content app-datagrid-body" id="table_'+this.tableId+'">'+"</tbody></table>"+"</div></div></div>",$statusContainer=$(statusContainer),$tableContainer=this.element.find(".table-container");this.gridContainer=$(table);this.gridHeaderElement=this.gridContainer.find(".table-header");this._setStyles($statusContainer.find("div.overlay"),"display:none");this._setStyles(this.gridContainer.find("div.app-grid-header-inner"),"height:"+this.options.height+"; overflow: auto;");this.tableContainer=this.gridContainer.find("table");this.gridElement=this.gridContainer.find(".app-grid-content");if(this.options.isNavTypeScrollOrOndemand()&&(!$tableContainer.length||!this.options.isNextPageData)||!this.options.isNavTypeScrollOrOndemand()){this.element.find(".table-container").remove();this.element.append(this.gridContainer)}this.options.setIsNextPageData(false);if(!this.gridContainer.find(".overlay").length){this.dataStatusContainer=$(statusContainer);this.gridContainer.append(this.dataStatusContainer)}if(this.gridHeaderElement){this.gridHeaderElement.empty();this.gridElement.find("colgroup").remove()}this._renderHeader();if(this.options.filtermode===this.CONSTANTS.SEARCH&&(_.isEmpty(this.searchObj)||this.searchObj&&!this.searchObj.field&&!this.searchObj.value)){this._renderSearch()}else if(this.options.filtermode===this.CONSTANTS.MULTI_COLUMN){this._renderRowFilter()}if(this.options.spacing==="condensed"){this._toggleSpacingClasses("condensed")}this._renderGrid(isCreated);this.addNavigationControls()},addNavigationControls:function(){if(this.options.isdynamictable){this.element.find(".on-demand-datagrid").remove();if(this.options.navigation==="On-Demand"&&!this.element.find(".on-demand-datagrid").length){this.options.addLoadMoreBtn()}else if(this.options.navigation==="Scroll"){this.options.bindScrollEvt()}}},__setStatus:function(isCreated){var loadingIndicator=this.dataStatusContainer.find("i"),state=this.dataStatus.state,isScrollOrOndemand=this.options.isNavTypeScrollOrOndemand();this.dataStatusContainer.find(".message").text(this.dataStatus.message);if(state==="loading"){loadingIndicator.removeClass("hidden")}else{loadingIndicator.addClass("hidden")}if(state==="ready"){this.dataStatusContainer.hide()}else{if(this.options.isNavTypeScrollOrOndemand()&&(state==="nodata"||this.options.getCurrentPage()==this.options.getPageCount()&&!this.options.showviewlessbutton)){this.element.find(".on-demand-datagrid a").hide()}this.dataStatusContainer.show()}if(state==="nodata"||state==="loading"||state==="error"){if(this.options.height==="100%"||this.options.height==="auto"){if(state==="nodata"){this.dataStatusContainer.css("height","auto");this.dataStatus.contentHeight=0}else if(this.options.isNavTypeScrollOrOndemand()&&this.options.getCurrentPage()>1){this.dataStatusContainer.hide()}else{this.dataStatus.height=this.dataStatus.height||this.dataStatusContainer.outerHeight();this.dataStatus.contentHeight=this.gridElement.outerHeight()||this.dataStatus.contentHeight;this.dataStatusContainer.css("height",this.dataStatus.height>this.dataStatus.contentHeight?"auto":this.dataStatus.contentHeight)}}if(!isScrollOrOndemand||isScrollOrOndemand&&this.options.getCurrentPage()===1){this.gridContainer.addClass("show-msg")}}else{this.gridContainer.removeClass("show-msg");if(this.options.editmode===this.CONSTANTS.QUICK_EDIT){if(this.options.activeRow){this.attachHandlersToActiveRow(this.options.activeRow)}this.options.activeRow=undefined}}if(!isCreated){this.setColGroupWidths()}this.addOrRemoveScroll()},attachHandlersToActiveRow(rowObj){var rowIndex=this.Utils.getObjectIndex(this.options.data,rowObj);var row=this.gridElement.find("tr.app-datagrid-row[data-row-id="+rowIndex+"]");if(!row.length){return}else if(!row.hasClass("active")){row.addClass("active")}this.focusActiveRow();this.attachEventHandlers(row)},setActiveRow(row){this.options.activeRow=row},setStatus:function(state,message,isCreated){var $newRow;if(state==="nodata"){$newRow=this.gridElement&&this.gridElement.find("tr.app-datagrid-row.always-new-row");state=$newRow&&$newRow.length?"ready":state}this.dataStatus.state=state;this.options.setGridState(state);this.dataStatus.message=message||this.options.dataStates[state];if(this._setStatusCalled){this._setStatus(isCreated)}else{this.__setStatus(isCreated);this._setStatusCalled=true}},setGridDimensions:function(key,value){if(value.indexOf("px")===-1&&value.indexOf("%")===-1&&value.indexOf("em")===-1&&value!="auto"){value=value+"px"}this.options[key]=value;if(key==="height"){var elements=this.gridHeaderElement.find("th");this.gridContainer.find(".app-grid-header-inner").css(key,value);if(this.options.isNavTypeScrollOrOndemand()&&(this.options.height!="100%"&&this.options.height!="auto")){this.gridContainer.find(".app-grid-header-inner").css("overflow","auto")}this.dataStatusContainer.css(key,value)}this.addOrRemoveScroll()},setColumnProp:function(fieldName,property,val,isGroup){var $col;if(property==="displayName"){if(isGroup){$col=this.gridHeaderElement.find('th[data-col-group="'+fieldName+'"]')}else{$col=this.gridHeaderElement.find('th[data-col-field="'+fieldName+'"]')}$col.attr("title",val);$col.find(".header-data").html(val);if(this.options.filtermode===this.CONSTANTS.SEARCH&&this.gridSearch){this.gridSearch.find('select option[value="'+fieldName+'"]').text(val)}}},applyRowNgClass:function(val,index){var $row=this.gridElement.find('tr.app-datagrid-row[data-row-id="'+index+'"]');$row.removeClass(val.toRemove);$row.addClass(val.toAdd)},applyColNgClass:function(val,rowIndex,colIndex){var $cell=this.gridElement.find('tr.app-datagrid-row[data-row-id="'+rowIndex+'"] td.app-datagrid-cell[data-col-id="'+colIndex+'"]');$cell.removeClass(val.toRemove);$cell.addClass(val.toAdd)},_destroy:function(){this.element.text("");window.clearTimeout(this.refreshGridTimeout)}});"use strict";window.requestAnimationFrame=function(){"use strict";return window.requestAnimationFrame||window.webkitRequestAnimationFrame||window.mozRequestAnimationFrame||window.oRequestAnimationFrame||window.msRequestAnimaitonFrame||function(callback){window.setTimeout(callback,1e3/60)}}();(function($){"use strict";var DIRECTIONS={NONE:0,HORIZONTAL:1,LEFT_TO_RIGHT:2,RIGHT_TO_LEFT:3,VERTICAL:4,TOP_TO_DOWN:5,DOWN_TO_TOP:6};var abs=Math.abs;var max=Math.max;var TAG_WHITE_LIST=["INPUT","SELECT","OPTION"];var SwipeTracer;var activeEventProcessor;var swipeMask=$("<div></div>");swipeMask.css({"background-color":"rgba(0, 0, 0, 0)",position:"fixed",top:0,width:"100vw",height:"100vh","z-index":1e5});var touchMoveListeners=[];var touchEndListeners=[];var pointerId=null;var onTouch=function(e){if(e&&(e.pointerId&&e.pointerId!==pointerId||e.touches&&e.touches.length>1)){onTouchEnd(e)}$.each(touchMoveListeners,(function(i,fn){return fn(e)}))};var onTouchEnd=function(e){pointerId=null;$.each(touchEndListeners,(function(i,fn){return fn(e)}));touchMoveListeners.length=0;touchEndListeners.length=0};function addEventListener(target,event,callback){(target.__zone_symbol__addEventListener||target.addEventListener).call(target,event,callback,{passive:true})}function iOSversion(){if(/iP(hone|od|ad)/.test(navigator.platform)){var v=navigator.appVersion.match(/OS (\d+)_(\d+)_?(\d+)?/);return parseInt(v[1],10)}}if(window["PointerEvent"]&&iOSversion()>=13){addEventListener(document,"pointerdown",(function(e){if(pointerId&&pointerId!==e.pointerId){onTouchEnd(e)}else{pointerId=e.pointerId}}));addEventListener(document,"pointermove",onTouch);addEventListener(document,"pointerup",onTouchEnd);addEventListener(document,"pointercancel",onTouchEnd)}else{addEventListener(document,"mousemove",onTouch);addEventListener(document,"touchmove",onTouch);addEventListener(document,"mouseup",onTouchEnd);addEventListener(document,"touchcancel",onTouchEnd);addEventListener(document,"touchend",onTouchEnd)}function ScrollObserver(parent,child,direction){var elementsToObserve=function(array){var iter=child;while(iter){array.push({$ele:$(iter),last:{scrollLeft:iter.iscroll?iter.iscroll.x:iter.scrollLeft,scrollTop:iter.iscroll?iter.iscroll.y:iter.scrollTop}});iter=iter.parentElement}return array}([]);function isVerticalScroll(){var result;$.each(elementsToObserve,(function(){if(this.$ele[0].iscroll){if(!isNaN(this.$ele[0].iscroll.y)&&this.$ele[0].iscroll.y!==0){result=true}}else if(this.$ele[0].scrollTop!==0){result=true}}));return result}function isHorizontalScroll(){var result;$.each(elementsToObserve,(function(){if(this.$ele[0].iscroll){if(!isNaN(this.$ele[0].iscroll.x)&&this.$ele[0].iscroll.x!==0){result=true}}else if(this.$ele[0].scrollLeft!==0){result=true}}));return result}this.hasSrcolled=function(){if(direction===$.fn.swipey.DIRECTIONS.VERTICAL){return isVerticalScroll()}if(direction===$.fn.swipey.DIRECTIONS.HORIZONTAL){return isHorizontalScroll()}}}function SwipeEventSmoother(){var queue=[];var isProcessing=false;var time;function process(){if(queue.length>0){try{queue.shift()()}catch(e){console.error("Function invocation failed",e)}window.requestAnimationFrame(process)}else{isProcessing=false}}this.push=function(fn){queue.push(fn)};this.process=function(){if(!isProcessing){isProcessing=true;process()}}}activeEventProcessor=new SwipeEventSmoother;function getTouchEvent(event){if(event.originalEvent&&event.originalEvent.pointerType!=="mouse"){return event.originalEvent}return event.originalEvent&&event.originalEvent.touches&&event.originalEvent.touches[0]||event&&event.touches&&event.touches[0]||event}function computeDistance(startPoint,endPoint,direction){var distance=0,deltaX,deltaY;if(direction===DIRECTIONS.HORIZONTAL){distance=endPoint.x-startPoint.x}else if(direction===DIRECTIONS.LEFT_TO_RIGHT){distance=max(endPoint.x-startPoint.x,0)}else if(direction===DIRECTIONS.RIGHT_TO_LEFT){distance=max(startPoint.x-endPoint.x,0)}else if(direction===DIRECTIONS.VERTICAL){distance=endPoint.y-startPoint.y}else if(direction===DIRECTIONS.TOP_TO_DOWN){distance=max(endPoint.y-startPoint.y,0)}else if(direction===DIRECTIONS.DOWN_TO_TOP){distance=max(startPoint.y-endPoint.y,0)}else{deltaX=endPoint.x-startPoint.x;deltaY=endPoint.y-startPoint.y;distance=max(abs(deltaX),abs(deltaY));if(deltaX<0&&abs(deltaX)===distance||deltaY<0&&abs(deltaY)===distance){distance=-distance}}return distance}function onActiveSwipe(event,settings){var touch=getTouchEvent(event);var startPoint=settings.data.path[0];var point={x:touch.pageX,y:touch.pageY};var distance=computeDistance(startPoint,point,settings.direction);var eventSplits=[];var increment;var limit;settings.renderInProgress=false;if(distance!==settings.lastDistance){increment=(distance<settings.lastDistance?-1:1)*30;limit=distance-settings.lastDistance;for(var i=increment;increment>0&&i<=limit||increment<0&&i>=limit;i+=increment){eventSplits.push(i+settings.lastDistance)}if(limit%increment!==0){eventSplits.push(limit%abs(increment)+(eventSplits.length===0?settings.lastDistance:eventSplits[eventSplits.length-1]))}settings.lastDistance=distance;$.each(eventSplits,(function(){var d=this;activeEventProcessor.push((function(){settings.data.length=d;settings.data.totalLength+=abs(d);settings.data.velocity=abs(settings.data.totalLength/(Date.now()-settings.data.startTime));settings.data.path.push(point);if(settings.onSwipe.call(settings.target,event,settings.data)===false){onActiveSwipeEnd(event,settings)}SwipeTracer.onSwipe(event,settings.data)}))}));activeEventProcessor.process()}}function onActiveSwipeEnd(event,settings){var touch=getTouchEvent(event);if(touch){settings.data.path.push({x:touch.pageX,y:touch.pageY})}activeEventProcessor.push((function(){SwipeTracer.onSwipeEnd(event,settings.data);settings.onSwipeEnd.call(settings.target,event,settings.data)}));activeEventProcessor.process()}function listenActiveSwipe(event,settings){var touch=getTouchEvent(event);var swipeHandler;var swipeEndHandler;var passiveDistance;var passiveSwipeStartPoint=settings.data.path[0];var activeSwipeStartPoint={x:touch.pageX,y:touch.pageY};passiveDistance=computeDistance(passiveSwipeStartPoint,activeSwipeStartPoint,settings.direction);settings.data.length=passiveDistance<0?-1:1;settings.lastDistance=settings.data.length;settings.data.path=[activeSwipeStartPoint];settings.data.totalLength=abs(settings.data.length);settings.data.startTime=Date.now();if(settings.onSwipeStart.call(settings.target,event,settings.data)===false){return false}swipeMask.appendTo($("body"));swipeHandler=function(em){onActiveSwipe(em,settings)};swipeEndHandler=function(ee){swipeMask.remove();onActiveSwipeEnd(ee,settings)};touchMoveListeners=[];touchMoveListeners.push(swipeHandler);touchEndListeners=[];touchEndListeners.push(swipeEndHandler);SwipeTracer.onSwipeStart(event,settings.data);return true}function isThresholdAngleReached(startPoint,endPoint,direction){if(direction===DIRECTIONS.HORIZONTAL){if(Math.abs((endPoint.y-startPoint.y)/(endPoint.x-startPoint.x))<=.36397023426){return true}}else if(direction===DIRECTIONS.VERTICAL){if(Math.abs((endPoint.y-startPoint.y)/(endPoint.x-startPoint.x))>=2.74747741945){return true}}return false}function isThresholdReached(touch,settings){var startPoint=settings.data.path[0];var endPoint={x:touch.pageX,y:touch.pageY};var distance=computeDistance(startPoint,endPoint,settings.direction);return abs(distance)>settings.threshold&&isThresholdAngleReached(startPoint,endPoint,settings.direction)}function listenPassiveSwipe(touch,settings){var passiveSwipeHandler;settings.scrollObserver=new ScrollObserver(event.currentTarget,event.target,settings.direction);passiveSwipeHandler=function(em){if(isThresholdReached(getTouchEvent(em),settings)){if(settings.scrollObserver.hasSrcolled()||listenActiveSwipe(em,settings)){return false}}};touchMoveListeners.push(passiveSwipeHandler);settings.data={path:[{x:touch.pageX,y:touch.pageY}]}}function bind(settings){var events=settings.bindEvents;var listenFor="";if(_.includes(events,"touch")){listenFor+="touchstart"}else if(_.includes(events,"mouse")){listenFor+="mousedown"}else if(_.includes(events,"pointer")){listenFor+="pointerdown"}if(!listenFor){return}addEventListener(settings.target[0],listenFor,(function(es){if(settings.disableMouse&&es.pointerType==="mouse"){return}if(es.pointerType!=="mouse"&&es.MSPOINTER_TYPE_MOUSE&&es.pointerType!==es.MSPOINTER_TYPE_MOUSE){if(TAG_WHITE_LIST.indexOf(es.target.tagName)<0){es.preventDefault()}else{return}}var touch=getTouchEvent(es);if(touch){listenPassiveSwipe(touch,settings)}}))}$.fn.swipey=function(settings){this.each((function(){bind($.extend({direction:DIRECTIONS.NONE,target:$(this),bindEvents:["touch","mouse"],swipeTarget:document,threshold:30,onSwipeStart:$.noop,onSwipe:$.noop,onSwipeEnd:$.noop,disableMouse:true},settings))}));return this};SwipeTracer={onSwipeStart:function(e,data){if($.fn.swipey.trace){var $svg='<svg height="100vh" width="100vw" id ="canvas">'+' <path stroke="rgba(0, 0, 0, 0.5)" stroke-linecap="round" stroke-width="20" fill-opacity="0" '+' stroke-opacity="0.8" d="M'+data.path[0].x+" "+data.path[0].y+' " />'+" </svg>";$svg.css({position:"fixed",top:0,left:0,width:"100vw",height:"100vh","z-index":1e4});$("body").append($svg);data.tracer={pathd:$("#canvas path")}}},onSwipe:function(e,data){if(data.tracer){var d=data.tracer.pathd.attr("d");var p=data.path[data.path.length-1];data.tracer.pathd.attr("d",d+" L"+p.x+" "+p.y+" ")}},onSwipeEnd:function(e,data){if(data.tracer){var firstPoint=data.path[0];var expected_1=[firstPoint,{y:firstPoint.y-50},{x:firstPoint.x+50},{y:firstPoint.y+50}];var trace_1=0;_.forEach(data.path,(function(p){var ep;if(trace_1!==expected_1.length){ep=expected_1[trace_1];if((!ep.x||ep.x<=p.x)&&(!ep.y||ep.y<=p.y)){trace_1++}}}));setTimeout((function(){$("body >#canvas").remove()}),500)}}};$.fn.swipey.DIRECTIONS=DIRECTIONS})(jQuery);(function($){var $parse;var expressionRegex=/\$\{\{[a-zA-Z\+-/%\.\*\s\(\)\d,\\'"\$_]*\}\}/;function getParseService(){if($.fn.swipeAnimation.expressionEvaluator){return $.fn.swipeAnimation.expressionEvaluator}if(window.exprEval&&window.exprEval.Parser){return function(exp){var parser=(new window.exprEval.Parser).parse(exp);return function(context){return parser.evaluate(context)}}}}function compile(script){var tArr=[];var match;$parse=$parse||getParseService();if(_.isFunction(script)){return script}else if($parse){while((match=expressionRegex.exec(script))!==null){var expression=match[0];var prefix=script.substring(0,match.index);script=script.substring(match.index+expression.length);expression=expression.substring(3,expression.length-2);tArr.push(prefix);tArr.push($parse(expression).bind({}))}tArr.push(script);return function(){var args=arguments;return _.map(tArr,(function(v){return _.isFunction(v)?v.apply(undefined,args):v})).join("")}}}function getObject(obj,$ele,args){if(_.isFunction(obj)){return obj.apply($ele,args)}return obj}function VelocityComputator(){var lastDistance=0;var lastTime=0;var v=0;return{addDistance:function(d){var currentTime=Date.now();if(Math.abs(d-lastDistance)>10&¤tTime!==lastTime){v=(d-lastDistance)/(currentTime-lastTime);lastDistance=d;lastTime=currentTime}if(v<0){v=Math.min(v,-1)}else{v=Math.max(v,1)}return this},getVelocity:function(){return v},getTime:function(d){return Math.abs(d/v)}}}function calculateBounds($el,settings,args){var centerVal=0;var bounds=getObject(settings.bounds,$el,args);if(!_.isUndefined(bounds.center)){centerVal=bounds.center}if(!_.isUndefined(bounds.lower)){bounds.lower=bounds.lower+centerVal}if(!_.isUndefined(bounds.upper)){bounds.upper=bounds.upper+centerVal}return bounds}function retrieveTargets(settings){_.forEach(settings.animation,(function(a){if(_.isFunction(a.target)||a.targetFn){a.targetFn=_.isUndefined(a.targetFn)?a.target:a.targetFn;a.target=a.targetFn()}}))}function SettingsProperty(){this.setSettings=function(settings,$el){$el.data("swipeAnimationDefaults",settings)};this.getSettings=function($el){return $el.data("swipeAnimationDefaults")}}function animate(settings,metaData,time,$el,distanceMoved,e){_.forEach(settings.animation,(function(a){if(!a.target){return}if(a.target.length>1){a.target.each((function(i){metaData.$i=i;$(this).css(_.mapValues(a.css,(function(v,k){return v(metaData)})))}))}else{metaData.$i=0;a.target.css(_.mapValues(a.css,(function(v,k){return v(metaData)})))}a.target.css({transition:"all ease-out "+time+"ms"});a.target.one("webkitTransitionEnd transitionend",(function(){a.target.css({transition:""})}))}));setTimeout((function(){window.requestAnimationFrame((function(){if(metaData.$D===metaData.bounds.lower){settings.onLower.call($el,e)}else if(metaData.$D===metaData.bounds.upper){settings.onUpper.call($el,e)}settings.onAnimation(e,distanceMoved)}))}),time)}var methods={gotoUpper:function(){swipeToEnd(this,"upper",arguments[1])},gotoLower:function(time){swipeToEnd(this,"lower",arguments[1])}};function swipeToEnd($ele,moveTo,time){var settingsObj=new SettingsProperty;var settings=settingsObj.getSettings($ele);var metaData={};var bounds=calculateBounds($ele,settings);var context;retrieveTargets(settings);time=time||300;context=getObject(settings.context,$ele);metaData=_.extend({},context);metaData.$d=0;metaData.$D=moveTo==="lower"?bounds.lower:bounds.upper;metaData.bounds=bounds;animate(settings,metaData,time,$ele)}function addSwipey($ele,settings){var state={$D:0};var baseContext={max:Math.max,min:Math.min,abs:Math.abs};if(!_.isArray(settings.animation)){var target=settings.animation.target||$ele;var css=settings.animation.css||settings.animation;delete css[$ele];settings.animation=[{target:target,css:css}]}_.forEach(settings.animation,(function(a){a.css=_.mapValues(a.css,(function(v,k){return compile(v)}))}));var settingsObj=new SettingsProperty;settingsObj.setSettings(settings,$ele);$ele.swipey({direction:settings.direction,threshold:settings.threshold,bindEvents:settings.bindEvents,target:settings.target,onSwipeStart:function(e,data){var cd;state.$d=0;state.bounds=calculateBounds(this,settings,[e,data.length]);if(!_.isUndefined(state.bounds.center)){state.$D=state.bounds.center}else{state.$D=0}cd=state.$D+data.length;state.bounds.strictLower=!(state.bounds.strict===false||state.bounds.strictLower===false);state.bounds.strictUpper=!(state.bounds.strict===false||state.bounds.strictUpper===false);if(!settings.enableGestures()||state.bounds.strictLower&&(_.isUndefined(state.bounds.lower)&&data.length<0||!_.isUndefined(state.bounds.lower)&&state.bounds.lower>cd)||state.bounds.strictUpper&&(_.isUndefined(state.bounds.upper)&&data.length>0||!_.isUndefined(state.bounds.upper)&&state.bounds.upper<cd)){return false}state.vc=VelocityComputator();state.context=_.extend(baseContext,getObject(settings.context,$ele));state.localState=_.extend({},state.context);retrieveTargets(settings);_.forEach(settings.animation,(function(a){if(a.target){a.target.css({transition:"none"})}}))},onSwipe:function(e,data){var localState=state.localState;var cd=state.$D+data.length;localState.$d=data.length;localState.$D=state.$D;if(state.bounds.strictLower&&!_.isUndefined(state.bounds.lower)&&state.bounds.lower>cd){localState.$d=state.bounds.lower-state.$D}else if(state.bounds.strictUpper&&!_.isUndefined(state.bounds.upper)&&state.bounds.upper<cd){localState.$d=state.bounds.upper-state.$D}state.vc.addDistance(data.length);_.forEach(settings.animation,(function(a){if(a.target){if(a.target.length>1){a.target.each((function(i){localState.$i=i;$(this).css(_.mapValues(a.css,(function(v,k){return v(localState)})))}))}else{localState.$i=0;a.target.css(_.mapValues(a.css,(function(v,k){return v(localState)})))}}}))},onSwipeEnd:function(e,data){var localState=state.localState;var cd=state.$D+data.length;var v=state.vc.getVelocity();var time;localState.$d=data.length;localState.$D=state.$D;if(!_.isUndefined(state.bounds.lower)&&v<=0&&state.$D>cd){localState.$D=state.bounds.lower}else if(!_.isUndefined(state.bounds.upper)&&v>=0&&state.$D<cd){localState.$D=state.bounds.upper}localState.$d=0;localState.bounds=state.bounds;state.$D=localState.$D;time=state.vc.getTime(localState.$D-cd);animate(settings,localState,time,$ele,cd,e)}})}$.fn.swipeAnimation=function(settings){if(methods[settings]){return methods[settings].apply(this,arguments)}this.each((function(){addSwipey($(this),$.extend({direction:$.fn.swipey.DIRECTIONS.HORIZONTAL,target:$(this),threshold:30,enableGestures:function(){return true},bindEvents:["touch"],bounds:{},context:{},animation:{},onLower:$.noop,onUpper:$.noop,onAnimation:$.noop},settings))}));return this}})(jQuery);
|
|
665
|
+
(function(window,document,Math){var rAF=window.requestAnimationFrame||window.webkitRequestAnimationFrame||window.mozRequestAnimationFrame||window.oRequestAnimationFrame||window.msRequestAnimationFrame||function(callback){window.setTimeout(callback,1e3/60)};var utils=function(){var me={};var _elementStyle=document.createElement("div").style;var _vendor=function(){var vendors=["t","webkitT","MozT","msT","OT"],transform,i=0,l=vendors.length;for(;i<l;i++){transform=vendors[i]+"ransform";if(transform in _elementStyle)return vendors[i].substr(0,vendors[i].length-1)}return false}();function _prefixStyle(style){if(_vendor===false)return false;if(_vendor==="")return style;return _vendor+style.charAt(0).toUpperCase()+style.substr(1)}me.getTime=Date.now||function getTime(){return(new Date).getTime()};me.extend=function(target,obj){for(var i in obj){target[i]=obj[i]}};me.addEvent=function(el,type,fn,capture){el.addEventListener(type,fn,!!capture)};me.removeEvent=function(el,type,fn,capture){el.removeEventListener(type,fn,!!capture)};me.prefixPointerEvent=function(pointerEvent){return window.MSPointerEvent?"MSPointer"+pointerEvent.charAt(7).toUpperCase()+pointerEvent.substr(8):pointerEvent};me.momentum=function(current,start,time,lowerMargin,wrapperSize,deceleration){var distance=current-start,speed=Math.abs(distance)/time,destination,duration;deceleration=deceleration===undefined?6e-4:deceleration;destination=current+speed*speed/(2*deceleration)*(distance<0?-1:1);duration=speed/deceleration;if(destination<lowerMargin){destination=wrapperSize?lowerMargin-wrapperSize/2.5*(speed/8):lowerMargin;distance=Math.abs(destination-current);duration=distance/speed}else if(destination>0){destination=wrapperSize?wrapperSize/2.5*(speed/8):0;distance=Math.abs(current)+destination;duration=distance/speed}return{destination:Math.round(destination),duration:duration}};var _transform=_prefixStyle("transform");me.extend(me,{hasTransform:_transform!==false,hasPerspective:_prefixStyle("perspective")in _elementStyle,hasTouch:"ontouchstart"in window,hasPointer:!!(window.PointerEvent||window.MSPointerEvent),hasTransition:_prefixStyle("transition")in _elementStyle});me.isBadAndroid=function(){var appVersion=window.navigator.appVersion;if(/Android/.test(appVersion)&&!/Chrome\/\d/.test(appVersion)){var safariVersion=appVersion.match(/Safari\/(\d+.\d)/);if(safariVersion&&typeof safariVersion==="object"&&safariVersion.length>=2){return parseFloat(safariVersion[1])<535.19}else{return true}}else{return false}}();me.extend(me.style={},{transform:_transform,transitionTimingFunction:_prefixStyle("transitionTimingFunction"),transitionDuration:_prefixStyle("transitionDuration"),transitionDelay:_prefixStyle("transitionDelay"),transformOrigin:_prefixStyle("transformOrigin")});me.hasClass=function(e,c){var re=new RegExp("(^|\\s)"+c+"(\\s|$)");return re.test(e.className)};me.addClass=function(e,c){if(me.hasClass(e,c)){return}var newclass=e.className.split(" ");newclass.push(c);e.className=newclass.join(" ")};me.removeClass=function(e,c){if(!me.hasClass(e,c)){return}var re=new RegExp("(^|\\s)"+c+"(\\s|$)","g");e.className=e.className.replace(re," ")};me.offset=function(el){var left=-el.offsetLeft,top=-el.offsetTop;while(el=el.offsetParent){left-=el.offsetLeft;top-=el.offsetTop}return{left:left,top:top}};me.preventDefaultException=function(el,exceptions){for(var i in exceptions){if(exceptions[i].test(el[i])){return true}}return false};me.extend(me.eventType={},{touchstart:1,touchmove:1,touchend:1,mousedown:2,mousemove:2,mouseup:2,pointerdown:3,pointermove:3,pointerup:3,MSPointerDown:3,MSPointerMove:3,MSPointerUp:3});me.extend(me.ease={},{quadratic:{style:"cubic-bezier(0.25, 0.46, 0.45, 0.94)",fn:function(k){return k*(2-k)}},circular:{style:"cubic-bezier(0.1, 0.57, 0.1, 1)",fn:function(k){return Math.sqrt(1- --k*k)}},back:{style:"cubic-bezier(0.175, 0.885, 0.32, 1.275)",fn:function(k){var b=4;return(k=k-1)*k*((b+1)*k+b)+1}},bounce:{style:"",fn:function(k){if((k/=1)<1/2.75){return 7.5625*k*k}else if(k<2/2.75){return 7.5625*(k-=1.5/2.75)*k+.75}else if(k<2.5/2.75){return 7.5625*(k-=2.25/2.75)*k+.9375}else{return 7.5625*(k-=2.625/2.75)*k+.984375}}},elastic:{style:"",fn:function(k){var f=.22,e=.4;if(k===0){return 0}if(k==1){return 1}return e*Math.pow(2,-10*k)*Math.sin((k-f/4)*(2*Math.PI)/f)+1}}});me.tap=function(e,eventName){var ev=document.createEvent("Event");ev.initEvent(eventName,true,true);ev.pageX=e.pageX;ev.pageY=e.pageY;e.target.dispatchEvent(ev)};me.click=function(e){var target=e.target,ev;if(!/(SELECT|INPUT|TEXTAREA)/i.test(target.tagName)){ev=document.createEvent("MouseEvents");ev.initMouseEvent("click",true,true,e.view,1,target.screenX,target.screenY,target.clientX,target.clientY,e.ctrlKey,e.altKey,e.shiftKey,e.metaKey,0,null);ev._constructed=true;target.dispatchEvent(ev)}};return me}();function IScroll(el,options){this.wrapper=typeof el=="string"?document.querySelector(el):el;this.scroller=this.wrapper.children[0];this.scrollerStyle=this.scroller.style;this.options={resizeScrollbars:true,mouseWheelSpeed:20,snapThreshold:.334,disablePointer:!utils.hasPointer,disableTouch:utils.hasPointer||!utils.hasTouch,disableMouse:utils.hasPointer||utils.hasTouch,startX:0,startY:0,scrollY:true,directionLockThreshold:5,momentum:true,bounce:true,bounceTime:600,bounceEasing:"",preventDefault:true,preventDefaultException:{tagName:/^(INPUT|TEXTAREA|BUTTON|SELECT)$/},HWCompositing:true,useTransition:true,useTransform:true,bindToWrapper:typeof window.onmousedown==="undefined"};for(var i in options){this.options[i]=options[i]}this.translateZ=this.options.HWCompositing&&utils.hasPerspective?" translateZ(0)":"";this.options.useTransition=utils.hasTransition&&this.options.useTransition;this.options.useTransform=utils.hasTransform&&this.options.useTransform;this.options.eventPassthrough=this.options.eventPassthrough===true?"vertical":this.options.eventPassthrough;this.options.preventDefault=!this.options.eventPassthrough&&this.options.preventDefault;this.options.scrollY=this.options.eventPassthrough=="vertical"?false:this.options.scrollY;this.options.scrollX=this.options.eventPassthrough=="horizontal"?false:this.options.scrollX;this.options.freeScroll=this.options.freeScroll&&!this.options.eventPassthrough;this.options.directionLockThreshold=this.options.eventPassthrough?0:this.options.directionLockThreshold;this.options.bounceEasing=typeof this.options.bounceEasing=="string"?utils.ease[this.options.bounceEasing]||utils.ease.circular:this.options.bounceEasing;this.options.resizePolling=this.options.resizePolling===undefined?60:this.options.resizePolling;if(this.options.tap===true){this.options.tap="tap"}if(this.options.shrinkScrollbars=="scale"){this.options.useTransition=false}this.options.invertWheelDirection=this.options.invertWheelDirection?-1:1;this.x=0;this.y=0;this.directionX=0;this.directionY=0;this._events={};this._init();this.refresh();this.scrollTo(this.options.startX,this.options.startY);this.enable()}IScroll.prototype={version:"5.2.0",_init:function(){this._initEvents();if(this.options.scrollbars||this.options.indicators){this._initIndicators()}if(this.options.mouseWheel){this._initWheel()}if(this.options.snap){this._initSnap()}if(this.options.keyBindings){this._initKeys()}},destroy:function(){this._initEvents(true);clearTimeout(this.resizeTimeout);this.resizeTimeout=null;this._execEvent("destroy")},_transitionEnd:function(e){if(e.target!=this.scroller||!this.isInTransition){return}this._transitionTime();if(!this.resetPosition(this.options.bounceTime)){this.isInTransition=false;this._execEvent("scrollEnd")}},_start:function(e){if(utils.eventType[e.type]!=1){var button;if(!e.which){button=e.button<2?0:e.button==4?1:2}else{button=e.button}if(button!==0){return}}if(!this.enabled||this.initiated&&utils.eventType[e.type]!==this.initiated){return}if(this.options.preventDefault&&!utils.isBadAndroid&&!utils.preventDefaultException(e.target,this.options.preventDefaultException)){e.preventDefault()}var point=e.touches?e.touches[0]:e,pos;this.initiated=utils.eventType[e.type];this.moved=false;this.distX=0;this.distY=0;this.directionX=0;this.directionY=0;this.directionLocked=0;this.startTime=utils.getTime();if(this.options.useTransition&&this.isInTransition){this._transitionTime();this.isInTransition=false;pos=this.getComputedPosition();this._translate(Math.round(pos.x),Math.round(pos.y));this._execEvent("scrollEnd")}else if(!this.options.useTransition&&this.isAnimating){this.isAnimating=false;this._execEvent("scrollEnd")}this.startX=this.x;this.startY=this.y;this.absStartX=this.x;this.absStartY=this.y;this.pointX=point.pageX;this.pointY=point.pageY;this._execEvent("beforeScrollStart")},_move:function(e){if(!this.enabled||utils.eventType[e.type]!==this.initiated){return}if(this.options.preventDefault){e.preventDefault()}var point=e.touches?e.touches[0]:e,deltaX=point.pageX-this.pointX,deltaY=point.pageY-this.pointY,timestamp=utils.getTime(),newX,newY,absDistX,absDistY;this.pointX=point.pageX;this.pointY=point.pageY;this.distX+=deltaX;this.distY+=deltaY;absDistX=Math.abs(this.distX);absDistY=Math.abs(this.distY);if(timestamp-this.endTime>300&&(absDistX<10&&absDistY<10)){return}if(!this.directionLocked&&!this.options.freeScroll){if(absDistX>absDistY+this.options.directionLockThreshold){this.directionLocked="h"}else if(absDistY>=absDistX+this.options.directionLockThreshold){this.directionLocked="v"}else{this.directionLocked="n"}}if(this.directionLocked=="h"){if(this.options.eventPassthrough=="vertical"){e.preventDefault()}else if(this.options.eventPassthrough=="horizontal"){this.initiated=false;return}deltaY=0}else if(this.directionLocked=="v"){if(this.options.eventPassthrough=="horizontal"){e.preventDefault()}else if(this.options.eventPassthrough=="vertical"){this.initiated=false;return}deltaX=0}deltaX=this.hasHorizontalScroll?deltaX:0;deltaY=this.hasVerticalScroll?deltaY:0;newX=this.x+deltaX;newY=this.y+deltaY;if(newX>0||newX<this.maxScrollX){newX=this.options.bounce?this.x+deltaX/3:newX>0?0:this.maxScrollX}if(newY>0||newY<this.maxScrollY){newY=this.options.bounce?this.y+deltaY/3:newY>0?0:this.maxScrollY}this.directionX=deltaX>0?-1:deltaX<0?1:0;this.directionY=deltaY>0?-1:deltaY<0?1:0;if(!this.moved){this._execEvent("scrollStart")}this.moved=true;this._translate(newX,newY);if(timestamp-this.startTime>300){this.startTime=timestamp;this.startX=this.x;this.startY=this.y}},_end:function(e){if(!this.enabled||utils.eventType[e.type]!==this.initiated){return}if(this.options.preventDefault&&!utils.preventDefaultException(e.target,this.options.preventDefaultException)){e.preventDefault()}var point=e.changedTouches?e.changedTouches[0]:e,momentumX,momentumY,duration=utils.getTime()-this.startTime,newX=Math.round(this.x),newY=Math.round(this.y),distanceX=Math.abs(newX-this.startX),distanceY=Math.abs(newY-this.startY),time=0,easing="";this.isInTransition=0;this.initiated=0;this.endTime=utils.getTime();if(this.resetPosition(this.options.bounceTime)){return}this.scrollTo(newX,newY);if(!this.moved){if(this.options.tap){utils.tap(e,this.options.tap)}if(this.options.click){utils.click(e)}this._execEvent("scrollCancel");return}if(this._events.flick&&duration<200&&distanceX<100&&distanceY<100){this._execEvent("flick");return}if(this.options.momentum&&duration<300){momentumX=this.hasHorizontalScroll?utils.momentum(this.x,this.startX,duration,this.maxScrollX,this.options.bounce?this.wrapperWidth:0,this.options.deceleration):{destination:newX,duration:0};momentumY=this.hasVerticalScroll?utils.momentum(this.y,this.startY,duration,this.maxScrollY,this.options.bounce?this.wrapperHeight:0,this.options.deceleration):{destination:newY,duration:0};newX=momentumX.destination;newY=momentumY.destination;time=Math.max(momentumX.duration,momentumY.duration);this.isInTransition=1}if(this.options.snap){var snap=this._nearestSnap(newX,newY);this.currentPage=snap;time=this.options.snapSpeed||Math.max(Math.max(Math.min(Math.abs(newX-snap.x),1e3),Math.min(Math.abs(newY-snap.y),1e3)),300);newX=snap.x;newY=snap.y;this.directionX=0;this.directionY=0;easing=this.options.bounceEasing}if(newX!=this.x||newY!=this.y){if(newX>0||newX<this.maxScrollX||newY>0||newY<this.maxScrollY){easing=utils.ease.quadratic}this.scrollTo(newX,newY,time,easing);return}this._execEvent("scrollEnd")},_resize:function(){var that=this;clearTimeout(this.resizeTimeout);this.resizeTimeout=setTimeout((function(){that.refresh()}),this.options.resizePolling)},resetPosition:function(time){var x=this.x,y=this.y;time=time||0;if(!this.hasHorizontalScroll||this.x>0){x=0}else if(this.x<this.maxScrollX){x=this.maxScrollX}if(!this.hasVerticalScroll||this.y>0){y=0}else if(this.y<this.maxScrollY){y=this.maxScrollY}if(x==this.x&&y==this.y){return false}this.scrollTo(x,y,time,this.options.bounceEasing);return true},disable:function(){this.enabled=false},enable:function(){this.enabled=true},refresh:function(){var rf=this.wrapper.offsetHeight;this.wrapperWidth=this.wrapper.clientWidth;this.wrapperHeight=this.wrapper.clientHeight;this.scrollerWidth=this.scroller.offsetWidth;this.scrollerHeight=this.scroller.offsetHeight;this.maxScrollX=this.wrapperWidth-this.scrollerWidth;this.maxScrollY=this.wrapperHeight-this.scrollerHeight;this.hasHorizontalScroll=this.options.scrollX&&this.maxScrollX<0;this.hasVerticalScroll=this.options.scrollY&&this.maxScrollY<0;if(!this.hasHorizontalScroll){this.maxScrollX=0;this.scrollerWidth=this.wrapperWidth}if(!this.hasVerticalScroll){this.maxScrollY=0;this.scrollerHeight=this.wrapperHeight}this.endTime=0;this.directionX=0;this.directionY=0;this.wrapperOffset=utils.offset(this.wrapper);this._execEvent("refresh");this.resetPosition()},on:function(type,fn){if(!this._events[type]){this._events[type]=[]}this._events[type].push(fn)},off:function(type,fn){if(!this._events[type]){return}var index=this._events[type].indexOf(fn);if(index>-1){this._events[type].splice(index,1)}},_execEvent:function(type){if(!this._events[type]){return}var i=0,l=this._events[type].length;if(!l){return}for(;i<l;i++){this._events[type][i].apply(this,[].slice.call(arguments,1))}},scrollBy:function(x,y,time,easing){x=this.x+x;y=this.y+y;time=time||0;this.scrollTo(x,y,time,easing)},scrollTo:function(x,y,time,easing){easing=easing||utils.ease.circular;this.isInTransition=this.options.useTransition&&time>0;var transitionType=this.options.useTransition&&easing.style;if(!time||transitionType){if(transitionType){this._transitionTimingFunction(easing.style);this._transitionTime(time)}this._translate(x,y)}else{this._animate(x,y,time,easing.fn)}},scrollToElement:function(el,time,offsetX,offsetY,easing){el=el.nodeType?el:this.scroller.querySelector(el);if(!el){return}var pos=utils.offset(el);pos.left-=this.wrapperOffset.left;pos.top-=this.wrapperOffset.top;if(offsetX===true){offsetX=Math.round(el.offsetWidth/2-this.wrapper.offsetWidth/2)}if(offsetY===true){offsetY=Math.round(el.offsetHeight/2-this.wrapper.offsetHeight/2)}pos.left-=offsetX||0;pos.top-=offsetY||0;pos.left=pos.left>0?0:pos.left<this.maxScrollX?this.maxScrollX:pos.left;pos.top=pos.top>0?0:pos.top<this.maxScrollY?this.maxScrollY:pos.top;time=time===undefined||time===null||time==="auto"?Math.max(Math.abs(this.x-pos.left),Math.abs(this.y-pos.top)):time;this.scrollTo(pos.left,pos.top,time,easing)},_transitionTime:function(time){time=time||0;var durationProp=utils.style.transitionDuration;this.scrollerStyle[durationProp]=time+"ms";if(!time&&utils.isBadAndroid){this.scrollerStyle[durationProp]="0.0001ms";var self=this;rAF((function(){if(self.scrollerStyle[durationProp]==="0.0001ms"){self.scrollerStyle[durationProp]="0s"}}))}if(this.indicators){for(var i=this.indicators.length;i--;){this.indicators[i].transitionTime(time)}}},_transitionTimingFunction:function(easing){this.scrollerStyle[utils.style.transitionTimingFunction]=easing;if(this.indicators){for(var i=this.indicators.length;i--;){this.indicators[i].transitionTimingFunction(easing)}}},_translate:function(x,y){if(this.options.useTransform){this.scrollerStyle[utils.style.transform]="translate("+x+"px,"+y+"px)"+this.translateZ}else{x=Math.round(x);y=Math.round(y);this.scrollerStyle.left=x+"px";this.scrollerStyle.top=y+"px"}this.x=x;this.y=y;if(this.indicators){for(var i=this.indicators.length;i--;){this.indicators[i].updatePosition()}}},_initEvents:function(remove){var eventType=remove?utils.removeEvent:utils.addEvent,target=this.options.bindToWrapper?this.wrapper:window;eventType(window,"orientationchange",this);eventType(window,"resize",this);if(this.options.click){eventType(this.wrapper,"click",this,true)}if(!this.options.disableMouse){eventType(this.wrapper,"mousedown",this);eventType(target,"mousemove",this);eventType(target,"mousecancel",this);eventType(target,"mouseup",this)}if(utils.hasPointer&&!this.options.disablePointer){eventType(this.wrapper,utils.prefixPointerEvent("pointerdown"),this);eventType(target,utils.prefixPointerEvent("pointermove"),this);eventType(target,utils.prefixPointerEvent("pointercancel"),this);eventType(target,utils.prefixPointerEvent("pointerup"),this)}if(utils.hasTouch&&!this.options.disableTouch){eventType(this.wrapper,"touchstart",this);eventType(target,"touchmove",this);eventType(target,"touchcancel",this);eventType(target,"touchend",this)}eventType(this.scroller,"transitionend",this);eventType(this.scroller,"webkitTransitionEnd",this);eventType(this.scroller,"oTransitionEnd",this);eventType(this.scroller,"MSTransitionEnd",this)},getComputedPosition:function(){var matrix=window.getComputedStyle(this.scroller,null),x,y;if(this.options.useTransform){matrix=matrix[utils.style.transform].split(")")[0].split(", ");x=+(matrix[12]||matrix[4]);y=+(matrix[13]||matrix[5])}else{x=+matrix.left.replace(/[^-\d.]/g,"");y=+matrix.top.replace(/[^-\d.]/g,"")}return{x:x,y:y}},_initIndicators:function(){var interactive=this.options.interactiveScrollbars,customStyle=typeof this.options.scrollbars!="string",indicators=[],indicator;var that=this;this.indicators=[];if(this.options.scrollbars){if(this.options.scrollY){indicator={el:createDefaultScrollbar("v",interactive,this.options.scrollbars),interactive:interactive,defaultScrollbars:true,customStyle:customStyle,resize:this.options.resizeScrollbars,shrink:this.options.shrinkScrollbars,fade:this.options.fadeScrollbars,listenX:false};this.wrapper.appendChild(indicator.el);indicators.push(indicator)}if(this.options.scrollX){indicator={el:createDefaultScrollbar("h",interactive,this.options.scrollbars),interactive:interactive,defaultScrollbars:true,customStyle:customStyle,resize:this.options.resizeScrollbars,shrink:this.options.shrinkScrollbars,fade:this.options.fadeScrollbars,listenY:false};this.wrapper.appendChild(indicator.el);indicators.push(indicator)}}if(this.options.indicators){indicators=indicators.concat(this.options.indicators)}for(var i=indicators.length;i--;){this.indicators.push(new Indicator(this,indicators[i]))}function _indicatorsMap(fn){if(that.indicators){for(var i=that.indicators.length;i--;){fn.call(that.indicators[i])}}}if(this.options.fadeScrollbars){this.on("scrollEnd",(function(){_indicatorsMap((function(){this.fade()}))}));this.on("scrollCancel",(function(){_indicatorsMap((function(){this.fade()}))}));this.on("scrollStart",(function(){_indicatorsMap((function(){this.fade(1)}))}));this.on("beforeScrollStart",(function(){_indicatorsMap((function(){this.fade(1,true)}))}))}this.on("refresh",(function(){_indicatorsMap((function(){this.refresh()}))}));this.on("destroy",(function(){_indicatorsMap((function(){this.destroy()}));delete this.indicators}))},_initWheel:function(){utils.addEvent(this.wrapper,"wheel",this);utils.addEvent(this.wrapper,"mousewheel",this);utils.addEvent(this.wrapper,"DOMMouseScroll",this);this.on("destroy",(function(){clearTimeout(this.wheelTimeout);this.wheelTimeout=null;utils.removeEvent(this.wrapper,"wheel",this);utils.removeEvent(this.wrapper,"mousewheel",this);utils.removeEvent(this.wrapper,"DOMMouseScroll",this)}))},_wheel:function(e){if(!this.enabled){return}e.preventDefault();var wheelDeltaX,wheelDeltaY,newX,newY,that=this;if(this.wheelTimeout===undefined){that._execEvent("scrollStart")}clearTimeout(this.wheelTimeout);this.wheelTimeout=setTimeout((function(){if(!that.options.snap){that._execEvent("scrollEnd")}that.wheelTimeout=undefined}),400);if("deltaX"in e){if(e.deltaMode===1){wheelDeltaX=-e.deltaX*this.options.mouseWheelSpeed;wheelDeltaY=-e.deltaY*this.options.mouseWheelSpeed}else{wheelDeltaX=-e.deltaX;wheelDeltaY=-e.deltaY}}else if("wheelDeltaX"in e){wheelDeltaX=e.wheelDeltaX/120*this.options.mouseWheelSpeed;wheelDeltaY=e.wheelDeltaY/120*this.options.mouseWheelSpeed}else if("wheelDelta"in e){wheelDeltaX=wheelDeltaY=e.wheelDelta/120*this.options.mouseWheelSpeed}else if("detail"in e){wheelDeltaX=wheelDeltaY=-e.detail/3*this.options.mouseWheelSpeed}else{return}wheelDeltaX*=this.options.invertWheelDirection;wheelDeltaY*=this.options.invertWheelDirection;if(!this.hasVerticalScroll){wheelDeltaX=wheelDeltaY;wheelDeltaY=0}if(this.options.snap){newX=this.currentPage.pageX;newY=this.currentPage.pageY;if(wheelDeltaX>0){newX--}else if(wheelDeltaX<0){newX++}if(wheelDeltaY>0){newY--}else if(wheelDeltaY<0){newY++}this.goToPage(newX,newY);return}newX=this.x+Math.round(this.hasHorizontalScroll?wheelDeltaX:0);newY=this.y+Math.round(this.hasVerticalScroll?wheelDeltaY:0);this.directionX=wheelDeltaX>0?-1:wheelDeltaX<0?1:0;this.directionY=wheelDeltaY>0?-1:wheelDeltaY<0?1:0;if(newX>0){newX=0}else if(newX<this.maxScrollX){newX=this.maxScrollX}if(newY>0){newY=0}else if(newY<this.maxScrollY){newY=this.maxScrollY}this.scrollTo(newX,newY,0)},_initSnap:function(){this.currentPage={};if(typeof this.options.snap=="string"){this.options.snap=this.scroller.querySelectorAll(this.options.snap)}this.on("refresh",(function(){var i=0,l,m=0,n,cx,cy,x=0,y,stepX=this.options.snapStepX||this.wrapperWidth,stepY=this.options.snapStepY||this.wrapperHeight,el;this.pages=[];if(!this.wrapperWidth||!this.wrapperHeight||!this.scrollerWidth||!this.scrollerHeight){return}if(this.options.snap===true){cx=Math.round(stepX/2);cy=Math.round(stepY/2);while(x>-this.scrollerWidth){this.pages[i]=[];l=0;y=0;while(y>-this.scrollerHeight){this.pages[i][l]={x:Math.max(x,this.maxScrollX),y:Math.max(y,this.maxScrollY),width:stepX,height:stepY,cx:x-cx,cy:y-cy};y-=stepY;l++}x-=stepX;i++}}else{el=this.options.snap;l=el.length;n=-1;for(;i<l;i++){if(i===0||el[i].offsetLeft<=el[i-1].offsetLeft){m=0;n++}if(!this.pages[m]){this.pages[m]=[]}x=Math.max(-el[i].offsetLeft,this.maxScrollX);y=Math.max(-el[i].offsetTop,this.maxScrollY);cx=x-Math.round(el[i].offsetWidth/2);cy=y-Math.round(el[i].offsetHeight/2);this.pages[m][n]={x:x,y:y,width:el[i].offsetWidth,height:el[i].offsetHeight,cx:cx,cy:cy};if(x>this.maxScrollX){m++}}}this.goToPage(this.currentPage.pageX||0,this.currentPage.pageY||0,0);if(this.options.snapThreshold%1===0){this.snapThresholdX=this.options.snapThreshold;this.snapThresholdY=this.options.snapThreshold}else{this.snapThresholdX=Math.round(this.pages[this.currentPage.pageX][this.currentPage.pageY].width*this.options.snapThreshold);this.snapThresholdY=Math.round(this.pages[this.currentPage.pageX][this.currentPage.pageY].height*this.options.snapThreshold)}}));this.on("flick",(function(){var time=this.options.snapSpeed||Math.max(Math.max(Math.min(Math.abs(this.x-this.startX),1e3),Math.min(Math.abs(this.y-this.startY),1e3)),300);this.goToPage(this.currentPage.pageX+this.directionX,this.currentPage.pageY+this.directionY,time)}))},_nearestSnap:function(x,y){if(!this.pages.length){return{x:0,y:0,pageX:0,pageY:0}}var i=0,l=this.pages.length,m=0;if(Math.abs(x-this.absStartX)<this.snapThresholdX&&Math.abs(y-this.absStartY)<this.snapThresholdY){return this.currentPage}if(x>0){x=0}else if(x<this.maxScrollX){x=this.maxScrollX}if(y>0){y=0}else if(y<this.maxScrollY){y=this.maxScrollY}for(;i<l;i++){if(x>=this.pages[i][0].cx){x=this.pages[i][0].x;break}}l=this.pages[i].length;for(;m<l;m++){if(y>=this.pages[0][m].cy){y=this.pages[0][m].y;break}}if(i==this.currentPage.pageX){i+=this.directionX;if(i<0){i=0}else if(i>=this.pages.length){i=this.pages.length-1}x=this.pages[i][0].x}if(m==this.currentPage.pageY){m+=this.directionY;if(m<0){m=0}else if(m>=this.pages[0].length){m=this.pages[0].length-1}y=this.pages[0][m].y}return{x:x,y:y,pageX:i,pageY:m}},goToPage:function(x,y,time,easing){easing=easing||this.options.bounceEasing;if(x>=this.pages.length){x=this.pages.length-1}else if(x<0){x=0}if(y>=this.pages[x].length){y=this.pages[x].length-1}else if(y<0){y=0}var posX=this.pages[x][y].x,posY=this.pages[x][y].y;time=time===undefined?this.options.snapSpeed||Math.max(Math.max(Math.min(Math.abs(posX-this.x),1e3),Math.min(Math.abs(posY-this.y),1e3)),300):time;this.currentPage={x:posX,y:posY,pageX:x,pageY:y};this.scrollTo(posX,posY,time,easing)},next:function(time,easing){var x=this.currentPage.pageX,y=this.currentPage.pageY;x++;if(x>=this.pages.length&&this.hasVerticalScroll){x=0;y++}this.goToPage(x,y,time,easing)},prev:function(time,easing){var x=this.currentPage.pageX,y=this.currentPage.pageY;x--;if(x<0&&this.hasVerticalScroll){x=0;y--}this.goToPage(x,y,time,easing)},_initKeys:function(e){var keys={pageUp:33,pageDown:34,end:35,home:36,left:37,up:38,right:39,down:40};var i;if(typeof this.options.keyBindings=="object"){for(i in this.options.keyBindings){if(typeof this.options.keyBindings[i]=="string"){this.options.keyBindings[i]=this.options.keyBindings[i].toUpperCase().charCodeAt(0)}}}else{this.options.keyBindings={}}for(i in keys){this.options.keyBindings[i]=this.options.keyBindings[i]||keys[i]}utils.addEvent(window,"keydown",this);this.on("destroy",(function(){utils.removeEvent(window,"keydown",this)}))},_key:function(e){if(!this.enabled){return}var snap=this.options.snap,newX=snap?this.currentPage.pageX:this.x,newY=snap?this.currentPage.pageY:this.y,now=utils.getTime(),prevTime=this.keyTime||0,acceleration=.25,pos;if(this.options.useTransition&&this.isInTransition){pos=this.getComputedPosition();this._translate(Math.round(pos.x),Math.round(pos.y));this.isInTransition=false}this.keyAcceleration=now-prevTime<200?Math.min(this.keyAcceleration+acceleration,50):0;switch(e.keyCode){case this.options.keyBindings.pageUp:if(this.hasHorizontalScroll&&!this.hasVerticalScroll){newX+=snap?1:this.wrapperWidth}else{newY+=snap?1:this.wrapperHeight}break;case this.options.keyBindings.pageDown:if(this.hasHorizontalScroll&&!this.hasVerticalScroll){newX-=snap?1:this.wrapperWidth}else{newY-=snap?1:this.wrapperHeight}break;case this.options.keyBindings.end:newX=snap?this.pages.length-1:this.maxScrollX;newY=snap?this.pages[0].length-1:this.maxScrollY;break;case this.options.keyBindings.home:newX=0;newY=0;break;case this.options.keyBindings.left:newX+=snap?-1:5+this.keyAcceleration>>0;break;case this.options.keyBindings.up:newY+=snap?1:5+this.keyAcceleration>>0;break;case this.options.keyBindings.right:newX-=snap?-1:5+this.keyAcceleration>>0;break;case this.options.keyBindings.down:newY-=snap?1:5+this.keyAcceleration>>0;break;default:return}if(snap){this.goToPage(newX,newY);return}if(newX>0){newX=0;this.keyAcceleration=0}else if(newX<this.maxScrollX){newX=this.maxScrollX;this.keyAcceleration=0}if(newY>0){newY=0;this.keyAcceleration=0}else if(newY<this.maxScrollY){newY=this.maxScrollY;this.keyAcceleration=0}this.scrollTo(newX,newY,0);this.keyTime=now},_animate:function(destX,destY,duration,easingFn){var that=this,startX=this.x,startY=this.y,startTime=utils.getTime(),destTime=startTime+duration;function step(){var now=utils.getTime(),newX,newY,easing;if(now>=destTime){that.isAnimating=false;that._translate(destX,destY);if(!that.resetPosition(that.options.bounceTime)){that._execEvent("scrollEnd")}return}now=(now-startTime)/duration;easing=easingFn(now);newX=(destX-startX)*easing+startX;newY=(destY-startY)*easing+startY;that._translate(newX,newY);if(that.isAnimating){rAF(step)}}this.isAnimating=true;step()},handleEvent:function(e){switch(e.type){case"touchstart":case"pointerdown":case"MSPointerDown":case"mousedown":this._start(e);break;case"touchmove":case"pointermove":case"MSPointerMove":case"mousemove":this._move(e);break;case"touchend":case"pointerup":case"MSPointerUp":case"mouseup":case"touchcancel":case"pointercancel":case"MSPointerCancel":case"mousecancel":this._end(e);break;case"orientationchange":case"resize":this._resize();break;case"transitionend":case"webkitTransitionEnd":case"oTransitionEnd":case"MSTransitionEnd":this._transitionEnd(e);break;case"wheel":case"DOMMouseScroll":case"mousewheel":this._wheel(e);break;case"keydown":this._key(e);break;case"click":if(this.enabled&&!e._constructed){e.preventDefault();e.stopPropagation()}break}}};function createDefaultScrollbar(direction,interactive,type){var scrollbar=document.createElement("div"),indicator=document.createElement("div");if(type===true){scrollbar.style.cssText="position:absolute;z-index:9999";indicator.style.cssText="-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;position:absolute;background:rgba(0,0,0,0.5);border:1px solid rgba(255,255,255,0.9);border-radius:3px"}indicator.className="iScrollIndicator";if(direction=="h"){if(type===true){scrollbar.style.cssText+=";height:7px;left:2px;right:2px;bottom:0";indicator.style.height="100%"}scrollbar.className="iScrollHorizontalScrollbar"}else{if(type===true){scrollbar.style.cssText+=";width:7px;bottom:2px;top:2px;right:1px";indicator.style.width="100%"}scrollbar.className="iScrollVerticalScrollbar"}scrollbar.style.cssText+=";overflow:hidden";if(!interactive){scrollbar.style.pointerEvents="none"}scrollbar.appendChild(indicator);return scrollbar}function Indicator(scroller,options){this.wrapper=typeof options.el=="string"?document.querySelector(options.el):options.el;this.wrapperStyle=this.wrapper.style;this.indicator=this.wrapper.children[0];this.indicatorStyle=this.indicator.style;this.scroller=scroller;this.options={listenX:true,listenY:true,interactive:false,resize:true,defaultScrollbars:false,shrink:false,fade:false,speedRatioX:0,speedRatioY:0};for(var i in options){this.options[i]=options[i]}this.sizeRatioX=1;this.sizeRatioY=1;this.maxPosX=0;this.maxPosY=0;if(this.options.interactive){if(!this.options.disableTouch){utils.addEvent(this.indicator,"touchstart",this);utils.addEvent(window,"touchend",this)}if(!this.options.disablePointer){utils.addEvent(this.indicator,utils.prefixPointerEvent("pointerdown"),this);utils.addEvent(window,utils.prefixPointerEvent("pointerup"),this)}if(!this.options.disableMouse){utils.addEvent(this.indicator,"mousedown",this);utils.addEvent(window,"mouseup",this)}}if(this.options.fade){this.wrapperStyle[utils.style.transform]=this.scroller.translateZ;var durationProp=utils.style.transitionDuration;this.wrapperStyle[durationProp]=utils.isBadAndroid?"0.0001ms":"0ms";var self=this;if(utils.isBadAndroid){rAF((function(){if(self.wrapperStyle[durationProp]==="0.0001ms"){self.wrapperStyle[durationProp]="0s"}}))}this.wrapperStyle.opacity="0"}}Indicator.prototype={handleEvent:function(e){switch(e.type){case"touchstart":case"pointerdown":case"MSPointerDown":case"mousedown":this._start(e);break;case"touchmove":case"pointermove":case"MSPointerMove":case"mousemove":this._move(e);break;case"touchend":case"pointerup":case"MSPointerUp":case"mouseup":case"touchcancel":case"pointercancel":case"MSPointerCancel":case"mousecancel":this._end(e);break}},destroy:function(){if(this.options.fadeScrollbars){clearTimeout(this.fadeTimeout);this.fadeTimeout=null}if(this.options.interactive){utils.removeEvent(this.indicator,"touchstart",this);utils.removeEvent(this.indicator,utils.prefixPointerEvent("pointerdown"),this);utils.removeEvent(this.indicator,"mousedown",this);utils.removeEvent(window,"touchmove",this);utils.removeEvent(window,utils.prefixPointerEvent("pointermove"),this);utils.removeEvent(window,"mousemove",this);utils.removeEvent(window,"touchend",this);utils.removeEvent(window,utils.prefixPointerEvent("pointerup"),this);utils.removeEvent(window,"mouseup",this)}if(this.options.defaultScrollbars){this.wrapper.parentNode.removeChild(this.wrapper)}},_start:function(e){var point=e.touches?e.touches[0]:e;e.preventDefault();e.stopPropagation();this.transitionTime();this.initiated=true;this.moved=false;this.lastPointX=point.pageX;this.lastPointY=point.pageY;this.startTime=utils.getTime();if(!this.options.disableTouch){utils.addEvent(window,"touchmove",this)}if(!this.options.disablePointer){utils.addEvent(window,utils.prefixPointerEvent("pointermove"),this)}if(!this.options.disableMouse){utils.addEvent(window,"mousemove",this)}this.scroller._execEvent("beforeScrollStart")},_move:function(e){var point=e.touches?e.touches[0]:e,deltaX,deltaY,newX,newY,timestamp=utils.getTime();if(!this.moved){this.scroller._execEvent("scrollStart")}this.moved=true;deltaX=point.pageX-this.lastPointX;this.lastPointX=point.pageX;deltaY=point.pageY-this.lastPointY;this.lastPointY=point.pageY;newX=this.x+deltaX;newY=this.y+deltaY;this._pos(newX,newY);e.preventDefault();e.stopPropagation()},_end:function(e){if(!this.initiated){return}this.initiated=false;e.preventDefault();e.stopPropagation();utils.removeEvent(window,"touchmove",this);utils.removeEvent(window,utils.prefixPointerEvent("pointermove"),this);utils.removeEvent(window,"mousemove",this);if(this.scroller.options.snap){var snap=this.scroller._nearestSnap(this.scroller.x,this.scroller.y);var time=this.options.snapSpeed||Math.max(Math.max(Math.min(Math.abs(this.scroller.x-snap.x),1e3),Math.min(Math.abs(this.scroller.y-snap.y),1e3)),300);if(this.scroller.x!=snap.x||this.scroller.y!=snap.y){this.scroller.directionX=0;this.scroller.directionY=0;this.scroller.currentPage=snap;this.scroller.scrollTo(snap.x,snap.y,time,this.scroller.options.bounceEasing)}}if(this.moved){this.scroller._execEvent("scrollEnd")}},transitionTime:function(time){time=time||0;var durationProp=utils.style.transitionDuration;this.indicatorStyle[durationProp]=time+"ms";if(!time&&utils.isBadAndroid){this.indicatorStyle[durationProp]="0.0001ms";var self=this;rAF((function(){if(self.indicatorStyle[durationProp]==="0.0001ms"){self.indicatorStyle[durationProp]="0s"}}))}},transitionTimingFunction:function(easing){this.indicatorStyle[utils.style.transitionTimingFunction]=easing},refresh:function(){this.transitionTime();if(this.options.listenX&&!this.options.listenY){this.indicatorStyle.display=this.scroller.hasHorizontalScroll?"block":"none"}else if(this.options.listenY&&!this.options.listenX){this.indicatorStyle.display=this.scroller.hasVerticalScroll?"block":"none"}else{this.indicatorStyle.display=this.scroller.hasHorizontalScroll||this.scroller.hasVerticalScroll?"block":"none"}if(this.scroller.hasHorizontalScroll&&this.scroller.hasVerticalScroll){utils.addClass(this.wrapper,"iScrollBothScrollbars");utils.removeClass(this.wrapper,"iScrollLoneScrollbar");if(this.options.defaultScrollbars&&this.options.customStyle){if(this.options.listenX){this.wrapper.style.right="8px"}else{this.wrapper.style.bottom="8px"}}}else{utils.removeClass(this.wrapper,"iScrollBothScrollbars");utils.addClass(this.wrapper,"iScrollLoneScrollbar");if(this.options.defaultScrollbars&&this.options.customStyle){if(this.options.listenX){this.wrapper.style.right="2px"}else{this.wrapper.style.bottom="2px"}}}var r=this.wrapper.offsetHeight;if(this.options.listenX){this.wrapperWidth=this.wrapper.clientWidth;if(this.options.resize){this.indicatorWidth=Math.max(Math.round(this.wrapperWidth*this.wrapperWidth/(this.scroller.scrollerWidth||this.wrapperWidth||1)),8);this.indicatorStyle.width=this.indicatorWidth+"px"}else{this.indicatorWidth=this.indicator.clientWidth}this.maxPosX=this.wrapperWidth-this.indicatorWidth;if(this.options.shrink=="clip"){this.minBoundaryX=-this.indicatorWidth+8;this.maxBoundaryX=this.wrapperWidth-8}else{this.minBoundaryX=0;this.maxBoundaryX=this.maxPosX}this.sizeRatioX=this.options.speedRatioX||this.scroller.maxScrollX&&this.maxPosX/this.scroller.maxScrollX}if(this.options.listenY){this.wrapperHeight=this.wrapper.clientHeight;if(this.options.resize){this.indicatorHeight=Math.max(Math.round(this.wrapperHeight*this.wrapperHeight/(this.scroller.scrollerHeight||this.wrapperHeight||1)),8);this.indicatorStyle.height=this.indicatorHeight+"px"}else{this.indicatorHeight=this.indicator.clientHeight}this.maxPosY=this.wrapperHeight-this.indicatorHeight;if(this.options.shrink=="clip"){this.minBoundaryY=-this.indicatorHeight+8;this.maxBoundaryY=this.wrapperHeight-8}else{this.minBoundaryY=0;this.maxBoundaryY=this.maxPosY}this.maxPosY=this.wrapperHeight-this.indicatorHeight;this.sizeRatioY=this.options.speedRatioY||this.scroller.maxScrollY&&this.maxPosY/this.scroller.maxScrollY}this.updatePosition()},updatePosition:function(){var x=this.options.listenX&&Math.round(this.sizeRatioX*this.scroller.x)||0,y=this.options.listenY&&Math.round(this.sizeRatioY*this.scroller.y)||0;if(!this.options.ignoreBoundaries){if(x<this.minBoundaryX){if(this.options.shrink=="scale"){this.width=Math.max(this.indicatorWidth+x,8);this.indicatorStyle.width=this.width+"px"}x=this.minBoundaryX}else if(x>this.maxBoundaryX){if(this.options.shrink=="scale"){this.width=Math.max(this.indicatorWidth-(x-this.maxPosX),8);this.indicatorStyle.width=this.width+"px";x=this.maxPosX+this.indicatorWidth-this.width}else{x=this.maxBoundaryX}}else if(this.options.shrink=="scale"&&this.width!=this.indicatorWidth){this.width=this.indicatorWidth;this.indicatorStyle.width=this.width+"px"}if(y<this.minBoundaryY){if(this.options.shrink=="scale"){this.height=Math.max(this.indicatorHeight+y*3,8);this.indicatorStyle.height=this.height+"px"}y=this.minBoundaryY}else if(y>this.maxBoundaryY){if(this.options.shrink=="scale"){this.height=Math.max(this.indicatorHeight-(y-this.maxPosY)*3,8);this.indicatorStyle.height=this.height+"px";y=this.maxPosY+this.indicatorHeight-this.height}else{y=this.maxBoundaryY}}else if(this.options.shrink=="scale"&&this.height!=this.indicatorHeight){this.height=this.indicatorHeight;this.indicatorStyle.height=this.height+"px"}}this.x=x;this.y=y;if(this.scroller.options.useTransform){this.indicatorStyle[utils.style.transform]="translate("+x+"px,"+y+"px)"+this.scroller.translateZ}else{this.indicatorStyle.left=x+"px";this.indicatorStyle.top=y+"px"}},_pos:function(x,y){if(x<0){x=0}else if(x>this.maxPosX){x=this.maxPosX}if(y<0){y=0}else if(y>this.maxPosY){y=this.maxPosY}x=this.options.listenX?Math.round(x/this.sizeRatioX):this.scroller.x;y=this.options.listenY?Math.round(y/this.sizeRatioY):this.scroller.y;this.scroller.scrollTo(x,y)},fade:function(val,hold){if(hold&&!this.visible){return}clearTimeout(this.fadeTimeout);this.fadeTimeout=null;var time=val?250:500,delay=val?0:300;val=val?"1":"0";this.wrapperStyle[utils.style.transitionDuration]=time+"ms";this.fadeTimeout=setTimeout(function(val){this.wrapperStyle.opacity=val;this.visible=+val}.bind(this,val),delay)}};IScroll.utils=utils;if(typeof module!="undefined"&&module.exports){module.exports=IScroll}else if(typeof define=="function"&&define.amd){define((function(){return IScroll}))}else{window.IScroll=IScroll}})(window,document,Math);(function(factory){var registeredInModuleLoader=false;if(typeof define==="function"&&define.amd){define(factory);registeredInModuleLoader=true}if(typeof exports==="object"){module.exports=factory();registeredInModuleLoader=true}if(!registeredInModuleLoader){var OldCookies=window.Cookies;var api=window.Cookies=factory();api.noConflict=function(){window.Cookies=OldCookies;return api}}})((function(){function extend(){var i=0;var result={};for(;i<arguments.length;i++){var attributes=arguments[i];for(var key in attributes){result[key]=attributes[key]}}return result}function init(converter){function api(key,value,attributes){var result;if(typeof document==="undefined"){return}if(arguments.length>1){attributes=extend({path:"/"},api.defaults,attributes);if(typeof attributes.expires==="number"){var expires=new Date;expires.setMilliseconds(expires.getMilliseconds()+attributes.expires*864e5);attributes.expires=expires}attributes.expires=attributes.expires?attributes.expires.toUTCString():"";try{result=JSON.stringify(value);if(/^[\{\[]/.test(result)){value=result}}catch(e){}if(!converter.write){value=encodeURIComponent(String(value)).replace(/%(23|24|26|2B|3A|3C|3E|3D|2F|3F|40|5B|5D|5E|60|7B|7D|7C)/g,decodeURIComponent)}else{value=converter.write(value,key)}key=encodeURIComponent(String(key));key=key.replace(/%(23|24|26|2B|5E|60|7C)/g,decodeURIComponent);key=key.replace(/[\(\)]/g,escape);var stringifiedAttributes="";for(var attributeName in attributes){if(!attributes[attributeName]){continue}stringifiedAttributes+="; "+attributeName;if(attributes[attributeName]===true){continue}stringifiedAttributes+="="+attributes[attributeName]}return document.cookie=key+"="+value+stringifiedAttributes}if(!key){result={}}var cookies=document.cookie?document.cookie.split("; "):[];var rdecode=/(%[0-9A-Z]{2})+/g;var i=0;for(;i<cookies.length;i++){var parts=cookies[i].split("=");var cookie=parts.slice(1).join("=");if(!this.json&&cookie.charAt(0)==='"'){cookie=cookie.slice(1,-1)}try{var name=parts[0].replace(rdecode,decodeURIComponent);cookie=converter.read?converter.read(cookie,name):converter(cookie,name)||cookie.replace(rdecode,decodeURIComponent);if(this.json){try{cookie=JSON.parse(cookie)}catch(e){}}if(key===name){result=cookie;break}if(!key){result[name]=cookie}}catch(e){}}return result}api.set=api;api.get=function(key){return api.call(api,key)};api.getJSON=function(){return api.apply({json:true},[].slice.call(arguments))};api.defaults={};api.remove=function(key,attributes){api(key,"",extend(attributes,{expires:-1}))};api.withConverter=init;return api}return init((function(){}))}));"use strict";$.widget("wm.datatable",{options:{data:[],statusMsg:"",colDefs:[],rowActions:[],headerConfig:[],sortInfo:{field:"",direction:""},isMobile:false,enableSort:true,filtermode:"",filteronkeypress:false,activeRow:undefined,isrowselectable:false,height:"100%",showHeader:true,selectFirstRow:false,showNewRow:true,showRowIndex:false,enableRowSelection:true,enableColumnSelection:false,multiselect:false,filterNullRecords:true,navigation:"",isdynamictable:"",cssClassNames:{tableRow:"app-datagrid-row",headerCell:"app-datagrid-header-cell",groupHeaderCell:"app-datagrid-group-header-cell",tableCell:"app-datagrid-cell",grid:"",gridDefault:"table",gridBody:"app-datagrid-body",gridFooter:"app-datagrid-footer",deleteRow:"danger",ascIcon:"wi wi-long-arrow-up",descIcon:"wi wi-long-arrow-down",selectedColumn:"selected-column",rowExpandIcon:"wi wi-minus-square",rowCollapseIcon:"wi wi-plus-square",gridRowExpansionClass:"table-row-expansion",expandedRowClass:"expanded"},dataStates:{loading:"Loading...",ready:"",error:"An error occurred in loading the data.",nodata:"No data found."},messages:{selectField:"Select Field"},loadingicon:"",startRowIndex:1,editmode:"",actionsEnabled:{edit:true,new:true},rowExpansionEnabled:false,rowDef:{position:"0",closeothers:false,columnwidth:"30px"},summaryRow:false,summaryRowDefs:[],summaryRowDefsObject:[],searchHandler:function(){},sortHandler:function(){}},customColumnDefs:{checkbox:{field:"checkbox",type:"custom",displayName:"",sortable:false,searchable:false,resizable:false,selectable:false,readonly:true,style:"width: 50px; text-align: center;",textAlignment:"center",isMultiSelectCol:true,show:true},radio:{field:"radio",type:"custom",displayName:"",sortable:false,searchable:false,resizable:false,selectable:false,readonly:true,style:"width: 50px; text-align: center;",textAlignment:"center",show:true},__expand:{field:"__expand",type:"custom",displayName:"",sortable:false,searchable:false,resizable:false,selectable:false,readonly:true,style:"text-align: center;",textAlignment:"center",show:true,width:"30px"},rowIndex:{field:"rowIndex",type:"custom",displayName:"S. No.",sortable:false,searchable:false,selectable:false,readonly:true,style:"text-align: left;",textAlignment:"left",show:true}},CONSTANTS:{QUICK_EDIT:"quickedit",INLINE:"inline",FORM:"form",DIALOG:"dialog",SEARCH:"search",MULTI_COLUMN:"multicolumn"},Utils:{random:function(){return Math.floor((1+Math.random())*65536).toString(16).substring(1)},isDefined:function(value){return value!==undefined},isObject:function(value){return value!==null&&typeof value==="object"},getObjectIndex:function(data,obj){var matchIndex=-1;if(!Array.isArray(data)){return-1}data.some((function(data,index){if(_.isEqual(data,obj)){matchIndex=index;return true}}));return matchIndex},generateGuid:function(){var random=this.random;return random()+random()+"-"+random()+"-"+random()+"-"+random()+"-"+random()+random()+random()},isValidHtml:function(htm){var validHtmlRegex=/<[a-z][\s\S]*>/i;return validHtmlRegex.test(htm)},isMac:function(){return navigator.platform.toUpperCase().indexOf("MAC")>=0},isDeleteKey:function(event){return this.isMac()&&event.which===8||event.which===46}},_setStyles:function($el,styleString){if(!styleString){return}var styles=styleString.split(";");styles.forEach((function(styleBit){var parts=styleBit.split(":");var property,value;if(parts.length===2){property=parts[0].trim();value=parts[1].trim();$el.css(property,value)}}));return styleString},_getColumnSortDirection:function(field){var sortInfo=this.options.sortInfo;return field===sortInfo.field?sortInfo.direction:""},_toggleSpacingClasses:function(value){switch(value){case"normal":this.tableContainer.removeClass("table-condensed");if(this.gridSearch){this.gridSearch.find(".form-group").removeClass("form-group-sm");this.gridSearch.find("select").removeClass("input-sm");this.gridSearch.find(".input-group").removeClass("input-group-sm")}break;case"condensed":this.tableContainer.addClass("table-condensed");if(this.gridSearch){this.gridSearch.find(".form-group").addClass("form-group-sm");this.gridSearch.find("select").addClass("input-sm");this.gridSearch.find(".input-group").addClass("input-group-sm")}break}},_getColSpan:function(cols){var colSpan=0,self=this;_.forEach(cols,(function(col){var colDef;if(col.isGroup){colSpan+=self._getColSpan(col.columns)}else{colDef=_.find(self.preparedHeaderData,{field:col.field});colSpan=!_.isUndefined(colDef.show)&&!colDef.show?colSpan:colSpan+1}}));return colSpan},_setColSpan:function(config){var self=this;_.forEach(config,(function(col){if(col.isGroup){col.colspan=self._getColSpan(col.columns);self.gridHeaderElement.find('th[data-col-group="'+col.field+'"]').attr("colspan",col.colspan);self._setColSpan(col.columns)}}))},_getHeaderTemplate:function(){var $colgroup=$("<colgroup></colgroup>"),$htm=this.gridHeaderElement.empty(),isDefined=this.Utils.isDefined,sortInfo=this.options.sortInfo,sortField=sortInfo.field,self=this,rowTemplates=[],headerConfig=this.options.headerConfig,headerGroupClass=self.options.cssClassNames.groupHeaderCell,$row;function generateHeaderCell(value,index){var id=index,field=value.field,headerLabel=self.Utils.isDefined(value.displayName)?value.displayName:field||"",titleLabel=headerLabel,sortEnabled=self.options.enableSort&&(_.isUndefined(value.show)||value.show)&&(_.isUndefined(value.sortable)||value.sortable),headerClasses=self.options.cssClassNames.headerCell,sortClass,tl="",$th,$col,$sortSpan,$sortIcon;headerLabel=!self.Utils.isDefined(headerLabel)||headerLabel===""?" ":headerLabel;$col=$("<col/>");if(value.style){self._setStyles($col,value.style)}$colgroup.append($col);if(isDefined(value.class)){headerClasses+=" "+value.class}if(value.selected){headerClasses+=" "+self.options.cssClassNames.selectedColumn+" "}if(field==="checkbox"||field==="radio"){headerClasses+=" grid-col-small"}tl+="<th";if((_.isUndefined(value.resizable)||value.resizable)&&(_.isUndefined(value.show)||value.show)){tl+=" data-col-resizable"}if(self.options.enableColumnSelection&&(_.isUndefined(value.selectable)||value.selectable)){tl+=" data-col-selectable"}if(sortEnabled){tl+=" data-col-sortable"}tl+="></th>";$th=$(tl);$th.attr({"data-col-id":id,"data-col-field":field,title:titleLabel});self._setStyles($th,"text-align: "+value.textAlignment);$th.addClass(headerClasses);if(field==="checkbox"){$th.append('<input type="checkbox" />')}$th.append('<span class="header-data">'+headerLabel+"</span>");if(sortEnabled){$sortSpan=$('<span class="sort-buttons-container"></span>');$sortIcon=$('<i class="sort-icon"></i>');if(sortField&&sortField===value.field&&sortInfo.direction){sortClass=sortInfo.direction==="asc"?self.options.cssClassNames.ascIcon:self.options.cssClassNames.descIcon;$sortSpan.addClass("active");$sortIcon.addClass(sortClass+" "+sortInfo.direction)}$th.append($sortSpan.append($sortIcon))}return $th}function generateRow(cols,i){var $thList=[];_.forEach(cols,(function(col){var index,value,classes,styles,$groupTl;if(col.columns&&col.columns.length){$groupTl=$("<th></th>");classes=headerGroupClass+" "+(col.class||"");styles="text-align: "+col.textAlignment+";background-color: "+(col.backgroundColor||"")+";";$groupTl.attr({"data-col-group":col.field,class:classes,title:col.displayName});self._setStyles($groupTl,styles);$groupTl.append('<span class="header-data">'+col.displayName+"</span>");$thList.push($groupTl);generateRow(col.columns,i+1)}else{index=_.findIndex(self.preparedHeaderData,{field:col.field});value=self.preparedHeaderData[index];if(value){$thList.push(generateHeaderCell(value,index))}}}));rowTemplates[i]=rowTemplates[i]||[];rowTemplates[i]=rowTemplates[i].concat($thList)}if(_.isEmpty(headerConfig)){$row=$("<tr></tr>");self.preparedHeaderData.forEach((function(value,index){$row.append(generateHeaderCell(value,index))}));$htm.append($row)}else{generateRow(headerConfig,0);rowTemplates.forEach((function($thList,index){$row=$('<tr role="row" tabindex="0"></tr>');var rowSpan=rowTemplates.length-index;$thList.forEach((function($th){if(rowSpan>1&&$th.hasClass("app-datagrid-header-cell")){$th.attr("rowspan",rowSpan)}$row.append($th)}));$htm.append($row)}))}return{colgroup:$colgroup,header:$htm}},_getSearchEl:function(){var htm,sel='<select name="wm-datatable" data-element="dgFilterValue" '+'class="form-control app-select">'+'<option value="" selected class="placeholder">'+this.options.messages.selectField+"</option>",searchLabel=this.Utils.isDefined(this.options.searchLabel)&&this.options.searchLabel.length?this.options.searchLabel:"";this.options.colDefs.forEach((function(colDef,index){if(colDef.field!=="none"&&colDef.field!=="rowOperations"&&colDef.searchable&&_.toString(colDef.showinfilter)!=="false"){sel+='<option value="'+colDef.field+'" data-coldef-index="'+index+'">'+(colDef.displayName||colDef.field)+"</option>"}}));sel+="</select>";htm='<form class="form-search form-inline" onsubmit="return false;"><div class="form-group">'+'<input type="text" data-element="dgSearchText" class="form-control app-textbox" value="" placeholder="'+searchLabel+'"/>'+'</div><div class="input-append input-group">'+sel+'<span class="input-group-addon"><button type="button" data-element="dgSearchButton" class="app-search-button" title="'+searchLabel+'">'+'<i class="wi wi-search"></i>'+"</button></span>"+"</div>"+"</div></form>";var $htm=$(htm);this._setStyles($htm.find('[data-element="dgSearchText"]'),"display: inline-block;");return $htm},_appendRowExpansionButtons:function($htm){var self=this;$htm.find("[data-identifier='rowExpansionButtons']").each((function(index){var _rowData,$row,rowId,rowIndex=index;$row=$(this).closest("tr.app-datagrid-row");rowId=parseInt($row.attr("data-row-id"),10);_rowData=_.clone(self.options.data[rowId]);_rowData.$index=rowIndex+1;self.options.generateRowExpansionCell(_rowData,rowIndex);$(this).empty().append(self.options.getRowExpansionAction(rowIndex))}))},setSummaryRowDef:function(key,data,rowIndex,refreshIndicator){this.options.summaryRow=true;if(this.options.summaryRowDefs[rowIndex]==undefined){this.options.summaryRowDefs[rowIndex]={};this.options.summaryRowDefsObject[rowIndex]={}}this.options.summaryRowDefsObject[rowIndex][key]=data;this.options.summaryRowDefs[rowIndex][key]=data&&data.value?data.value:data;if(refreshIndicator)this.refreshGridData()},_getSummaryRowTemplate:function(){var self=this,$tfoot=$('<tfoot class="'+this.options.cssClassNames.gridFooter+'"></tfoot>');this._setStyles($tfoot,"border-top: 3px solid #eee;");_.forEach(this.options.summaryRowDefs,(function(row,index){row.$$pk=index;$tfoot.append(self._getRowTemplate(row,index,true))}));return $tfoot},getPageStartIndex:function(){var currentPage=this.options.getCurrentPage(),pagesize=this.options.getPageSize();var isPrevPageUpdated=this.options.actionRowPage<currentPage;var pageIndex=isPrevPageUpdated?this.options.actionRowPage:currentPage;return(pageIndex-1)*pagesize},_getPreparedDataForInfiniteScroll:function($tbody,preparedData){preparedData=preparedData.filter((function(row,index){var isExists=$tbody.find("tr.app-datagrid-row[data-row-id="+row.$$pk+"]");if(!isExists.length){return row}}));return preparedData},_updateTrData:function($tbody){var editedRow,updatedRowData,self=this;editedRow=$tbody.find("tr.app-datagrid-row[data-row-id="+self.options.actionRowIndex+"]");updatedRowData=self.preparedData[self.options.actionRowIndex];self.options.generateCustomExpressions(updatedRowData,self.options.actionRowIndex);var rowTemplate=self._getRowTemplate(updatedRowData,self.options.actionRowIndex);editedRow.replaceWith(rowTemplate[0])},_handleCRUDForInfiniteScroll:function($tbody){var self=this;if((self.options.lastActionPerformed===self.options.ACTIONS.SEARCH_OR_SORT||self.options.lastActionPerformed===self.options.ACTIONS.FILTER_CRITERIA||self.options.lastActionPerformed===self.options.ACTIONS.DATASET_UPDATE)&&(self.options.isSearchTrigerred||self.options.isDatasetUpdated||self.options.isDataUpdatedByUser)){$tbody.html("");if(this.options.navigation==="On-Demand"&&!this.options.isLastPage)this.element.find(".on-demand-datagrid").show();self.options.clearCustomExpression();self.options.clearRowDetailExpression();self.options.setIsSearchTrigerred(false);self.options.setIsDatasetUpdated(false)}else if(self.options.lastActionPerformed===self.options.ACTIONS.EDIT&&self.options.actionRowIndex!==undefined&&self.options.editmode!==this.CONSTANTS.QUICK_EDIT){self._updateTrData($tbody)}},_getGridTemplate:function(){var self=this,preparedData,$tbody,pageStartIndex=self.getPageStartIndex(),startRowIndex=self.options.startRowIndex,isScrollorOnDemand=self.options.isNavTypeScrollOrOndemand();if(isScrollorOnDemand){$tbody=this.gridElement;if(this.renderTableOnViewLess){$tbody=this.gridElement.empty();this.hideLoadingIndicator();this.renderTableOnViewLess=false}}else{$tbody=this.gridElement.empty()}if(isScrollorOnDemand){this._handleCRUDForInfiniteScroll($tbody);if(self.options.lastActionPerformed===self.options.ACTIONS.DELETE){startRowIndex=self.options.actionRowIndex+1}preparedData=this._getPreparedDataForInfiniteScroll($tbody,this.preparedData.slice(pageStartIndex))}else{this.options.clearCustomExpression();this.options.clearRowDetailExpression();preparedData=this.preparedData}_.forEach(preparedData,(function(row,index){var _row=_.clone(row),rowIndex=isScrollorOnDemand?startRowIndex+index-1:index,rowTemplate;_row.$index=rowIndex+1;self.options.generateCustomExpressions(_row,rowIndex);self.options.registerRowNgClassWatcher(_row,rowIndex);rowTemplate=self._getRowTemplate(row,rowIndex);$tbody.append(rowTemplate);if(self.options.rowExpansionEnabled){var rowHeight=self.options.rowDef.height;var rowPosition=self.options.rowDef.position;var colSpanLength=_.filter(self.preparedHeaderData,(function(c){return c.show})).length-1;var $tr=$('<tr class="app-datagrid-detail-row" tabindex="0" role="row" data-row-id="'+row.$$pk+'"><td></td><td colspan="'+colSpanLength+'" class="app-datagrid-row-details-cell">'+'<div class="row-overlay"><div class="row-status"><i class="'+self.options.loadingicon+'"></i></div></div><div class="details-section"></div>'+"</td></tr>");if(rowPosition==="-1"){$tr=$('<tr class="app-datagrid-detail-row" tabindex="0" role="row" data-row-id="'+row.$$pk+'"><td colspan="'+colSpanLength+'" class="app-datagrid-row-details-cell">'+'<div class="row-overlay"><div class="row-status"><i class="'+self.options.loadingicon+'"></i></div></div><div class="details-section"></div>'+"</td><td></td></tr>")}if(rowHeight){$tr.find("div.row-overlay").css("min-height",rowHeight)}$tr.css("display","none");$tr.find(".details-section").css("display","none");$tbody.append($tr)}}));if(!this.options.isdynamictable){this.options.setLastActionPerformed(this.options.ACTIONS.DEFAULT);this.options.setIsDataUpdatedByUser(false);this.options.clearActionRowIndex()}return $tbody},_getRowTemplate:function(row,rowIndex,summaryRow){var $htm,self=this,gridOptions=self.options;$htm=$('<tr role="row" tabindex="0" class="'+gridOptions.cssClassNames.tableRow+" "+(gridOptions.rowClass||"")+'" data-row-id="'+row.$$pk+'"></tr>');this.preparedHeaderData.forEach((function(current,colIndex){$htm.append(self._getColumnTemplate(row,colIndex,current,rowIndex,summaryRow))}));return $htm},_getRowActionsColumnDefIndex:function(){var i,len=this.preparedHeaderData.length;for(i=0;i<len;i+=1){if(this.preparedHeaderData[i].field==="rowOperations"){return i}}return-1},_getRowActionsColumnDef:function(){var index=this._getRowActionsColumnDefIndex();if(index!==-1){return this.preparedHeaderData[index]}return null},_getCheckboxTemplate:function(row,isMultiSelectCol){var checked=row._checked===true?" checked":"",disabled=row.disabed?" disabled":"",chkBoxName=isMultiSelectCol?"gridMultiSelect":"";return'<input name="'+chkBoxName+'" type="checkbox"'+checked+disabled+"/>"},_getRadioTemplate:function(row){var checked=row._checked===true?" checked":"",disabled=row.disabed?" disabled":"";return'<input type="radio" rowSelectInput name="" value=""'+checked+disabled+"/>"},_getColumnTemplate:function(row,colId,colDef,rowIndex,summaryRow){var $htm,columnValue,columnValueObject,cellPreloader='<div class="overlay"><span aria-hidden="true" class="form-field-spinner fa fa-circle-o-notch fa-spin form-control-feedback"></span></div>',customExpressionHtml,innerTmpl,classes=this.options.cssClassNames.tableCell+" "+(colDef.class||""),colExpression=colDef.customExpression,styles="text-align: "+colDef.textAlignment+";position: relative;";$htm=$('<td class="'+classes+'" data-col-id="'+colId+'" role="cell"></td>');this._setStyles($htm,styles);columnValue=_.get(row,colDef.field);if(summaryRow){columnValueObject=this.options.summaryRowDefsObject[rowIndex][colDef.field];if(columnValueObject instanceof Object){if(columnValueObject.class){$htm.addClass(columnValueObject.class)}}if(columnValue instanceof Promise){customExpressionHtml=cellPreloader;$htm.html(customExpressionHtml)}else{innerTmpl=_.isUndefined(columnValue)||columnValue===null?"":columnValue;$htm.html(innerTmpl)}}else if(colExpression){$htm.html(this.options.getCustomExpression(colDef.field,rowIndex))}else{if(colDef.type!=="custom"){columnValue=_.get(row,colDef.field);if(this.options.filterNullRecords&&columnValue===null||_.isUndefined(columnValue)){columnValue=""}$htm.attr("title",columnValue);$htm.text(""+columnValue)}else{switch(colDef.field){case"checkbox":innerTmpl=this._getCheckboxTemplate(row,colDef.isMultiSelectCol);break;case"__expand":innerTmpl='<span class="row-expansion-column" data-identifier="rowExpansionButtons"></span>';break;case"radio":innerTmpl=this._getRadioTemplate(row);break;case"rowOperations":innerTmpl='<span class="actions-column" data-identifier="actionButtons"></span>';break;case"rowIndex":innerTmpl=row.$$index;break;case"none":innerTmpl="";break;default:innerTmpl=_.isUndefined(columnValue)||columnValue===null?"":columnValue}$htm.html(innerTmpl)}}row.$index=rowIndex+1;this.options.registerColNgClassWatcher(row,colDef,rowIndex,colId,summaryRow);return $htm},_getEventTemplate:function(colDef){var events=_.filter(_.keys(colDef),(function(key){return _.startsWith(key,"on")})),changeEvt,template="";changeEvt=colDef.editWidgetType==="autocomplete"?"onSubmit":"onChange";events=_.union(events,[changeEvt]);_.forEach(events,(function(eventName){template+=" "+_.kebabCase(eventName)+'="';if(eventName==="onSubmit"||eventName==="onChange"){template+="_"+eventName+"Field($event, $scope, newVal, oldVal);"}template+=(colDef[eventName]||"")+'" '}));return template},_insertFieldInHeaderConfig:function(headerConfig,fieldName,position){var index=_.findIndex(headerConfig,{field:position}),self=this;if(index===-1){_.forEach(headerConfig,(function(config){if(config.isGroup){self._insertFieldInHeaderConfig(config.columns,fieldName,position)}}))}else{headerConfig.splice(index+1,0,{field:fieldName,isPredefined:true})}},setHeaderConfigForDefaultFields:function(name,position){if(_.isEmpty(this.options.headerConfig)){return}var fieldName=this.customColumnDefs[name].field;_.remove(this.options.headerConfig,{field:fieldName});if(position==="0"){this.options.headerConfig.unshift({field:fieldName,isPredefined:true})}else if(position==="-1"){this.options.headerConfig.push({field:fieldName,isPredefined:true})}else{this._insertFieldInHeaderConfig(this.options.headerConfig,fieldName,position)}},setDefaultColsData:function(header){if(_.isEmpty(this.preparedHeaderData)){return}var rowExpandPosition,rowExpandCol;if(this.options.rowExpansionEnabled){rowExpandPosition=this.options.rowDef.position;rowExpandCol=_.clone(this.customColumnDefs.__expand);rowExpandCol.width=this.options.rowDef.columnwidth;if(header){if(rowExpandPosition==="-1"){this.preparedHeaderData.push(rowExpandCol)}else if(rowExpandPosition==="0"){this.preparedHeaderData.unshift(rowExpandCol)}else{var index=_.findIndex(this.preparedHeaderData,{field:rowExpandPosition});this.preparedHeaderData.splice(index+1,0,rowExpandCol)}}this.setHeaderConfigForDefaultFields("__expand",rowExpandPosition)}if(this.options.showRowIndex){if(header){this.preparedHeaderData.unshift(this.customColumnDefs.rowIndex)}this.setHeaderConfigForDefaultFields("rowIndex","0")}if(this.options.multiselect){if(header){this.preparedHeaderData.unshift(this.customColumnDefs.checkbox)}this.setHeaderConfigForDefaultFields("checkbox","0")}if(!this.options.multiselect&&this.options.showRadioColumn){if(header){this.preparedHeaderData.unshift(this.customColumnDefs.radio)}this.setHeaderConfigForDefaultFields("radio","0")}},_prepareHeaderData:function(){this.preparedHeaderData=[];$.extend(this.preparedHeaderData,this.options.colDefs);this.setDefaultColsData(true)},_generateCustomColDefs:function(){var colDefs=[],generatedColDefs={};function generateColumnDef(key){if(!generatedColDefs[key]){var colDef={type:"string",field:key};colDefs.push(colDef);generatedColDefs[key]=true}}this.options.data.forEach((function(item){_.keys(item).forEach(generateColumnDef)}));this.options.colDefs=colDefs;this._prepareHeaderData()},_prepareData:function(){var data=[],colDefs=this.options.colDefs,self=this,gridData=[],pageStartIndex=self.getPageStartIndex(),isObject=this.Utils.isObject,isDefined=this.Utils.isDefined;if(!this.options.colDefs.length&&this.options.data.length){this._generateCustomColDefs()}gridData=this.options.isNavTypeScrollOrOndemand()?this.options.data.slice(pageStartIndex):this.options.data;gridData.forEach((function(item,i){var rowData=$.extend(true,{},item);colDefs.forEach((function(colDef){if(!colDef.field){return}var fields=colDef.field.split("."),text=item,j,len=fields.length,key,isArray;for(j=0;j<len;j++){key=fields[j];isArray=undefined;if(key.indexOf("[0]")!==-1){key=key.replace("[0]","");isArray=true}if(isObject(text)&&!isArray){text=_.get(text,key)}else if(isArray){text=_.get(text,key+"[0]")}else{text=undefined;break}}if(isDefined(text)){rowData[colDef.field]=text}else if(fields.length>1&&_.has(item,colDef.field)){rowData[colDef.field]=item[colDef.field]}}));rowData.$$index=pageStartIndex+i+1;rowData.$$pk=self.options.isNavTypeScrollOrOndemand()?pageStartIndex+i:i;data.push(rowData)}));if(self.options.isNavTypeScrollOrOndemand()){if(self.options.isSearchTrigerred&&!self.emptySearch||self.options.isDatasetUpdated){self.preparedData=data}else if(self.preparedData.length){data.forEach((function(rowData,index){var rowId=pageStartIndex+index;if(self.preparedData[rowId]&&rowData.$$index===self.preparedData[rowId].$$index){self.preparedData[rowId]=rowData}else{self.preparedData.push(rowData)}}))}else{self.preparedData.push(...data)}}else{self.preparedData=data}},_reselectColumns:function(){var selectedColumns=[],self=this;if(this.gridHeaderElement&&this.options.enableColumnSelection){selectedColumns=this.gridHeaderElement.find("th."+this.options.cssClassNames.selectedColumn);if(selectedColumns.length){selectedColumns.each((function(){self.columnSelectionHandler(undefined,$(this))}))}}if(this.options.multiselect){this.updateSelectAllCheckboxState()}},_create:function(){$.extend(this,{dataStatus:{message:"",state:"ready"},preparedData:[],preparedHeaderData:[],dataStatusContainer:null,gridContainer:null,gridElement:null,gridHeader:null,gridBody:null,columnClickInfo:{},gridFooter:null,gridSearch:null,tableId:null,searchObj:{field:"",value:"",event:null},compiledCellTemplates:{}});this._setStatus=_.debounce((function(isCreated){this.__setStatus(isCreated)}),100);this._debounceOnEnter=_.debounce((function($target,$row,quickEdit,event){this._onEnter($target,$row,quickEdit,event)}),150);this.options.summaryRow=false;this.options.summaryRowDefs=[];this._prepareHeaderData();this._prepareData();this._render(true)},_setGridEditMode:function(val){if(_.isFunction(this.options.setGridEditMode)){this.options.setGridEditMode(val)}},_refreshGrid:function(){this._prepareHeaderData();this._prepareData();this._render();this.addOrRemoveScroll();this._setGridEditMode(false)},refreshGrid:function(){window.clearTimeout(this.refreshGridTimeout);this.refreshGridTimeout=window.setTimeout(this._refreshGrid.bind(this),50)},callRenderGridForInfiniteScroll:function(){this.gridFooter.remove();var $alwaysNewRow=this.gridElement.find("> tr.app-datagrid-row.always-new-row");if($alwaysNewRow.length){$alwaysNewRow.remove()}this._renderGrid(undefined)},refreshGridData:function(){this._prepareData();if(!this.options.isNavTypeScrollOrOndemand()){this.gridFooter.remove();this._renderGrid()}else{this.callRenderGridForInfiniteScroll()}this._reselectColumns();this.addOrRemoveScroll();this._setGridEditMode(false);this.toggleNewRowActions(false)},setDefaultRowData:function(rowData){_.forEach(this.preparedHeaderData,(function(colDef){rowData[colDef.field]=colDef.defaultvalue}))},addNewRow:function(skipFocus,alwaysNewRow){var rowId=this.gridElement.find("> tr.app-datagrid-row:visible").length||99999,self=this,rowData={},$row,$gridBody,$alwaysNewRow;if(!alwaysNewRow&&_.isFunction(this.options.beforeRowInsert)){this.options.beforeRowInsert()}$gridBody=this.gridElement;$alwaysNewRow=$gridBody.find("> tr.app-datagrid-row.always-new-row");if($alwaysNewRow.length){this.setFocusOnElement(undefined,$alwaysNewRow);if(this.options.editmode===this.CONSTANTS.QUICK_EDIT){var $qTarget=$alwaysNewRow.find("input").length>0?$($alwaysNewRow.find("input")[0]):null;if($qTarget!==null){var event=$.Event("keydown");event.which=13;$qTarget.trigger(event)}}return}rowData.$index=rowId;rowData.$$pk=rowId;if(this.options.editmode!==this.CONSTANTS.FORM&&this.options.editmode!==this.CONSTANTS.DIALOG){$row=$(this._getRowTemplate(rowData,rowData.$index));if(!this.preparedData.length){this.setStatus("ready",this.dataStatus.ready)}if(this.options.formPosition==="top"){$gridBody.prepend($row)}else{$gridBody.append($row)}this._appendRowActions($row,true,rowData);this.attachEventHandlers($row);if(alwaysNewRow||this.options.editmode!==this.CONSTANTS.QUICK_EDIT){$row.find(".delete-row-button").hide();if(alwaysNewRow){$row.find(".edit-row-button").hide()}}this._findAndReplaceCompiledTemplates();if(alwaysNewRow){this.setDefaultRowData(rowData);$row.addClass("always-new-row").addClass("row-editing");this.options.runInNgZone((function(){self.makeRowEditable($row,rowData,true)}))}else{$row.trigger("click",[undefined,{action:"edit",operation:"new",skipFocus:skipFocus}])}this.updateSelectAllCheckboxState();this.addOrRemoveScroll();this.options.timeoutCall((function(){self.setColGroupWidths()}),100)}},addLoadMoreBtn:function(onDemandMsg,loadingdatamsg,cb,infScroll){var $btnEl;if(!this.options.isLastPage||infScroll){var self=this;var $parenEl=$('<div class="on-demand-datagrid"><a class="app-button btn btn-block on-demand-load-btn"></a></div>');$btnEl=$parenEl.find("a");$btnEl.append(onDemandMsg);this.element.find(".app-grid-header-inner").append($parenEl);if(infScroll){if(this.element.find(".on-demand-load-btn").length){this.element.find(".on-demand-load-btn").text(this.options.viewlessmessage)}}$btnEl.on("click",(function(e){var lastPage=self.options.getCurrentPage()==self.options.getPageCount();if(!lastPage){self.showLoadingIndicator(loadingdatamsg,false)}if(!self.options.showviewlessbutton){$btnEl.hide()}if(infScroll){if(lastPage){self.element.find(".on-demand-datagrid").remove()}}if(lastPage&&self.options.showviewlessbutton){$btnEl.hide();self.renderTableOnViewLess=true;self.renderPaginationOnViewLess=true;self.options.enableNavigation();self._renderGrid()}if(cb&&typeof cb==="function"){cb(e)}}))}},showLoadingIndicator:function(loadingdatamsg,infScroll){var hasLoadingEl=this.element.find(".loading-data-msg");var $dataGrid=this.element.find(".on-demand-datagrid");if(hasLoadingEl.length&&!infScroll){hasLoadingEl.show()}else if(infScroll&&$dataGrid.length){$dataGrid.show()}else{var $loadingEl=$('<div class="loading-data-msg spin-icon-in-center"><span><i class="app-icon panel-icon fa-spin '+this.options.loadingicon+'"></i>'+'<span class="sr-only">Loading</span><span class="loading-text"></span></span></div>');$loadingEl.find(".loading-text").html(loadingdatamsg);if($dataGrid.length){$dataGrid.append($loadingEl)}else{var gridEl=$('<div class="on-demand-datagrid">'+$loadingEl[0].outerHTML+"</div>");this.element.find(".app-grid-header-inner").append(gridEl)}}},hideLoadingIndicator:function(showLoadBtn,infScroll){if(!showLoadBtn&&!infScroll){this.element.find(".loading-data-msg").hide();this.element.find(".on-demand-load-btn").text(this.options.ondemandmessage);this.element.find(".on-demand-load-btn").show()}else if(this.options.getCurrentPage()==this.options.getPageCount()&&this.options.showviewlessbutton){this.element.find(".on-demand-load-btn").show().text(this.options.viewlessmessage);this.element.find(".loading-data-msg").hide();if(infScroll){if(!this.element.find(".on-demand-load-btn").length){this.options.addLoadMoreBtn()}this.element.find(".loading-data-msg").hide()}}else{this.element.find(".on-demand-datagrid").hide()}},getSelectedRows:function(){this.getSelectedColumns();var selectedRowsData=[],self=this;this.preparedData.forEach((function(data,i){if(data._selected){selectedRowsData.push(self.options.data[i])}}));return selectedRowsData},selectRows:function(rows){var self=this;self.gridElement.find("tr.app-datagrid-row").each((function(index){if(self.preparedData[index]&&self.preparedData[index]._selected===true){$(this).trigger("click",[$(this),{skipSingleCheck:true}])}}));if(_.isArray(rows)){_.forEach(rows,(function(row){self.selectRow(row,true)}))}else{self.selectRow(rows,true)}},toggleRowFilter:function(show){if(this.options.filtermode===this.CONSTANTS.MULTI_COLUMN&&this.gridSearch){if(show){this.gridSearch.show()}else{this.gridSearch.hide()}}},setColGroupWidths:function(){var self=this,headerCols=this.options.isMobile?this.tableContainer.find("col"):this.tableContainer.find("col"),bodyCols=this.tableContainer.find("col"),headerCells=this.options.showHeader?this.gridContainer.find("th.app-datagrid-header-cell"):this.gridElement.find("tr.app-datagrid-row").first().find("td"),colLength=this.preparedHeaderData.length,scrollLeft=this.gridElement.parent().prop("scrollLeft");if(!headerCols.length&&!headerCells.length){return}this._setColSpan(this.options.headerConfig);this.toggleRowFilter();var definedColWidth=0;var colsLen=headerCols.length;headerCols.each((function(){var eachColWidth=$(this).width();if(eachColWidth){definedColWidth=definedColWidth+eachColWidth;colsLen=colsLen-1}}));headerCells.each((function(){var id=Number($(this).attr("data-col-id")),colDef=self.preparedHeaderData[id],$headerCell=self.gridContainer.find('th[data-col-id="'+id+'"]'),$tdCell=self.gridElement.find('td.app-datagrid-cell[data-col-id="'+id+'"]'),$footCell=self.tableContainer.find('tfoot tr.app-datagrid-row td.app-datagrid-cell[data-col-id="'+id+'"]'),$headerCol=$(headerCols[id]),$bodyCol=$(bodyCols[id]),definedWidth,width;if(!colDef){return}definedWidth=colDef.width;if(!_.isUndefined(colDef.show)&&!colDef.show){$headerCell.hide();$tdCell.hide();$headerCol.hide();$bodyCol.hide();$footCell.hide()}else{$headerCell.show();$tdCell.show();$headerCol.show();$bodyCol.show();$footCell.show()}if($headerCol.length&&$headerCol[0].style.width==="90px"){width=_.isUndefined(definedWidth)?"":definedWidth;$headerCol.css("width",width);$bodyCol.css("width",width)}}));headerCells.each((function(){var $header=$(this),id=Number($header.attr("data-col-id")),colDef=self.preparedHeaderData[id],definedWidth,width,tempWidth,$headerCol;if(!colDef){return}definedWidth=colDef.width;if(!_.isUndefined(colDef.show)&&!colDef.show){width=0}else{if($header.hasClass("grid-col-small")){width=50}else{if(_.isUndefined(definedWidth)||definedWidth===""||_.includes(definedWidth,"%")){$headerCol=$(headerCols[id]);if($headerCol.length){tempWidth=$headerCol[0].style.width;if(tempWidth===""||tempWidth==="0px"||tempWidth==="90px"||_.includes(tempWidth,"%")){width=$header.width();if(width<=0){var currentNode=$header;var elemWidth=width;var padding=0;while(elemWidth<=0){currentNode=currentNode.parent();elemWidth=currentNode.width();if(currentNode.find("table").length&¤tNode.prop("style")){padding=padding+parseFloat(currentNode.css("padding-left"))+parseFloat(currentNode.css("padding-right"))}}if(elemWidth>0){if(padding){elemWidth=elemWidth-padding}if(_.includes(tempWidth,"%")){var widthPercent=parseInt(tempWidth);var pixelWidth=elemWidth*(widthPercent/100);width=pixelWidth}else{var parentWidth=definedColWidth&&definedColWidth>0?elemWidth-definedColWidth:elemWidth;var totalCols=colsLen?colsLen:headerCols.length;width=parentWidth/totalCols;width=width>90?colLength===id+1?width-17:width:90}}else{width=width>90?colLength===id+1?width-17:width:90}}else{width=width>90?colLength===id+1?width-17:width:90}}else{width=tempWidth}}}else{width=definedWidth}}}$(headerCols[id]).css("width",width);$(bodyCols[id]).css("width",width)}));this.toggleRowFilter(true);this.gridElement.parent().prop("scrollLeft",scrollLeft);this.gridHeaderElement.parent().prop("scrollLeft",scrollLeft)},getSelectedColumns:function(){var selectedColsData={},headerData=[],self=this,multiSelectColIndex,radioColIndex,colIndex;$.extend(headerData,this.preparedHeaderData);if(this.options.multiselect){headerData.some((function(item,i){if(item.field==="checkbox"){multiSelectColIndex=i;return true}}));headerData.splice(multiSelectColIndex,1)}else if(this.options.showRadioColumn){headerData.some((function(item,i){if(item.field==="radio"){radioColIndex=i;return true}}));headerData.splice(radioColIndex,1)}if(this.options.showRowIndex){headerData.some((function(item,i){if(item.field==="rowIndex"){colIndex=i;return true}}));headerData.splice(colIndex,1)}headerData.forEach((function(colDef){var field=colDef.field;if(colDef.selected){selectedColsData[field]={colDef:colDef,colData:self.options.data.map((function(data){return data[field]}))}}}));return selectedColsData},_setOption:function(key,value){this._super(key,value);switch(key){case"showHeader":this._toggleHeader();this._toggleSearch();this.setColGroupWidths();this.addOrRemoveScroll();break;case"filtermode":this._toggleSearch();break;case"searchLabel":if(this.gridSearch){this.gridSearch.find('[data-element="dgSearchText"]').attr("placeholder",value);this.gridSearch.find('[data-element="dgSearchButton"]').attr("title",value)}break;case"selectFirstRow":this.selectFirstRow(value);break;case"data":if(!this.isResetSortIconsDone){this.setSortIconDefault()}this.refreshGridData();break;case"dataStates":if(this.dataStatus.state==="nodata"){this.setStatus("nodata",this.dataStatus.nodata)}else if(this.dataStatus.state==="loading"){this.setStatus("loading")}break;case"loadingicon":this.dataStatusContainer.find("i").removeClass().addClass(this.options.loadingicon);break;case"colDefs":if(this.options.isNavTypeScrollOrOndemand()&&this.options.isNextPageData){this.tableContainer.find("colgroup").remove();this._prepareHeaderData();this.setColGroupWidths();this._renderHeader();this._renderSearch();this.attachEventHandlers(this.gridElement);this._reselectColumns();this.addOrRemoveScroll();break}case"multiselect":case"showRadioColumn":case"isrowselectable":case"rowActions":case"filterNullRecords":case"showRowIndex":this.refreshGrid();break;case"cssClassNames":var gridClass=this.options.cssClassNames.gridDefault+" "+this.options.cssClassNames.grid;if(this.options.rowExpansionEnabled){gridClass=gridClass+" "+this.options.cssClassNames.gridRowExpansionClass}this.tableContainer.attr("class",gridClass);if(this.options.spacing==="condensed"){this._toggleSpacingClasses("condensed")}break;case"spacing":this._toggleSpacingClasses(value);break;case"messages":this.gridSearch&&this.gridSearch.find("option.placeholder").text(value&&value.selectField);break}},getOptions:function(){return this.options},_toggleHeader:function(){if(this.gridHeaderElement){this.gridHeaderElement.empty()}if(this.tableContainer){this.tableContainer.find("colgroup").remove();this.tableContainer.find("thead").remove()}this.setDefaultColsData();if(this.options.showHeader){this._renderHeader()}},_toggleSearch:function(){if(this.gridSearch){this.gridSearch.remove()}if(this.options.filtermode===this.CONSTANTS.SEARCH){this._renderSearch()}else if(this.options.filtermode===this.CONSTANTS.MULTI_COLUMN){this._renderRowFilter();this.setColGroupWidths()}},selectFirstRow:function(value,visible){var $row,id;if(visible&&this.gridElement.find("tr").is(":visible")){this.__setStatus();$row=this.gridElement.find("tr.app-datagrid-row:visible:not(.always-new-row)").first()}else{$row=this.gridElement.find("tr.app-datagrid-row:not(.always-new-row)").first()}id=$row.attr("data-row-id");if($row.length&&this.preparedData.length){this.preparedData[id]._selected=!value;$row[0].click()}},selectRow:function(row,value){var rowIndex=_.isNumber(row)?row:this.Utils.getObjectIndex(this.options.data,row),selector,$row;if(rowIndex!==-1){selector="tr.app-datagrid-row[data-row-id="+rowIndex+"]";$row=this.gridElement.find(selector);if($row.length){this.preparedData[rowIndex]._selected=!value}if(value){$row.trigger("click")}else{this.toggleRowSelection($row,value);this.options.callOnRowDeselectEvent(this.preparedData[rowIndex])}}},deselectRow:function(row){this.selectRow(row,false)},toggleRowSelection:function($row,selected,e,isSelectAll){if(!$row.length){return}var rowId=$row.attr("data-row-id"),$checkbox,$radio;if(!this.preparedData[rowId]){return}this.preparedData[rowId]._selected=selected;if(selected){$row.addClass("active")}else{$row.removeClass("active")}if(this.options.showRadioColumn){$radio=$row.find("td input[rowSelectInput]:radio:not(:disabled)");$radio.prop("checked",selected);this.preparedData[rowId]._checked=selected}if(this.options.multiselect){$checkbox=$row.find('td input[name="gridMultiSelect"]:checkbox:not(:disabled)');$checkbox.prop("checked",selected);this.preparedData[rowId]._checked=selected;if(!isSelectAll){this.updateSelectAllCheckboxState()}}else{this._deselectPreviousSelection($row,e)}},updateSelectAllCheckboxState:function(){if(!this.options.showHeader||!this.options.multiselect){return}this.__setStatus();var $headerCheckbox=this.gridHeaderElement.find("th.app-datagrid-header-cell input:checkbox"),$tbody=this.gridElement,checkedItemsLength=$tbody.find('tr.app-datagrid-row:visible input[name="gridMultiSelect"]:checkbox:checked').length,visibleRowsLength=$tbody.find("tr.app-datagrid-row:visible").length;if(!visibleRowsLength){$headerCheckbox.prop("checked",false);return}if(checkedItemsLength===visibleRowsLength){$headerCheckbox.prop("checked",true)}else{$headerCheckbox.prop("checked",false)}},rowClickHandlerOnCapture:function(e,$row,options){if(this.options.editmode!==this.CONSTANTS.QUICK_EDIT){if((this.options.multiselect||this.options.showRadioColumn)&&!this.options.isrowselectable){if(Number(this.getColInfo(e))){e.stopPropagation();return}}}$row=$row||$(e.target).closest("tr.app-datagrid-row");var gridRow=this.gridElement.find($row);if(gridRow.length&&gridRow.closest("tbody").attr("id")===this.gridElement.attr("id")){var rowId=$row.attr("data-row-id");var rowData=this.preparedData[rowId];var data=this.options.data[rowId];this.options.assignSelectedItems(data,e,{rowId:rowId,_selected:rowData?._selected})}},rowSelectionHandler:function(e,$row,options){if(this.options.editmode!==this.CONSTANTS.QUICK_EDIT){if((this.options.multiselect||this.options.showRadioColumn)&&!this.options.isrowselectable){if(Number(this.getColInfo(e))){e.stopPropagation();return}}}options=options||{};var rowId,rowData,data,selected,self=this,action=options.action,$target=$(e.target),isQuickEdit=this.options.editmode===this.CONSTANTS.QUICK_EDIT;function callRowSelectionEvents(){if(selected&&_.isFunction(self.options.onRowSelect)){self.options.onRowSelect(data,e)}if(!selected&&_.isFunction(self.options.onRowDeselect)){self.options.onRowDeselect(data,e)}}$row=$row||$target.closest("tr.app-datagrid-row");if(action||isQuickEdit&&($target.hasClass("app-datagrid-cell")||$target.closest("td.app-datagrid-cell").length)&&!$row.hasClass("always-new-row")){options.action=options.action||"edit";if(options.operation==="new"||self.options.actionsEnabled.edit){self.toggleEditRow(e,options)}if(options.skipSelect){return}}rowId=$row.attr("data-row-id");rowData=this.preparedData[rowId];data=this.options.data[rowId];selected=rowData&&rowData._selected||false;if(!options.skipSingleCheck&&($row.hasClass("active")&&!this.options.multiselect||!rowData)){if(!isQuickEdit&&options.operation!=="new"){callRowSelectionEvents()}return}this.options.callOnRowClickEvent(data,e);selected=!selected;this.options.assignSelectedItems(data,e,{rowId:rowId,_selected:selected});this.toggleRowSelection($row,selected,e);callRowSelectionEvents()},rowDblClickHandler:function(e,$row){e.stopPropagation();$row=$row||$(e.target).closest("tr.app-datagrid-row");var rowData,rowId=$row.attr("data-row-id");rowData=this.preparedData[rowId];if(!rowData){return}if(_.isFunction(this.options.onRowDblClick)){this.options.onRowDblClick(rowData,e)}},closePopover:function(){this.options.closePopover(this.element)},headerClickHandler:function(e){var $th=$(e.target).closest("th.app-datagrid-header-cell"),id=$th.attr("data-col-id");this.closePopover();this.options.onHeaderClick(this.preparedHeaderData[id],e)},columnSelectionHandler:function(e,$headerCell){if(e){e.stopImmediatePropagation()}var $th=e?$(e.target).closest("th.app-datagrid-header-cell"):$headerCell,id=$th.attr("data-col-id"),colDef=this.preparedHeaderData[id],field=colDef.field,selector='td[data-col-id="'+id+'"]',$column=this.gridElement.find(selector),selected=$column.data("selected")||false,colInfo={colDef:colDef,data:this.options.data.map((function(data){return data[field]})),sortDirection:this._getColumnSortDirection(colDef.field)},selectedClass=this.options.cssClassNames.selectedColumn;selected=!selected;colDef.selected=selected;$column.data("selected",selected);if(selected){$column.addClass(selectedClass);$th.addClass(selectedClass);if(_.isFunction(this.options.onColumnSelect)&&e){this.options.onColumnSelect(colInfo,e)}}else{$column.removeClass(selectedClass);$th.removeClass(selectedClass);if(_.isFunction(this.options.onColumnDeselect)&&e){this.options.onColumnDeselect(colInfo,e)}}},getTextValue:function(fieldName,alwaysNewRow){return this.options.getFieldValue(alwaysNewRow?fieldName+"_new":fieldName)},getUploadedFiles:function($el,fieldName){return _.get(document.forms,[$el.find("form").attr("name"),fieldName,"files",0])},isDataModified:function($editableElements,rowData,alwaysNewRow){var isDataChanged=false,self=this;function getEpoch(val){return val?moment(val).valueOf():val}$editableElements.each((function(){var $el=$(this),colId=$el.attr("data-col-id"),colDef=self.preparedHeaderData[colId],text=self.getTextValue(colDef.field,alwaysNewRow),originalData=_.get(rowData,colDef.field);if(colDef.editWidgetType==="upload"){isDataChanged=self.getUploadedFiles($el,colDef.field)instanceof File}else{if(!self.Utils.isDefined(text)&&(originalData===null||originalData===undefined)){isDataChanged=false}else{if(colDef.editWidgetType==="datetime"){isDataChanged=!(getEpoch(originalData)===getEpoch(text))}else{isDataChanged=!(originalData==text)}}}if(isDataChanged){return!isDataChanged}}));return isDataChanged},focusActiveRow:function(){this.gridElement.find("tr.app-datagrid-row.active").focus()},focusNewRow:function(){var newRow=this.gridElement.find("tr.always-new-row");var newRowInputs=newRow&&newRow.find("input")||[];newRowInputs.length&&newRowInputs[0].focus()},disableActions:function(val){var $deleteBtns=this.gridElement.find(".delete-row-button"),$editBtns=this.gridElement.find(".edit-row-button");if(val){$editBtns.addClass("disabled-action");$deleteBtns.addClass("disabled-action")}else{$editBtns.removeClass("disabled-action");$deleteBtns.removeClass("disabled-action")}},setFocusOnElement:function(e,$el,skipDelay){var $firstEl,$target=e&&$(e.target),$focusEl;if($target&&$target.hasClass("app-datagrid-cell")){$firstEl=$target.find("input")}else{if(!$el){$el=$target.closest("tr.app-datagrid-row").find("td.cell-editing")}else if($el.hasClass("app-datagrid-row")){$el=$el.find("td.cell-editing")}$firstEl=$($el).first().find("input");if(!$firstEl.length){$firstEl=$($el).first().find("textarea")}if(!$firstEl.length){$firstEl=$($el).first().find("select")}}if($firstEl.length){$focusEl=$firstEl.first();if(skipDelay){$focusEl.focus();$focusEl.select()}else{this.options.timeoutCall((function(){$focusEl.focus();$focusEl.select()}))}}},removeNewRow:function($row){this.disableActions(false);this._setGridEditMode(false);if($row.hasClass("always-new-row")){return}$row.attr("data-removed",true);$row.remove();if(!this.preparedData.length){this.setStatus("nodata",this.dataStatus.nodata)}this.addOrRemoveScroll();this.toggleNewRowActions(false)},saveRow:function(callBack){this.gridElement.find("tr.app-datagrid-row.row-editing:not(.always-new-row)").each((function(){$(this).trigger("click",[undefined,{action:"save",skipSelect:true,noMsg:true,success:callBack}])}))},makeRowEditable:function($row,rowData,alwaysNewRow){var self=this,$originalElements=$row.find("td.app-datagrid-cell"),rowId=parseInt($row.attr("data-row-id"),10),$editableElements,_rowData=_.clone(rowData);_rowData.$index=rowId+1;this.options.removeValidations(alwaysNewRow);this.options.generateInlineEditRow(_rowData,alwaysNewRow);$originalElements.each((function(){var $el=$(this),cellText=$el.text(),id=$el.attr("data-col-id"),colDef=self.preparedHeaderData[id],value,editableTemplate;if(!colDef.readonly){value=_.get(rowData,colDef.field);editableTemplate=self.options.getInlineEditWidget(colDef.field,value,alwaysNewRow);if(!(colDef.customExpression||colDef.formatpattern&&colDef.formatpattern!=="None")){$el.addClass("cell-editing").html(editableTemplate).data("originalText",cellText)}else{$el.addClass("cell-editing editable-expression").data("originalValue",{rowIndex:rowId,fieldName:colDef.field});$el.addClass("cell-editing editable-expression").html(editableTemplate).data("originalText",cellText)}$el.addClass("form-group");if(colDef.binding!=="rowOperations"){self.options.timeoutCall((function(){self.options.applyValidations(colDef,alwaysNewRow);if(colDef.required){$el.addClass("required-field")}}))}else if(colDef.required){$el.addClass("required-field")}}}));$editableElements=$row.find("td.cell-editing");$editableElements.on("click",(function(e){e.stopPropagation()}));$editableElements.on("keydown",(function(e){if((e.which===38||e.which===40)&&(e.currentTarget&&!e.currentTarget.closest(".always-new-row"))){e.stopPropagation()}}))},toggleNewRowActions:function(saveInd){var self=this,$gridActions=$(this.element).siblings("div.panel-footer, div.panel-heading").find("div.app-datagrid-actions"),$newRow=this.gridElement.find("tr.app-datagrid-row.row-editing"),$newRowButton=$gridActions.find("i.wi-plus").closest(".app-button");if(this.options.editmode===this.CONSTANTS.INLINE&&(this.options.rowActions.length===0||!_.some(this.options.rowActions,{action:"editRow($event)"}))){if(saveInd){$gridActions.append('<button type="button" wmbutton="" class="btn app-button btn-default cancelNewRow" tabindex="0" accesskey="" title="Cancel">'+'<i aria-hidden="true" class="app-icon wi wi-cancel"></i>'+'<span class="sr-only">Cancel Icon</span><span class="btn-caption">Cancel</span>'+"</button>"+'<button type="button" wmbutton="" class="btn app-button btn-primary saveNewRow" tabindex="0" accesskey="" title="Save">'+'<i aria-hidden="true" class="app-icon wi wi-done"></i>'+'<span class="sr-only">Save Icon</span><span class="btn-caption">Save</span>'+"</button>");$gridActions.find(".cancelNewRow").on("click",(function(event){self.toggleEditRow(event,{action:"cancel",$row:$newRow})}));$gridActions.find(".saveNewRow").on("click",(function(event){self.toggleEditRow(event,{action:"save",$row:$newRow})}));$newRowButton.hide()}else{$("typeahead-container").removeClass("open");$gridActions.find(".cancelNewRow").remove();$gridActions.find(".saveNewRow").remove();$newRowButton.show()}}},_isNewRow:function($row){var rowId=parseInt($row.attr("data-row-id"),10);return rowId>=this.preparedData.length||$row.hasClass("always-new-row")},toggleEditRow:function(e,options){options=options||{};if(e){e.stopPropagation()}this.closePopover();var $row=options.$row||$(e.target).closest("tr.app-datagrid-row"),$editButton=$row.find(".edit-row-button"),$cancelButton=$row.find(".cancel-edit-row-button"),$saveButton=$row.find(".save-edit-row-button"),$deleteButton=$row.find(".delete-row-button"),rowData=_.cloneDeep(this.options.data[$row.attr("data-row-id")])||{},self=this,action,isNewRow,$editableElements,isDataChanged=false,isValid,$requiredEls,alwaysNewRow=$row.hasClass("always-new-row"),advancedEdit=self.options.editmode===self.CONSTANTS.QUICK_EDIT,editOptions={};this.options.setActionRowIndex($row.attr("data-row-id"));this.options.setLastActionPerformed(this.options.ACTIONS.EDIT);function onSaveSuccess(skipFocus,error){if(_.isFunction(options.success)){options.success(skipFocus,error)}if(!advancedEdit||self.options.actionsEnabled.edit){self.focusActiveRow()}}if($row.attr("data-removed")==="true"){return}if(options.selectRow){this.selectRow(rowData,true)}e=e||{};e.data=e.data||{};action=e.data.action||options.action;if(action==="edit"){if(this.options.editmode===this.CONSTANTS.INLINE){this.options.callLoadInlineWidgetData()}if(advancedEdit&&self.gridElement.find("tr.app-datagrid-row.row-editing:not(.always-new-row)").length){self.saveRow((function(skipFocus,error){self.editSuccessHandler(skipFocus,error,e,$row,true)}));return}$row.addClass("row-editing");if(_.isFunction(this.options.beforeRowUpdate)){this.options.beforeRowUpdate(rowData,e)}if(self.options.editmode===self.CONSTANTS.FORM||self.options.editmode===self.CONSTANTS.DIALOG){return}if(options.operation==="new"){self.setDefaultRowData(rowData);self.toggleNewRowActions(true)}if(_.isFunction(this.options.onBeforeFormRender)){isValid=this.options.onBeforeFormRender(rowData,e,options.operation||action);if(isValid===false){return}}this._setGridEditMode(true);this.disableActions(true);$deleteButton.removeClass("disabled-action");this.options.runInNgZone((function(){self.makeRowEditable($row,rowData)}));$editButton.addClass("hidden");$cancelButton.removeClass("hidden");$saveButton.removeClass("hidden");$editableElements=$row.find("td.cell-editing");if(!options.skipFocus&&$editableElements){this.options.timeoutCall((function(){self.setFocusOnElement(e,$editableElements)}))}if(_.isFunction(this.options.onFormRender)){this.options.onFormRender($row,e,options.operation||action,$row.hasClass("always-new-row"))}}else{$editableElements=$row.find("td.cell-editing");isNewRow=self._isNewRow($row);if(action==="save"){if(isNewRow){isDataChanged=true}else{isDataChanged=this.isDataModified($editableElements,rowData,alwaysNewRow)}if(isDataChanged){$editableElements.each((function(){var $el=$(this),colId=$el.attr("data-col-id"),colDef=self.preparedHeaderData[colId],fields=_.split(colDef.field,"."),text;text=self.getTextValue(colDef.field,alwaysNewRow);if(fields.length===1&&colDef.editWidgetType==="upload"){_.set(rowData,colDef.field,self.getUploadedFiles($el,colDef.field))}else{text=(fields.length===1||isNewRow)&&text===""?undefined:text;if(self.Utils.isDefined(text)){text=text==="null"?null:text;if(text===null){if(fields.length>1){_.set(rowData,fields[0],text)}else{if(!isNewRow){_.set(rowData,colDef.field,"")}}}else{_.set(rowData,colDef.field,text)}}else{if(fields.length===1&&!isNewRow){_.set(rowData,colDef.field,text)}}}}));if($editableElements.find(".ng-pending").length>0){setTimeout(this.toggleEditRow.bind(this,e,options),200);return}$requiredEls=$editableElements.find(".ng-invalid");if($requiredEls.length>0){$requiredEls.each((function(index){var $invalidTd=$(this).closest("td.app-datagrid-cell");if(index===0){$invalidTd.find("[focus-target]").focus()}self.options.setTouched($invalidTd.find("[formcontrolname]").attr("formcontrolname"))}));if(_.isFunction(options.success)){options.success(false,true)}return}if(isNewRow&&advancedEdit&&_.isEmpty(rowData)){self.removeNewRow($row);if(_.isFunction(options.success)){options.success(false,undefined,true)}return}if(isNewRow){if(_.isFunction(this.options.onBeforeRowInsert)){isValid=this.options.onBeforeRowInsert(rowData,e,editOptions);if(isValid===false){return}}this.options.onRowInsert(rowData,e,onSaveSuccess,editOptions);self.toggleNewRowActions(false);if(!$row.hasClass("always-new-row")&&self.options.isNavTypeScrollOrOndemand()){self.removeNewRow($row)}}else{if(_.isFunction(this.options.onBeforeRowUpdate)){isValid=this.options.onBeforeRowUpdate(rowData,e,editOptions);if(isValid===false){return}}this.options.afterRowUpdate(rowData,e,onSaveSuccess,editOptions)}}else{this.cancelEdit($row);if(!options.noMsg){this.options.noChangesDetected()}if(_.isFunction(options.success)){options.success(false)}}}else{if(isNewRow){self.removeNewRow($row);return}this.cancelEdit($row)}}this.addOrRemoveScroll()},cancelEdit:function($row){var self=this,$editableElements=$row.find("td.cell-editing"),$cancelButton=$row.find(".cancel-edit-row-button"),$saveButton=$row.find(".save-edit-row-button"),$editButton=$row.find(".edit-row-button");this.options.clearActionRowIndex();this.disableActions(false);$row.removeClass("row-editing");$editableElements.off("click");$editableElements.each((function(){var $el=$(this),value=$el.data("originalValue");$el.removeClass("datetime-wrapper cell-editing required-field form-group");if(!value){$el.text($el.data("originalText")||"")}else{$el.html(self.options.getCustomExpression(value.fieldName,value.rowIndex))}}));$("typeahead-container").removeClass("open");$editButton.removeClass("hidden");$cancelButton.addClass("hidden");$saveButton.addClass("hidden");this._setGridEditMode(false)},closeEditedRow:function(){var $row=this.gridElement.find("tr.app-datagrid-row.row-editing");if($row.length){if(this._isNewRow($row)){this.removeNewRow($row)}else{this.cancelEdit($row)}}},hideRowEditMode:function($row){if($row.hasClass("always-new-row")&&this.options.isNavTypeScrollOrOndemand()){this.resetNewRow($row);return}var $editableElements=$row.find("td.cell-editing"),$editButton=$row.find(".edit-row-button"),$cancelButton=$row.find(".cancel-edit-row-button"),$saveButton=$row.find(".save-edit-row-button"),self=this;$row.removeClass("row-editing");$editableElements.off("click");this.disableActions(false);this._setGridEditMode(false);$editableElements.each((function(){var $el=$(this),value=$el.data("originalValue"),text,colDef;$el.removeClass("datetime-wrapper cell-editing required-field form-group");if(!value){colDef=self.preparedHeaderData[$el.attr("data-col-id")];text=self.getTextValue(colDef.field);$el.text(self.Utils.isDefined(text)?text:"")}else{$el.html(self.options.getCustomExpression(value.fieldName,value.rowIndex))}}));$editButton.removeClass("hidden");$cancelButton.addClass("hidden");$saveButton.addClass("hidden");this.addOrRemoveScroll()},deleteRow:function(e){e.stopPropagation();var $row=$(e.target).closest("tr.app-datagrid-row"),rowId=$row.attr("data-row-id"),rowData=this.options.data[rowId],isNewRow=this._isNewRow($row),className,isActiveRow,isValid,options={},self=this;this.options.setActionRowIndex(rowId);this.options.setLastActionPerformed(this.options.ACTIONS.DELETE);if(_.isFunction(this.options.beforeRowDelete)){this.options.beforeRowDelete(rowData,e)}if(isNewRow){this.disableActions(false);this._setGridEditMode(false);$row.attr("data-removed",true);$row.remove();if(!this.preparedData.length){this.setStatus("nodata",this.dataStatus.nodata)}this.addOrRemoveScroll();return}if(_.isFunction(this.options.onBeforeRowDelete)){isValid=this.options.onBeforeRowDelete(rowData,e,options);if(isValid===false){return}}if(_.isFunction(this.options.onRowDelete)){className=this.options.cssClassNames.deleteRow;isActiveRow=$row.attr("class").indexOf("active")!==-1;if(isActiveRow){$row.removeClass("active")}$row.addClass(className);this.options.onRowDelete(rowData,(function(){if(isActiveRow){$row.addClass("active")}$row.removeClass(className);self.addOrRemoveScroll()}),e,(function(skipFocus,error){if(self.options.isNavTypeScrollOrOndemand()){var rowId=+$(e.target).closest("tr.app-datagrid-row").attr("data-row-id");var $row=self.gridElement.find('tr.app-datagrid-row[data-row-id="'+rowId+'"]');self.options.setDeletedRowIndex(rowId);self.preparedData.splice(rowId,1);self.options.data.splice(rowId,1);self.gridElement.find("tr.app-datagrid-row:gt("+rowId+")").each((function(index,row){if(!$row.is(":last-child")&&!$(row).hasClass("always-new-row")){$(row).attr("data-row-id",rowId);self.preparedData[rowId].$$pk--;self.preparedData[rowId].$$index--;self.preparedData[rowId].$index--;rowId++}}));$row.remove()}if(self.options.editmode!==self.CONSTANTS.QUICK_EDIT||!($(e.target).hasClass("delete-row-button")||self.Utils.isDeleteKey(e))){return}self.__setStatus();var rowID,$nextRow;if(error){return}rowID=+$(e.target).closest("tr.app-datagrid-row").attr("data-row-id");$nextRow=self.gridElement.find('tr.app-datagrid-row[data-row-id="'+rowID+'"]');if(!$nextRow.length){$nextRow=self.gridElement.find('tr.app-datagrid-row[data-row-id="'+(rowID-1)+'"]')}$nextRow.trigger("click",[undefined,{action:"edit",skipFocus:skipFocus}])}),options)}},deleteRowAndUpdateSelectAll:function(e){this.deleteRow(e);this.updateSelectAllCheckboxState()},_deselectPreviousSelection:function($row,e){var selectedRows=this.gridElement.find("tr.app-datagrid-row.active"),rowId=$row.attr("data-row-id"),self=this;selectedRows.each((function(){var id=$(this).attr("data-row-id"),preparedData=self.preparedData[id];if(id!==rowId&&preparedData){$(this).find("input[rowSelectInput]:radio").prop("checked",false);preparedData._selected=preparedData._checked=false;$(this).removeClass("active");self.options.callOnRowDeselectEvent(preparedData,e)}}))},resetSortIcons:function($el){this.isResetSortIconsDone=true;var $sortContainer;if(!$el&&this.gridHeaderElement){$sortContainer=this.gridHeaderElement.find(".sort-buttons-container.active");$el=$sortContainer.find("i.sort-icon");$sortContainer.removeClass("active")}$el.removeClass("desc asc").removeClass(this.options.cssClassNames.descIcon).removeClass(this.options.cssClassNames.ascIcon)},setSortIconDefault:function(){const sortInfo=this.options.sortInfo,$e=this.tableContainer,$th=$e.find("[data-col-field='"+sortInfo.field+"']"),$sortContainer=$th.find(".sort-buttons-container"),$sortIcon=$sortContainer.find("i.sort-icon"),direction=sortInfo.direction;if(direction==="asc"){$sortIcon.addClass(direction+" "+this.options.cssClassNames.ascIcon);$sortContainer.addClass("active")}else if(direction==="desc"){$sortIcon.addClass(direction+" "+this.options.cssClassNames.descIcon);$sortContainer.addClass("active")}},sortHandler:function(e){e.stopImmediatePropagation();if($(e.target).hasClass("header-data")&&this.options.enableColumnSelection){this.headerClickHandler(e)}var $e=$(e.target),$th=$e.closest("th.app-datagrid-header-cell"),id=$th.attr("data-col-id"),$sortContainer=$th.find(".sort-buttons-container"),$sortIcon=$sortContainer.find("i.sort-icon"),direction=$sortIcon.hasClass("asc")?"desc":"asc",sortInfo=this.options.sortInfo,$previousSortMarker=this.gridHeaderElement.find(".sort-buttons-container.active"),field=$th.attr("data-col-field"),$previousSortedColumn,$previousSortIcon,colId,colDef;this.resetSortIcons($sortIcon);$sortIcon.addClass(direction);if(direction==="asc"){$sortIcon.addClass(this.options.cssClassNames.ascIcon);$sortContainer.addClass("active")}else if(direction==="desc"){$sortIcon.addClass(this.options.cssClassNames.descIcon);$sortContainer.addClass("active")}if($previousSortMarker.length){$previousSortedColumn=$previousSortMarker.closest("th.app-datagrid-header-cell");colId=$previousSortedColumn.attr("data-col-id");colDef=this.preparedHeaderData[colId];$previousSortIcon=$previousSortMarker.find("i.sort-icon");if(colDef.field!==field){$previousSortMarker.removeClass("active");this.resetSortIcons($previousSortIcon)}colDef.sortInfo={sorted:false,direction:""}}sortInfo.direction=direction;sortInfo.field=field;if(direction!==""){this.preparedHeaderData[id].sortInfo={sorted:true,direction:direction}}this._setGridEditMode(false);this.closeEditedRow();this.options.sortHandler.call(this,this.options.sortInfo,e,"sort")},processUpDownKeys:function(event,$row,direction){var self=this;var rowData=$row.find("input").val();if($row.hasClass("row-editing")&&self.options.editmode===self.CONSTANTS.QUICK_EDIT&&rowData){self.toggleEditRow(event,{action:"save",noMsg:true,success:function(skipFocus,error){self.editSuccessHandler(skipFocus,error,event,$row,true,direction)}})}else{$row=direction==="down"?$row.next():$row.prev();if(this.options.rowExpansionEnabled&&!$row.is(":visible")){$row=direction==="down"?$row.next():$row.prev()}$row.focus()}},resetNewRow:function($row){var rowData={},self=this;this.options.clearForm(true);self.setDefaultRowData(rowData);$row.find("[data-field-name]").each((function(){var $input=$(this),fieldName=$input.attr("data-field-name")+"_new";self.options.setFieldValue(fieldName,rowData[$input.attr("data-field-name")]||"")}));self.options.safeApply();self.setFocusOnElement(undefined,$row,true)},_onEnter:function($target,$row,quickEdit,event){var self=this;if($target.is("button")){return}if(quickEdit&&$target.hasClass("app-datagrid-row")&&!$target.hasClass("row-editing")){$row.trigger("click",[undefined,{action:"edit"}])}else{if($row.hasClass("row-editing")&&$target.closest("[data-field-name]").length){$target.blur();self.toggleEditRow(event,{action:"save",success:function(skipFocus,error){if(error){$target.focus()}else{self.focusActiveRow();self.focusNewRow()}}})}else{$row.trigger("click");if(quickEdit&&$target.hasClass("always-new-row")&&$target.hasClass("row-editing")){self.focusNewRow()}}}if(!$target.is("button")){event.stopPropagation()}},onKeyDown:function(event){var $target=$(event.target),$row=$target.closest("tr.app-datagrid-row"),self=this,quickEdit=this.options.editmode===this.CONSTANTS.QUICK_EDIT,isNewRow;if(this.options.rowExpansionEnabled&&!$row.length){$row=$target.closest("tr.app-datagrid-detail-row")}if(this.Utils.isDeleteKey(event)){if(!this.options.actionsEnabled.delete||$target.is("input")||$target.hasClass("form-control")){return}this.deleteRow(event);return}if(event.which===27){isNewRow=this._isNewRow($row);if(isNewRow&&$row.hasClass("always-new-row")){$target.blur();self.resetNewRow($row)}else{$row.trigger("click",[undefined,{action:"cancel"}])}if(!isNewRow){$row.focus()}return}if(event.which===13){event.stopPropagation();this._debounceOnEnter($target,$row,quickEdit,event);return}if(event.which===38){this.processUpDownKeys(event,$row,"up");return}if(event.which===40){this.processUpDownKeys(event,$row,"down")}},editSuccessHandler:function(skipFocus,error,e,$row,isSameRow,direction){var self=this,rowID,$nextRow;self.__setStatus();if(error){self.setFocusOnElement(e);return}rowID=+$row.attr("data-row-id");if(direction){rowID=direction==="down"?++rowID:--rowID;$nextRow=self.gridElement.find('tr.app-datagrid-row[data-row-id="'+rowID+'"]');if($nextRow.length){$nextRow.focus()}else{$row.focus()}return}if(!isSameRow&&!_.isUndefined(isSameRow)){rowID++}$nextRow=self.gridElement.find('tr.app-datagrid-row[data-row-id="'+rowID+'"]');if($nextRow.hasClass("always-new-row")){if(self.options.formPosition!=="top"||$row.hasClass("always-new-row")){self.addNewRow(skipFocus)}}else if($nextRow.length){$nextRow.trigger("click",[undefined,{action:"edit",skipFocus:skipFocus,skipSelect:self.options.multiselect}])}else if(self.options.actionsEnabled.new){self.addNewRow(skipFocus)}},isLastColumn:function($target){var $cell=$target.closest("td.app-datagrid-cell"),$editCells;if($cell.is(":last-child")){return true}if($cell.hasClass("cell-editing")){$editCells=$cell.closest("tr.app-datagrid-row").find(".cell-editing").has('> :not([disabled="disabled"])');return $cell.attr("data-col-id")===$editCells.last().attr("data-col-id")}return false},getColInfo:function(event){var column=$(event.target).closest("td.app-datagrid-cell");var colId=column.attr("data-col-id");return colId},attachEventHandlers:function($htm){var $header=this.gridHeaderElement,self=this;if(this.options.enableRowSelection){$htm[0].removeEventListener("click",this.rowClickHandlerOnCapture.bind(this));$htm.off();$htm[0].addEventListener("click",this.rowClickHandlerOnCapture.bind(this));$htm.on("click",this.rowSelectionHandler.bind(this));$htm.on("dblclick",this.rowDblClickHandler.bind(this));$htm.on("keydown",this.onKeyDown.bind(this))}if($header){if(this.options.enableColumnSelection){$header.find("th[data-col-selectable]").off("click",this.columnSelectionHandler.bind(this));$header.find("th[data-col-selectable]").on("click",this.columnSelectionHandler.bind(this))}else{$header.find("th[data-col-selectable]").off("click")}if(this.options.enableSort){if(this.options.enableColumnSelection){$header.find("th[data-col-sortable] .header-data").off("click",this.sortHandler.bind(this));$header.find("th[data-col-sortable] .header-data").on("click",this.sortHandler.bind(this))}else{$header.find("th[data-col-sortable]").off("click",this.sortHandler.bind(this));$header.find("th[data-col-sortable]").on("click",this.sortHandler.bind(this))}}else{if(this.options.enableColumnSelection){$header.find("th[data-col-sortable] .header-data").off("click")}else{$header.find("th[data-col-sortable]").off("click")}}}if(this.options.rowActions.length){$htm.find(".cancel-edit-row-button").off("click");$htm.find(".save-edit-row-button").off("click");$htm.find(".cancel-edit-row-button").on("click",{action:"cancel"},this.toggleEditRow.bind(this));$htm.find(".save-edit-row-button").on("click",{action:"save"},this.toggleEditRow.bind(this))}if(self.options.editmode===self.CONSTANTS.QUICK_EDIT){$htm.on("focusout","tr.app-datagrid-row",(function(e){var $target=$(e.target),$row=$target.closest("tr.app-datagrid-row"),$relatedTarget=$(e.relatedTarget),isLastColumn=self.isLastColumn($target,$relatedTarget),isTargetRowAction=$target.closest("span.actions-column").length>0,isRelatedTargetRowAction=$relatedTarget.closest("span.actions-column").length>0,isTargetGridAction=$relatedTarget.closest("div.app-datagrid-actions").length>0,isRelatedTargetGridAction=$relatedTarget.closest("div.app-datagrid-actions").length>0,invalidTargets='.row-editing:not(".always-new-row"), .row-action-button, .app-datagrid-cell, .caption, button.btn-time, button.btn-date';function isInvalidTarget(){if(!$relatedTarget.closest(".app-grid").length){return true}return $relatedTarget.is(invalidTargets)}if($relatedTarget.is("tr.app-datagrid-row")){if($relatedTarget.attr("data-row-id")===$row.attr("data-row-id")){return}}if(isRelatedTargetRowAction||$row.hasClass("danger")||isRelatedTargetGridAction||isTargetRowAction&&isRelatedTargetRowAction||isTargetRowAction&&e.relatedTarget===null||isInvalidTarget()||$relatedTarget.attr("focus-target")===""){return}if(!isTargetGridAction&&!isTargetRowAction){if(!isLastColumn||isLastColumn&&e.relatedTarget===null||$target.hasClass("file-upload")){return}}self.options.timeoutCall((function(){self.toggleEditRow(e,{action:"save",noMsg:true,success:function(skipFocus,error,isNewRow){if(!isNewRow){self.editSuccessHandler(skipFocus,error,e,$row)}}})}))}))}$htm.find('[data-identifier="rowExpansionButtons"]').off("click");$htm.find('[data-identifier="rowExpansionButtons"]').on("click",(function(e){var $row=$(e.target).closest("tr.app-datagrid-row");if($(this).find(".app-button").attr("disabled")){return}self.toggleExpandRow(+$row.attr("data-row-id"),undefined,e)}))},expandRow:function(rowId){this.toggleExpandRow(rowId,true)},collapseRow:function(rowId){this.toggleExpandRow(rowId,false)},hasAllClasses:function(element,classNames){return classNames&&classNames.every((cls=>element.hasClass(cls)))},_collapseRow:function(e,rowData,rowId,$nextDetailRow,$icon){var self=this,$tbody=self.gridElement,$row=$($tbody.find('> tr.app-datagrid-row[data-row-id="'+rowId+'"]'));$row.removeClass(self.options.cssClassNames.expandedRowClass);$row.find("button, a").attr("aria-expanded","false").attr("aria-live","polite");if(this.options.onBeforeRowCollapse(e,rowData,rowId)===false){return}if($icon.length&&this.hasAllClasses($icon,this.options.cssClassNames.rowExpandIcon?.split(" "))){$icon.removeClass(this.options.cssClassNames.rowExpandIcon).addClass(this.options.cssClassNames.rowCollapseIcon)}$nextDetailRow.hide();this.options.onRowCollapse(e,rowData)},toggleExpandRow:function(rowId,isExpand,e){var self=this,$tbody=self.gridElement,$row=$($tbody.find('> tr.app-datagrid-row[data-row-id="'+rowId+'"]')),rowData=_.clone(self.options.data[rowId]),$nextDetailRow=$row.next("tr.app-datagrid-detail-row"),isClosed=!$nextDetailRow.is(":visible"),$icon=$row.find('[data-identifier="rowExpansionButtons"] i.app-icon');rowData.$index=rowId+1;if(isExpand&&!isClosed){return}if(isExpand===false&&isClosed){return}if(isClosed){$row.addClass(self.options.cssClassNames.expandedRowClass);$row.find("button, a").attr("aria-expanded","true");if(e&&self.preparedData[rowId]._selected){e.stopPropagation()}if(self.options.rowDef.closeothers){$tbody.find("> tr.app-datagrid-detail-row:visible").each((function(){var $otherDetailRow=$(this),$otherIcon=$otherDetailRow.prev("tr.app-datagrid-row").find('[data-identifier="rowExpansionButtons"] i.app-icon'),otherRowId=+$otherDetailRow.attr("data-row-id"),otherRowData=self.options.data[otherRowId];$otherDetailRow.hide();self._collapseRow(e,otherRowData,otherRowId,$otherDetailRow,$otherIcon)}))}self.options.generateRowDetailView(e,rowData,rowId,$nextDetailRow.find("td.app-datagrid-row-details-cell .details-section"),$nextDetailRow.find("td.app-datagrid-row-details-cell .row-overlay"),(function(){if($icon.length&&self.hasAllClasses($icon,self.options.cssClassNames.rowCollapseIcon?.split(" "))){$icon.removeClass(self.options.cssClassNames.rowCollapseIcon).addClass(self.options.cssClassNames.rowExpandIcon)}$nextDetailRow.show()}))}else{self._collapseRow(e,rowData,rowId,$nextDetailRow,$icon)}},_findAndReplaceCompiledTemplates:function(){if(!this.gridElement){return}var $compiledCells=this.gridElement.find("td[data-compiled-template]"),self=this;$compiledCells.each((function(){var $cell=$(this),id=$cell.attr("data-compiled-template");$cell.replaceWith(self.compiledCellTemplates[id])}))},_renderSearch:function(){var $htm=$(this._getSearchEl()),self=this,$searchBox;function search(e){e.stopPropagation();var searchText=$htm.find('[data-element="dgSearchText"]')[0].value,$filterField=$htm.find('[data-element="dgFilterValue"]'),field=$filterField[0].value,colDefIndex=$htm.find("option:selected").attr("data-coldef-index"),colDef=self.options.colDefs[colDefIndex],type=colDef&&colDef.type?colDef.type:"";self.searchObj={field:field,value:searchText,type:type,event:e};self.options.searchHandler.call(self,self.searchObj,e,"search")}this.element.find(".form-search").remove();$htm.insertBefore(this.gridContainer);this.gridSearch=this.element.find(".form-search");$searchBox=this.gridSearch.find('[data-element="dgSearchText"]');this.gridSearch.find(".app-search-button").on("click",search);this.gridSearch.find('[data-element="dgFilterValue"]').on("change",(function(e){if(self.dataStatusContainer.find(".status").text()===self.options.dataStates.nodata){search(e)}}));$searchBox.on("keyup",(function(e){e.stopPropagation();if(!$(this).val()){self.emptySearch=true;if(self.searchObj.value){self.searchObj.value="";search(e)}}else{self.emptySearch=false}if(e.which===13||self.options.filteronkeypress){search(e)}}))},_renderRowFilter:function(){var $row=$('<tr class="filter-row"></tr>'),self=this,$headerElement=this.options.isMobile&&!this.options.showHeader?this.gridElement:this.gridHeaderElement;$headerElement.find(".filter-row").remove();this.options.generateFilterRow();this.preparedHeaderData.forEach((function(field,index){var fieldName=field.field,$th=$('<th data-col-id="'+index+'"></th>');if(!field.searchable){$row.append($th);return}$th.append(self.options.getFilterWidget(fieldName));$row.append($th)}),this);if(this.options.showHeader){this.gridHeaderElement.append($row)}else{if(this.options.isMobile){$headerElement.empty().append($row)}else{$headerElement.empty().append($row)}}this.gridSearch=$headerElement.find(".filter-row")},_renderHeader:function(){var headerTemplate=this._getHeaderTemplate(),$colgroup=headerTemplate.colgroup,self=this,$header;this.gridElement.parent().scroll((function(){self.gridHeaderElement.parent().prop("scrollLeft",this.scrollLeft)}));if(!this.options.showHeader){this.tableContainer.append($colgroup);this.gridHeaderElement.hide();return}else{this.gridHeaderElement.show()}$header=headerTemplate.header;function toggleSelectAll(e){var $checkboxes=$('tr.app-datagrid-row:not(.always-new-row):visible td input[name="gridMultiSelect"]:checkbox',self.gridElement),checked=this.checked;$checkboxes.prop("checked",checked);$checkboxes.each((function(){var $row=$(this).closest("tr.app-datagrid-row"),rowId=$row.attr("data-row-id"),rowData=self.options.data[rowId];self.toggleRowSelection($row,checked,e,true);self.options.assignSelectedItems(rowData,e,{rowId:rowId,_selected:self.preparedData[rowId]?._selected});if(checked&&_.isFunction(self.options.onRowSelect)){self.options.onRowSelect(rowData,e)}if(!checked&&_.isFunction(self.options.onRowDeselect)){self.options.onRowDeselect(rowData,e)}}))}var headerCells=$header.find("th.app-datagrid-header-cell");var headerCols=$colgroup.find("col");headerCells.each((function(){var id=Number($(this).attr("data-col-id")),colDef=self.preparedHeaderData[id],$headerCol=$(headerCols[id]);if(!colDef){return}if(!_.isUndefined(colDef.show)&&!colDef.show){$(this).hide();$headerCol.hide()}}));if(this.options.isMobile){this.tableContainer.append($colgroup)}else{this.tableContainer.append($colgroup)}$header.on("click",".app-datagrid-header-cell input:checkbox",toggleSelectAll);if(_.isFunction(this.options.onHeaderClick)){this.gridHeaderElement.find("th.app-datagrid-header-cell").on("click",this.headerClickHandler.bind(this))}if(!this.options.isMobile&&this.gridHeaderElement.length){this.gridHeaderElement.find("th[data-col-resizable]").resizable({handles:"e",minWidth:50,resize:function(evt,ui){var $colElement,$colHeaderElement,$cellElements,colIndex=+ui.helper.attr("data-col-id")+1,originalWidth=ui.helper.width(),newWidth=ui.size.width,originalTableWidth,newTableWidth;$colHeaderElement=self.tableContainer.find("colgroup > col:nth-child("+colIndex+")");$colElement=self.tableContainer.find("colgroup > col:nth-child("+colIndex+")");$cellElements=self.gridElement.find("tr.app-datagrid-row > td:nth-child("+colIndex+") > div");$colElement.width(newWidth);$colHeaderElement.width(newWidth);$cellElements.width(newWidth);$(this).css("height","auto");if(newWidth>ui.originalSize.width){originalTableWidth=self.gridHeaderElement.width();newTableWidth=originalTableWidth+newWidth-originalWidth;self.gridHeaderElement.width(newTableWidth);self.gridElement.width(newTableWidth)}self.addOrRemoveScroll();self.options.redrawWidgets()}})}if(!this.isResetSortIconsDone){this.setSortIconDefault()}},addOrRemoveScroll:function(){var gridContent=this.gridContainer.find("tbody"),gridHeader=this.gridContainer.find(".table-header");if(gridContent.scrollHeight>gridContent.clientHeight&&!this.Utils.isMac()){gridHeader.addClass("scroll-visible")}else{gridHeader.removeClass("scroll-visible")}},_handleCustomEvents:function(e,options){this.options.handleCustomEvents(e,options)},_setActionsEnabled:function(){var self=this;_.forEach(this.options.rowActions,(function(def){if(_.includes(def.action,"editRow(")){self.options.actionsEnabled.edit=true}else if(_.includes(def.action,"deleteRow(")){self.options.actionsEnabled.delete=true}}))},_appendRowActions:function($htm,isNewRow,rowData){var self,rowOperationsCol=this._getRowActionsColumnDef();if(this.options.rowActions.length||rowOperationsCol){this._setActionsEnabled();self=this;$htm.find("[data-identifier='actionButtons']").each((function(index){var _rowData,$row,rowId,rowIndex=index;if(isNewRow){_rowData=rowData}else{$row=$(this).closest("tr.app-datagrid-row");rowId=parseInt($row.attr("data-row-id"),10);_rowData=_.clone(self.options.data[rowId]);_rowData.$index=rowIndex+1}self.options.generateRowActions(_rowData,rowIndex);$(this).empty().append(self.options.getRowAction(rowIndex))}))}},_renderGrid:function(isCreated){var $htm,isScrollorOnDemand=this.options.isNavTypeScrollOrOndemand(),pageStartIndex=this.getPageStartIndex();$("table.table-bordered").parents(".app-grid-header-inner").addClass("table_border");if(isScrollorOnDemand){var $tbody=this.gridElement;var template=this._getGridTemplate();$htm=$(template);if(template&&!$tbody.length){this.gridElement.append($htm)}}else{var templates=this._getGridTemplate();$htm=$(templates);if(templates){this.gridElement.append($htm)}}if(this.options.summaryRow){var $summaryRowHtm=$(this._getSummaryRowTemplate());this.tableContainer.find("tfoot").remove();if(this.options.data.length){this.tableContainer.append($summaryRowHtm)}}if(!this.options.data.length&&this.dataStatus.state==="nodata"){this.setStatus("nodata")}else{this.dataStatus.state=this.dataStatus.state||"loading";this.dataStatus.message=this.dataStatus.message||this.options.dataStates.loading;this.setStatus(this.dataStatus.state,this.dataStatus.message,isCreated)}this.gridBody=this.gridElement.find("tbody");this.gridFooter=this.tableContainer.find("tfoot");this._findAndReplaceCompiledTemplates();this.options.clearRowActions();this._appendRowExpansionButtons($htm);this._appendRowActions($htm);this.attachEventHandlers($htm);this.__setStatus(isCreated);if(this.options.editmode===this.CONSTANTS.QUICK_EDIT&&this.options.showNewRow){this.addNewRow(false,true)}if(isCreated){this._setColSpan(this.options.headerConfig)}if(_.isFunction(this.options.onDataRender)){this.options.onDataRender()}if(!isCreated&&this.options.selectFirstRow){if(this.options.multiselect){this.options.selectFirstRow=false}if(this.gridElement.find("tr.app-datagrid-row.active").length<=0){this.selectFirstRow(true,true)}}},_render:function(isCreated){if(!this.tableId){this.tableId=this.Utils.generateGuid()}var overflow=this.options.isNavTypeScrollOrOndemand()&&(this.options.height==="100%"||this.options.height==="auto")?"hidden":"auto";var statusContainer='<div class="overlay">'+'<div class="status"><i class="'+this.options.loadingicon+'"></i><span class="message"></span></div>'+"</div>",table='<div class="table-container table-responsive">'+'<div class="app-grid-header">'+'<div class="app-grid-header-inner">'+'<table tabindex="0" class="'+this.options.cssClassNames.gridDefault+" "+this.options.cssClassNames.grid+'">'+'<thead tabindex="0" class="table-header thead-sticky" id="table_header_'+this.tableId+'">'+'</thead><tbody class="app-grid-content app-datagrid-body" id="table_'+this.tableId+'">'+"</tbody></table>"+"</div></div></div>",$statusContainer=$(statusContainer),$tableContainer=this.element.find(".table-container");this.gridContainer=$(table);this.gridHeaderElement=this.gridContainer.find(".table-header");this._setStyles($statusContainer.find("div.overlay"),"display:none");this._setStyles(this.gridContainer.find("div.app-grid-header-inner"),"height:"+this.options.height+"; overflow: auto;");this.tableContainer=this.gridContainer.find("table");this.gridElement=this.gridContainer.find(".app-grid-content");if(this.options.isNavTypeScrollOrOndemand()&&(!$tableContainer.length||!this.options.isNextPageData)||!this.options.isNavTypeScrollOrOndemand()){this.element.find(".table-container").remove();this.element.append(this.gridContainer)}this.options.setIsNextPageData(false);if(!this.gridContainer.find(".overlay").length){this.dataStatusContainer=$(statusContainer);this.gridContainer.append(this.dataStatusContainer)}if(this.gridHeaderElement){this.gridHeaderElement.empty();this.gridElement.find("colgroup").remove()}this._renderHeader();if(this.options.filtermode===this.CONSTANTS.SEARCH&&(_.isEmpty(this.searchObj)||this.searchObj&&!this.searchObj.field&&!this.searchObj.value)){this._renderSearch()}else if(this.options.filtermode===this.CONSTANTS.MULTI_COLUMN){this._renderRowFilter()}if(this.options.spacing==="condensed"){this._toggleSpacingClasses("condensed")}this._renderGrid(isCreated);this.addNavigationControls()},addNavigationControls:function(){if(this.options.isdynamictable){this.element.find(".on-demand-datagrid").remove();if(this.options.navigation==="On-Demand"&&!this.element.find(".on-demand-datagrid").length){this.options.addLoadMoreBtn()}else if(this.options.navigation==="Scroll"){this.options.bindScrollEvt()}}},__setStatus:function(isCreated){var loadingIndicator=this.dataStatusContainer.find("i"),state=this.dataStatus.state,isScrollOrOndemand=this.options.isNavTypeScrollOrOndemand();this.dataStatusContainer.find(".message").text(this.dataStatus.message);if(state==="loading"){loadingIndicator.removeClass("hidden")}else{loadingIndicator.addClass("hidden")}if(state==="ready"){this.dataStatusContainer.hide()}else{if(this.options.isNavTypeScrollOrOndemand()&&(state==="nodata"||this.options.getCurrentPage()==this.options.getPageCount()&&!this.options.showviewlessbutton)){this.element.find(".on-demand-datagrid a").hide()}this.dataStatusContainer.show()}if(state==="nodata"||state==="loading"||state==="error"){if(this.options.height==="100%"||this.options.height==="auto"){if(state==="nodata"){this.dataStatusContainer.css("height","auto");this.dataStatus.contentHeight=0}else if(this.options.isNavTypeScrollOrOndemand()&&this.options.getCurrentPage()>1){this.dataStatusContainer.hide()}else{this.dataStatus.height=this.dataStatus.height||this.dataStatusContainer.outerHeight();this.dataStatus.contentHeight=this.gridElement.outerHeight()||this.dataStatus.contentHeight;this.dataStatusContainer.css("height",this.dataStatus.height>this.dataStatus.contentHeight?"auto":this.dataStatus.contentHeight)}}if(!isScrollOrOndemand||isScrollOrOndemand&&this.options.getCurrentPage()===1){this.gridContainer.addClass("show-msg")}}else{this.gridContainer.removeClass("show-msg");if(this.options.editmode===this.CONSTANTS.QUICK_EDIT){if(this.options.activeRow){this.attachHandlersToActiveRow(this.options.activeRow)}this.options.activeRow=undefined}}if(!isCreated){this.setColGroupWidths()}this.addOrRemoveScroll()},attachHandlersToActiveRow(rowObj){var rowIndex=this.Utils.getObjectIndex(this.options.data,rowObj);var row=this.gridElement.find("tr.app-datagrid-row[data-row-id="+rowIndex+"]");if(!row.length){return}else if(!row.hasClass("active")){row.addClass("active")}this.focusActiveRow();this.attachEventHandlers(row)},setActiveRow(row){this.options.activeRow=row},setStatus:function(state,message,isCreated){var $newRow;if(state==="nodata"){$newRow=this.gridElement&&this.gridElement.find("tr.app-datagrid-row.always-new-row");state=$newRow&&$newRow.length?"ready":state}this.dataStatus.state=state;this.options.setGridState(state);this.dataStatus.message=message||this.options.dataStates[state];if(this._setStatusCalled){this._setStatus(isCreated)}else{this.__setStatus(isCreated);this._setStatusCalled=true}},setGridDimensions:function(key,value){if(value.indexOf("px")===-1&&value.indexOf("%")===-1&&value.indexOf("em")===-1&&value!="auto"){value=value+"px"}this.options[key]=value;if(key==="height"){var elements=this.gridHeaderElement.find("th");this.gridContainer.find(".app-grid-header-inner").css(key,value);if(this.options.isNavTypeScrollOrOndemand()&&(this.options.height!="100%"&&this.options.height!="auto")){this.gridContainer.find(".app-grid-header-inner").css("overflow","auto")}this.dataStatusContainer.css(key,value)}this.addOrRemoveScroll()},setColumnProp:function(fieldName,property,val,isGroup){var $col;if(property==="displayName"){if(isGroup){$col=this.gridHeaderElement.find('th[data-col-group="'+fieldName+'"]')}else{$col=this.gridHeaderElement.find('th[data-col-field="'+fieldName+'"]')}$col.attr("title",val);$col.find(".header-data").html(val);if(this.options.filtermode===this.CONSTANTS.SEARCH&&this.gridSearch){this.gridSearch.find('select option[value="'+fieldName+'"]').text(val)}}},applyRowNgClass:function(val,index){var $row=this.gridElement.find('tr.app-datagrid-row[data-row-id="'+index+'"]');$row.removeClass(val.toRemove);$row.addClass(val.toAdd)},applyColNgClass:function(val,rowIndex,colIndex){var $cell=this.gridElement.find('tr.app-datagrid-row[data-row-id="'+rowIndex+'"] td.app-datagrid-cell[data-col-id="'+colIndex+'"]');$cell.removeClass(val.toRemove);$cell.addClass(val.toAdd)},_destroy:function(){this.element.text("");window.clearTimeout(this.refreshGridTimeout)}});"use strict";window.requestAnimationFrame=function(){"use strict";return window.requestAnimationFrame||window.webkitRequestAnimationFrame||window.mozRequestAnimationFrame||window.oRequestAnimationFrame||window.msRequestAnimaitonFrame||function(callback){window.setTimeout(callback,1e3/60)}}();(function($){"use strict";var DIRECTIONS={NONE:0,HORIZONTAL:1,LEFT_TO_RIGHT:2,RIGHT_TO_LEFT:3,VERTICAL:4,TOP_TO_DOWN:5,DOWN_TO_TOP:6};var abs=Math.abs;var max=Math.max;var TAG_WHITE_LIST=["INPUT","SELECT","OPTION"];var SwipeTracer;var activeEventProcessor;var swipeMask=$("<div></div>");swipeMask.css({"background-color":"rgba(0, 0, 0, 0)",position:"fixed",top:0,width:"100vw",height:"100vh","z-index":1e5});var touchMoveListeners=[];var touchEndListeners=[];var pointerId=null;var onTouch=function(e){if(e&&(e.pointerId&&e.pointerId!==pointerId||e.touches&&e.touches.length>1)){onTouchEnd(e)}$.each(touchMoveListeners,(function(i,fn){return fn(e)}))};var onTouchEnd=function(e){pointerId=null;$.each(touchEndListeners,(function(i,fn){return fn(e)}));touchMoveListeners.length=0;touchEndListeners.length=0};function addEventListener(target,event,callback){(target.__zone_symbol__addEventListener||target.addEventListener).call(target,event,callback,{passive:true})}function iOSversion(){if(/iP(hone|od|ad)/.test(navigator.platform)){var v=navigator.appVersion.match(/OS (\d+)_(\d+)_?(\d+)?/);return parseInt(v[1],10)}}if(window["PointerEvent"]&&iOSversion()>=13){addEventListener(document,"pointerdown",(function(e){if(pointerId&&pointerId!==e.pointerId){onTouchEnd(e)}else{pointerId=e.pointerId}}));addEventListener(document,"pointermove",onTouch);addEventListener(document,"pointerup",onTouchEnd);addEventListener(document,"pointercancel",onTouchEnd)}else{addEventListener(document,"mousemove",onTouch);addEventListener(document,"touchmove",onTouch);addEventListener(document,"mouseup",onTouchEnd);addEventListener(document,"touchcancel",onTouchEnd);addEventListener(document,"touchend",onTouchEnd)}function ScrollObserver(parent,child,direction){var elementsToObserve=function(array){var iter=child;while(iter){array.push({$ele:$(iter),last:{scrollLeft:iter.iscroll?iter.iscroll.x:iter.scrollLeft,scrollTop:iter.iscroll?iter.iscroll.y:iter.scrollTop}});iter=iter.parentElement}return array}([]);function isVerticalScroll(){var result;$.each(elementsToObserve,(function(){if(this.$ele[0].iscroll){if(!isNaN(this.$ele[0].iscroll.y)&&this.$ele[0].iscroll.y!==0){result=true}}else if(this.$ele[0].scrollTop!==0){result=true}}));return result}function isHorizontalScroll(){var result;$.each(elementsToObserve,(function(){if(this.$ele[0].iscroll){if(!isNaN(this.$ele[0].iscroll.x)&&this.$ele[0].iscroll.x!==0){result=true}}else if(this.$ele[0].scrollLeft!==0){result=true}}));return result}this.hasSrcolled=function(){if(direction===$.fn.swipey.DIRECTIONS.VERTICAL){return isVerticalScroll()}if(direction===$.fn.swipey.DIRECTIONS.HORIZONTAL){return isHorizontalScroll()}}}function SwipeEventSmoother(){var queue=[];var isProcessing=false;var time;function process(){if(queue.length>0){try{queue.shift()()}catch(e){console.error("Function invocation failed",e)}window.requestAnimationFrame(process)}else{isProcessing=false}}this.push=function(fn){queue.push(fn)};this.process=function(){if(!isProcessing){isProcessing=true;process()}}}activeEventProcessor=new SwipeEventSmoother;function getTouchEvent(event){if(event.originalEvent&&event.originalEvent.pointerType!=="mouse"){return event.originalEvent}return event.originalEvent&&event.originalEvent.touches&&event.originalEvent.touches[0]||event&&event.touches&&event.touches[0]||event}function computeDistance(startPoint,endPoint,direction){var distance=0,deltaX,deltaY;if(direction===DIRECTIONS.HORIZONTAL){distance=endPoint.x-startPoint.x}else if(direction===DIRECTIONS.LEFT_TO_RIGHT){distance=max(endPoint.x-startPoint.x,0)}else if(direction===DIRECTIONS.RIGHT_TO_LEFT){distance=max(startPoint.x-endPoint.x,0)}else if(direction===DIRECTIONS.VERTICAL){distance=endPoint.y-startPoint.y}else if(direction===DIRECTIONS.TOP_TO_DOWN){distance=max(endPoint.y-startPoint.y,0)}else if(direction===DIRECTIONS.DOWN_TO_TOP){distance=max(startPoint.y-endPoint.y,0)}else{deltaX=endPoint.x-startPoint.x;deltaY=endPoint.y-startPoint.y;distance=max(abs(deltaX),abs(deltaY));if(deltaX<0&&abs(deltaX)===distance||deltaY<0&&abs(deltaY)===distance){distance=-distance}}return distance}function onActiveSwipe(event,settings){var touch=getTouchEvent(event);var startPoint=settings.data.path[0];var point={x:touch.pageX,y:touch.pageY};var distance=computeDistance(startPoint,point,settings.direction);var eventSplits=[];var increment;var limit;settings.renderInProgress=false;if(distance!==settings.lastDistance){increment=(distance<settings.lastDistance?-1:1)*30;limit=distance-settings.lastDistance;for(var i=increment;increment>0&&i<=limit||increment<0&&i>=limit;i+=increment){eventSplits.push(i+settings.lastDistance)}if(limit%increment!==0){eventSplits.push(limit%abs(increment)+(eventSplits.length===0?settings.lastDistance:eventSplits[eventSplits.length-1]))}settings.lastDistance=distance;$.each(eventSplits,(function(){var d=this;activeEventProcessor.push((function(){settings.data.length=d;settings.data.totalLength+=abs(d);settings.data.velocity=abs(settings.data.totalLength/(Date.now()-settings.data.startTime));settings.data.path.push(point);if(settings.onSwipe.call(settings.target,event,settings.data)===false){onActiveSwipeEnd(event,settings)}SwipeTracer.onSwipe(event,settings.data)}))}));activeEventProcessor.process()}}function onActiveSwipeEnd(event,settings){var touch=getTouchEvent(event);if(touch){settings.data.path.push({x:touch.pageX,y:touch.pageY})}activeEventProcessor.push((function(){SwipeTracer.onSwipeEnd(event,settings.data);settings.onSwipeEnd.call(settings.target,event,settings.data)}));activeEventProcessor.process()}function listenActiveSwipe(event,settings){var touch=getTouchEvent(event);var swipeHandler;var swipeEndHandler;var passiveDistance;var passiveSwipeStartPoint=settings.data.path[0];var activeSwipeStartPoint={x:touch.pageX,y:touch.pageY};passiveDistance=computeDistance(passiveSwipeStartPoint,activeSwipeStartPoint,settings.direction);settings.data.length=passiveDistance<0?-1:1;settings.lastDistance=settings.data.length;settings.data.path=[activeSwipeStartPoint];settings.data.totalLength=abs(settings.data.length);settings.data.startTime=Date.now();if(settings.onSwipeStart.call(settings.target,event,settings.data)===false){return false}swipeMask.appendTo($("body"));swipeHandler=function(em){onActiveSwipe(em,settings)};swipeEndHandler=function(ee){swipeMask.remove();onActiveSwipeEnd(ee,settings)};touchMoveListeners=[];touchMoveListeners.push(swipeHandler);touchEndListeners=[];touchEndListeners.push(swipeEndHandler);SwipeTracer.onSwipeStart(event,settings.data);return true}function isThresholdAngleReached(startPoint,endPoint,direction){if(direction===DIRECTIONS.HORIZONTAL){if(Math.abs((endPoint.y-startPoint.y)/(endPoint.x-startPoint.x))<=.36397023426){return true}}else if(direction===DIRECTIONS.VERTICAL){if(Math.abs((endPoint.y-startPoint.y)/(endPoint.x-startPoint.x))>=2.74747741945){return true}}return false}function isThresholdReached(touch,settings){var startPoint=settings.data.path[0];var endPoint={x:touch.pageX,y:touch.pageY};var distance=computeDistance(startPoint,endPoint,settings.direction);return abs(distance)>settings.threshold&&isThresholdAngleReached(startPoint,endPoint,settings.direction)}function listenPassiveSwipe(touch,settings){var passiveSwipeHandler;settings.scrollObserver=new ScrollObserver(event.currentTarget,event.target,settings.direction);passiveSwipeHandler=function(em){if(isThresholdReached(getTouchEvent(em),settings)){if(settings.scrollObserver.hasSrcolled()||listenActiveSwipe(em,settings)){return false}}};touchMoveListeners.push(passiveSwipeHandler);settings.data={path:[{x:touch.pageX,y:touch.pageY}]}}function bind(settings){var events=settings.bindEvents;var listenFor="";if(_.includes(events,"touch")){listenFor+="touchstart"}else if(_.includes(events,"mouse")){listenFor+="mousedown"}else if(_.includes(events,"pointer")){listenFor+="pointerdown"}if(!listenFor){return}addEventListener(settings.target[0],listenFor,(function(es){if(settings.disableMouse&&es.pointerType==="mouse"){return}if(es.pointerType!=="mouse"&&es.MSPOINTER_TYPE_MOUSE&&es.pointerType!==es.MSPOINTER_TYPE_MOUSE){if(TAG_WHITE_LIST.indexOf(es.target.tagName)<0){es.preventDefault()}else{return}}var touch=getTouchEvent(es);if(touch){listenPassiveSwipe(touch,settings)}}))}$.fn.swipey=function(settings){this.each((function(){bind($.extend({direction:DIRECTIONS.NONE,target:$(this),bindEvents:["touch","mouse"],swipeTarget:document,threshold:30,onSwipeStart:$.noop,onSwipe:$.noop,onSwipeEnd:$.noop,disableMouse:true},settings))}));return this};SwipeTracer={onSwipeStart:function(e,data){if($.fn.swipey.trace){var $svg='<svg height="100vh" width="100vw" id ="canvas">'+' <path stroke="rgba(0, 0, 0, 0.5)" stroke-linecap="round" stroke-width="20" fill-opacity="0" '+' stroke-opacity="0.8" d="M'+data.path[0].x+" "+data.path[0].y+' " />'+" </svg>";$svg.css({position:"fixed",top:0,left:0,width:"100vw",height:"100vh","z-index":1e4});$("body").append($svg);data.tracer={pathd:$("#canvas path")}}},onSwipe:function(e,data){if(data.tracer){var d=data.tracer.pathd.attr("d");var p=data.path[data.path.length-1];data.tracer.pathd.attr("d",d+" L"+p.x+" "+p.y+" ")}},onSwipeEnd:function(e,data){if(data.tracer){var firstPoint=data.path[0];var expected_1=[firstPoint,{y:firstPoint.y-50},{x:firstPoint.x+50},{y:firstPoint.y+50}];var trace_1=0;_.forEach(data.path,(function(p){var ep;if(trace_1!==expected_1.length){ep=expected_1[trace_1];if((!ep.x||ep.x<=p.x)&&(!ep.y||ep.y<=p.y)){trace_1++}}}));setTimeout((function(){$("body >#canvas").remove()}),500)}}};$.fn.swipey.DIRECTIONS=DIRECTIONS})(jQuery);(function($){var $parse;var expressionRegex=/\$\{\{[a-zA-Z\+-/%\.\*\s\(\)\d,\\'"\$_]*\}\}/;function getParseService(){if($.fn.swipeAnimation.expressionEvaluator){return $.fn.swipeAnimation.expressionEvaluator}if(window.exprEval&&window.exprEval.Parser){return function(exp){var parser=(new window.exprEval.Parser).parse(exp);return function(context){return parser.evaluate(context)}}}}function compile(script){var tArr=[];var match;$parse=$parse||getParseService();if(_.isFunction(script)){return script}else if($parse){while((match=expressionRegex.exec(script))!==null){var expression=match[0];var prefix=script.substring(0,match.index);script=script.substring(match.index+expression.length);expression=expression.substring(3,expression.length-2);tArr.push(prefix);tArr.push($parse(expression).bind({}))}tArr.push(script);return function(){var args=arguments;return _.map(tArr,(function(v){return _.isFunction(v)?v.apply(undefined,args):v})).join("")}}}function getObject(obj,$ele,args){if(_.isFunction(obj)){return obj.apply($ele,args)}return obj}function VelocityComputator(){var lastDistance=0;var lastTime=0;var v=0;return{addDistance:function(d){var currentTime=Date.now();if(Math.abs(d-lastDistance)>10&¤tTime!==lastTime){v=(d-lastDistance)/(currentTime-lastTime);lastDistance=d;lastTime=currentTime}if(v<0){v=Math.min(v,-1)}else{v=Math.max(v,1)}return this},getVelocity:function(){return v},getTime:function(d){return Math.abs(d/v)}}}function calculateBounds($el,settings,args){var centerVal=0;var bounds=getObject(settings.bounds,$el,args);if(!_.isUndefined(bounds.center)){centerVal=bounds.center}if(!_.isUndefined(bounds.lower)){bounds.lower=bounds.lower+centerVal}if(!_.isUndefined(bounds.upper)){bounds.upper=bounds.upper+centerVal}return bounds}function retrieveTargets(settings){_.forEach(settings.animation,(function(a){if(_.isFunction(a.target)||a.targetFn){a.targetFn=_.isUndefined(a.targetFn)?a.target:a.targetFn;a.target=a.targetFn()}}))}function SettingsProperty(){this.setSettings=function(settings,$el){$el.data("swipeAnimationDefaults",settings)};this.getSettings=function($el){return $el.data("swipeAnimationDefaults")}}function animate(settings,metaData,time,$el,distanceMoved,e){_.forEach(settings.animation,(function(a){if(!a.target){return}if(a.target.length>1){a.target.each((function(i){metaData.$i=i;$(this).css(_.mapValues(a.css,(function(v,k){return v(metaData)})))}))}else{metaData.$i=0;a.target.css(_.mapValues(a.css,(function(v,k){return v(metaData)})))}a.target.css({transition:"all ease-out "+time+"ms"});a.target.one("webkitTransitionEnd transitionend",(function(){a.target.css({transition:""})}))}));setTimeout((function(){window.requestAnimationFrame((function(){if(metaData.$D===metaData.bounds.lower){settings.onLower.call($el,e)}else if(metaData.$D===metaData.bounds.upper){settings.onUpper.call($el,e)}settings.onAnimation(e,distanceMoved)}))}),time)}var methods={gotoUpper:function(){swipeToEnd(this,"upper",arguments[1])},gotoLower:function(time){swipeToEnd(this,"lower",arguments[1])}};function swipeToEnd($ele,moveTo,time){var settingsObj=new SettingsProperty;var settings=settingsObj.getSettings($ele);var metaData={};var bounds=calculateBounds($ele,settings);var context;retrieveTargets(settings);time=time||300;context=getObject(settings.context,$ele);metaData=_.extend({},context);metaData.$d=0;metaData.$D=moveTo==="lower"?bounds.lower:bounds.upper;metaData.bounds=bounds;animate(settings,metaData,time,$ele)}function addSwipey($ele,settings){var state={$D:0};var baseContext={max:Math.max,min:Math.min,abs:Math.abs};if(!_.isArray(settings.animation)){var target=settings.animation.target||$ele;var css=settings.animation.css||settings.animation;delete css[$ele];settings.animation=[{target:target,css:css}]}_.forEach(settings.animation,(function(a){a.css=_.mapValues(a.css,(function(v,k){return compile(v)}))}));var settingsObj=new SettingsProperty;settingsObj.setSettings(settings,$ele);$ele.swipey({direction:settings.direction,threshold:settings.threshold,bindEvents:settings.bindEvents,target:settings.target,onSwipeStart:function(e,data){var cd;state.$d=0;state.bounds=calculateBounds(this,settings,[e,data.length]);if(!_.isUndefined(state.bounds.center)){state.$D=state.bounds.center}else{state.$D=0}cd=state.$D+data.length;state.bounds.strictLower=!(state.bounds.strict===false||state.bounds.strictLower===false);state.bounds.strictUpper=!(state.bounds.strict===false||state.bounds.strictUpper===false);if(!settings.enableGestures()||state.bounds.strictLower&&(_.isUndefined(state.bounds.lower)&&data.length<0||!_.isUndefined(state.bounds.lower)&&state.bounds.lower>cd)||state.bounds.strictUpper&&(_.isUndefined(state.bounds.upper)&&data.length>0||!_.isUndefined(state.bounds.upper)&&state.bounds.upper<cd)){return false}state.vc=VelocityComputator();state.context=_.extend(baseContext,getObject(settings.context,$ele));state.localState=_.extend({},state.context);retrieveTargets(settings);_.forEach(settings.animation,(function(a){if(a.target){a.target.css({transition:"none"})}}))},onSwipe:function(e,data){var localState=state.localState;var cd=state.$D+data.length;localState.$d=data.length;localState.$D=state.$D;if(state.bounds.strictLower&&!_.isUndefined(state.bounds.lower)&&state.bounds.lower>cd){localState.$d=state.bounds.lower-state.$D}else if(state.bounds.strictUpper&&!_.isUndefined(state.bounds.upper)&&state.bounds.upper<cd){localState.$d=state.bounds.upper-state.$D}state.vc.addDistance(data.length);_.forEach(settings.animation,(function(a){if(a.target){if(a.target.length>1){a.target.each((function(i){localState.$i=i;$(this).css(_.mapValues(a.css,(function(v,k){return v(localState)})))}))}else{localState.$i=0;a.target.css(_.mapValues(a.css,(function(v,k){return v(localState)})))}}}))},onSwipeEnd:function(e,data){var localState=state.localState;var cd=state.$D+data.length;var v=state.vc.getVelocity();var time;localState.$d=data.length;localState.$D=state.$D;if(!_.isUndefined(state.bounds.lower)&&v<=0&&state.$D>cd){localState.$D=state.bounds.lower}else if(!_.isUndefined(state.bounds.upper)&&v>=0&&state.$D<cd){localState.$D=state.bounds.upper}localState.$d=0;localState.bounds=state.bounds;state.$D=localState.$D;time=state.vc.getTime(localState.$D-cd);animate(settings,localState,time,$ele,cd,e)}})}$.fn.swipeAnimation=function(settings){if(methods[settings]){return methods[settings].apply(this,arguments)}this.each((function(){addSwipey($(this),$.extend({direction:$.fn.swipey.DIRECTIONS.HORIZONTAL,target:$(this),threshold:30,enableGestures:function(){return true},bindEvents:["touch"],bounds:{},context:{},animation:{},onLower:$.noop,onUpper:$.noop,onAnimation:$.noop},settings))}));return this}})(jQuery);
|
|
666
666
|
/*!
|
|
667
667
|
* jQuery UI Touch Punch 0.2.3
|
|
668
668
|
*
|
|
@@ -1413,7 +1413,7 @@ hooks.version="2.30.1";setHookCallback(createLocal);hooks.fn=proto;hooks.min=min
|
|
|
1413
1413
|
\********************************************************/(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{"use strict";__webpack_require__.r(__webpack_exports__);__webpack_require__.d(__webpack_exports__,{ModelVariableManager:()=>ModelVariableManager});var _base_variable_manager__WEBPACK_IMPORTED_MODULE_0__=__webpack_require__(/*! ./base-variable.manager */"./src/manager/variable/base-variable.manager.ts");var lodash__WEBPACK_IMPORTED_MODULE_1__=__webpack_require__(/*! lodash */"./node_modules/lodash/lodash.js");var lodash__WEBPACK_IMPORTED_MODULE_1___default=__webpack_require__.n(lodash__WEBPACK_IMPORTED_MODULE_1__);var __extends=undefined&&undefined.__extends||function(){var extendStatics=function(d,b){extendStatics=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(d,b){d.__proto__=b}||function(d,b){for(var p in b)if(Object.prototype.hasOwnProperty.call(b,p))d[p]=b[p]};return extendStatics(d,b)};return function(d,b){if(typeof b!=="function"&&b!==null)throw new TypeError("Class extends value "+String(b)+" is not a constructor or null");extendStatics(d,b);function __(){this.constructor=d}d.prototype=b===null?Object.create(b):(__.prototype=b.prototype,new __)}}();var checkEmptyObject=function(obj){var isEmpty=true;lodash__WEBPACK_IMPORTED_MODULE_1___default().forEach(obj,(function(value){if(lodash__WEBPACK_IMPORTED_MODULE_1___default().isEmpty(value)&&!lodash__WEBPACK_IMPORTED_MODULE_1___default().isBoolean(value)&&!lodash__WEBPACK_IMPORTED_MODULE_1___default().isNumber(value)){return}if(!lodash__WEBPACK_IMPORTED_MODULE_1___default().isObject(value)){isEmpty=false}else if(lodash__WEBPACK_IMPORTED_MODULE_1___default().isArray(value)){isEmpty=lodash__WEBPACK_IMPORTED_MODULE_1___default().isEmpty(value)||(value.length===1?lodash__WEBPACK_IMPORTED_MODULE_1___default().isEmpty(value[0]):false)}else{isEmpty=checkEmptyObject(value)}return isEmpty}));return isEmpty};var ModelVariableManager=function(_super){__extends(ModelVariableManager,_super);function ModelVariableManager(){return _super!==null&&_super.apply(this,arguments)||this}ModelVariableManager.prototype.removeFirstEmptyObject=function(variable){if(lodash__WEBPACK_IMPORTED_MODULE_1___default().isArray(variable.dataSet)&&variable.dataSet.length===1&&checkEmptyObject(variable.dataSet[0])){variable.dataSet=[]}};return ModelVariableManager}(_base_variable_manager__WEBPACK_IMPORTED_MODULE_0__.BaseVariableManager)},"./src/manager/variable/service-variable.manager.ts":
|
|
1414
1414
|
/*!**********************************************************!*\
|
|
1415
1415
|
!*** ./src/manager/variable/service-variable.manager.ts ***!
|
|
1416
|
-
\**********************************************************/(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{"use strict";__webpack_require__.r(__webpack_exports__);__webpack_require__.d(__webpack_exports__,{ServiceVariableManager:()=>ServiceVariableManager});var _util_utils__WEBPACK_IMPORTED_MODULE_0__=__webpack_require__(/*! ../../util/utils */"./src/util/utils.ts");var _util_file_upload_util__WEBPACK_IMPORTED_MODULE_1__=__webpack_require__(/*! ../../util/file-upload.util */"./src/util/file-upload.util.ts");var _util_variable_service_variable_utils__WEBPACK_IMPORTED_MODULE_2__=__webpack_require__(/*! ../../util/variable/service-variable.utils */"./src/util/variable/service-variable.utils.ts");var _util_inflight_queue__WEBPACK_IMPORTED_MODULE_3__=__webpack_require__(/*! ../../util/inflight-queue */"./src/util/inflight-queue.ts");var _base_variable_manager__WEBPACK_IMPORTED_MODULE_4__=__webpack_require__(/*! ./base-variable.manager */"./src/manager/variable/base-variable.manager.ts");var _constants_variables_constants__WEBPACK_IMPORTED_MODULE_5__=__webpack_require__(/*! ../../constants/variables.constants */"./src/constants/variables.constants.ts");var _util_variable_variables_utils__WEBPACK_IMPORTED_MODULE_6__=__webpack_require__(/*! ../../util/variable/variables.utils */"./src/util/variable/variables.utils.ts");var _util_oAuth_utils__WEBPACK_IMPORTED_MODULE_7__=__webpack_require__(/*! ../../util/oAuth.utils */"./src/util/oAuth.utils.ts");var _util_variable_pagination_utils__WEBPACK_IMPORTED_MODULE_8__=__webpack_require__(/*! ../../util/variable/pagination.utils */"./src/util/variable/pagination.utils.ts");var _model_base_variable__WEBPACK_IMPORTED_MODULE_9__=__webpack_require__(/*! ../../model/base-variable */"./src/model/base-variable.ts");var lodash__WEBPACK_IMPORTED_MODULE_10__=__webpack_require__(/*! lodash */"./node_modules/lodash/lodash.js");var lodash__WEBPACK_IMPORTED_MODULE_10___default=__webpack_require__.n(lodash__WEBPACK_IMPORTED_MODULE_10__);var __extends=undefined&&undefined.__extends||function(){var extendStatics=function(d,b){extendStatics=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(d,b){d.__proto__=b}||function(d,b){for(var p in b)if(Object.prototype.hasOwnProperty.call(b,p))d[p]=b[p]};return extendStatics(d,b)};return function(d,b){if(typeof b!=="function"&&b!==null)throw new TypeError("Class extends value "+String(b)+" is not a constructor or null");extendStatics(d,b);function __(){this.constructor=d}d.prototype=b===null?Object.create(b):(__.prototype=b.prototype,new __)}}();var ServiceVariableManager=function(_super){__extends(ServiceVariableManager,_super);function ServiceVariableManager(){var _this=_super!==null&&_super.apply(this,arguments)||this;_this.fileUploadResponse=[];_this.fileUploadCount=0;_this.totalFilesCount=0;_this.successFileUploadCount=0;_this.failedFileUploadCount=0;return _this}ServiceVariableManager.prototype.processErrorResponse=function(variable,errMsg,errorCB,xhrObj,skipNotification,skipDefaultNotification){var methodInfo=this.getMethodInfo(variable,{},{});var securityDefnObj=lodash__WEBPACK_IMPORTED_MODULE_10___default().get(methodInfo,"securityDefinitions.0");var advancedOptions=this.prepareCallbackOptions(xhrObj);if(!skipNotification){(0,_util_variable_variables_utils__WEBPACK_IMPORTED_MODULE_6__.initiateCallback)(_constants_variables_constants__WEBPACK_IMPORTED_MODULE_5__.VARIABLE_CONSTANTS.EVENT.ERROR,variable,errMsg,advancedOptions,skipDefaultNotification)}if(lodash__WEBPACK_IMPORTED_MODULE_10___default().get(securityDefnObj,"type")===_constants_variables_constants__WEBPACK_IMPORTED_MODULE_5__.VARIABLE_CONSTANTS.REST_SERVICE.SECURITY_DEFN.OAUTH2&&lodash__WEBPACK_IMPORTED_MODULE_10___default().includes([_constants_variables_constants__WEBPACK_IMPORTED_MODULE_5__.VARIABLE_CONSTANTS.HTTP_STATUS_CODE.UNAUTHORIZED,_constants_variables_constants__WEBPACK_IMPORTED_MODULE_5__.VARIABLE_CONSTANTS.HTTP_STATUS_CODE.FORBIDDEN],lodash__WEBPACK_IMPORTED_MODULE_10___default().get(xhrObj,"status"))){(0,_util_oAuth_utils__WEBPACK_IMPORTED_MODULE_7__.removeAccessToken)(securityDefnObj["x-WM-PROVIDER_ID"])}(0,_util_utils__WEBPACK_IMPORTED_MODULE_0__.triggerFn)(errorCB,errMsg);variable.notify(_model_base_variable__WEBPACK_IMPORTED_MODULE_9__.VariableEvents.AFTER_INVOKE,[this,errMsg]);if(!_constants_variables_constants__WEBPACK_IMPORTED_MODULE_5__.CONSTANTS.isStudioMode){variable.canUpdate=true;_util_inflight_queue__WEBPACK_IMPORTED_MODULE_3__.$queue.process(variable);(0,_util_variable_variables_utils__WEBPACK_IMPORTED_MODULE_6__.initiateCallback)(_constants_variables_constants__WEBPACK_IMPORTED_MODULE_5__.VARIABLE_CONSTANTS.EVENT.CAN_UPDATE,variable,errMsg,advancedOptions)}};ServiceVariableManager.prototype.processSuccessResponse=function(response,variable,options,success,resHeaders,operationInf){var dataSet;var newDataSet;var pagination={};var advancedOptions;var jsonParsedResponse=(0,_util_utils__WEBPACK_IMPORTED_MODULE_0__.getValidJSON)(response);response=(0,_util_utils__WEBPACK_IMPORTED_MODULE_0__.isDefined)(jsonParsedResponse)?jsonParsedResponse:response&&(0,_util_utils__WEBPACK_IMPORTED_MODULE_0__.xmlToJson)(response)||response;var isResponsePageable=(0,_util_utils__WEBPACK_IMPORTED_MODULE_0__.isPageable)(response);if(variable.serviceType==="DataService"||variable.serviceType==="JavaService"){var decodedData=(0,_util_variable_variables_utils__WEBPACK_IMPORTED_MODULE_6__.decodeData)(response);if(lodash__WEBPACK_IMPORTED_MODULE_10___default().isString(response)){response=decodedData}}if(isResponsePageable){dataSet=response.content;pagination=lodash__WEBPACK_IMPORTED_MODULE_10___default().omit(response,"content")}else{dataSet=response}advancedOptions=this.prepareCallbackOptions(options.xhrObj,{pagination:pagination,rawData:dataSet});(0,_util_variable_variables_utils__WEBPACK_IMPORTED_MODULE_6__.initiateCallback)(_constants_variables_constants__WEBPACK_IMPORTED_MODULE_5__.VARIABLE_CONSTANTS.EVENT.RESULT,variable,response,advancedOptions);(0,_util_utils__WEBPACK_IMPORTED_MODULE_0__.triggerFn)(success,response,pagination);if(variable.transformationColumns){this.transformData(response,variable)}dataSet=!lodash__WEBPACK_IMPORTED_MODULE_10___default().isObject(dataSet)?{value:dataSet}:dataSet;newDataSet=(0,_util_variable_variables_utils__WEBPACK_IMPORTED_MODULE_6__.initiateCallback)(_constants_variables_constants__WEBPACK_IMPORTED_MODULE_5__.VARIABLE_CONSTANTS.EVENT.PREPARE_SETDATA,variable,dataSet,advancedOptions);if((0,_util_utils__WEBPACK_IMPORTED_MODULE_0__.isDefined)(newDataSet)){dataSet=newDataSet}var inputFields=(0,_util_utils__WEBPACK_IMPORTED_MODULE_0__.getClonedObject)(options.inputFields||variable.dataBinding);var operationInfo=operationInf?operationInf:this.getMethodInfo(variable,inputFields,options);var paginationInfo=_util_variable_pagination_utils__WEBPACK_IMPORTED_MODULE_8__.PaginationUtils.getPaginationInfo(operationInfo,variable);if(paginationInfo){var res=_util_variable_pagination_utils__WEBPACK_IMPORTED_MODULE_8__.PaginationUtils.generatePaginationRes(operationInfo,paginationInfo,response,resHeaders,options,variable);if(!lodash__WEBPACK_IMPORTED_MODULE_10___default().isEmpty(res)){_util_variable_pagination_utils__WEBPACK_IMPORTED_MODULE_8__.PaginationUtils.setVariablePagination(variable,res,options)}}if(!options.forceRunMode&&!options.skipDataSetUpdate){if(!variable._paginationConfig){variable.pagination=pagination}variable.dataSet=dataSet;if(isResponsePageable){Object.defineProperty(variable.dataSet,"content",{get:function(){return variable.dataSet}})}}variable.notify(_model_base_variable__WEBPACK_IMPORTED_MODULE_9__.VariableEvents.AFTER_INVOKE,[this,dataSet]);setTimeout((function(){(0,_util_variable_variables_utils__WEBPACK_IMPORTED_MODULE_6__.initiateCallback)(_constants_variables_constants__WEBPACK_IMPORTED_MODULE_5__.VARIABLE_CONSTANTS.EVENT.SUCCESS,variable,dataSet,advancedOptions);if(!_constants_variables_constants__WEBPACK_IMPORTED_MODULE_5__.CONSTANTS.isStudioMode){variable.canUpdate=true;_util_inflight_queue__WEBPACK_IMPORTED_MODULE_3__.$queue.process(variable)}(0,_util_variable_variables_utils__WEBPACK_IMPORTED_MODULE_6__.initiateCallback)(_constants_variables_constants__WEBPACK_IMPORTED_MODULE_5__.VARIABLE_CONSTANTS.EVENT.CAN_UPDATE,variable,dataSet,advancedOptions)}));return{data:variable.dataSet,pagination:variable.pagination}};ServiceVariableManager.prototype.uploadFileInFormData=function(variable,options,success,error,file,requestParams){var _this=this;var promise=(0,_util_file_upload_util__WEBPACK_IMPORTED_MODULE_1__.upload)(file,variable,requestParams.data,{fileParamName:"files",url:requestParams.url});promise.then((function(data){_this.fileUploadCount++;_this.successFileUploadCount++;_this.fileUploadResponse.push(data[0]);if(data&&data[0]&&data[0].success===false){if(variable._progressObservable){variable._progressObservable.next({status:"error",fileName:file.name,errMsg:data[0].errorMessage})}_this.fileUploadResponse=[];_this.processErrorResponse(variable,data[0].errorMessage,error,data,options.skipNotification)}if(_this.totalFilesCount===_this.fileUploadCount&&data[0].success===true){if(_this.failedFileUploadCount===0){_this.processSuccessResponse(_this.fileUploadResponse,variable,options,success);_this.fileUploadResponse=[];if(!variable.onSuccess){_util_variable_variables_utils__WEBPACK_IMPORTED_MODULE_6__.appManager&&_util_variable_variables_utils__WEBPACK_IMPORTED_MODULE_6__.appManager.notifyApp(_util_variable_variables_utils__WEBPACK_IMPORTED_MODULE_6__.appManager.getAppLocale().MESSAGE_FILE_UPLOAD_SUCCESS,"success")}}else{(0,_util_variable_variables_utils__WEBPACK_IMPORTED_MODULE_6__.initiateCallback)(_constants_variables_constants__WEBPACK_IMPORTED_MODULE_5__.VARIABLE_CONSTANTS.EVENT.ERROR,variable,_this.fileUploadResponse);_this.fileUploadResponse=[];_util_variable_variables_utils__WEBPACK_IMPORTED_MODULE_6__.appManager&&_util_variable_variables_utils__WEBPACK_IMPORTED_MODULE_6__.appManager.notifyApp(_util_variable_variables_utils__WEBPACK_IMPORTED_MODULE_6__.appManager.getAppLocale().MESSAGE_FILE_UPLOAD_ERROR,"error")}_this.fileUploadCount=0;_this.successFileUploadCount=0;_this.totalFilesCount=0}return data}),(function(e){_this.fileUploadCount++;_this.failedFileUploadCount++;_this.fileUploadResponse.push(e);var errMsg=(0,_util_variable_variables_utils__WEBPACK_IMPORTED_MODULE_6__.getErrMessage)(e,variable.httpService.getLocale());if(variable._progressObservable){variable._progressObservable.next({status:"error",fileName:file.name,errMsg:errMsg})}if(_this.totalFilesCount===_this.fileUploadCount){_this.processErrorResponse(variable,errMsg,error,e,options.skipNotification);_this.fileUploadResponse=[];_this.fileUploadCount=0;_this.failedFileUploadCount=0;_this.totalFilesCount=0}return e}),(function(data){if(variable._progressObservable){variable._progressObservable.next({progress:data,status:_constants_variables_constants__WEBPACK_IMPORTED_MODULE_5__.VARIABLE_CONSTANTS.EVENT.PROGRESS,fileName:file.name})}(0,_util_variable_variables_utils__WEBPACK_IMPORTED_MODULE_6__.initiateCallback)(_constants_variables_constants__WEBPACK_IMPORTED_MODULE_5__.VARIABLE_CONSTANTS.EVENT.PROGRESS,variable,data);return data}));return promise};ServiceVariableManager.prototype.handleAuthError=function(variable,success,errorCB,options){var isUserAuthenticated=lodash__WEBPACK_IMPORTED_MODULE_10___default().get(_util_variable_variables_utils__WEBPACK_IMPORTED_MODULE_6__.securityService.get(),"authenticated");var info;if(isUserAuthenticated){info={error:{message:"You're not authorised to access the resource \""+variable.service+'".'}}}else{info={error:{message:"You're not authenticated to access the resource \""+variable.service+'".',skipDefaultNotification:true}};_util_variable_variables_utils__WEBPACK_IMPORTED_MODULE_6__.appManager.pushToSessionFailureRequests(variable.invoke.bind(variable,options,success,errorCB));_util_variable_variables_utils__WEBPACK_IMPORTED_MODULE_6__.appManager.handle401()}console.warn(variable.name+": "+info.error.message);return info};ServiceVariableManager.prototype.handleRequestMetaError=function(info,variable,success,errorCB,options){try{var err_type=lodash__WEBPACK_IMPORTED_MODULE_10___default().get(info,"error.type");switch(err_type){case _constants_variables_constants__WEBPACK_IMPORTED_MODULE_5__.VARIABLE_CONSTANTS.REST_SERVICE.ERR_TYPE.NO_ACCESSTOKEN:(0,_util_oAuth_utils__WEBPACK_IMPORTED_MODULE_7__.performAuthorization)(undefined,info.securityDefnObj[_constants_variables_constants__WEBPACK_IMPORTED_MODULE_5__.VARIABLE_CONSTANTS.REST_SERVICE.OAUTH_PROVIDER_KEY],this.invoke.bind(this,variable,options,success,errorCB),null,this.getProviderInfo(variable,info.securityDefnObj["x-WM-PROVIDER_ID"]));this.processErrorResponse(variable,info.error.message,errorCB,options.xhrObj,true,true);break;case _constants_variables_constants__WEBPACK_IMPORTED_MODULE_5__.VARIABLE_CONSTANTS.REST_SERVICE.ERR_TYPE.USER_UNAUTHORISED:info=this.handleAuthError(variable,success,errorCB,options);this.processErrorResponse(variable,info.error.message,errorCB,options.xhrObj,options.skipNotification,info.error.skipDefaultNotification);break;case _constants_variables_constants__WEBPACK_IMPORTED_MODULE_5__.VARIABLE_CONSTANTS.REST_SERVICE.ERR_TYPE.METADATA_MISSING:case _constants_variables_constants__WEBPACK_IMPORTED_MODULE_5__.VARIABLE_CONSTANTS.REST_SERVICE.ERR_TYPE.CRUD_OPERATION_MISSING:if(info.error.message){info.error.message=info.error.message.replace("$variable",variable.name);var reasons=void 0;if(err_type===_constants_variables_constants__WEBPACK_IMPORTED_MODULE_5__.VARIABLE_CONSTANTS.REST_SERVICE.ERR_TYPE.METADATA_MISSING){reasons=["1. You did not Preview the app after creating a Variable for the imported service.","2. You deleted the imported service this Variable is linked to."]}else{reasons=["1. You haven't chosen an endpoint for "+options.operation+" operation for this Entity."]}console.warn(info.error.message+"\n Possible reasons for this:\n "+reasons.join("\n "))}this.processErrorResponse(variable,info.error.message,errorCB,options.xhrObj,options.skipNotification,info.error.skipDefaultNotification);break;default:if(info.error.message){console.warn(info.error.message,variable.name);this.processErrorResponse(variable,info.error.message,errorCB,options.xhrObj,options.skipNotification,info.error.skipDefaultNotification)}}}catch(err){console.error(err)}return info};ServiceVariableManager.prototype.transformData=function(data,variable){data.wmTransformedData=[];var columnsArray=variable.transformationColumns,dataArray=lodash__WEBPACK_IMPORTED_MODULE_10___default().get(data,variable.dataField)||[],transformedData=data.wmTransformedData;lodash__WEBPACK_IMPORTED_MODULE_10___default().forEach(dataArray,(function(datum,index){transformedData[index]={};lodash__WEBPACK_IMPORTED_MODULE_10___default().forEach(columnsArray,(function(column,columnIndex){transformedData[index][column]=datum[columnIndex]}))}))};ServiceVariableManager.prototype.getMethodInfo=function(variable,inputFields,options){var methodInfo;if(!lodash__WEBPACK_IMPORTED_MODULE_10___default().isEmpty(_util_variable_variables_utils__WEBPACK_IMPORTED_MODULE_6__.metadataService)){var serviceDef=(0,_util_utils__WEBPACK_IMPORTED_MODULE_0__.getClonedObject)(_util_variable_variables_utils__WEBPACK_IMPORTED_MODULE_6__.metadataService.getByOperationId(variable.operationId,variable.getPrefabName()));methodInfo=serviceDef===null?null:lodash__WEBPACK_IMPORTED_MODULE_10___default().get(serviceDef,"wmServiceOperationInfo")}else{methodInfo=variable.serviceInfo}if(!methodInfo){return methodInfo}var securityDefnObj=lodash__WEBPACK_IMPORTED_MODULE_10___default().get(methodInfo.securityDefinitions,"0"),isOAuthTypeService=securityDefnObj&&securityDefnObj.type===_constants_variables_constants__WEBPACK_IMPORTED_MODULE_5__.VARIABLE_CONSTANTS.REST_SERVICE.SECURITY_DEFN.OAUTH2;if(methodInfo.parameters){methodInfo.parameters.forEach((function(param){if(param.readOnly){return}param.sampleValue=inputFields[param.name];if(_constants_variables_constants__WEBPACK_IMPORTED_MODULE_5__.VARIABLE_CONSTANTS.PAGINATION_PARAMS.indexOf(param.name)!==-1){if(param.name==="size"){param.sampleValue=options.size||param.sampleValue||parseInt(variable.maxResults,10)}else if(param.name==="page"){param.sampleValue=options.page||param.sampleValue||1}else if(param.name==="sort"){param.sampleValue=(0,_util_variable_variables_utils__WEBPACK_IMPORTED_MODULE_6__.getEvaluatedOrderBy)(variable.orderBy,options.orderBy)||param.sampleValue||""}}else if(param.name==="access_token"&&isOAuthTypeService){param.sampleValue=(0,_util_oAuth_utils__WEBPACK_IMPORTED_MODULE_7__.getAccessToken)(securityDefnObj[_constants_variables_constants__WEBPACK_IMPORTED_MODULE_5__.VARIABLE_CONSTANTS.REST_SERVICE.OAUTH_PROVIDER_KEY],null)}}))}return methodInfo};ServiceVariableManager.prototype.getProviderInfo=function(variable,providerId){return(0,_util_utils__WEBPACK_IMPORTED_MODULE_0__.getClonedObject)(_util_variable_variables_utils__WEBPACK_IMPORTED_MODULE_6__.metadataService===null||_util_variable_variables_utils__WEBPACK_IMPORTED_MODULE_6__.metadataService===void 0?void 0:_util_variable_variables_utils__WEBPACK_IMPORTED_MODULE_6__.metadataService.getByProviderId(providerId,variable.getPrefabName()))};ServiceVariableManager.prototype.isFileUploadInProgress=function(dataBindings){var filesStatus=false;lodash__WEBPACK_IMPORTED_MODULE_10___default().forEach(dataBindings,(function(dataBinding){if(lodash__WEBPACK_IMPORTED_MODULE_10___default().isArray(dataBinding)&&dataBinding[0]instanceof File){lodash__WEBPACK_IMPORTED_MODULE_10___default().forEach(dataBinding,(function(file){if(file.status==="onProgress"){filesStatus=true;return}}))}}));return filesStatus};ServiceVariableManager.prototype.uploadFile=function(variable,options,success,error,inputFields,requestParams){var _this=this;var fileParamCount=0;var fileArr=[],promArr=[];lodash__WEBPACK_IMPORTED_MODULE_10___default().forEach(inputFields,(function(inputField){if(lodash__WEBPACK_IMPORTED_MODULE_10___default().isArray(inputField)){if(inputField[0]instanceof File){fileParamCount++}lodash__WEBPACK_IMPORTED_MODULE_10___default().forEach(inputField,(function(input){if(input instanceof File||lodash__WEBPACK_IMPORTED_MODULE_10___default().find(lodash__WEBPACK_IMPORTED_MODULE_10___default().values(input),(function(o){return o instanceof Blob}))){fileArr.push(input);_this.totalFilesCount++;fileParamCount=fileParamCount||1}}))}else{if(inputField instanceof File){fileParamCount++;_this.totalFilesCount++;fileArr.push(inputField)}}}));if(fileParamCount===1){if(inputFields.files.length>1){lodash__WEBPACK_IMPORTED_MODULE_10___default().forEach(fileArr,(function(file){promArr.push(_this.uploadFileInFormData(variable,options,success,error,file,requestParams))}));return Promise.all(promArr)}else{return this.uploadFileInFormData(variable,options,success,error,fileArr[0],requestParams)}}};ServiceVariableManager.prototype._invoke=function(variable,options,success,error){var _this=this;var inputFields=(0,_util_utils__WEBPACK_IMPORTED_MODULE_0__.getClonedObject)(options.inputFields||variable.dataBinding);var output=(0,_util_variable_variables_utils__WEBPACK_IMPORTED_MODULE_6__.initiateCallback)(_constants_variables_constants__WEBPACK_IMPORTED_MODULE_5__.VARIABLE_CONSTANTS.EVENT.BEFORE_UPDATE,variable,inputFields,options);var successHandler;var errorHandler;if(output===false){_util_inflight_queue__WEBPACK_IMPORTED_MODULE_3__.$queue.process(variable);(0,_util_utils__WEBPACK_IMPORTED_MODULE_0__.triggerFn)(error);return}if(lodash__WEBPACK_IMPORTED_MODULE_10___default().isObject(output)){inputFields=output}var operationInfo=this.getMethodInfo(variable,inputFields,options);var requestParams=_util_variable_service_variable_utils__WEBPACK_IMPORTED_MODULE_2__.ServiceVariableUtils.constructRequestParams(variable,operationInfo,inputFields,options);if(requestParams.error){var info=this.handleRequestMetaError(requestParams,variable,success,error,options);var reason=(lodash__WEBPACK_IMPORTED_MODULE_10___default().get(info,"error.message")||"An error occurred while triggering the variable: ")+": "+variable.name;(0,_util_utils__WEBPACK_IMPORTED_MODULE_0__.triggerFn)(error);_util_inflight_queue__WEBPACK_IMPORTED_MODULE_3__.$queue.process(variable);return Promise.reject(reason)}if(_util_variable_service_variable_utils__WEBPACK_IMPORTED_MODULE_2__.ServiceVariableUtils.isFileUploadRequest(variable)){var uploadPromise=this.uploadFile(variable,options,success,error,inputFields,requestParams);if(uploadPromise){return uploadPromise}}if(operationInfo&&lodash__WEBPACK_IMPORTED_MODULE_10___default().isArray(operationInfo.produces)&&lodash__WEBPACK_IMPORTED_MODULE_10___default().includes(operationInfo.produces,_constants_variables_constants__WEBPACK_IMPORTED_MODULE_5__.WS_CONSTANTS.CONTENT_TYPES.OCTET_STREAM)&&variable.simulateFileDownload){return variable.simulateFileDownload(requestParams,variable.dataBinding.file||variable.name,variable.dataBinding.exportType,(function(){(0,_util_variable_variables_utils__WEBPACK_IMPORTED_MODULE_6__.initiateCallback)(_constants_variables_constants__WEBPACK_IMPORTED_MODULE_5__.VARIABLE_CONSTANTS.EVENT.SUCCESS,variable,null,null,null);_util_inflight_queue__WEBPACK_IMPORTED_MODULE_3__.$queue.process(variable);(0,_util_utils__WEBPACK_IMPORTED_MODULE_0__.triggerFn)(success)}),(function(){(0,_util_variable_variables_utils__WEBPACK_IMPORTED_MODULE_6__.initiateCallback)(_constants_variables_constants__WEBPACK_IMPORTED_MODULE_5__.VARIABLE_CONSTANTS.EVENT.ERROR,variable,null,null,null);_util_inflight_queue__WEBPACK_IMPORTED_MODULE_3__.$queue.process(variable);(0,_util_utils__WEBPACK_IMPORTED_MODULE_0__.triggerFn)(error)}),variable.dataBinding)}this.notifyInflight(variable,!options.skipToggleState);successHandler=function(response,resolve){if(response&&response.type||response&&response.status){var res=response.body||response.data;var data=_this.processSuccessResponse(res,variable,lodash__WEBPACK_IMPORTED_MODULE_10___default().extend(options,{xhrObj:response}),success,response.headers);_this.notifyInflight(variable,false,data);resolve(response)}};errorHandler=function(err,reject){var errMsg=(0,_util_variable_variables_utils__WEBPACK_IMPORTED_MODULE_6__.getErrMessage)(err,variable.httpService.getLocale());_this.notifyInflight(variable,false);_this.processErrorResponse(variable,errMsg,error,err,options.skipNotification);reject({error:errMsg,details:err})};return new Promise((function(resolve,reject){requestParams.responseType="text";variable.httpService.sendCall(requestParams,variable).then((function(response){successHandler(response,resolve)})).catch((function(err){err=err||{};err.error=err.error||"{}";var validJSON=(0,_util_utils__WEBPACK_IMPORTED_MODULE_0__.getValidJSON)(err.error);err.error=(0,_util_utils__WEBPACK_IMPORTED_MODULE_0__.isDefined)(validJSON)?validJSON:err.error;errorHandler(err,reject)}))}))};ServiceVariableManager.prototype.invoke=function(variable,options,success,error){options=options||{};options.inputFields=options.inputFields||(0,_util_utils__WEBPACK_IMPORTED_MODULE_0__.getClonedObject)(variable.dataBinding);return _util_inflight_queue__WEBPACK_IMPORTED_MODULE_3__.$queue.submit(variable).then(this._invoke.bind(this,variable,options,success,error),error)};ServiceVariableManager.prototype.setPagination=function(variable,data){variable._paginationConfig=data};ServiceVariableManager.prototype.download=function(variable,options,successHandler,errorHandler){options=options||{};var inputParams=(0,_util_utils__WEBPACK_IMPORTED_MODULE_0__.getClonedObject)(variable.dataBinding);var inputData=options.data||{};var methodInfo=this.getMethodInfo(variable,inputParams,options);var requestParams;methodInfo.relativePath+="/export";requestParams=_util_variable_service_variable_utils__WEBPACK_IMPORTED_MODULE_2__.ServiceVariableUtils.constructRequestParams(variable,methodInfo,inputParams);requestParams.data=inputData;requestParams.data.fields=(0,_util_variable_variables_utils__WEBPACK_IMPORTED_MODULE_6__.formatExportExpression)(inputData.fields||[]);requestParams.method=options.httpMethod||"POST";requestParams.url=options.url||requestParams.url;if(lodash__WEBPACK_IMPORTED_MODULE_10___default().hasIn(requestParams,"error.message")){(0,_util_utils__WEBPACK_IMPORTED_MODULE_0__.triggerFn)(errorHandler,requestParams.error.message);return Promise.reject(requestParams.error.message)}return variable.httpService.send(requestParams).then((function(response){if(response&&(0,_util_utils__WEBPACK_IMPORTED_MODULE_0__.isValidWebURL)(response.body.result)){window.location.href=response.body.result;(0,_util_utils__WEBPACK_IMPORTED_MODULE_0__.triggerFn)(successHandler,response)}else{(0,_util_variable_variables_utils__WEBPACK_IMPORTED_MODULE_6__.initiateCallback)(_constants_variables_constants__WEBPACK_IMPORTED_MODULE_5__.VARIABLE_CONSTANTS.EVENT.ERROR,variable,response);(0,_util_utils__WEBPACK_IMPORTED_MODULE_0__.triggerFn)(errorHandler,response)}}),(function(response,xhrObj){(0,_util_variable_variables_utils__WEBPACK_IMPORTED_MODULE_6__.initiateCallback)(_constants_variables_constants__WEBPACK_IMPORTED_MODULE_5__.VARIABLE_CONSTANTS.EVENT.ERROR,variable,response,xhrObj);(0,_util_utils__WEBPACK_IMPORTED_MODULE_0__.triggerFn)(errorHandler,response)}))};ServiceVariableManager.prototype.getInputParms=function(variable){var wmServiceOperationInfo;if(!lodash__WEBPACK_IMPORTED_MODULE_10___default().isEmpty(_util_variable_variables_utils__WEBPACK_IMPORTED_MODULE_6__.metadataService)){wmServiceOperationInfo=lodash__WEBPACK_IMPORTED_MODULE_10___default().get(_util_variable_variables_utils__WEBPACK_IMPORTED_MODULE_6__.metadataService.getByOperationId(variable.operationId,variable.getPrefabName()),"wmServiceOperationInfo")}else{wmServiceOperationInfo=variable.serviceInfo}return lodash__WEBPACK_IMPORTED_MODULE_10___default().get(wmServiceOperationInfo,"parameters")};ServiceVariableManager.prototype.setInput=function(variable,key,val,options){return(0,_util_variable_variables_utils__WEBPACK_IMPORTED_MODULE_6__.setInput)(variable.dataBinding,key,val,options)};ServiceVariableManager.prototype.cancel=function(variable,$file){if(_util_inflight_queue__WEBPACK_IMPORTED_MODULE_3__.$queue.requestsQueue.has(variable)){if(_util_variable_service_variable_utils__WEBPACK_IMPORTED_MODULE_2__.ServiceVariableUtils.isFileUploadRequest(variable)){variable.httpService.cancel(variable,$file);$file.status="abort";this.totalFilesCount--;(0,_util_variable_variables_utils__WEBPACK_IMPORTED_MODULE_6__.initiateCallback)(_constants_variables_constants__WEBPACK_IMPORTED_MODULE_5__.VARIABLE_CONSTANTS.EVENT.ABORT,variable,$file);if(!this.isFileUploadInProgress(variable.dataBinding)&&this.totalFilesCount===0){_util_inflight_queue__WEBPACK_IMPORTED_MODULE_3__.$queue.process(variable);this.notifyInflight(variable,false)}}else{if(variable.httpService.cancel){variable.httpService.cancel(variable);_util_inflight_queue__WEBPACK_IMPORTED_MODULE_3__.$queue.process(variable);this.notifyInflight(variable,false)}}}};ServiceVariableManager.prototype.defineFirstLastRecord=function(variable){if(variable.isList){Object.defineProperty(variable,"firstRecord",{configurable:true,get:function(){var dataSet=variable.dataSet;return lodash__WEBPACK_IMPORTED_MODULE_10___default().head(dataSet&&dataSet.content)||lodash__WEBPACK_IMPORTED_MODULE_10___default().head(dataSet)||{}}});Object.defineProperty(variable,"lastRecord",{configurable:true,get:function(){var dataSet=variable.dataSet;return lodash__WEBPACK_IMPORTED_MODULE_10___default().last(dataSet&&dataSet.content)||lodash__WEBPACK_IMPORTED_MODULE_10___default().last(dataSet)||{}}})}};ServiceVariableManager.prototype.getQueryParams=function(filterFields,searchValue,variable){var inputParams=this.getInputParms(variable);var queryParams=_util_variable_service_variable_utils__WEBPACK_IMPORTED_MODULE_2__.ServiceVariableUtils.excludePaginationParams(inputParams);var inputFields={};lodash__WEBPACK_IMPORTED_MODULE_10___default().map(variable.dataBinding,(function(value,key){inputFields[key]=value}));lodash__WEBPACK_IMPORTED_MODULE_10___default().forEach(filterFields,(function(value){if(lodash__WEBPACK_IMPORTED_MODULE_10___default().includes(queryParams,value)){inputFields[value]=searchValue}}));return inputFields};ServiceVariableManager.prototype.searchRecords=function(variable,options,success,error){var inputFields=this.getQueryParams(lodash__WEBPACK_IMPORTED_MODULE_10___default().split(options.searchKey,","),options.query,variable);var requestParams={page:options.page,pagesize:options.pagesize,skipDataSetUpdate:true,skipToggleState:true,inFlightBehavior:"executeAll",inputFields:inputFields};if(options.onBeforeservicecall){options.onBeforeservicecall(inputFields)}return this.invoke(variable,requestParams,success,error).catch(_util_utils__WEBPACK_IMPORTED_MODULE_0__.noop)};return ServiceVariableManager}(_base_variable_manager__WEBPACK_IMPORTED_MODULE_4__.BaseVariableManager)},"./src/model/action/timer-action.ts":
|
|
1416
|
+
\**********************************************************/(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{"use strict";__webpack_require__.r(__webpack_exports__);__webpack_require__.d(__webpack_exports__,{ServiceVariableManager:()=>ServiceVariableManager});var _util_utils__WEBPACK_IMPORTED_MODULE_0__=__webpack_require__(/*! ../../util/utils */"./src/util/utils.ts");var _util_file_upload_util__WEBPACK_IMPORTED_MODULE_1__=__webpack_require__(/*! ../../util/file-upload.util */"./src/util/file-upload.util.ts");var _util_variable_service_variable_utils__WEBPACK_IMPORTED_MODULE_2__=__webpack_require__(/*! ../../util/variable/service-variable.utils */"./src/util/variable/service-variable.utils.ts");var _util_inflight_queue__WEBPACK_IMPORTED_MODULE_3__=__webpack_require__(/*! ../../util/inflight-queue */"./src/util/inflight-queue.ts");var _base_variable_manager__WEBPACK_IMPORTED_MODULE_4__=__webpack_require__(/*! ./base-variable.manager */"./src/manager/variable/base-variable.manager.ts");var _constants_variables_constants__WEBPACK_IMPORTED_MODULE_5__=__webpack_require__(/*! ../../constants/variables.constants */"./src/constants/variables.constants.ts");var _util_variable_variables_utils__WEBPACK_IMPORTED_MODULE_6__=__webpack_require__(/*! ../../util/variable/variables.utils */"./src/util/variable/variables.utils.ts");var _util_oAuth_utils__WEBPACK_IMPORTED_MODULE_7__=__webpack_require__(/*! ../../util/oAuth.utils */"./src/util/oAuth.utils.ts");var _util_variable_pagination_utils__WEBPACK_IMPORTED_MODULE_8__=__webpack_require__(/*! ../../util/variable/pagination.utils */"./src/util/variable/pagination.utils.ts");var _model_base_variable__WEBPACK_IMPORTED_MODULE_9__=__webpack_require__(/*! ../../model/base-variable */"./src/model/base-variable.ts");var lodash__WEBPACK_IMPORTED_MODULE_10__=__webpack_require__(/*! lodash */"./node_modules/lodash/lodash.js");var lodash__WEBPACK_IMPORTED_MODULE_10___default=__webpack_require__.n(lodash__WEBPACK_IMPORTED_MODULE_10__);var __extends=undefined&&undefined.__extends||function(){var extendStatics=function(d,b){extendStatics=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(d,b){d.__proto__=b}||function(d,b){for(var p in b)if(Object.prototype.hasOwnProperty.call(b,p))d[p]=b[p]};return extendStatics(d,b)};return function(d,b){if(typeof b!=="function"&&b!==null)throw new TypeError("Class extends value "+String(b)+" is not a constructor or null");extendStatics(d,b);function __(){this.constructor=d}d.prototype=b===null?Object.create(b):(__.prototype=b.prototype,new __)}}();var ServiceVariableManager=function(_super){__extends(ServiceVariableManager,_super);function ServiceVariableManager(){var _this=_super!==null&&_super.apply(this,arguments)||this;_this.fileUploadResponse=[];_this.fileUploadCount=0;_this.totalFilesCount=0;_this.successFileUploadCount=0;_this.failedFileUploadCount=0;return _this}ServiceVariableManager.prototype.processErrorResponse=function(variable,errMsg,errorCB,xhrObj,skipNotification,skipDefaultNotification){var methodInfo=this.getMethodInfo(variable,{},{});var securityDefnObj=lodash__WEBPACK_IMPORTED_MODULE_10___default().get(methodInfo,"securityDefinitions.0");var advancedOptions=this.prepareCallbackOptions(xhrObj);if(!skipNotification){(0,_util_variable_variables_utils__WEBPACK_IMPORTED_MODULE_6__.initiateCallback)(_constants_variables_constants__WEBPACK_IMPORTED_MODULE_5__.VARIABLE_CONSTANTS.EVENT.ERROR,variable,errMsg,advancedOptions,skipDefaultNotification)}if(lodash__WEBPACK_IMPORTED_MODULE_10___default().get(securityDefnObj,"type")===_constants_variables_constants__WEBPACK_IMPORTED_MODULE_5__.VARIABLE_CONSTANTS.REST_SERVICE.SECURITY_DEFN.OAUTH2&&lodash__WEBPACK_IMPORTED_MODULE_10___default().includes([_constants_variables_constants__WEBPACK_IMPORTED_MODULE_5__.VARIABLE_CONSTANTS.HTTP_STATUS_CODE.UNAUTHORIZED,_constants_variables_constants__WEBPACK_IMPORTED_MODULE_5__.VARIABLE_CONSTANTS.HTTP_STATUS_CODE.FORBIDDEN],lodash__WEBPACK_IMPORTED_MODULE_10___default().get(xhrObj,"status"))){(0,_util_oAuth_utils__WEBPACK_IMPORTED_MODULE_7__.removeAccessToken)(securityDefnObj["x-WM-PROVIDER_ID"])}(0,_util_utils__WEBPACK_IMPORTED_MODULE_0__.triggerFn)(errorCB,errMsg);variable.notify(_model_base_variable__WEBPACK_IMPORTED_MODULE_9__.VariableEvents.AFTER_INVOKE,[this,errMsg]);if(!_constants_variables_constants__WEBPACK_IMPORTED_MODULE_5__.CONSTANTS.isStudioMode){variable.canUpdate=true;_util_inflight_queue__WEBPACK_IMPORTED_MODULE_3__.$queue.process(variable);(0,_util_variable_variables_utils__WEBPACK_IMPORTED_MODULE_6__.initiateCallback)(_constants_variables_constants__WEBPACK_IMPORTED_MODULE_5__.VARIABLE_CONSTANTS.EVENT.CAN_UPDATE,variable,errMsg,advancedOptions)}};ServiceVariableManager.prototype.processSuccessResponse=function(response,variable,options,success,resHeaders,operationInf){var dataSet;var newDataSet;var pagination={};var advancedOptions;var jsonParsedResponse=(0,_util_utils__WEBPACK_IMPORTED_MODULE_0__.getValidJSON)(response);response=(0,_util_utils__WEBPACK_IMPORTED_MODULE_0__.isDefined)(jsonParsedResponse)?jsonParsedResponse:response&&(0,_util_utils__WEBPACK_IMPORTED_MODULE_0__.xmlToJson)(response)||response;var isResponsePageable=(0,_util_utils__WEBPACK_IMPORTED_MODULE_0__.isPageable)(response);if(variable.serviceType==="DataService"||variable.serviceType==="JavaService"){var decodedData=(0,_util_variable_variables_utils__WEBPACK_IMPORTED_MODULE_6__.decodeData)(response);if(lodash__WEBPACK_IMPORTED_MODULE_10___default().isString(response)){response=decodedData}}if(isResponsePageable){dataSet=response.content;pagination=lodash__WEBPACK_IMPORTED_MODULE_10___default().omit(response,"content")}else{dataSet=response}advancedOptions=this.prepareCallbackOptions(options.xhrObj,{pagination:pagination,rawData:dataSet});(0,_util_variable_variables_utils__WEBPACK_IMPORTED_MODULE_6__.initiateCallback)(_constants_variables_constants__WEBPACK_IMPORTED_MODULE_5__.VARIABLE_CONSTANTS.EVENT.RESULT,variable,response,advancedOptions);(0,_util_utils__WEBPACK_IMPORTED_MODULE_0__.triggerFn)(success,response,pagination);if(variable.transformationColumns){this.transformData(response,variable)}dataSet=!lodash__WEBPACK_IMPORTED_MODULE_10___default().isObject(dataSet)?{value:dataSet}:dataSet;newDataSet=(0,_util_variable_variables_utils__WEBPACK_IMPORTED_MODULE_6__.initiateCallback)(_constants_variables_constants__WEBPACK_IMPORTED_MODULE_5__.VARIABLE_CONSTANTS.EVENT.PREPARE_SETDATA,variable,dataSet,advancedOptions);if((0,_util_utils__WEBPACK_IMPORTED_MODULE_0__.isDefined)(newDataSet)){dataSet=newDataSet}var inputFields=(0,_util_utils__WEBPACK_IMPORTED_MODULE_0__.getClonedObject)(options.inputFields||variable.dataBinding);var operationInfo=operationInf?operationInf:this.getMethodInfo(variable,inputFields,options);var paginationInfo=_util_variable_pagination_utils__WEBPACK_IMPORTED_MODULE_8__.PaginationUtils.getPaginationInfo(operationInfo,variable);if(paginationInfo){var res=_util_variable_pagination_utils__WEBPACK_IMPORTED_MODULE_8__.PaginationUtils.generatePaginationRes(operationInfo,paginationInfo,response,resHeaders,options,variable);if(!lodash__WEBPACK_IMPORTED_MODULE_10___default().isEmpty(res)){_util_variable_pagination_utils__WEBPACK_IMPORTED_MODULE_8__.PaginationUtils.setVariablePagination(variable,res,options)}}if(!options.forceRunMode&&!options.skipDataSetUpdate){if(!variable._paginationConfig){variable.pagination=pagination}variable.dataSet=dataSet;if(isResponsePageable){Object.defineProperty(variable.dataSet,"content",{get:function(){return variable.dataSet}})}}variable.notify(_model_base_variable__WEBPACK_IMPORTED_MODULE_9__.VariableEvents.AFTER_INVOKE,[this,dataSet]);setTimeout((function(){(0,_util_variable_variables_utils__WEBPACK_IMPORTED_MODULE_6__.initiateCallback)(_constants_variables_constants__WEBPACK_IMPORTED_MODULE_5__.VARIABLE_CONSTANTS.EVENT.SUCCESS,variable,dataSet,advancedOptions);if(!_constants_variables_constants__WEBPACK_IMPORTED_MODULE_5__.CONSTANTS.isStudioMode){variable.canUpdate=true;_util_inflight_queue__WEBPACK_IMPORTED_MODULE_3__.$queue.process(variable)}(0,_util_variable_variables_utils__WEBPACK_IMPORTED_MODULE_6__.initiateCallback)(_constants_variables_constants__WEBPACK_IMPORTED_MODULE_5__.VARIABLE_CONSTANTS.EVENT.CAN_UPDATE,variable,dataSet,advancedOptions)}));return{data:variable.dataSet,pagination:variable.pagination}};ServiceVariableManager.prototype.uploadFileInFormData=function(variable,options,success,error,file,requestParams){var _this=this;var promise=(0,_util_file_upload_util__WEBPACK_IMPORTED_MODULE_1__.upload)(file,variable,requestParams.data,{fileParamName:"files",url:requestParams.url});promise.then((function(data){_this.fileUploadCount++;_this.successFileUploadCount++;_this.fileUploadResponse.push(data[0]);file._response=data[0];if(data&&data[0]&&data[0].success===false){if(variable._progressObservable){variable._progressObservable.next({status:"error",fileName:file.name,errMsg:data[0].errorMessage})}_this.fileUploadResponse=[];_this.processErrorResponse(variable,data[0].errorMessage,error,data,options.skipNotification)}if(_this.totalFilesCount===_this.fileUploadCount&&data[0].success===true){if(_this.failedFileUploadCount===0){_this.processSuccessResponse(_this.fileUploadResponse,variable,options,success);_this.fileUploadResponse=[];if(!variable.onSuccess){_util_variable_variables_utils__WEBPACK_IMPORTED_MODULE_6__.appManager&&_util_variable_variables_utils__WEBPACK_IMPORTED_MODULE_6__.appManager.notifyApp(_util_variable_variables_utils__WEBPACK_IMPORTED_MODULE_6__.appManager.getAppLocale().MESSAGE_FILE_UPLOAD_SUCCESS,"success")}}else{(0,_util_variable_variables_utils__WEBPACK_IMPORTED_MODULE_6__.initiateCallback)(_constants_variables_constants__WEBPACK_IMPORTED_MODULE_5__.VARIABLE_CONSTANTS.EVENT.ERROR,variable,_this.fileUploadResponse);_this.fileUploadResponse=[];_util_variable_variables_utils__WEBPACK_IMPORTED_MODULE_6__.appManager&&_util_variable_variables_utils__WEBPACK_IMPORTED_MODULE_6__.appManager.notifyApp(_util_variable_variables_utils__WEBPACK_IMPORTED_MODULE_6__.appManager.getAppLocale().MESSAGE_FILE_UPLOAD_ERROR,"error")}_this.fileUploadCount=0;_this.successFileUploadCount=0;_this.totalFilesCount=0}return data}),(function(e){_this.fileUploadCount++;_this.failedFileUploadCount++;_this.fileUploadResponse.push(e);var errMsg=(0,_util_variable_variables_utils__WEBPACK_IMPORTED_MODULE_6__.getErrMessage)(e,variable.httpService.getLocale());if(variable._progressObservable){variable._progressObservable.next({status:"error",fileName:file.name,errMsg:errMsg})}if(_this.totalFilesCount===_this.fileUploadCount){_this.processErrorResponse(variable,errMsg,error,e,options.skipNotification);_this.fileUploadResponse=[];_this.fileUploadCount=0;_this.failedFileUploadCount=0;_this.totalFilesCount=0}return e}),(function(data){if(variable._progressObservable){variable._progressObservable.next({progress:data,status:_constants_variables_constants__WEBPACK_IMPORTED_MODULE_5__.VARIABLE_CONSTANTS.EVENT.PROGRESS,fileName:file.name})}(0,_util_variable_variables_utils__WEBPACK_IMPORTED_MODULE_6__.initiateCallback)(_constants_variables_constants__WEBPACK_IMPORTED_MODULE_5__.VARIABLE_CONSTANTS.EVENT.PROGRESS,variable,data);return data}));return promise};ServiceVariableManager.prototype.handleAuthError=function(variable,success,errorCB,options){var isUserAuthenticated=lodash__WEBPACK_IMPORTED_MODULE_10___default().get(_util_variable_variables_utils__WEBPACK_IMPORTED_MODULE_6__.securityService.get(),"authenticated");var info;if(isUserAuthenticated){info={error:{message:"You're not authorised to access the resource \""+variable.service+'".'}}}else{info={error:{message:"You're not authenticated to access the resource \""+variable.service+'".',skipDefaultNotification:true}};_util_variable_variables_utils__WEBPACK_IMPORTED_MODULE_6__.appManager.pushToSessionFailureRequests(variable.invoke.bind(variable,options,success,errorCB));_util_variable_variables_utils__WEBPACK_IMPORTED_MODULE_6__.appManager.handle401()}console.warn(variable.name+": "+info.error.message);return info};ServiceVariableManager.prototype.handleRequestMetaError=function(info,variable,success,errorCB,options){try{var err_type=lodash__WEBPACK_IMPORTED_MODULE_10___default().get(info,"error.type");switch(err_type){case _constants_variables_constants__WEBPACK_IMPORTED_MODULE_5__.VARIABLE_CONSTANTS.REST_SERVICE.ERR_TYPE.NO_ACCESSTOKEN:(0,_util_oAuth_utils__WEBPACK_IMPORTED_MODULE_7__.performAuthorization)(undefined,info.securityDefnObj[_constants_variables_constants__WEBPACK_IMPORTED_MODULE_5__.VARIABLE_CONSTANTS.REST_SERVICE.OAUTH_PROVIDER_KEY],this.invoke.bind(this,variable,options,success,errorCB),null,this.getProviderInfo(variable,info.securityDefnObj["x-WM-PROVIDER_ID"]));this.processErrorResponse(variable,info.error.message,errorCB,options.xhrObj,true,true);break;case _constants_variables_constants__WEBPACK_IMPORTED_MODULE_5__.VARIABLE_CONSTANTS.REST_SERVICE.ERR_TYPE.USER_UNAUTHORISED:info=this.handleAuthError(variable,success,errorCB,options);this.processErrorResponse(variable,info.error.message,errorCB,options.xhrObj,options.skipNotification,info.error.skipDefaultNotification);break;case _constants_variables_constants__WEBPACK_IMPORTED_MODULE_5__.VARIABLE_CONSTANTS.REST_SERVICE.ERR_TYPE.METADATA_MISSING:case _constants_variables_constants__WEBPACK_IMPORTED_MODULE_5__.VARIABLE_CONSTANTS.REST_SERVICE.ERR_TYPE.CRUD_OPERATION_MISSING:if(info.error.message){info.error.message=info.error.message.replace("$variable",variable.name);var reasons=void 0;if(err_type===_constants_variables_constants__WEBPACK_IMPORTED_MODULE_5__.VARIABLE_CONSTANTS.REST_SERVICE.ERR_TYPE.METADATA_MISSING){reasons=["1. You did not Preview the app after creating a Variable for the imported service.","2. You deleted the imported service this Variable is linked to."]}else{reasons=["1. You haven't chosen an endpoint for "+options.operation+" operation for this Entity."]}console.warn(info.error.message+"\n Possible reasons for this:\n "+reasons.join("\n "))}this.processErrorResponse(variable,info.error.message,errorCB,options.xhrObj,options.skipNotification,info.error.skipDefaultNotification);break;default:if(info.error.message){console.warn(info.error.message,variable.name);this.processErrorResponse(variable,info.error.message,errorCB,options.xhrObj,options.skipNotification,info.error.skipDefaultNotification)}}}catch(err){console.error(err)}return info};ServiceVariableManager.prototype.transformData=function(data,variable){data.wmTransformedData=[];var columnsArray=variable.transformationColumns,dataArray=lodash__WEBPACK_IMPORTED_MODULE_10___default().get(data,variable.dataField)||[],transformedData=data.wmTransformedData;lodash__WEBPACK_IMPORTED_MODULE_10___default().forEach(dataArray,(function(datum,index){transformedData[index]={};lodash__WEBPACK_IMPORTED_MODULE_10___default().forEach(columnsArray,(function(column,columnIndex){transformedData[index][column]=datum[columnIndex]}))}))};ServiceVariableManager.prototype.getMethodInfo=function(variable,inputFields,options){var methodInfo;if(!lodash__WEBPACK_IMPORTED_MODULE_10___default().isEmpty(_util_variable_variables_utils__WEBPACK_IMPORTED_MODULE_6__.metadataService)){var serviceDef=(0,_util_utils__WEBPACK_IMPORTED_MODULE_0__.getClonedObject)(_util_variable_variables_utils__WEBPACK_IMPORTED_MODULE_6__.metadataService.getByOperationId(variable.operationId,variable.getPrefabName()));methodInfo=serviceDef===null?null:lodash__WEBPACK_IMPORTED_MODULE_10___default().get(serviceDef,"wmServiceOperationInfo")}else{methodInfo=variable.serviceInfo}if(!methodInfo){return methodInfo}var securityDefnObj=lodash__WEBPACK_IMPORTED_MODULE_10___default().get(methodInfo.securityDefinitions,"0"),isOAuthTypeService=securityDefnObj&&securityDefnObj.type===_constants_variables_constants__WEBPACK_IMPORTED_MODULE_5__.VARIABLE_CONSTANTS.REST_SERVICE.SECURITY_DEFN.OAUTH2;if(methodInfo.parameters){methodInfo.parameters.forEach((function(param){if(param.readOnly){return}param.sampleValue=inputFields[param.name];if(_constants_variables_constants__WEBPACK_IMPORTED_MODULE_5__.VARIABLE_CONSTANTS.PAGINATION_PARAMS.indexOf(param.name)!==-1){if(param.name==="size"){param.sampleValue=options.size||param.sampleValue||parseInt(variable.maxResults,10)}else if(param.name==="page"){param.sampleValue=options.page||param.sampleValue||1}else if(param.name==="sort"){param.sampleValue=(0,_util_variable_variables_utils__WEBPACK_IMPORTED_MODULE_6__.getEvaluatedOrderBy)(variable.orderBy,options.orderBy)||param.sampleValue||""}}else if(param.name==="access_token"&&isOAuthTypeService){param.sampleValue=(0,_util_oAuth_utils__WEBPACK_IMPORTED_MODULE_7__.getAccessToken)(securityDefnObj[_constants_variables_constants__WEBPACK_IMPORTED_MODULE_5__.VARIABLE_CONSTANTS.REST_SERVICE.OAUTH_PROVIDER_KEY],null)}}))}return methodInfo};ServiceVariableManager.prototype.getProviderInfo=function(variable,providerId){return(0,_util_utils__WEBPACK_IMPORTED_MODULE_0__.getClonedObject)(_util_variable_variables_utils__WEBPACK_IMPORTED_MODULE_6__.metadataService===null||_util_variable_variables_utils__WEBPACK_IMPORTED_MODULE_6__.metadataService===void 0?void 0:_util_variable_variables_utils__WEBPACK_IMPORTED_MODULE_6__.metadataService.getByProviderId(providerId,variable.getPrefabName()))};ServiceVariableManager.prototype.isFileUploadInProgress=function(dataBindings){var filesStatus=false;lodash__WEBPACK_IMPORTED_MODULE_10___default().forEach(dataBindings,(function(dataBinding){if(lodash__WEBPACK_IMPORTED_MODULE_10___default().isArray(dataBinding)&&dataBinding[0]instanceof File){lodash__WEBPACK_IMPORTED_MODULE_10___default().forEach(dataBinding,(function(file){if(file.status==="onProgress"){filesStatus=true;return}}))}}));return filesStatus};ServiceVariableManager.prototype.uploadFile=function(variable,options,success,error,inputFields,requestParams){var _this=this;var fileParamCount=0;var fileArr=[],promArr=[];lodash__WEBPACK_IMPORTED_MODULE_10___default().forEach(inputFields,(function(inputField){if(lodash__WEBPACK_IMPORTED_MODULE_10___default().isArray(inputField)){if(inputField[0]instanceof File){fileParamCount++}lodash__WEBPACK_IMPORTED_MODULE_10___default().forEach(inputField,(function(input){if(input instanceof File||lodash__WEBPACK_IMPORTED_MODULE_10___default().find(lodash__WEBPACK_IMPORTED_MODULE_10___default().values(input),(function(o){return o instanceof Blob}))){fileArr.push(input);_this.totalFilesCount++;fileParamCount=fileParamCount||1}}))}else{if(inputField instanceof File){fileParamCount++;_this.totalFilesCount++;fileArr.push(inputField)}}}));if(fileParamCount===1){if(inputFields.files.length>1){lodash__WEBPACK_IMPORTED_MODULE_10___default().forEach(fileArr,(function(file){promArr.push(_this.uploadFileInFormData(variable,options,success,error,file,requestParams))}));return Promise.all(promArr)}else{return this.uploadFileInFormData(variable,options,success,error,fileArr[0],requestParams)}}};ServiceVariableManager.prototype._invoke=function(variable,options,success,error){var _this=this;var inputFields=(0,_util_utils__WEBPACK_IMPORTED_MODULE_0__.getClonedObject)(options.inputFields||variable.dataBinding);var output=(0,_util_variable_variables_utils__WEBPACK_IMPORTED_MODULE_6__.initiateCallback)(_constants_variables_constants__WEBPACK_IMPORTED_MODULE_5__.VARIABLE_CONSTANTS.EVENT.BEFORE_UPDATE,variable,inputFields,options);var successHandler;var errorHandler;if(output===false){_util_inflight_queue__WEBPACK_IMPORTED_MODULE_3__.$queue.process(variable);(0,_util_utils__WEBPACK_IMPORTED_MODULE_0__.triggerFn)(error);return}if(lodash__WEBPACK_IMPORTED_MODULE_10___default().isObject(output)){inputFields=output}var operationInfo=this.getMethodInfo(variable,inputFields,options);var requestParams=_util_variable_service_variable_utils__WEBPACK_IMPORTED_MODULE_2__.ServiceVariableUtils.constructRequestParams(variable,operationInfo,inputFields,options);if(requestParams.error){var info=this.handleRequestMetaError(requestParams,variable,success,error,options);var reason=(lodash__WEBPACK_IMPORTED_MODULE_10___default().get(info,"error.message")||"An error occurred while triggering the variable: ")+": "+variable.name;(0,_util_utils__WEBPACK_IMPORTED_MODULE_0__.triggerFn)(error);_util_inflight_queue__WEBPACK_IMPORTED_MODULE_3__.$queue.process(variable);return Promise.reject(reason)}if(_util_variable_service_variable_utils__WEBPACK_IMPORTED_MODULE_2__.ServiceVariableUtils.isFileUploadRequest(variable)){var uploadPromise=this.uploadFile(variable,options,success,error,inputFields,requestParams);if(uploadPromise){return uploadPromise}}if(operationInfo&&lodash__WEBPACK_IMPORTED_MODULE_10___default().isArray(operationInfo.produces)&&lodash__WEBPACK_IMPORTED_MODULE_10___default().includes(operationInfo.produces,_constants_variables_constants__WEBPACK_IMPORTED_MODULE_5__.WS_CONSTANTS.CONTENT_TYPES.OCTET_STREAM)&&variable.simulateFileDownload){return variable.simulateFileDownload(requestParams,variable.dataBinding.file||variable.name,variable.dataBinding.exportType,(function(){(0,_util_variable_variables_utils__WEBPACK_IMPORTED_MODULE_6__.initiateCallback)(_constants_variables_constants__WEBPACK_IMPORTED_MODULE_5__.VARIABLE_CONSTANTS.EVENT.SUCCESS,variable,null,null,null);_util_inflight_queue__WEBPACK_IMPORTED_MODULE_3__.$queue.process(variable);(0,_util_utils__WEBPACK_IMPORTED_MODULE_0__.triggerFn)(success)}),(function(){(0,_util_variable_variables_utils__WEBPACK_IMPORTED_MODULE_6__.initiateCallback)(_constants_variables_constants__WEBPACK_IMPORTED_MODULE_5__.VARIABLE_CONSTANTS.EVENT.ERROR,variable,null,null,null);_util_inflight_queue__WEBPACK_IMPORTED_MODULE_3__.$queue.process(variable);(0,_util_utils__WEBPACK_IMPORTED_MODULE_0__.triggerFn)(error)}),variable.dataBinding)}this.notifyInflight(variable,!options.skipToggleState);successHandler=function(response,resolve){if(response&&response.type||response&&response.status){var res=response.body||response.data;var data=_this.processSuccessResponse(res,variable,lodash__WEBPACK_IMPORTED_MODULE_10___default().extend(options,{xhrObj:response}),success,response.headers);_this.notifyInflight(variable,false,data);if(_util_variable_service_variable_utils__WEBPACK_IMPORTED_MODULE_2__.ServiceVariableUtils.isFileDeleteRequest(variable)&&variable._deleteFileObservable){variable._deleteFileObservable.next({status:"success",response:res});_util_variable_variables_utils__WEBPACK_IMPORTED_MODULE_6__.appManager&&_util_variable_variables_utils__WEBPACK_IMPORTED_MODULE_6__.appManager.notifyApp(_util_variable_variables_utils__WEBPACK_IMPORTED_MODULE_6__.appManager.getAppLocale().MESSAGE_FILE_DELETE_SUCCESS||"File delete success","success")}resolve(response)}};errorHandler=function(err,reject){var errMsg=(0,_util_variable_variables_utils__WEBPACK_IMPORTED_MODULE_6__.getErrMessage)(err,variable.httpService.getLocale());_this.notifyInflight(variable,false);_this.processErrorResponse(variable,errMsg,error,err,options.skipNotification);if(_util_variable_service_variable_utils__WEBPACK_IMPORTED_MODULE_2__.ServiceVariableUtils.isFileDeleteRequest(variable)&&variable._deleteFileObservable){variable._deleteFileObservable.error({status:"error",error:errMsg,details:err});_util_variable_variables_utils__WEBPACK_IMPORTED_MODULE_6__.appManager&&_util_variable_variables_utils__WEBPACK_IMPORTED_MODULE_6__.appManager.notifyApp(_util_variable_variables_utils__WEBPACK_IMPORTED_MODULE_6__.appManager.getAppLocale().MESSAGE_FILE_DELETE_ERROR||"File delete failed","error")}reject({error:errMsg,details:err})};return new Promise((function(resolve,reject){requestParams.responseType="text";variable.httpService.sendCall(requestParams,variable).then((function(response){successHandler(response,resolve)})).catch((function(err){err=err||{};err.error=err.error||"{}";var validJSON=(0,_util_utils__WEBPACK_IMPORTED_MODULE_0__.getValidJSON)(err.error);err.error=(0,_util_utils__WEBPACK_IMPORTED_MODULE_0__.isDefined)(validJSON)?validJSON:err.error;errorHandler(err,reject)}))}))};ServiceVariableManager.prototype.invoke=function(variable,options,success,error){options=options||{};options.inputFields=options.inputFields||(0,_util_utils__WEBPACK_IMPORTED_MODULE_0__.getClonedObject)(variable.dataBinding);return _util_inflight_queue__WEBPACK_IMPORTED_MODULE_3__.$queue.submit(variable).then(this._invoke.bind(this,variable,options,success,error),error)};ServiceVariableManager.prototype.setPagination=function(variable,data){variable._paginationConfig=data};ServiceVariableManager.prototype.download=function(variable,options,successHandler,errorHandler){options=options||{};var inputParams=(0,_util_utils__WEBPACK_IMPORTED_MODULE_0__.getClonedObject)(variable.dataBinding);var inputData=options.data||{};var methodInfo=this.getMethodInfo(variable,inputParams,options);var requestParams;methodInfo.relativePath+="/export";requestParams=_util_variable_service_variable_utils__WEBPACK_IMPORTED_MODULE_2__.ServiceVariableUtils.constructRequestParams(variable,methodInfo,inputParams);requestParams.data=inputData;requestParams.data.fields=(0,_util_variable_variables_utils__WEBPACK_IMPORTED_MODULE_6__.formatExportExpression)(inputData.fields||[]);requestParams.method=options.httpMethod||"POST";requestParams.url=options.url||requestParams.url;if(lodash__WEBPACK_IMPORTED_MODULE_10___default().hasIn(requestParams,"error.message")){(0,_util_utils__WEBPACK_IMPORTED_MODULE_0__.triggerFn)(errorHandler,requestParams.error.message);return Promise.reject(requestParams.error.message)}return variable.httpService.send(requestParams).then((function(response){if(response&&(0,_util_utils__WEBPACK_IMPORTED_MODULE_0__.isValidWebURL)(response.body.result)){window.location.href=response.body.result;(0,_util_utils__WEBPACK_IMPORTED_MODULE_0__.triggerFn)(successHandler,response)}else{(0,_util_variable_variables_utils__WEBPACK_IMPORTED_MODULE_6__.initiateCallback)(_constants_variables_constants__WEBPACK_IMPORTED_MODULE_5__.VARIABLE_CONSTANTS.EVENT.ERROR,variable,response);(0,_util_utils__WEBPACK_IMPORTED_MODULE_0__.triggerFn)(errorHandler,response)}}),(function(response,xhrObj){(0,_util_variable_variables_utils__WEBPACK_IMPORTED_MODULE_6__.initiateCallback)(_constants_variables_constants__WEBPACK_IMPORTED_MODULE_5__.VARIABLE_CONSTANTS.EVENT.ERROR,variable,response,xhrObj);(0,_util_utils__WEBPACK_IMPORTED_MODULE_0__.triggerFn)(errorHandler,response)}))};ServiceVariableManager.prototype.getInputParms=function(variable){var wmServiceOperationInfo;if(!lodash__WEBPACK_IMPORTED_MODULE_10___default().isEmpty(_util_variable_variables_utils__WEBPACK_IMPORTED_MODULE_6__.metadataService)){wmServiceOperationInfo=lodash__WEBPACK_IMPORTED_MODULE_10___default().get(_util_variable_variables_utils__WEBPACK_IMPORTED_MODULE_6__.metadataService.getByOperationId(variable.operationId,variable.getPrefabName()),"wmServiceOperationInfo")}else{wmServiceOperationInfo=variable.serviceInfo}return lodash__WEBPACK_IMPORTED_MODULE_10___default().get(wmServiceOperationInfo,"parameters")};ServiceVariableManager.prototype.setInput=function(variable,key,val,options){return(0,_util_variable_variables_utils__WEBPACK_IMPORTED_MODULE_6__.setInput)(variable.dataBinding,key,val,options)};ServiceVariableManager.prototype.cancel=function(variable,$file){if(_util_inflight_queue__WEBPACK_IMPORTED_MODULE_3__.$queue.requestsQueue.has(variable)){if(_util_variable_service_variable_utils__WEBPACK_IMPORTED_MODULE_2__.ServiceVariableUtils.isFileUploadRequest(variable)){variable.httpService.cancel(variable,$file);$file.status="abort";this.totalFilesCount--;(0,_util_variable_variables_utils__WEBPACK_IMPORTED_MODULE_6__.initiateCallback)(_constants_variables_constants__WEBPACK_IMPORTED_MODULE_5__.VARIABLE_CONSTANTS.EVENT.ABORT,variable,$file);if(!this.isFileUploadInProgress(variable.dataBinding)&&this.totalFilesCount===0){_util_inflight_queue__WEBPACK_IMPORTED_MODULE_3__.$queue.process(variable);this.notifyInflight(variable,false)}}else{if(variable.httpService.cancel){variable.httpService.cancel(variable);_util_inflight_queue__WEBPACK_IMPORTED_MODULE_3__.$queue.process(variable);this.notifyInflight(variable,false)}}}};ServiceVariableManager.prototype.defineFirstLastRecord=function(variable){if(variable.isList){Object.defineProperty(variable,"firstRecord",{configurable:true,get:function(){var dataSet=variable.dataSet;return lodash__WEBPACK_IMPORTED_MODULE_10___default().head(dataSet&&dataSet.content)||lodash__WEBPACK_IMPORTED_MODULE_10___default().head(dataSet)||{}}});Object.defineProperty(variable,"lastRecord",{configurable:true,get:function(){var dataSet=variable.dataSet;return lodash__WEBPACK_IMPORTED_MODULE_10___default().last(dataSet&&dataSet.content)||lodash__WEBPACK_IMPORTED_MODULE_10___default().last(dataSet)||{}}})}};ServiceVariableManager.prototype.getQueryParams=function(filterFields,searchValue,variable){var inputParams=this.getInputParms(variable);var queryParams=_util_variable_service_variable_utils__WEBPACK_IMPORTED_MODULE_2__.ServiceVariableUtils.excludePaginationParams(inputParams);var inputFields={};lodash__WEBPACK_IMPORTED_MODULE_10___default().map(variable.dataBinding,(function(value,key){inputFields[key]=value}));lodash__WEBPACK_IMPORTED_MODULE_10___default().forEach(filterFields,(function(value){if(lodash__WEBPACK_IMPORTED_MODULE_10___default().includes(queryParams,value)){inputFields[value]=searchValue}}));return inputFields};ServiceVariableManager.prototype.searchRecords=function(variable,options,success,error){var inputFields=this.getQueryParams(lodash__WEBPACK_IMPORTED_MODULE_10___default().split(options.searchKey,","),options.query,variable);var requestParams={page:options.page,pagesize:options.pagesize,skipDataSetUpdate:true,skipToggleState:true,inFlightBehavior:"executeAll",inputFields:inputFields};if(options.onBeforeservicecall){options.onBeforeservicecall(inputFields)}return this.invoke(variable,requestParams,success,error).catch(_util_utils__WEBPACK_IMPORTED_MODULE_0__.noop)};return ServiceVariableManager}(_base_variable_manager__WEBPACK_IMPORTED_MODULE_4__.BaseVariableManager)},"./src/model/action/timer-action.ts":
|
|
1417
1417
|
/*!******************************************!*\
|
|
1418
1418
|
!*** ./src/model/action/timer-action.ts ***!
|
|
1419
1419
|
\******************************************/(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{"use strict";__webpack_require__.r(__webpack_exports__);__webpack_require__.d(__webpack_exports__,{TimerAction:()=>TimerAction});var _base_action__WEBPACK_IMPORTED_MODULE_0__=__webpack_require__(/*! ../base-action */"./src/model/base-action.ts");var _constants_variables_constants__WEBPACK_IMPORTED_MODULE_1__=__webpack_require__(/*! ../../constants/variables.constants */"./src/constants/variables.constants.ts");var _factory_variable_manager_factory__WEBPACK_IMPORTED_MODULE_2__=__webpack_require__(/*! ../../factory/variable-manager.factory */"./src/factory/variable-manager.factory.ts");var __extends=undefined&&undefined.__extends||function(){var extendStatics=function(d,b){extendStatics=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(d,b){d.__proto__=b}||function(d,b){for(var p in b)if(Object.prototype.hasOwnProperty.call(b,p))d[p]=b[p]};return extendStatics(d,b)};return function(d,b){if(typeof b!=="function"&&b!==null)throw new TypeError("Class extends value "+String(b)+" is not a constructor or null");extendStatics(d,b);function __(){this.constructor=d}d.prototype=b===null?Object.create(b):(__.prototype=b.prototype,new __)}}();var getManager=function(){return _factory_variable_manager_factory__WEBPACK_IMPORTED_MODULE_2__.VariableManagerFactory.get(_constants_variables_constants__WEBPACK_IMPORTED_MODULE_1__.VARIABLE_CONSTANTS.CATEGORY.TIMER)};var TimerAction=function(_super){__extends(TimerAction,_super);function TimerAction(variable){var _this=_super.call(this)||this;_this.repeating=false;_this._isFired=false;Object.assign(_this,variable);return _this}TimerAction.prototype.fire=function(options,success,error){if(this.repeating){this.currentOptions=options;this._isFired=true}return getManager().trigger(this,options,success,error)};TimerAction.prototype.invoke=function(options,success,error){return this.fire(options,success,error)};TimerAction.prototype.cancel=function(){return getManager().cancel(this)};TimerAction.prototype.mute=function(){_super.prototype.mute.call(this);if(this.repeating){this.cancel()}};TimerAction.prototype.unmute=function(){_super.prototype.unmute.call(this);if(this.repeating&&this._isFired){this.fire(this.currentOptions,null,null)}};return TimerAction}(_base_action__WEBPACK_IMPORTED_MODULE_0__.BaseAction)},"./src/model/base-action.ts":
|
|
@@ -1491,7 +1491,7 @@ hooks.version="2.30.1";setHookCallback(createLocal);hooks.fn=proto;hooks.min=min
|
|
|
1491
1491
|
\***********************************************/(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{"use strict";__webpack_require__.r(__webpack_exports__);__webpack_require__.d(__webpack_exports__,{PaginationUtils:()=>PaginationUtils});var _metrichor_jmespath__WEBPACK_IMPORTED_MODULE_0__=__webpack_require__(/*! @metrichor/jmespath */"./node_modules/@metrichor/jmespath/dist/jmespath.esm.js");var lodash__WEBPACK_IMPORTED_MODULE_1__=__webpack_require__(/*! lodash */"./node_modules/lodash/lodash.js");var lodash__WEBPACK_IMPORTED_MODULE_1___default=__webpack_require__.n(lodash__WEBPACK_IMPORTED_MODULE_1__);var _utils__WEBPACK_IMPORTED_MODULE_2__=__webpack_require__(/*! ../utils */"./src/util/utils.ts");var _constants_variables_constants__WEBPACK_IMPORTED_MODULE_3__=__webpack_require__(/*! ../../constants/variables.constants */"./src/constants/variables.constants.ts");var PaginationUtils=function(){function PaginationUtils(){}PaginationUtils.setPaginationQueryParams=function(variable,operationInfo,paginationInfo){operationInfo.parameters.forEach((function(element){var inputParam;if(paginationInfo.type==="offset"||paginationInfo.input.offset){inputParam="offset"}else{inputParam="page"}if(element.name===paginationInfo.input[inputParam].split(".")[0]){element.sampleValue=variable.pagination["page"]}else if(element.name===paginationInfo.input.size.split(".")[0]){element.sampleValue=variable.pagination["size"]}}))};PaginationUtils.setVariablePagination=function(variable,response,options){if(!variable.pagination){variable.pagination={empty:false}}variable.pagination["size"]=response.size;variable.pagination["page"]=response.page||0;variable.pagination["totalElements"]=response.totalElements;variable.pagination["numberOfElements"]=variable.pagination["size"];variable.pagination["number"]=options["page"]?options["page"]-1:0;variable.pagination["totalPages"]=variable.pagination["totalElements"]/variable.pagination["size"];if(variable.pagination["totalElements"]%variable.pagination["size"]===0){variable.pagination["totalPages"]=parseInt(variable.pagination["totalPages"])}else{variable.pagination["totalPages"]=parseInt(variable.pagination["totalPages"])+1}if(response.next){variable.pagination["next"]=response.next;variable.pagination["prev"]=response.prev;variable.pagination["last"]=response.next?false:true;variable.pagination["first"]=response.prev?false:true}else{variable.pagination["first"]=variable.pagination["page"]<=1?true:false;variable.pagination["last"]=response.hasMoreItems===""?!(variable.pagination["page"]<variable.pagination["totalPages"]):!response.hasMoreItems}};PaginationUtils.setPaginationItems=function(item,response,res,key,resHeaders){var _a;if(lodash__WEBPACK_IMPORTED_MODULE_1___default().startsWith(item,"$body")){var bodyKey=item.replace("$body.","");try{res[key]=_metrichor_jmespath__WEBPACK_IMPORTED_MODULE_0__.jmespath.search(response,bodyKey)}catch(_b){console.warn(item+" expression needs to be corrected as per JMES guidelines")}}else if(lodash__WEBPACK_IMPORTED_MODULE_1___default().startsWith(item,"$header")){var headerKey=item.replace("$header.","");var headers=Object.fromEntries((resHeaders===null||resHeaders===void 0?void 0:resHeaders.headers)||resHeaders);var headerParams=headerKey.split(".");try{res[key]=_metrichor_jmespath__WEBPACK_IMPORTED_MODULE_0__.jmespath.search(headers,headerParams[0].toLowerCase())}catch(_c){console.warn(item+" expression needs to be corrected as per JMES guidelines")}if((_a=res[key])===null||_a===void 0?void 0:_a.length){var headerVal=res[key].join();if(headerParams.length===1){res[key]=headerVal}else{var keyName=headerParams.slice(1).join(".");var headerResp=JSON.parse(headerVal);var specialChar=/[!@#$%^&*()+\=\[\]{};':"\\|,<>\/?]+/;if(specialChar.test(keyName)){keyName="headerResp."+keyName}try{res[key]=_metrichor_jmespath__WEBPACK_IMPORTED_MODULE_0__.jmespath.search(headerResp,keyName)}catch(_d){console.warn(item+" expression needs to be corrected as per JMES guidelines")}}}}};PaginationUtils.getPaginationInfo=function(operationInfo,variable){if(operationInfo===null||operationInfo===void 0?void 0:operationInfo.paginationInfo){return operationInfo.paginationInfo}else{return variable._paginationConfig}};PaginationUtils.checkPaginationAtQuery=function(operationInfo,variable,options){var _a;var paginationInfo=this.getPaginationInfo(operationInfo,variable);var hasPagination=options&&options["page"]&&(paginationInfo===null||paginationInfo===void 0?void 0:paginationInfo.input.size)&&variable.pagination;if(!hasPagination){return}var inputParam;if(paginationInfo.type==="offset"||paginationInfo.input.offset){inputParam="offset"}else{inputParam="page"}var paramName=paginationInfo.input[inputParam].split(".")[0];var paramObj=lodash__WEBPACK_IMPORTED_MODULE_1___default().find(operationInfo.parameters,(function(obj){return obj.name===paramName}));if(paramObj&¶mObj.parameterType==="query"){if(!((_a=paginationInfo.output)===null||_a===void 0?void 0:_a.page)&&paginationInfo.type!=="offset"){variable.pagination["page"]=options["page"]}else{variable.pagination["page"]=this.getOffsetInfo(variable,options)}this.setPaginationQueryParams(variable,operationInfo,paginationInfo)}};PaginationUtils.getOffsetInfo=function(variable,options){return variable.pagination["size"]*(options["page"]?options["page"]-1:0)};PaginationUtils.setPaginationAtReq=function(paginationInfo,operationInfo,variable,headers,requestBody,url,options){var reqObj={};var inputParam;var resObj={};if(paginationInfo.type==="offset"||paginationInfo.input.offset){inputParam="offset"}else{inputParam="page"}var paramName=paginationInfo.input[inputParam].split(".")[0];var paramObj=lodash__WEBPACK_IMPORTED_MODULE_1___default().find(operationInfo.parameters,(function(obj){return obj.name===paramName}));if((paramObj===null||paramObj===void 0?void 0:paramObj.parameterType)==="header"){var inputBodyParam=_constants_variables_constants__WEBPACK_IMPORTED_MODULE_3__.VARIABLE_CONSTANTS.REST_SERVICE.PREFIX.CLOAK_HEADER_KEY+paginationInfo.input[inputParam];if(inputParam!=="offset"){lodash__WEBPACK_IMPORTED_MODULE_1___default().set(reqObj,inputBodyParam,variable.pagination["page"])}else{lodash__WEBPACK_IMPORTED_MODULE_1___default().set(reqObj,inputBodyParam,this.getOffsetInfo(variable,options))}lodash__WEBPACK_IMPORTED_MODULE_1___default().set(reqObj,_constants_variables_constants__WEBPACK_IMPORTED_MODULE_3__.VARIABLE_CONSTANTS.REST_SERVICE.PREFIX.CLOAK_HEADER_KEY+paginationInfo.input.size,variable.pagination["size"]);var headerKey=_constants_variables_constants__WEBPACK_IMPORTED_MODULE_3__.VARIABLE_CONSTANTS.REST_SERVICE.PREFIX.CLOAK_HEADER_KEY+paramName;headers[headerKey]=typeof reqObj[headerKey]==="object"?JSON.stringify(reqObj[headerKey]):reqObj[headerKey];resObj["headers"]=headers}else if((paramObj===null||paramObj===void 0?void 0:paramObj.parameterType)==="body"){var bodyVal=JSON.parse(paramObj.sampleValue);var bodyParam=paginationInfo.input[inputParam].split(".")[1];if(bodyVal&&bodyVal[bodyParam]){var inputBodyParam=paginationInfo.input[inputParam].split(".").splice(1).join(".");if(inputParam!=="offset"){lodash__WEBPACK_IMPORTED_MODULE_1___default().set(reqObj,inputBodyParam,variable.pagination["page"])}else{lodash__WEBPACK_IMPORTED_MODULE_1___default().set(reqObj,inputBodyParam,this.getOffsetInfo(variable,options))}lodash__WEBPACK_IMPORTED_MODULE_1___default().set(reqObj,paginationInfo.input.size.split(".").splice(1).join("."),variable.pagination["size"]);bodyVal[bodyParam]=reqObj[bodyParam];requestBody=JSON.stringify(bodyVal);resObj["requestBody"]=requestBody}}else if(variable.pagination.next&¶mObj){if(paramObj.parameterType==="path"){var urlParams=operationInfo.relativePath.split("/"),paramConfig="{"+paramObj.name+"}",paramIndex=urlParams.indexOf(paramConfig);var invokeUrl=void 0;if(variable.pagination.isNext){invokeUrl=variable.pagination.next.split("/")}else{invokeUrl=variable.pagination.prev.split("/")}var urlPathParmas=void 0;var urlPath=void 0;if(operationInfo.directPath){urlPath=new URL(url);urlPathParmas=urlPath.pathname.split("/");urlPathParmas[paramIndex]=invokeUrl[paramIndex];urlPath.pathname=urlPathParmas.join("/");url=urlPath.href;resObj["url"]=url}else{urlPathParmas=url.split("/");urlPathParmas[paramIndex+1]=invokeUrl[paramIndex];url=urlPathParmas.join("/");resObj["url"]=url}}else if(paramObj.parameterType==="query"){var urlParams=url.split("?");var invokeUrl=void 0;if(variable.pagination.isNext){invokeUrl=variable.pagination.next.split("?")}else{invokeUrl=variable.pagination.prev.split("?")}urlParams[1]=invokeUrl[1];url=urlParams.join("?");resObj["url"]=url}}return resObj};PaginationUtils.setParameterVal=function(paramName,res,operationInfo,variable){var paginationInfo=this.getPaginationInfo(operationInfo,variable);var paginationParams=paginationInfo.input[paramName].split(".");var param=paginationParams[0];var sizeObj=lodash__WEBPACK_IMPORTED_MODULE_1___default().find(operationInfo.parameters,(function(obj){return obj.name===param}));res[paramName]=lodash__WEBPACK_IMPORTED_MODULE_1___default().result(sizeObj,"sampleValue");if(paginationParams.length>1){res[paramName]=lodash__WEBPACK_IMPORTED_MODULE_1___default().get((0,_utils__WEBPACK_IMPORTED_MODULE_2__.getValidJSON)(res[paramName]),paginationInfo.input[paramName].split(".").splice(1).join("."))}};PaginationUtils.generatePaginationRes=function(operationInfo,paginationInfo,response,resHeaders,options,variable){var res={};var resOutput=paginationInfo.output;if(!(resOutput===null||resOutput===void 0?void 0:resOutput.next)){if(resOutput===null||resOutput===void 0?void 0:resOutput.size){this.setPaginationItems(resOutput.size,response,res,"size",resHeaders)}else{this.setParameterVal("size",res,operationInfo,variable)}if(resOutput===null||resOutput===void 0?void 0:resOutput.page){this.setPaginationItems(resOutput.page,response,res,"page",resHeaders)}else if(paginationInfo.type!=="offset"){this.setParameterVal("page",res,operationInfo,variable)}if(lodash__WEBPACK_IMPORTED_MODULE_1___default().startsWith(resOutput===null||resOutput===void 0?void 0:resOutput.totalElements,"$minValue")){var totalEl=resOutput.totalElements.replace("$minValue=","");var pageParam=res["page"]?res["page"]:options["page"];var elRendered=res["size"]*pageParam;if(!variable.pagination||variable.pagination["totalElements"]>elRendered){res["totalElements"]=parseInt(totalEl)}else{res["totalElements"]=elRendered+1}}else if(resOutput===null||resOutput===void 0?void 0:resOutput.totalElements){this.setPaginationItems(resOutput.totalElements,response,res,"totalElements",resHeaders)}else{if(paginationInfo.type==="offset"||paginationInfo.input.offset){res["totalElements"]=res["size"]*(options["page"]?options["page"]:1)+1}else{res["totalElements"]=res["size"]*res["page"]+1}}if(resOutput===null||resOutput===void 0?void 0:resOutput.hasMoreItems){this.setPaginationItems(resOutput.hasMoreItems,response,res,"hasMoreItems",resHeaders)}else{res["hasMoreItems"]=""}}else if(resOutput){this.setPaginationItems(resOutput.next,response,res,"next",resHeaders);this.setPaginationItems(resOutput.prev,response,res,"prev",resHeaders)}return res};return PaginationUtils}()},"./src/util/variable/service-variable.utils.ts":
|
|
1492
1492
|
/*!*****************************************************!*\
|
|
1493
1493
|
!*** ./src/util/variable/service-variable.utils.ts ***!
|
|
1494
|
-
\*****************************************************/(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{"use strict";__webpack_require__.r(__webpack_exports__);__webpack_require__.d(__webpack_exports__,{ServiceVariableUtils:()=>ServiceVariableUtils});var _util_utils__WEBPACK_IMPORTED_MODULE_0__=__webpack_require__(/*! ../../util/utils */"./src/util/utils.ts");var _constants_variables_constants__WEBPACK_IMPORTED_MODULE_1__=__webpack_require__(/*! ../../constants/variables.constants */"./src/constants/variables.constants.ts");var _variables_utils__WEBPACK_IMPORTED_MODULE_2__=__webpack_require__(/*! ./variables.utils */"./src/util/variable/variables.utils.ts");var _oAuth_utils__WEBPACK_IMPORTED_MODULE_3__=__webpack_require__(/*! ./../oAuth.utils */"./src/util/oAuth.utils.ts");var _util_variable_pagination_utils__WEBPACK_IMPORTED_MODULE_4__=__webpack_require__(/*! ../../util/variable/pagination.utils */"./src/util/variable/pagination.utils.ts");var lodash__WEBPACK_IMPORTED_MODULE_5__=__webpack_require__(/*! lodash */"./node_modules/lodash/lodash.js");var lodash__WEBPACK_IMPORTED_MODULE_5___default=__webpack_require__.n(lodash__WEBPACK_IMPORTED_MODULE_5__);var isBodyTypeQueryOrProcedure=function(variable){return lodash__WEBPACK_IMPORTED_MODULE_5___default().includes(["QueryExecution","ProcedureExecution"],variable.controller)&&lodash__WEBPACK_IMPORTED_MODULE_5___default().includes(["put","post"],variable.operationType)};var isQueryServiceVar=function(controller,serviceType){return controller===_constants_variables_constants__WEBPACK_IMPORTED_MODULE_1__.VARIABLE_CONSTANTS.CONTROLLER_TYPE.QUERY&&serviceType===_constants_variables_constants__WEBPACK_IMPORTED_MODULE_1__.VARIABLE_CONSTANTS.SERVICE_TYPE.DATA};var getFormData=function(formData,param,paramValue){var paramType=lodash__WEBPACK_IMPORTED_MODULE_5___default().toLower((0,_util_utils__WEBPACK_IMPORTED_MODULE_0__.extractType)(lodash__WEBPACK_IMPORTED_MODULE_5___default().get(param,"items.type")||param.type)),paramContentType=_constants_variables_constants__WEBPACK_IMPORTED_MODULE_1__.CONSTANTS.isStudioMode?param["x-WM-CONTENT_TYPE"]:param.contentType;if((0,_variables_utils__WEBPACK_IMPORTED_MODULE_2__.isFileUploadSupported)()){if(paramType!=="file"&&(paramContentType==="string"||!paramContentType)){if(lodash__WEBPACK_IMPORTED_MODULE_5___default().isObject(paramValue)){paramValue=JSON.stringify(paramValue)}formData.append(param.name,paramValue)}else{if(lodash__WEBPACK_IMPORTED_MODULE_5___default().isArray(paramValue)&¶mType==="file"){lodash__WEBPACK_IMPORTED_MODULE_5___default().forEach(paramValue,(function(fileObject){formData.append(param.name,fileObject&&fileObject.content||(0,_util_utils__WEBPACK_IMPORTED_MODULE_0__.getBlob)(fileObject),fileObject.name)}))}else{formData.append(param.name,(0,_util_utils__WEBPACK_IMPORTED_MODULE_0__.getBlob)(paramValue,paramContentType),paramValue&¶mValue.name)}}return formData}};var processRequestBody=function(inputData,params,variable){var requestBody={},missingParams=[];var paramValue;lodash__WEBPACK_IMPORTED_MODULE_5___default().forEach(params,(function(param){paramValue=lodash__WEBPACK_IMPORTED_MODULE_5___default().get(inputData,param.name);if(!lodash__WEBPACK_IMPORTED_MODULE_5___default().isUndefined(paramValue)&¶mValue!==""&¶mValue!==null&&!param.readOnly){paramValue=(0,_util_utils__WEBPACK_IMPORTED_MODULE_0__.isDateTimeType)(param.type)?(0,_variables_utils__WEBPACK_IMPORTED_MODULE_2__.formatDate)(paramValue,param.type,variable.dateFormatter):paramValue;if(lodash__WEBPACK_IMPORTED_MODULE_5___default().isArray(paramValue)&&lodash__WEBPACK_IMPORTED_MODULE_5___default().toLower((0,_util_utils__WEBPACK_IMPORTED_MODULE_0__.extractType)(param.type))==="string"){paramValue=lodash__WEBPACK_IMPORTED_MODULE_5___default().join(paramValue,",")}requestBody[param.name]=paramValue}else if(param.required){missingParams.push(param.name||param.id)}}));return{requestBody:requestBody,missingParams:missingParams}};var cloakHeadersForProxy=function(headers){var _headers={},UNCLOAKED_HEADERS=_constants_variables_constants__WEBPACK_IMPORTED_MODULE_1__.VARIABLE_CONSTANTS.REST_SERVICE.UNCLOAKED_HEADERS,CLOAK_PREFIX=_constants_variables_constants__WEBPACK_IMPORTED_MODULE_1__.VARIABLE_CONSTANTS.REST_SERVICE.PREFIX.CLOAK_HEADER_KEY;lodash__WEBPACK_IMPORTED_MODULE_5___default().forEach(headers,(function(val,key){if(lodash__WEBPACK_IMPORTED_MODULE_5___default().includes(UNCLOAKED_HEADERS,key.toUpperCase())){_headers[key]=val}else{_headers[CLOAK_PREFIX+key]=val}}));return _headers};var ServiceVariableUtils=function(){function ServiceVariableUtils(){}ServiceVariableUtils.constructRequestParams=function(variable,operationInfo,inputFields,options){variable=variable||{};if(operationInfo===null){return{error:{type:_constants_variables_constants__WEBPACK_IMPORTED_MODULE_1__.VARIABLE_CONSTANTS.REST_SERVICE.ERR_TYPE.USER_UNAUTHORISED,message:_constants_variables_constants__WEBPACK_IMPORTED_MODULE_1__.VARIABLE_CONSTANTS.REST_SERVICE.ERR_MSG.USER_UNAUTHORISED,field:"_wmServiceOperationInfo"}}}else if(lodash__WEBPACK_IMPORTED_MODULE_5___default().isEmpty(operationInfo)){return{error:{type:_constants_variables_constants__WEBPACK_IMPORTED_MODULE_1__.VARIABLE_CONSTANTS.REST_SERVICE.ERR_TYPE.METADATA_MISSING,message:_constants_variables_constants__WEBPACK_IMPORTED_MODULE_1__.VARIABLE_CONSTANTS.REST_SERVICE.ERR_MSG.METADATA_MISSING,field:"_wmServiceOperationInfo"}}}else if(operationInfo&&operationInfo.invalid){return{error:{type:_constants_variables_constants__WEBPACK_IMPORTED_MODULE_1__.VARIABLE_CONSTANTS.REST_SERVICE.ERR_TYPE.CRUD_OPERATION_MISSING,message:_constants_variables_constants__WEBPACK_IMPORTED_MODULE_1__.VARIABLE_CONSTANTS.REST_SERVICE.ERR_MSG.CRUD_OPERATION_MISSING,field:"_wmServiceOperationInfo"}}}var directPath=operationInfo.directPath||"",relativePath=operationInfo.basePath?operationInfo.basePath+operationInfo.relativePath:operationInfo.relativePath,isBodyTypeQueryProcedure=isBodyTypeQueryOrProcedure(variable);var queryParams="",bodyInfo,headers={},requestBody,url,requiredParamMissing=[],target,pathParamRex,invokeParams,authDetails=null,uname,pswd,method,formData,isProxyCall,paramValueInfo,params,securityDefnObj,accessToken,withCredentials;function getFormDataObj(){if(formData){return formData}formData=new FormData;return formData}securityDefnObj=lodash__WEBPACK_IMPORTED_MODULE_5___default().get(operationInfo.securityDefinitions,"0");if(securityDefnObj){switch(securityDefnObj.type){case _constants_variables_constants__WEBPACK_IMPORTED_MODULE_1__.VARIABLE_CONSTANTS.REST_SERVICE.SECURITY_DEFN.OAUTH2:accessToken=(0,_oAuth_utils__WEBPACK_IMPORTED_MODULE_3__.getAccessToken)(securityDefnObj[_constants_variables_constants__WEBPACK_IMPORTED_MODULE_1__.VARIABLE_CONSTANTS.REST_SERVICE.OAUTH_PROVIDER_KEY],null);if(accessToken){headers[_constants_variables_constants__WEBPACK_IMPORTED_MODULE_1__.VARIABLE_CONSTANTS.REST_SERVICE.AUTH_HDR_KEY]=_constants_variables_constants__WEBPACK_IMPORTED_MODULE_1__.VARIABLE_CONSTANTS.REST_SERVICE.PREFIX.AUTH_HDR_VAL.OAUTH+" "+accessToken}else{return{error:{type:_constants_variables_constants__WEBPACK_IMPORTED_MODULE_1__.VARIABLE_CONSTANTS.REST_SERVICE.ERR_TYPE.NO_ACCESSTOKEN,message:_constants_variables_constants__WEBPACK_IMPORTED_MODULE_1__.VARIABLE_CONSTANTS.REST_SERVICE.ERR_MSG.NO_ACCESSTOKEN},securityDefnObj:securityDefnObj}}break;case _constants_variables_constants__WEBPACK_IMPORTED_MODULE_1__.VARIABLE_CONSTANTS.REST_SERVICE.SECURITY_DEFN.BASIC:uname=inputFields["wm_auth_username"];pswd=inputFields["wm_auth_password"];if(uname&&pswd){headers[_constants_variables_constants__WEBPACK_IMPORTED_MODULE_1__.VARIABLE_CONSTANTS.REST_SERVICE.AUTH_HDR_KEY]=_constants_variables_constants__WEBPACK_IMPORTED_MODULE_1__.VARIABLE_CONSTANTS.REST_SERVICE.PREFIX.AUTH_HDR_VAL.BASIC+" "+btoa(uname+":"+pswd);authDetails={type:_constants_variables_constants__WEBPACK_IMPORTED_MODULE_1__.VARIABLE_CONSTANTS.REST_SERVICE.AUTH_TYPE.BASIC}}else{return{error:{type:_constants_variables_constants__WEBPACK_IMPORTED_MODULE_1__.VARIABLE_CONSTANTS.REST_SERVICE.ERR_TYPE.NO_CREDENTIALS,message:_constants_variables_constants__WEBPACK_IMPORTED_MODULE_1__.VARIABLE_CONSTANTS.REST_SERVICE.ERR_MSG.NO_CREDENTIALS},securityDefnObj:securityDefnObj}}break}}_util_variable_pagination_utils__WEBPACK_IMPORTED_MODULE_4__.PaginationUtils.checkPaginationAtQuery(operationInfo,variable,options);operationInfo.proxySettings=operationInfo.proxySettings||{web:true,mobile:false};method=operationInfo.httpMethod||operationInfo.methodType;isProxyCall=function(){return operationInfo.proxySettings.mobile;return operationInfo.proxySettings.web}();withCredentials=operationInfo.proxySettings.withCredentials;url=isProxyCall?relativePath:directPath;lodash__WEBPACK_IMPORTED_MODULE_5___default().forEach(operationInfo.parameters,(function(param){function setParamsOfChildNode(){if(inputFields){if(inputFields[param.name]&&lodash__WEBPACK_IMPORTED_MODULE_5___default().isObject(inputFields[param.name])){paramValueInfo=inputFields[param.name]}else{paramValueInfo=inputFields}params=lodash__WEBPACK_IMPORTED_MODULE_5___default().get(operationInfo,["definitions",param.type])}else{paramValueInfo=paramValue||{};params=param.children}}var paramValue=param.sampleValue;if((0,_util_utils__WEBPACK_IMPORTED_MODULE_0__.isDefined)(paramValue)&¶mValue!==null&¶mValue!==""||isBodyTypeQueryProcedure&¶m.type!=="file"){if(variable.serviceType===_constants_variables_constants__WEBPACK_IMPORTED_MODULE_1__.VARIABLE_CONSTANTS.SERVICE_TYPE.DATA&&(0,_util_utils__WEBPACK_IMPORTED_MODULE_0__.isDateTimeType)(param.type)){paramValue=(0,_variables_utils__WEBPACK_IMPORTED_MODULE_2__.formatDate)(paramValue,param.type,variable.dateFormatter)}if(lodash__WEBPACK_IMPORTED_MODULE_5___default().isArray(paramValue)&&lodash__WEBPACK_IMPORTED_MODULE_5___default().toLower((0,_util_utils__WEBPACK_IMPORTED_MODULE_0__.extractType)(param.type))==="string"&&variable.serviceType===_constants_variables_constants__WEBPACK_IMPORTED_MODULE_1__.VARIABLE_CONSTANTS.SERVICE_TYPE.DATA){paramValue=lodash__WEBPACK_IMPORTED_MODULE_5___default().join(paramValue,",")}switch(param.parameterType.toUpperCase()){case"QUERY":if(lodash__WEBPACK_IMPORTED_MODULE_5___default().isNull(paramValue)&&isQueryServiceVar(variable.controller,variable.serviceType)){break}if(!queryParams){queryParams="?"+param.name+"="+encodeURIComponent(paramValue)}else{queryParams+="&"+param.name+"="+encodeURIComponent(paramValue)}break;case"PATH":pathParamRex=new RegExp("\\s*\\{\\s*"+param.name+"(:\\.\\+)?\\s*\\}\\s*");url=url.replace(pathParamRex,paramValue);break;case"HEADER":headers[param.name]=paramValue;break;case"BODY":if(isBodyTypeQueryProcedure){setParamsOfChildNode();bodyInfo=processRequestBody(paramValueInfo,params,variable);requestBody=bodyInfo.requestBody;requiredParamMissing=lodash__WEBPACK_IMPORTED_MODULE_5___default().concat(requiredParamMissing,bodyInfo.missingParams)}else{requestBody=paramValue}break;case"FORMDATA":if(isBodyTypeQueryProcedure&¶m.name===_constants_variables_constants__WEBPACK_IMPORTED_MODULE_1__.SWAGGER_CONSTANTS.WM_DATA_JSON){setParamsOfChildNode();bodyInfo=processRequestBody(paramValueInfo,params,variable);requestBody=getFormData(getFormDataObj(),param,bodyInfo.requestBody);requiredParamMissing=lodash__WEBPACK_IMPORTED_MODULE_5___default().concat(requiredParamMissing,bodyInfo.missingParams)}else{requestBody=getFormData(getFormDataObj(),param,paramValue)}break}}else if(param.required){requiredParamMissing.push(param.name||param.id)}}));if(requiredParamMissing.length){return{error:{type:_constants_variables_constants__WEBPACK_IMPORTED_MODULE_1__.VARIABLE_CONSTANTS.REST_SERVICE.ERR_TYPE.REQUIRED_FIELD_MISSING,field:requiredParamMissing.join(","),message:(0,_util_utils__WEBPACK_IMPORTED_MODULE_0__.replace)(_constants_variables_constants__WEBPACK_IMPORTED_MODULE_1__.VARIABLE_CONSTANTS.REST_SERVICE.ERR_MSG.REQUIRED_FIELD_MISSING,[requiredParamMissing.join(",")]),skipDefaultNotification:true}}}if(!lodash__WEBPACK_IMPORTED_MODULE_5___default().includes(_constants_variables_constants__WEBPACK_IMPORTED_MODULE_1__.WS_CONSTANTS.NON_BODY_HTTP_METHODS,lodash__WEBPACK_IMPORTED_MODULE_5___default().toUpper(method))){if(!(operationInfo.consumes&&operationInfo.consumes[0]===_constants_variables_constants__WEBPACK_IMPORTED_MODULE_1__.WS_CONSTANTS.CONTENT_TYPES.MULTIPART_FORMDATA)){headers["Content-Type"]=operationInfo.consumes&&operationInfo.consumes[0]||"application/json"}}if(lodash__WEBPACK_IMPORTED_MODULE_5___default().includes(operationInfo.consumes,_constants_variables_constants__WEBPACK_IMPORTED_MODULE_1__.WS_CONSTANTS.CONTENT_TYPES.FORM_URL_ENCODED)&&!lodash__WEBPACK_IMPORTED_MODULE_5___default().includes(_constants_variables_constants__WEBPACK_IMPORTED_MODULE_1__.WS_CONSTANTS.NON_BODY_HTTP_METHODS,(method||"").toUpperCase())){if(queryParams){requestBody=(requestBody?requestBody+"&":"")+queryParams.substring(1)}headers["Content-Type"]=_constants_variables_constants__WEBPACK_IMPORTED_MODULE_1__.WS_CONSTANTS.CONTENT_TYPES.FORM_URL_ENCODED}else{url+=queryParams}if(isProxyCall){headers=variable.serviceType!==_constants_variables_constants__WEBPACK_IMPORTED_MODULE_1__.VARIABLE_CONSTANTS.SERVICE_TYPE.REST&&variable.serviceType!==_constants_variables_constants__WEBPACK_IMPORTED_MODULE_1__.VARIABLE_CONSTANTS.SERVICE_TYPE.OPENAPI||operationInfo.skipCloakHeaders?headers:cloakHeadersForProxy(headers);if(variable.getPrefabName()&&_constants_variables_constants__WEBPACK_IMPORTED_MODULE_1__.VARIABLE_CONSTANTS.REST_SUPPORTED_SERVICES.indexOf(variable.serviceType)!==-1){url="prefabs/"+variable.getPrefabName()+url;target="invokePrefabRestService"}else if(!variable.getPrefabName()){url="services"+url}url=_constants_variables_constants__WEBPACK_IMPORTED_MODULE_1__.$rootScope.project.deployedUrl+url}var paginationInfo=_util_variable_pagination_utils__WEBPACK_IMPORTED_MODULE_4__.PaginationUtils.getPaginationInfo(operationInfo,variable);if(paginationInfo&&variable.pagination){var resp=_util_variable_pagination_utils__WEBPACK_IMPORTED_MODULE_4__.PaginationUtils.setPaginationAtReq(paginationInfo,operationInfo,variable,headers,requestBody,url,options);if(resp){if(resp["headers"]){headers=resp["headers"]}else if(resp["requestBody"]){requestBody=resp["requestBody"]}else if(resp["url"]){url=resp["url"]}}}invokeParams={projectID:_constants_variables_constants__WEBPACK_IMPORTED_MODULE_1__.$rootScope.project.id,url:url,target:target,method:method,headers:headers,data:requestBody,authDetails:authDetails,isDirectCall:!isProxyCall,isExtURL:variable.serviceType===_constants_variables_constants__WEBPACK_IMPORTED_MODULE_1__.VARIABLE_CONSTANTS.SERVICE_TYPE.REST,withCredentials:withCredentials};return invokeParams};ServiceVariableUtils.isFileUploadRequest=function(variable){return variable.service==="FileService"&&variable.operation==="uploadFile"};ServiceVariableUtils.excludePaginationParams=function(params){return lodash__WEBPACK_IMPORTED_MODULE_5___default().map(lodash__WEBPACK_IMPORTED_MODULE_5___default().reject(params,(function(param){return lodash__WEBPACK_IMPORTED_MODULE_5___default().includes(_constants_variables_constants__WEBPACK_IMPORTED_MODULE_1__.VARIABLE_CONSTANTS.PAGINATION_PARAMS,param.name)})),(function(param){return param.name}))};return ServiceVariableUtils}()},"./src/util/variable/variables.utils.ts":
|
|
1494
|
+
\*****************************************************/(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{"use strict";__webpack_require__.r(__webpack_exports__);__webpack_require__.d(__webpack_exports__,{ServiceVariableUtils:()=>ServiceVariableUtils});var _util_utils__WEBPACK_IMPORTED_MODULE_0__=__webpack_require__(/*! ../../util/utils */"./src/util/utils.ts");var _constants_variables_constants__WEBPACK_IMPORTED_MODULE_1__=__webpack_require__(/*! ../../constants/variables.constants */"./src/constants/variables.constants.ts");var _variables_utils__WEBPACK_IMPORTED_MODULE_2__=__webpack_require__(/*! ./variables.utils */"./src/util/variable/variables.utils.ts");var _oAuth_utils__WEBPACK_IMPORTED_MODULE_3__=__webpack_require__(/*! ./../oAuth.utils */"./src/util/oAuth.utils.ts");var _util_variable_pagination_utils__WEBPACK_IMPORTED_MODULE_4__=__webpack_require__(/*! ../../util/variable/pagination.utils */"./src/util/variable/pagination.utils.ts");var lodash__WEBPACK_IMPORTED_MODULE_5__=__webpack_require__(/*! lodash */"./node_modules/lodash/lodash.js");var lodash__WEBPACK_IMPORTED_MODULE_5___default=__webpack_require__.n(lodash__WEBPACK_IMPORTED_MODULE_5__);var isBodyTypeQueryOrProcedure=function(variable){return lodash__WEBPACK_IMPORTED_MODULE_5___default().includes(["QueryExecution","ProcedureExecution"],variable.controller)&&lodash__WEBPACK_IMPORTED_MODULE_5___default().includes(["put","post"],variable.operationType)};var isQueryServiceVar=function(controller,serviceType){return controller===_constants_variables_constants__WEBPACK_IMPORTED_MODULE_1__.VARIABLE_CONSTANTS.CONTROLLER_TYPE.QUERY&&serviceType===_constants_variables_constants__WEBPACK_IMPORTED_MODULE_1__.VARIABLE_CONSTANTS.SERVICE_TYPE.DATA};var getFormData=function(formData,param,paramValue){var paramType=lodash__WEBPACK_IMPORTED_MODULE_5___default().toLower((0,_util_utils__WEBPACK_IMPORTED_MODULE_0__.extractType)(lodash__WEBPACK_IMPORTED_MODULE_5___default().get(param,"items.type")||param.type)),paramContentType=_constants_variables_constants__WEBPACK_IMPORTED_MODULE_1__.CONSTANTS.isStudioMode?param["x-WM-CONTENT_TYPE"]:param.contentType;if((0,_variables_utils__WEBPACK_IMPORTED_MODULE_2__.isFileUploadSupported)()){if(paramType!=="file"&&(paramContentType==="string"||!paramContentType)){if(lodash__WEBPACK_IMPORTED_MODULE_5___default().isObject(paramValue)){paramValue=JSON.stringify(paramValue)}formData.append(param.name,paramValue)}else{if(lodash__WEBPACK_IMPORTED_MODULE_5___default().isArray(paramValue)&¶mType==="file"){lodash__WEBPACK_IMPORTED_MODULE_5___default().forEach(paramValue,(function(fileObject){formData.append(param.name,fileObject&&fileObject.content||(0,_util_utils__WEBPACK_IMPORTED_MODULE_0__.getBlob)(fileObject),fileObject.name)}))}else{formData.append(param.name,(0,_util_utils__WEBPACK_IMPORTED_MODULE_0__.getBlob)(paramValue,paramContentType),paramValue&¶mValue.name)}}return formData}};var processRequestBody=function(inputData,params,variable){var requestBody={},missingParams=[];var paramValue;lodash__WEBPACK_IMPORTED_MODULE_5___default().forEach(params,(function(param){paramValue=lodash__WEBPACK_IMPORTED_MODULE_5___default().get(inputData,param.name);if(!lodash__WEBPACK_IMPORTED_MODULE_5___default().isUndefined(paramValue)&¶mValue!==""&¶mValue!==null&&!param.readOnly){paramValue=(0,_util_utils__WEBPACK_IMPORTED_MODULE_0__.isDateTimeType)(param.type)?(0,_variables_utils__WEBPACK_IMPORTED_MODULE_2__.formatDate)(paramValue,param.type,variable.dateFormatter):paramValue;if(lodash__WEBPACK_IMPORTED_MODULE_5___default().isArray(paramValue)&&lodash__WEBPACK_IMPORTED_MODULE_5___default().toLower((0,_util_utils__WEBPACK_IMPORTED_MODULE_0__.extractType)(param.type))==="string"){paramValue=lodash__WEBPACK_IMPORTED_MODULE_5___default().join(paramValue,",")}requestBody[param.name]=paramValue}else if(param.required){missingParams.push(param.name||param.id)}}));return{requestBody:requestBody,missingParams:missingParams}};var cloakHeadersForProxy=function(headers){var _headers={},UNCLOAKED_HEADERS=_constants_variables_constants__WEBPACK_IMPORTED_MODULE_1__.VARIABLE_CONSTANTS.REST_SERVICE.UNCLOAKED_HEADERS,CLOAK_PREFIX=_constants_variables_constants__WEBPACK_IMPORTED_MODULE_1__.VARIABLE_CONSTANTS.REST_SERVICE.PREFIX.CLOAK_HEADER_KEY;lodash__WEBPACK_IMPORTED_MODULE_5___default().forEach(headers,(function(val,key){if(lodash__WEBPACK_IMPORTED_MODULE_5___default().includes(UNCLOAKED_HEADERS,key.toUpperCase())){_headers[key]=val}else{_headers[CLOAK_PREFIX+key]=val}}));return _headers};var ServiceVariableUtils=function(){function ServiceVariableUtils(){}ServiceVariableUtils.constructRequestParams=function(variable,operationInfo,inputFields,options){variable=variable||{};if(operationInfo===null){return{error:{type:_constants_variables_constants__WEBPACK_IMPORTED_MODULE_1__.VARIABLE_CONSTANTS.REST_SERVICE.ERR_TYPE.USER_UNAUTHORISED,message:_constants_variables_constants__WEBPACK_IMPORTED_MODULE_1__.VARIABLE_CONSTANTS.REST_SERVICE.ERR_MSG.USER_UNAUTHORISED,field:"_wmServiceOperationInfo"}}}else if(lodash__WEBPACK_IMPORTED_MODULE_5___default().isEmpty(operationInfo)){return{error:{type:_constants_variables_constants__WEBPACK_IMPORTED_MODULE_1__.VARIABLE_CONSTANTS.REST_SERVICE.ERR_TYPE.METADATA_MISSING,message:_constants_variables_constants__WEBPACK_IMPORTED_MODULE_1__.VARIABLE_CONSTANTS.REST_SERVICE.ERR_MSG.METADATA_MISSING,field:"_wmServiceOperationInfo"}}}else if(operationInfo&&operationInfo.invalid){return{error:{type:_constants_variables_constants__WEBPACK_IMPORTED_MODULE_1__.VARIABLE_CONSTANTS.REST_SERVICE.ERR_TYPE.CRUD_OPERATION_MISSING,message:_constants_variables_constants__WEBPACK_IMPORTED_MODULE_1__.VARIABLE_CONSTANTS.REST_SERVICE.ERR_MSG.CRUD_OPERATION_MISSING,field:"_wmServiceOperationInfo"}}}var directPath=operationInfo.directPath||"",relativePath=operationInfo.basePath?operationInfo.basePath+operationInfo.relativePath:operationInfo.relativePath,isBodyTypeQueryProcedure=isBodyTypeQueryOrProcedure(variable);var queryParams="",bodyInfo,headers={},requestBody,url,requiredParamMissing=[],target,pathParamRex,invokeParams,authDetails=null,uname,pswd,method,formData,isProxyCall,paramValueInfo,params,securityDefnObj,accessToken,withCredentials;function getFormDataObj(){if(formData){return formData}formData=new FormData;return formData}securityDefnObj=lodash__WEBPACK_IMPORTED_MODULE_5___default().get(operationInfo.securityDefinitions,"0");if(securityDefnObj){switch(securityDefnObj.type){case _constants_variables_constants__WEBPACK_IMPORTED_MODULE_1__.VARIABLE_CONSTANTS.REST_SERVICE.SECURITY_DEFN.OAUTH2:accessToken=(0,_oAuth_utils__WEBPACK_IMPORTED_MODULE_3__.getAccessToken)(securityDefnObj[_constants_variables_constants__WEBPACK_IMPORTED_MODULE_1__.VARIABLE_CONSTANTS.REST_SERVICE.OAUTH_PROVIDER_KEY],null);if(accessToken){headers[_constants_variables_constants__WEBPACK_IMPORTED_MODULE_1__.VARIABLE_CONSTANTS.REST_SERVICE.AUTH_HDR_KEY]=_constants_variables_constants__WEBPACK_IMPORTED_MODULE_1__.VARIABLE_CONSTANTS.REST_SERVICE.PREFIX.AUTH_HDR_VAL.OAUTH+" "+accessToken}else{return{error:{type:_constants_variables_constants__WEBPACK_IMPORTED_MODULE_1__.VARIABLE_CONSTANTS.REST_SERVICE.ERR_TYPE.NO_ACCESSTOKEN,message:_constants_variables_constants__WEBPACK_IMPORTED_MODULE_1__.VARIABLE_CONSTANTS.REST_SERVICE.ERR_MSG.NO_ACCESSTOKEN},securityDefnObj:securityDefnObj}}break;case _constants_variables_constants__WEBPACK_IMPORTED_MODULE_1__.VARIABLE_CONSTANTS.REST_SERVICE.SECURITY_DEFN.BASIC:uname=inputFields["wm_auth_username"];pswd=inputFields["wm_auth_password"];if(uname&&pswd){headers[_constants_variables_constants__WEBPACK_IMPORTED_MODULE_1__.VARIABLE_CONSTANTS.REST_SERVICE.AUTH_HDR_KEY]=_constants_variables_constants__WEBPACK_IMPORTED_MODULE_1__.VARIABLE_CONSTANTS.REST_SERVICE.PREFIX.AUTH_HDR_VAL.BASIC+" "+btoa(uname+":"+pswd);authDetails={type:_constants_variables_constants__WEBPACK_IMPORTED_MODULE_1__.VARIABLE_CONSTANTS.REST_SERVICE.AUTH_TYPE.BASIC}}else{return{error:{type:_constants_variables_constants__WEBPACK_IMPORTED_MODULE_1__.VARIABLE_CONSTANTS.REST_SERVICE.ERR_TYPE.NO_CREDENTIALS,message:_constants_variables_constants__WEBPACK_IMPORTED_MODULE_1__.VARIABLE_CONSTANTS.REST_SERVICE.ERR_MSG.NO_CREDENTIALS},securityDefnObj:securityDefnObj}}break}}_util_variable_pagination_utils__WEBPACK_IMPORTED_MODULE_4__.PaginationUtils.checkPaginationAtQuery(operationInfo,variable,options);operationInfo.proxySettings=operationInfo.proxySettings||{web:true,mobile:false};method=operationInfo.httpMethod||operationInfo.methodType;isProxyCall=function(){return operationInfo.proxySettings.mobile;return operationInfo.proxySettings.web}();withCredentials=operationInfo.proxySettings.withCredentials;url=isProxyCall?relativePath:directPath;lodash__WEBPACK_IMPORTED_MODULE_5___default().forEach(operationInfo.parameters,(function(param){function setParamsOfChildNode(){if(inputFields){if(inputFields[param.name]&&lodash__WEBPACK_IMPORTED_MODULE_5___default().isObject(inputFields[param.name])){paramValueInfo=inputFields[param.name]}else{paramValueInfo=inputFields}params=lodash__WEBPACK_IMPORTED_MODULE_5___default().get(operationInfo,["definitions",param.type])}else{paramValueInfo=paramValue||{};params=param.children}}var paramValue=param.sampleValue;if((0,_util_utils__WEBPACK_IMPORTED_MODULE_0__.isDefined)(paramValue)&¶mValue!==null&¶mValue!==""||isBodyTypeQueryProcedure&¶m.type!=="file"){if(variable.serviceType===_constants_variables_constants__WEBPACK_IMPORTED_MODULE_1__.VARIABLE_CONSTANTS.SERVICE_TYPE.DATA&&(0,_util_utils__WEBPACK_IMPORTED_MODULE_0__.isDateTimeType)(param.type)){paramValue=(0,_variables_utils__WEBPACK_IMPORTED_MODULE_2__.formatDate)(paramValue,param.type,variable.dateFormatter)}if(lodash__WEBPACK_IMPORTED_MODULE_5___default().isArray(paramValue)&&lodash__WEBPACK_IMPORTED_MODULE_5___default().toLower((0,_util_utils__WEBPACK_IMPORTED_MODULE_0__.extractType)(param.type))==="string"&&variable.serviceType===_constants_variables_constants__WEBPACK_IMPORTED_MODULE_1__.VARIABLE_CONSTANTS.SERVICE_TYPE.DATA){paramValue=lodash__WEBPACK_IMPORTED_MODULE_5___default().join(paramValue,",")}switch(param.parameterType.toUpperCase()){case"QUERY":if(lodash__WEBPACK_IMPORTED_MODULE_5___default().isNull(paramValue)&&isQueryServiceVar(variable.controller,variable.serviceType)){break}if(!queryParams){queryParams="?"+param.name+"="+encodeURIComponent(paramValue)}else{queryParams+="&"+param.name+"="+encodeURIComponent(paramValue)}break;case"PATH":pathParamRex=new RegExp("\\s*\\{\\s*"+param.name+"(:\\.\\+)?\\s*\\}\\s*");url=url.replace(pathParamRex,paramValue);break;case"HEADER":headers[param.name]=paramValue;break;case"BODY":if(isBodyTypeQueryProcedure){setParamsOfChildNode();bodyInfo=processRequestBody(paramValueInfo,params,variable);requestBody=bodyInfo.requestBody;requiredParamMissing=lodash__WEBPACK_IMPORTED_MODULE_5___default().concat(requiredParamMissing,bodyInfo.missingParams)}else{requestBody=paramValue}break;case"FORMDATA":if(isBodyTypeQueryProcedure&¶m.name===_constants_variables_constants__WEBPACK_IMPORTED_MODULE_1__.SWAGGER_CONSTANTS.WM_DATA_JSON){setParamsOfChildNode();bodyInfo=processRequestBody(paramValueInfo,params,variable);requestBody=getFormData(getFormDataObj(),param,bodyInfo.requestBody);requiredParamMissing=lodash__WEBPACK_IMPORTED_MODULE_5___default().concat(requiredParamMissing,bodyInfo.missingParams)}else{requestBody=getFormData(getFormDataObj(),param,paramValue)}break}}else if(param.required){requiredParamMissing.push(param.name||param.id)}}));if(requiredParamMissing.length){return{error:{type:_constants_variables_constants__WEBPACK_IMPORTED_MODULE_1__.VARIABLE_CONSTANTS.REST_SERVICE.ERR_TYPE.REQUIRED_FIELD_MISSING,field:requiredParamMissing.join(","),message:(0,_util_utils__WEBPACK_IMPORTED_MODULE_0__.replace)(_constants_variables_constants__WEBPACK_IMPORTED_MODULE_1__.VARIABLE_CONSTANTS.REST_SERVICE.ERR_MSG.REQUIRED_FIELD_MISSING,[requiredParamMissing.join(",")]),skipDefaultNotification:true}}}if(!lodash__WEBPACK_IMPORTED_MODULE_5___default().includes(_constants_variables_constants__WEBPACK_IMPORTED_MODULE_1__.WS_CONSTANTS.NON_BODY_HTTP_METHODS,lodash__WEBPACK_IMPORTED_MODULE_5___default().toUpper(method))){if(!(operationInfo.consumes&&operationInfo.consumes[0]===_constants_variables_constants__WEBPACK_IMPORTED_MODULE_1__.WS_CONSTANTS.CONTENT_TYPES.MULTIPART_FORMDATA)){headers["Content-Type"]=operationInfo.consumes&&operationInfo.consumes[0]||"application/json"}}if(lodash__WEBPACK_IMPORTED_MODULE_5___default().includes(operationInfo.consumes,_constants_variables_constants__WEBPACK_IMPORTED_MODULE_1__.WS_CONSTANTS.CONTENT_TYPES.FORM_URL_ENCODED)&&!lodash__WEBPACK_IMPORTED_MODULE_5___default().includes(_constants_variables_constants__WEBPACK_IMPORTED_MODULE_1__.WS_CONSTANTS.NON_BODY_HTTP_METHODS,(method||"").toUpperCase())){if(queryParams){requestBody=(requestBody?requestBody+"&":"")+queryParams.substring(1)}headers["Content-Type"]=_constants_variables_constants__WEBPACK_IMPORTED_MODULE_1__.WS_CONSTANTS.CONTENT_TYPES.FORM_URL_ENCODED}else{url+=queryParams}if(isProxyCall){headers=variable.serviceType!==_constants_variables_constants__WEBPACK_IMPORTED_MODULE_1__.VARIABLE_CONSTANTS.SERVICE_TYPE.REST&&variable.serviceType!==_constants_variables_constants__WEBPACK_IMPORTED_MODULE_1__.VARIABLE_CONSTANTS.SERVICE_TYPE.OPENAPI||operationInfo.skipCloakHeaders?headers:cloakHeadersForProxy(headers);if(variable.getPrefabName()&&_constants_variables_constants__WEBPACK_IMPORTED_MODULE_1__.VARIABLE_CONSTANTS.REST_SUPPORTED_SERVICES.indexOf(variable.serviceType)!==-1){url="prefabs/"+variable.getPrefabName()+url;target="invokePrefabRestService"}else if(!variable.getPrefabName()){url="services"+url}url=_constants_variables_constants__WEBPACK_IMPORTED_MODULE_1__.$rootScope.project.deployedUrl+url}var paginationInfo=_util_variable_pagination_utils__WEBPACK_IMPORTED_MODULE_4__.PaginationUtils.getPaginationInfo(operationInfo,variable);if(paginationInfo&&variable.pagination){var resp=_util_variable_pagination_utils__WEBPACK_IMPORTED_MODULE_4__.PaginationUtils.setPaginationAtReq(paginationInfo,operationInfo,variable,headers,requestBody,url,options);if(resp){if(resp["headers"]){headers=resp["headers"]}else if(resp["requestBody"]){requestBody=resp["requestBody"]}else if(resp["url"]){url=resp["url"]}}}invokeParams={projectID:_constants_variables_constants__WEBPACK_IMPORTED_MODULE_1__.$rootScope.project.id,url:url,target:target,method:method,headers:headers,data:requestBody,authDetails:authDetails,isDirectCall:!isProxyCall,isExtURL:variable.serviceType===_constants_variables_constants__WEBPACK_IMPORTED_MODULE_1__.VARIABLE_CONSTANTS.SERVICE_TYPE.REST,withCredentials:withCredentials};return invokeParams};ServiceVariableUtils.isFileUploadRequest=function(variable){return variable.service==="FileService"&&variable.operation==="uploadFile"};ServiceVariableUtils.isFileDeleteRequest=function(variable){return variable.service==="FileService"&&variable.operation==="deleteFile"};ServiceVariableUtils.excludePaginationParams=function(params){return lodash__WEBPACK_IMPORTED_MODULE_5___default().map(lodash__WEBPACK_IMPORTED_MODULE_5___default().reject(params,(function(param){return lodash__WEBPACK_IMPORTED_MODULE_5___default().includes(_constants_variables_constants__WEBPACK_IMPORTED_MODULE_1__.VARIABLE_CONSTANTS.PAGINATION_PARAMS,param.name)})),(function(param){return param.name}))};return ServiceVariableUtils}()},"./src/util/variable/variables.utils.ts":
|
|
1495
1495
|
/*!**********************************************!*\
|
|
1496
1496
|
!*** ./src/util/variable/variables.utils.ts ***!
|
|
1497
1497
|
\**********************************************/(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{"use strict";__webpack_require__.r(__webpack_exports__);__webpack_require__.d(__webpack_exports__,{appManager:()=>appManager,debounceVariableCall:()=>debounceVariableCall,decodeData:()=>decodeData,dialogService:()=>dialogService,formatDate:()=>formatDate,formatExportExpression:()=>formatExportExpression,getBlob:()=>getBlob,getErrMessage:()=>getErrMessage,getEvaluatedOrderBy:()=>getEvaluatedOrderBy,getTarget:()=>getTarget,getTargetNodeKey:()=>getTargetNodeKey,getTargetObj:()=>getTargetObj,httpService:()=>httpService,initiateCallback:()=>initiateCallback,internalBoundNodeMap:()=>internalBoundNodeMap,isFileUploadSupported:()=>isFileUploadSupported,metadataService:()=>metadataService,navigationService:()=>navigationService,oauthService:()=>oauthService,routerService:()=>routerService,securityService:()=>securityService,setInput:()=>setInput,setValueToNode:()=>setValueToNode,toasterService:()=>toasterService,updateInternalNodes:()=>updateInternalNodes,wmSetDependency:()=>wmSetDependency});var _utils__WEBPACK_IMPORTED_MODULE_0__=__webpack_require__(/*! ../utils */"./src/util/utils.ts");var _constants_variables_constants__WEBPACK_IMPORTED_MODULE_1__=__webpack_require__(/*! ../../constants/variables.constants */"./src/constants/variables.constants.ts");var moment__WEBPACK_IMPORTED_MODULE_2__=__webpack_require__(/*! moment */"./node_modules/moment/moment.js");var moment__WEBPACK_IMPORTED_MODULE_2___default=__webpack_require__.n(moment__WEBPACK_IMPORTED_MODULE_2__);var lodash__WEBPACK_IMPORTED_MODULE_3__=__webpack_require__(/*! lodash */"./node_modules/lodash/lodash.js");var lodash__WEBPACK_IMPORTED_MODULE_3___default=__webpack_require__.n(lodash__WEBPACK_IMPORTED_MODULE_3__);var he__WEBPACK_IMPORTED_MODULE_4__=__webpack_require__(/*! he */"./node_modules/he/he.js");var he__WEBPACK_IMPORTED_MODULE_4___default=__webpack_require__.n(he__WEBPACK_IMPORTED_MODULE_4__);var appManager;var httpService;var metadataService;var navigationService;var routerService;var toasterService;var oauthService;var securityService;var dialogService;var internalBoundNodeMap=new Map;var timers=new Map;var DOT_EXPR_REX=/^\[("|')[\w\W]*(\1)\]$/;var _invoke=function(variable,op){var debouncedFn,cancelFn=lodash__WEBPACK_IMPORTED_MODULE_3___default().noop,retVal;if(timers.has(variable)){cancelFn=timers.get(variable).cancel}cancelFn();debouncedFn=lodash__WEBPACK_IMPORTED_MODULE_3___default().debounce((function(){retVal=variable[op]();if(retVal instanceof Promise){retVal.catch(lodash__WEBPACK_IMPORTED_MODULE_3___default().noop)}}),100);timers.set(variable,debouncedFn);debouncedFn()};var wmSetDependency=function(type,ref){switch(type){case"appManager":appManager=ref;break;case"http":httpService=ref;break;case"metadata":metadataService=ref;break;case"navigationService":navigationService=ref;break;case"router":routerService=ref;break;case"toaster":toasterService=ref;break;case"oAuth":oauthService=ref;break;case"security":securityService=ref;break;case"dialog":dialogService=ref;break}};var debounceVariableCall=_invoke;var isFileUploadSupported=function(){return window.File&&window.FileReader&&window.FileList&&window.Blob};var formatExportExpression=function(fieldDefs){lodash__WEBPACK_IMPORTED_MODULE_3___default().forEach(fieldDefs,(function(fieldDef){if(fieldDef.expression){fieldDef.expression="${"+fieldDef.expression+"}"}}));return fieldDefs};var getBlob=function(val,valContentType){if(val instanceof Blob){return val}var jsonVal=(0,_utils__WEBPACK_IMPORTED_MODULE_0__.getValidJSON)(val);if(jsonVal&&jsonVal instanceof Object){val=new Blob([JSON.stringify(jsonVal)],{type:valContentType||"application/json"})}else{val=new Blob([val],{type:valContentType||"text/plain"})}return val};var setInput=function(targetObj,key,val,options){targetObj=targetObj||{};var keys,lastKey,paramObj={};if(lodash__WEBPACK_IMPORTED_MODULE_3___default().isObject(options)){switch(options.type){case"file":val=getBlob(val,options.contentType);break;case"number":val=lodash__WEBPACK_IMPORTED_MODULE_3___default().isNumber(val)?val:parseInt(val,10);break}}if(lodash__WEBPACK_IMPORTED_MODULE_3___default().isObject(key)){paramObj=key}else if(key.indexOf(".")>-1){keys=key.split(".");lastKey=keys.pop();targetObj=(0,_utils__WEBPACK_IMPORTED_MODULE_0__.findValueOf)(targetObj,keys.join("."),true);key=lastKey;paramObj[key]=val}else{paramObj[key]=val}lodash__WEBPACK_IMPORTED_MODULE_3___default().forEach(paramObj,(function(paramVal,paramKey){targetObj[paramKey]=paramVal}));return targetObj};var decodeData=function(responseContent){if(!responseContent){return responseContent}if(lodash__WEBPACK_IMPORTED_MODULE_3___default().isArray(responseContent)){lodash__WEBPACK_IMPORTED_MODULE_3___default().forEach(responseContent,(function(data){if(lodash__WEBPACK_IMPORTED_MODULE_3___default().isString(data)){data=htmlDecode(data)}else if(lodash__WEBPACK_IMPORTED_MODULE_3___default().isObject(data)){lodash__WEBPACK_IMPORTED_MODULE_3___default().forEach(data,(function(value,key){if(value&&lodash__WEBPACK_IMPORTED_MODULE_3___default().isString(value)){data[key]=htmlDecode(value)}else if(lodash__WEBPACK_IMPORTED_MODULE_3___default().isObject(value)){decodeData(value)}}))}}))}else if(lodash__WEBPACK_IMPORTED_MODULE_3___default().isObject(responseContent)){lodash__WEBPACK_IMPORTED_MODULE_3___default().forEach(responseContent,(function(value,key){if(value&&lodash__WEBPACK_IMPORTED_MODULE_3___default().isString(value)){responseContent[key]=htmlDecode(value)}else if(lodash__WEBPACK_IMPORTED_MODULE_3___default().isObject(value)){decodeData(value)}}))}else if(lodash__WEBPACK_IMPORTED_MODULE_3___default().isString(responseContent)){responseContent=htmlDecode(responseContent);return responseContent}};function htmlDecode(input){return he__WEBPACK_IMPORTED_MODULE_4___default().unescape(input)}var getEvaluatedOrderBy=function(varOrder,optionsOrder){var optionFields,varOrderBy;if(!optionsOrder||lodash__WEBPACK_IMPORTED_MODULE_3___default().isEmpty(optionsOrder)){return varOrder}if(!varOrder){return optionsOrder}varOrder=lodash__WEBPACK_IMPORTED_MODULE_3___default().split(varOrder,",");optionsOrder=lodash__WEBPACK_IMPORTED_MODULE_3___default().split(optionsOrder,",");optionFields=lodash__WEBPACK_IMPORTED_MODULE_3___default().map(optionsOrder,(function(order){return lodash__WEBPACK_IMPORTED_MODULE_3___default().split(lodash__WEBPACK_IMPORTED_MODULE_3___default().trim(order)," ")[0]}));lodash__WEBPACK_IMPORTED_MODULE_3___default().remove(varOrder,(function(orderBy){return lodash__WEBPACK_IMPORTED_MODULE_3___default().includes(optionFields,lodash__WEBPACK_IMPORTED_MODULE_3___default().split(lodash__WEBPACK_IMPORTED_MODULE_3___default().trim(orderBy)," ")[0])}));varOrderBy=varOrder.length?","+lodash__WEBPACK_IMPORTED_MODULE_3___default().join(varOrder,","):"";return lodash__WEBPACK_IMPORTED_MODULE_3___default().join(optionsOrder,",")+varOrderBy};var processVariablePostBindUpdate=function(nodeName,nodeVal,nodeType,variable,noUpdate){switch(variable.category){case _constants_variables_constants__WEBPACK_IMPORTED_MODULE_1__.VARIABLE_CONSTANTS.CATEGORY.LIVE:if(variable.operation==="read"){if(nodeName==="dataBinding"){lodash__WEBPACK_IMPORTED_MODULE_3___default().forEach(nodeVal,(function(val,key){variable.filterFields[key]={value:val}}))}else{variable.filterFields[nodeName]={value:nodeVal,type:nodeType}}if(variable.autoUpdate&&!lodash__WEBPACK_IMPORTED_MODULE_3___default().isUndefined(nodeVal)&&lodash__WEBPACK_IMPORTED_MODULE_3___default().isFunction(variable.listRecords)&&!noUpdate){_invoke(variable,"listRecords")}}else{if(nodeName==="dataBinding"){variable.inputFields=nodeVal}else{variable.inputFields[nodeName]=nodeVal}if(variable.autoUpdate&&!lodash__WEBPACK_IMPORTED_MODULE_3___default().isUndefined(nodeVal)&&lodash__WEBPACK_IMPORTED_MODULE_3___default().isFunction(variable[variable.operation+"Record"])&&!noUpdate){_invoke(variable,variable.operation+"Record")}}break;case _constants_variables_constants__WEBPACK_IMPORTED_MODULE_1__.VARIABLE_CONSTANTS.CATEGORY.CRUD:if(variable.operationType==="list"&&variable.autoUpdate&&!lodash__WEBPACK_IMPORTED_MODULE_3___default().isUndefined(nodeVal)&&lodash__WEBPACK_IMPORTED_MODULE_3___default().isFunction(variable.invoke)&&!noUpdate){_invoke(variable,"invoke")}break;case _constants_variables_constants__WEBPACK_IMPORTED_MODULE_1__.VARIABLE_CONSTANTS.CATEGORY.SERVICE:case _constants_variables_constants__WEBPACK_IMPORTED_MODULE_1__.VARIABLE_CONSTANTS.CATEGORY.LOGIN:if(variable.autoUpdate&&!lodash__WEBPACK_IMPORTED_MODULE_3___default().isUndefined(nodeVal)&&lodash__WEBPACK_IMPORTED_MODULE_3___default().isFunction(variable.invoke)&&!noUpdate){_invoke(variable,"invoke")}break;case _constants_variables_constants__WEBPACK_IMPORTED_MODULE_1__.VARIABLE_CONSTANTS.CATEGORY.DEVICE:variable[nodeName]=nodeVal;if(variable.autoUpdate&&!lodash__WEBPACK_IMPORTED_MODULE_3___default().isUndefined(nodeVal)&&lodash__WEBPACK_IMPORTED_MODULE_3___default().isFunction(variable.invoke)&&!noUpdate){_invoke(variable,"invoke")}break}};var getTargetObj=function(obj,root,variable){var target=obj.target,targetObj;var rootNode=variable[root];if(DOT_EXPR_REX.test(target)){targetObj=rootNode}else{target=target.substr(0,target.lastIndexOf("."));if(obj.target===root){targetObj=variable}else if(target){targetObj=(0,_utils__WEBPACK_IMPORTED_MODULE_0__.findValueOf)(rootNode,target,true)}else{targetObj=rootNode}}return targetObj};var getTargetNodeKey=function(target){var targetNodeKey;if(DOT_EXPR_REX.test(target)){targetNodeKey=target.replace(/^(\[["'])|(["']\])$/g,"")}else{targetNodeKey=target.split(".").pop()}return targetNodeKey};var setValueToNode=function(target,obj,root,variable,value,noUpdate){var targetNodeKey=getTargetNodeKey(target),targetObj=getTargetObj(obj,root,variable);value=!lodash__WEBPACK_IMPORTED_MODULE_3___default().isUndefined(value)?value:obj.value;if(targetObj){targetObj[targetNodeKey]=value}processVariablePostBindUpdate(targetNodeKey,value,obj.type,variable,noUpdate)};var getTarget=function(variable){var target;switch(variable.category){case _constants_variables_constants__WEBPACK_IMPORTED_MODULE_1__.VARIABLE_CONSTANTS.CATEGORY.MODEL:target="dataSet";break;case _constants_variables_constants__WEBPACK_IMPORTED_MODULE_1__.VARIABLE_CONSTANTS.CATEGORY.LIVE:target=variable.operation==="read"?"filterFields":"inputFields";break;default:target="dataBinding";break}return target};var updateInternalNodes=function(target,root,variable){var boundInternalNodes=lodash__WEBPACK_IMPORTED_MODULE_3___default().keys(lodash__WEBPACK_IMPORTED_MODULE_3___default().get(internalBoundNodeMap.get(variable),[variable.name,root])),targetNodeKey=getTargetNodeKey(target);var internalNodes;function findInternalNodeBound(){return lodash__WEBPACK_IMPORTED_MODULE_3___default().filter(boundInternalNodes,(function(node){return node!==targetNodeKey&&lodash__WEBPACK_IMPORTED_MODULE_3___default().includes(node,targetNodeKey)||(targetNodeKey===root||targetNodeKey==="dataBinding")&&node!==targetNodeKey}))}internalNodes=findInternalNodeBound();if(internalNodes.length){lodash__WEBPACK_IMPORTED_MODULE_3___default().forEach(internalNodes,(function(node){setValueToNode(node,{target:node},root,variable,lodash__WEBPACK_IMPORTED_MODULE_3___default().get(internalBoundNodeMap.get(variable),[variable.name,root,node]))}))}};var initiateCallback=function(type,variable,data,options,skipDefaultNotification){if(variable._skipInitiateCallback){return}var eventValues=variable[type],callBackScope=variable._context;var errorVariable;if(type===_constants_variables_constants__WEBPACK_IMPORTED_MODULE_1__.VARIABLE_CONSTANTS.EVENT.ERROR&&!skipDefaultNotification){if(!eventValues){errorVariable=callBackScope.Actions[_constants_variables_constants__WEBPACK_IMPORTED_MODULE_1__.VARIABLE_CONSTANTS.DEFAULT_VAR.NOTIFICATION];if(errorVariable){data=errorVariable.getMessage()||data;data=lodash__WEBPACK_IMPORTED_MODULE_3___default().isString(data)?data:"An error has occured. Please check the app logs.";errorVariable.invoke({message:data},undefined,undefined)}}}var fn=variable[type]||_utils__WEBPACK_IMPORTED_MODULE_0__.noop;if(type===_constants_variables_constants__WEBPACK_IMPORTED_MODULE_1__.VARIABLE_CONSTANTS.EVENT.BEFORE_UPDATE){if(variable.category==="wm.LiveVariable"&&variable.operation==="read"){return fn(variable._context,{variable:variable,dataFilter:data,options:options})}else{return fn(variable._context,{variable:variable,inputData:data,options:options})}}else{return fn(variable._context,{variable:variable,data:data,options:options})}};var getDateTimeFormatForType=function(type){return _utils__WEBPACK_IMPORTED_MODULE_0__.DEFAULT_FORMATS[lodash__WEBPACK_IMPORTED_MODULE_3___default().toUpper(type)]};var _formatDate=function(dateValue,type,dateFormatter){var epoch;if(lodash__WEBPACK_IMPORTED_MODULE_3___default().isDate(dateValue)){epoch=dateValue.getTime()}else{if(!isNaN(dateValue)){dateValue=parseInt(dateValue,10)}epoch=dateValue&&moment__WEBPACK_IMPORTED_MODULE_2___default()(dateValue).valueOf()}if(isNaN(epoch)&&type!==_utils__WEBPACK_IMPORTED_MODULE_0__.DataType.TIME){return epoch}if(type===_utils__WEBPACK_IMPORTED_MODULE_0__.DataType.TIMESTAMP){return epoch}if(type===_utils__WEBPACK_IMPORTED_MODULE_0__.DataType.TIME&&!epoch){epoch=moment__WEBPACK_IMPORTED_MODULE_2___default()((new Date).toDateString()+" "+dateValue).valueOf()}return dateValue&&dateFormatter.format(epoch,getDateTimeFormatForType(type))};var formatDate=function(value,type,dateFormatter){if(lodash__WEBPACK_IMPORTED_MODULE_3___default().includes(type,".")){type=lodash__WEBPACK_IMPORTED_MODULE_3___default().toLower((0,_utils__WEBPACK_IMPORTED_MODULE_0__.extractType)(type))}if(lodash__WEBPACK_IMPORTED_MODULE_3___default().isArray(value)){return lodash__WEBPACK_IMPORTED_MODULE_3___default().map(value,(function(val){return _formatDate(val,type,dateFormatter)}))}return _formatDate(value,type,dateFormatter)};var parseErrors=function(errors){var errMsg="";if(errors&&errors.error&&errors.error.length){errors.error.forEach((function(errorDetails,i){errMsg+=parseError(errorDetails)+(i>0?"\n":"")}))}return errMsg};var parseError=function(errorObj){var errMsg;errMsg=errorObj.message?(0,_utils__WEBPACK_IMPORTED_MODULE_0__.replace)(errorObj.message,errorObj.parameters,true):errorObj.parameters&&errorObj.parameters[0]||"";return errMsg};var getErrMessage=function(err,localeObject){var HTTP_STATUS_MSG={404:localeObject["MESSAGE_404_ERROR"]||"Requested resource not found",401:localeObject["MESSAGE_401_ERROR"]||"Requested resource requires authentication",403:localeObject["LABEL_FORBIDDEN_MESSAGE"]||"The requested resource access/action is forbidden."};var errMsg=HTTP_STATUS_MSG[err.status];var errorDetails=err.error||err.data;errorDetails=(0,_utils__WEBPACK_IMPORTED_MODULE_0__.getValidJSON)(errorDetails)||errorDetails;if(errorDetails&&errorDetails.errors){errMsg=parseErrors(errorDetails.errors)||errMsg||"Service Call Failed"}else{errMsg=errMsg||"Service Call Failed"}return errMsg}},"./node_modules/x2js/x2js.js":
|