@jpmorganchase/perspective-examples
Version:
1 lines • 447 kB
JavaScript
!function(root,factory){"object"==typeof exports&&"object"==typeof module?module.exports=factory():"function"==typeof define&&define.amd?define([],factory):"object"==typeof exports?exports["perspective-view-hypergrid"]=factory():root["perspective-view-hypergrid"]=factory()}("undefined"!=typeof self?self:this,function(){return function(modules){function __webpack_require__(moduleId){if(installedModules[moduleId])return installedModules[moduleId].exports;var module=installedModules[moduleId]={i:moduleId,l:!1,exports:{}};return modules[moduleId].call(module.exports,module,module.exports,__webpack_require__),module.l=!0,module.exports}var installedModules={};return __webpack_require__.m=modules,__webpack_require__.c=installedModules,__webpack_require__.d=function(exports,name,getter){__webpack_require__.o(exports,name)||Object.defineProperty(exports,name,{configurable:!1,enumerable:!0,get:getter})},__webpack_require__.n=function(module){var getter=module&&module.__esModule?function(){return module.default}:function(){return module};return __webpack_require__.d(getter,"a",getter),getter},__webpack_require__.o=function(object,property){return Object.prototype.hasOwnProperty.call(object,property)},__webpack_require__.p="",__webpack_require__(__webpack_require__.s=106)}([function(module,exports){var core=module.exports={version:"2.5.7"};"number"==typeof __e&&(__e=core)},function(module,exports){var global=module.exports="undefined"!=typeof window&&window.Math==Math?window:"undefined"!=typeof self&&self.Math==Math?self:Function("return this")();"number"==typeof __g&&(__g=global)},function(module,exports,__webpack_require__){var store=__webpack_require__(47)("wks"),uid=__webpack_require__(27),Symbol=__webpack_require__(1).Symbol,USE_SYMBOL="function"==typeof Symbol;(module.exports=function(name){return store[name]||(store[name]=USE_SYMBOL&&Symbol[name]||(USE_SYMBOL?Symbol:uid)("Symbol."+name))}).store=store},function(module,exports,__webpack_require__){"use strict";var Base=__webpack_require__(7),Feature=Base.extend("Feature",{next:null,detached:null,cursor:null,currentHoverCell:null,setNext:function(nextFeature){this.next?this.next.setNext(nextFeature):(this.next=nextFeature,this.detached=nextFeature)},detachChain:function(){this.next=null},attachChain:function(){this.next=this.detached},handleMouseMove:function(grid,event){this.next&&this.next.handleMouseMove(grid,event)},handleMouseExit:function(grid,event){this.next&&this.next.handleMouseExit(grid,event)},handleMouseEnter:function(grid,event){this.next&&this.next.handleMouseEnter(grid,event)},handleMouseDown:function(grid,event){this.next&&this.next.handleMouseDown(grid,event)},handleMouseUp:function(grid,event){this.next&&this.next.handleMouseUp(grid,event)},handleKeyDown:function(grid,event){if(!this.next)return!0;this.next.handleKeyDown(grid,event)},handleKeyUp:function(grid,event){this.next&&this.next.handleKeyUp(grid,event)},handleWheelMoved:function(grid,event){this.next&&this.next.handleWheelMoved(grid,event)},handleDoubleClick:function(grid,event){this.next&&this.next.handleDoubleClick(grid,event)},handleClick:function(grid,event){this.next&&this.next.handleClick(grid,event)},handleMouseDrag:function(grid,event){this.next&&this.next.handleMouseDrag(grid,event)},handleContextMenu:function(grid,event){this.next&&this.next.handleContextMenu(grid,event)},moveSingleSelect:function(grid,x,y){this.next&&this.next.moveSingleSelect(grid,x,y)},isFirstFixedRow:function(grid,event){return event.gridCell.y<1},isFirstFixedColumn:function(grid,event){return 0===event.gridCell.x},setCursor:function(grid){this.next&&this.next.setCursor(grid),this.cursor&&grid.beCursor(this.cursor)},initializeOn:function(grid){this.next&&this.next.initializeOn(grid)}});module.exports=Feature},function(module,exports,__webpack_require__){var global=__webpack_require__(1),core=__webpack_require__(0),ctx=__webpack_require__(19),hide=__webpack_require__(12),has=__webpack_require__(14),$export=function(type,name,source){var key,own,out,IS_FORCED=type&$export.F,IS_GLOBAL=type&$export.G,IS_STATIC=type&$export.S,IS_PROTO=type&$export.P,IS_BIND=type&$export.B,IS_WRAP=type&$export.W,exports=IS_GLOBAL?core:core[name]||(core[name]={}),expProto=exports.prototype,target=IS_GLOBAL?global:IS_STATIC?global[name]:(global[name]||{}).prototype;IS_GLOBAL&&(source=name);for(key in source)(own=!IS_FORCED&&target&&void 0!==target[key])&&has(exports,key)||(out=own?target[key]:source[key],exports[key]=IS_GLOBAL&&"function"!=typeof target[key]?source[key]:IS_BIND&&own?ctx(out,global):IS_WRAP&&target[key]==out?function(C){var F=function(a,b,c){if(this instanceof C){switch(arguments.length){case 0:return new C;case 1:return new C(a);case 2:return new C(a,b)}return new C(a,b,c)}return C.apply(this,arguments)};return F.prototype=C.prototype,F}(out):IS_PROTO&&"function"==typeof out?ctx(Function.call,out):out,IS_PROTO&&((exports.virtual||(exports.virtual={}))[key]=out,type&$export.R&&expProto&&!expProto[key]&&hide(expProto,key,out)))};$export.F=1,$export.G=2,$export.S=4,$export.P=8,$export.B=16,$export.W=32,$export.U=64,$export.R=128,module.exports=$export},function(module,exports,__webpack_require__){var isObject=__webpack_require__(6);module.exports=function(it){if(!isObject(it))throw TypeError(it+" is not an object!");return it}},function(module,exports){module.exports=function(it){return"object"==typeof it?null!==it:"function"==typeof it}},function(module,exports,__webpack_require__){"use strict";var Base=__webpack_require__(56).Base;Object.defineProperty(Base.prototype,"version",{enumerable:!0,writable:!1,configurable:!1,value:__webpack_require__(92).version}),Base.prototype.atLeastVersion=function(neededVersion){var delta,neededParts=neededVersion.split("."),thisParts=this.version.split(".");return neededParts.find(function(neededPart,i){return delta=neededPart-thisParts[i]}),delta>=0},Base.prototype.deprecated=__webpack_require__(183),Base.prototype.HypergridError=__webpack_require__(23),Base.prototype.notify=function(message,onerror){switch(onerror){case"warn":console.warn(message);break;case"alert":alert(message);break;default:throw new this.HypergridError(message)}},Base.prototype.unwrap=function(value){return"f"===(typeof value)[0]&&(value=value()),value},Base.prototype.mixIn=__webpack_require__(35).mixIn,Base.prototype.createApply=function(Constructor,variableArgArray,discreteArgs){var discreteArgArray=Array.prototype.slice.call(arguments,2),args=[null].concat(discreteArgArray).concat(variableArgArray);return new(Constructor.bind.apply(Constructor,args))},module.exports=Base},function(module,exports,__webpack_require__){"use strict";var Base=__webpack_require__(7),CellRenderer=Base.extend("CellRenderer",{paint:function(gc,config){},roundRect:function(gc,x,y,width,height,radius,fill,stroke){stroke||(stroke=!0),radius||(radius=5),gc.beginPath(),gc.moveTo(x+radius,y),gc.lineTo(x+width-radius,y),gc.quadraticCurveTo(x+width,y,x+width,y+radius),gc.lineTo(x+width,y+height-radius),gc.quadraticCurveTo(x+width,y+height,x+width-radius,y+height),gc.lineTo(x+radius,y+height),gc.quadraticCurveTo(x,y+height,x,y+height-radius),gc.lineTo(x,y+radius),gc.quadraticCurveTo(x,y,x+radius,y),gc.closePath(),stroke&&gc.stroke(),fill&&gc.fill(),gc.closePath()}});module.exports=CellRenderer},function(module,exports,__webpack_require__){"use strict";function addReadOnlyProperty(name,value){Object.defineProperty(this,name,{value:value,writable:!1,enumerable:!0,configurable:!1})}function Point(x,y){addReadOnlyProperty.call(this,"x",Number(x)||0),addReadOnlyProperty.call(this,"y",Number(y)||0)}function Rectangle(x,y,width,height){x=Number(x)||0,y=Number(y)||0,width=Number(width)||0,height=Number(height)||0,width<0&&(x+=width,width=-width),height<0&&(y+=height,height=-height),addReadOnlyProperty.call(this,"origin",new Point(x,y)),addReadOnlyProperty.call(this,"extent",new Point(width,height)),addReadOnlyProperty.call(this,"corner",new Point(x+width,y+height)),addReadOnlyProperty.call(this,"center",new Point(x+width/2,y+height/2))}Point.prototype={plus:function(offset){return new Point(this.x+offset.x,this.y+offset.y)},plusXY:function(offsetX,offsetY){return new Point(this.x+(offsetX||0),this.y+(offsetY||0))},minus:function(offset){return new Point(this.x-offset.x,this.y-offset.y)},min:function(point){return new Point(Math.min(this.x,point.x),Math.min(this.y,point.y))},max:function(point){return new Point(Math.max(this.x,point.x),Math.max(this.y,point.y))},distance:function(point){var deltaX=point.x-this.x,deltaY=point.y-this.y;return Math.sqrt(deltaX*deltaX+deltaY*deltaY)},equals:function(point){var result=!1;return point&&(result=this.x===point.x&&this.y===point.y),result},greaterThan:function(point){return this.x>point.x&&this.y>point.y},lessThan:function(point){return this.x<point.x&&this.y<point.y},greaterThanOrEqualTo:function(point){return this.x>=point.x&&this.y>=point.y},lessThanOrEqualTo:function(point){return this.x<=point.x&&this.y<=point.y},within:function(rect){var minX=rect.origin.x,maxX=minX+rect.extent.x,minY=rect.origin.y,maxY=minY+rect.extent.y;return rect.extent.x<0&&(minX=maxX,maxX=rect.origin.x),rect.extent.y<0&&(minY=maxY,maxY=rect.origin.y),minX<=this.x&&this.x<maxX&&minY<=this.y&&this.y<maxY}},Point.prototype.EQ=Point.prototype.equals,Point.prototype.GT=Point.prototype.greaterThan,Point.prototype.LT=Point.prototype.lessThan,Point.prototype.GE=Point.prototype.greaterThanOrEqualTo,Point.prototype.LE=Point.prototype.lessThanOrEqualTo,Rectangle.prototype={get top(){return this.origin.y},get left(){return this.origin.x},get bottom(){return this.corner.y},get right(){return this.corner.x},get width(){return this.extent.x},get height(){return this.extent.y},get area(){return this.width*this.height},flattenXAt:function(x){return new Rectangle(x,this.origin.y,0,this.extent.y)},flattenYAt:function(y){return new Rectangle(this.origin.x,y,this.extent.x,0)},contains:function(pointOrRect){return pointOrRect.within(this)},within:function(rect){return rect.origin.lessThanOrEqualTo(this.origin)&&rect.corner.greaterThanOrEqualTo(this.corner)},growBy:function(padding){return new Rectangle(this.origin.x+padding,this.origin.y+padding,this.extent.x-padding-padding,this.extent.y-padding-padding)},shrinkBy:function(padding){return this.growBy(-padding)},union:function(rect){var origin=this.origin.min(rect.origin),corner=this.corner.max(rect.corner),extent=corner.minus(origin);return new Rectangle(origin.x,origin.y,extent.x,extent.y)},forEach:function(iteratee,context){context=context||this;for(var x=this.origin.x,x2=this.corner.x;x<x2;x++)for(var y=this.origin.y,y2=this.corner.y;y<y2;y++)iteratee.call(context,x,y)},intersect:function(rect,ifNoneAction,context){var result=null,origin=this.origin.max(rect.origin),corner=this.corner.min(rect.corner),extent=corner.minus(origin);return extent.x>0&&extent.y>0?result=new Rectangle(origin.x,origin.y,extent.x,extent.y):"function"==typeof ifNoneAction&&(result=ifNoneAction.call(context||this,rect)),result},intersects:function(rect){return rect.corner.x>this.origin.x&&rect.corner.y>this.origin.y&&rect.origin.x<this.corner.x&&rect.origin.y<this.corner.y}},exports.Point=Point,exports.Rectangle=Rectangle},function(module,exports,__webpack_require__){var anObject=__webpack_require__(5),IE8_DOM_DEFINE=__webpack_require__(65),toPrimitive=__webpack_require__(42),dP=Object.defineProperty;exports.f=__webpack_require__(11)?Object.defineProperty:function(O,P,Attributes){if(anObject(O),P=toPrimitive(P,!0),anObject(Attributes),IE8_DOM_DEFINE)try{return dP(O,P,Attributes)}catch(e){}if("get"in Attributes||"set"in Attributes)throw TypeError("Accessors not supported!");return"value"in Attributes&&(O[P]=Attributes.value),O}},function(module,exports,__webpack_require__){module.exports=!__webpack_require__(13)(function(){return 7!=Object.defineProperty({},"a",{get:function(){return 7}}).a})},function(module,exports,__webpack_require__){var dP=__webpack_require__(10),createDesc=__webpack_require__(24);module.exports=__webpack_require__(11)?function(object,key,value){return dP.f(object,key,createDesc(1,value))}:function(object,key,value){return object[key]=value,object}},function(module,exports){module.exports=function(exec){try{return!!exec()}catch(e){return!0}}},function(module,exports){var hasOwnProperty={}.hasOwnProperty;module.exports=function(it,key){return hasOwnProperty.call(it,key)}},function(module,exports,__webpack_require__){var IObject=__webpack_require__(66),defined=__webpack_require__(44);module.exports=function(it){return IObject(defined(it))}},function(module,exports,__webpack_require__){"use strict";function nullPattern(){}function px(n){return n+"px"}var Base=__webpack_require__(7),effects=__webpack_require__(204),Localization=__webpack_require__(59),CellEditor=Base.extend("CellEditor",{initialize:function(grid,options){for(var key in options)this[key]=options[key];this.event=options;var value=this.event.value;value instanceof Array&&(value=value[1]),this.grid=grid,this.grid.cellEditor=this,this.locale=grid.localization.locale;var localizer=this.grid.localization.get(options.format);localizer!==Localization.prototype.string&&"string"!==options.format&&(this.localizer=localizer),this.initialValue=value;var container=document.createElement("DIV");container.innerHTML=this.grid.modules.templater.render(this.template,this),this.el=container.firstChild,this.input=this.el,this.errors=0;var self=this;this.el.addEventListener("keyup",this.keyup.bind(this)),this.el.addEventListener("keydown",function(e){9===e.keyCode&&e.preventDefault(),grid.fireSyntheticEditorKeyDownEvent(self,e)}),this.el.addEventListener("keypress",function(e){grid.fireSyntheticEditorKeyPressEvent(self,e)}),this.el.addEventListener("mousedown",function(e){self.onmousedown(e)})},onmousedown:function(event){event.stopPropagation()},localizer:Localization.prototype.null,specialKeyups:{9:"stopEditing",13:"stopEditing",27:"cancelEditing"},keyup:function(e){var specialKeyup,stopped,grid=this.grid,cellProps=this.event.properties,feedbackCount=cellProps.feedbackCount,keyChar=grid.canvas.getKeyChar(e);if((specialKeyup=this.specialKeyups[e.keyCode])&&(stopped=this[specialKeyup](feedbackCount))&&grid.repaint(),cellProps.mappedNavKey(keyChar,e.ctrlKey)&&(!specialKeyup&&(stopped=this.stopEditing(feedbackCount))&&grid.repaint(),stopped)){var finEvent=grid.canvas.newEvent(e,"fin-editor-keydown",{grid:grid,alt:e.altKey,ctrl:e.ctrlKey,char:keyChar,legacyChar:e.legacyKey,code:e.charCode,key:e.keyCode,meta:e.metaKey,shift:e.shiftKey,identifier:e.key,editor:this});grid.delegateKeyDown(finEvent)}return this.grid.fireSyntheticEditorKeyUpEvent(this,e),stopped},checkEditorPositionFlag:!1,gridRenderedNotification:function(){this.checkEditor()},scrollValueChangedNotification:function(){this.checkEditorPositionFlag=!0},moveEditor:function(){this.setBounds(this.event.bounds)},beginEditing:function(){this.grid.fireRequestCellEdit(this.event,this.initialValue)&&(this.checkEditorPositionFlag=!0,this.checkEditor())},setEditorValue:function(value){this.input.value=this.localizer.format(value)},showEditor:function(){this.el.style.display="inline"},hideEditor:function(){this.el.style.display="none"},stopEditing:function(feedback){var str=this.input.value;try{var error=this.validateEditorValue(str);if(!error)var value=this.getEditorValue(str)}catch(err){error=err}if(!error&&this.grid.fireSyntheticEditorDataChangeEvent(this,this.initialValue,value))try{this.saveEditorValue(value)}catch(err){error=err}return error?feedback>=0?this.errorEffectBegin(++this.errors%feedback==0&&error):this.cancelEditing():(this.hideEditor(),this.grid.cellEditor=null,this.el.remove()),!error},cancelEditing:function(){return this.setEditorValue(this.initialValue),this.hideEditor(),this.grid.cellEditor=null,this.el.remove(),!0},errorEffectBegin:function(error){if(!this.effecting){var spec=this.grid.properties.feedbackEffect,effect=effects[spec.name||spec];if(effect){var options=Object.assign({},spec.options);options.callback=this.errorEffectEnd.bind(this,error),this.effecting=!0,effect.call(this,options)}}},errorEffectEnd:function(error,options){if(error){var msg='Invalid value. To resolve, do one of the following:\n\n * Correct the error and try again.\n - or -\n * Cancel editing by pressing the "esc" (escape) key.';error=error.message||error,"string"!=typeof error&&(error=""),this.localizer.expectation&&(error=error?error+"\n"+this.localizer.expectation:this.localizer.expectation),error&&(/[\n\r]/.test(error)&&(error="\n"+error,error=error.replace(/[\n\r]+/g,"\n\n * ")),msg+="\n\nAdditional information about this error: "+error),setTimeout(function(){alert(msg)})}this.effecting=!1},saveEditorValue:function(value){var save=!(value&&value===this.initialValue)&&this.grid.fireBeforeCellEdit(this.event.gridCell,this.initialValue,value,this);return save&&(this.event.value=value,this.grid.fireAfterCellEdit(this.event.gridCell,this.initialValue,value,this)),save},getEditorValue:function(str){return this.localizer.parse(str||this.input.value)},validateEditorValue:function(str){return this.localizer.invalid&&this.localizer.invalid(str||this.input.value)},takeFocus:function(){var el=this.el,leftWas=el.style.left,topWas=el.style.top;el.style.left=el.style.top=0;var x=window.scrollX,y=window.scrollY;this.input.focus(),window.scrollTo(x,y),this.selectAll(),el.style.left=leftWas,el.style.top=topWas},selectAll:nullPattern,setBounds:function(cellBounds){var style=this.el.style;style.left=px(cellBounds.x),style.top=px(cellBounds.y),style.width=px(cellBounds.width),style.height=px(cellBounds.height)},checkEditor:function(){this.checkEditorPositionFlag&&(this.checkEditorPositionFlag=!1,this.event.isCellVisible?(this.setEditorValue(this.initialValue),this.attachEditor(),this.moveEditor(),this.showEditor(),this.takeFocus()):this.hideEditor())},attachEditor:function(){this.grid.div.appendChild(this.el)},template:""});module.exports=CellEditor},function(module,exports){module.exports=function(it){if("function"!=typeof it)throw TypeError(it+" is not a function!");return it}},function(module,exports){module.exports={}},function(module,exports,__webpack_require__){var aFunction=__webpack_require__(17);module.exports=function(fn,that,length){if(aFunction(fn),void 0===that)return fn;switch(length){case 1:return function(a){return fn.call(that,a)};case 2:return function(a,b){return fn.call(that,a,b)};case 3:return function(a,b,c){return fn.call(that,a,b,c)}}return function(){return fn.apply(that,arguments)}}},function(module,exports){var toString={}.toString;module.exports=function(it){return toString.call(it).slice(8,-1)}},function(module,exports,__webpack_require__){var $keys=__webpack_require__(67),enumBugKeys=__webpack_require__(48);module.exports=Object.keys||function(O){return $keys(O,enumBugKeys)}},function(module,exports){module.exports=!0},function(module,exports,__webpack_require__){"use strict";function HypergridError(message){this.message=message}HypergridError.prototype=Object.create(Error.prototype),HypergridError.prototype.name="HypergridError",module.exports=HypergridError},function(module,exports){module.exports=function(bitmap,value){return{enumerable:!(1&bitmap),configurable:!(2&bitmap),writable:!(4&bitmap),value:value}}},function(module,exports){exports.f={}.propertyIsEnumerable},function(module,exports,__webpack_require__){var anObject=__webpack_require__(5),dPs=__webpack_require__(114),enumBugKeys=__webpack_require__(48),IE_PROTO=__webpack_require__(46)("IE_PROTO"),Empty=function(){},createDict=function(){var iframeDocument,iframe=__webpack_require__(41)("iframe"),i=enumBugKeys.length;for(iframe.style.display="none",__webpack_require__(69).appendChild(iframe),iframe.src="javascript:",iframeDocument=iframe.contentWindow.document,iframeDocument.open(),iframeDocument.write("<script>document.F=Object<\/script>"),iframeDocument.close(),createDict=iframeDocument.F;i--;)delete createDict.prototype[enumBugKeys[i]];return createDict()};module.exports=Object.create||function(O,Properties){var result;return null!==O?(Empty.prototype=anObject(O),result=new Empty,Empty.prototype=null,result[IE_PROTO]=O):result=createDict(),void 0===Properties?result:dPs(result,Properties)}},function(module,exports){var id=0,px=Math.random();module.exports=function(key){return"Symbol(".concat(void 0===key?"":key,")_",(++id+px).toString(36))}},function(module,exports,__webpack_require__){__webpack_require__(121);for(var global=__webpack_require__(1),hide=__webpack_require__(12),Iterators=__webpack_require__(18),TO_STRING_TAG=__webpack_require__(2)("toStringTag"),DOMIterables="CSSRuleList,CSSStyleDeclaration,CSSValueList,ClientRectList,DOMRectList,DOMStringList,DOMTokenList,DataTransferItemList,FileList,HTMLAllCollection,HTMLCollection,HTMLFormElement,HTMLSelectElement,MediaList,MimeTypeArray,NamedNodeMap,NodeList,PaintRequestList,Plugin,PluginArray,SVGLengthList,SVGNumberList,SVGPathSegList,SVGPointList,SVGStringList,SVGTransformList,SourceBufferList,StyleSheetList,TextTrackCueList,TextTrackList,TouchList".split(","),i=0;i<DOMIterables.length;i++){var NAME=DOMIterables[i],Collection=global[NAME],proto=Collection&&Collection.prototype;proto&&!proto[TO_STRING_TAG]&&hide(proto,TO_STRING_TAG,NAME),Iterators[NAME]=Iterators.Array}},function(module,exports,__webpack_require__){var def=__webpack_require__(10).f,has=__webpack_require__(14),TAG=__webpack_require__(2)("toStringTag");module.exports=function(it,tag,stat){it&&!has(it=stat?it:it.prototype,TAG)&&def(it,TAG,{configurable:!0,value:tag})}},function(module,exports,__webpack_require__){var defined=__webpack_require__(44);module.exports=function(it){return Object(defined(it))}},function(module,exports,__webpack_require__){"use strict";var $at=__webpack_require__(125)(!0);__webpack_require__(71)(String,"String",function(iterated){this._t=String(iterated),this._i=0},function(){var point,O=this._t,index=this._i;return index>=O.length?{value:void 0,done:!0}:(point=$at(O,index),this._i+=point.length,{value:point,done:!1})})},function(module,exports,__webpack_require__){module.exports={default:__webpack_require__(151),__esModule:!0}},function(module,exports,__webpack_require__){var $export=__webpack_require__(4),core=__webpack_require__(0),fails=__webpack_require__(13);module.exports=function(KEY,exec){var fn=(core.Object||{})[KEY]||Object[KEY],exp={};exp[KEY]=exec(fn),$export($export.S+$export.F*fails(function(){fn(1)}),"Object",exp)}},function(module,exports,__webpack_require__){"use strict";function Wrapper(object){return object instanceof Wrapper?object:this instanceof Wrapper?(this.originalValue=object,void(this.o=object||{})):new Wrapper(object)}Wrapper.chain=function(object){var wrapped=Wrapper(object);return wrapped.chaining=!0,wrapped},Wrapper.prototype={value:function(){return this.originalValue},each:function(iteratee,context){var o=this.o;return Object.keys(o).forEach(function(key){iteratee.call(this,o[key],key,o)},context||o),this},find:function(predicate,context){var result,o=this.o;return o&&void 0!==(result=Object.keys(o).find(function(key){return predicate.call(this,o[key],key,o)},context||o))&&(result=o[result]),result},filter:function(predicate,context){var o=this.o,result=[];return o&&Object.keys(o).forEach(function(key){predicate.call(this,o[key],key,o)&&result.push(o[key])},context||o),result},map:function(iteratee,context){var o=this.o,result=[];return o&&Object.keys(o).forEach(function(key){result.push(iteratee.call(this,o[key],key,o))},context||o),result},reduce:function(iteratee,memo,context){var o=this.o;return o&&Object.keys(o).forEach(function(key,idx){memo=idx||void 0!==memo?iteratee(memo,o[key],key,o):o[key]},context||o),memo},extend:function(source){var o=this.o;return Array.prototype.slice.call(arguments).forEach(function(object){if(object)for(var key in object)o[key]=object[key]}),this.chaining?this:o},extendOwn:function(source){var o=this.o;return Array.prototype.slice.call(arguments).forEach(function(object){Wrapper(object).each(function(val,key){o[key]=val})}),this.chaining?this:o}},Array.prototype.find||(Array.prototype.find=function(predicate){if(null===this)throw new TypeError("Array.prototype.find called on null or undefined");if("function"!=typeof predicate)throw new TypeError("predicate must be a function");for(var value,list=Object(this),length=list.length>>>0,thisArg=arguments[1],i=0;i<length;i++)if(value=list[i],predicate.call(thisArg,value,i,list))return value}),module.exports=Wrapper},function(module,exports,__webpack_require__){"use strict";function overrider(target,sources){for(var i=1;i<arguments.length;++i)mixIn.call(target,arguments[i]);return target}function mixInTo(target){var descriptor;for(var key in this)(descriptor=Object.getOwnPropertyDescriptor(this,key))&&Object.defineProperty(target,key,descriptor);return target}function mixIn(source){var descriptor;for(var key in source)(descriptor=Object.getOwnPropertyDescriptor(source,key))&&Object.defineProperty(this,key,descriptor);return this}overrider.mixInTo=mixInTo,overrider.mixIn=mixIn,module.exports=overrider},function(module,exports,__webpack_require__){"use strict";var _=__webpack_require__(34),images=__webpack_require__(187);_(images).each(function(image,key){var element=new Image;element.src="data:"+image.type+";base64,"+image.data,images[key]=element}),images["checkbox-on"]=images.checked,images["checkbox-off"]=images.unchecked,images.add=function(key,img){return images[key]=img},images.checkbox=function(state){return images[state?"checked":"unchecked"]},images.filter=function(state){return images[state?"filter-on":"filter-off"]},module.exports=images},function(module,exports,__webpack_require__){"use strict";function warnBehaviorFeaturesDeprecation(){var featureNames=[],unregisteredFeatures=[],n=0;if(this.features.forEach(function(FeatureConstructor){var className=FeatureConstructor.prototype.$$CLASS_NAME||FeatureConstructor.name,featureName=className||"feature"+n++;if(featureNames.push(featureName),!this.featureRegistry.get(featureName,!0)){var constructorName=FeatureConstructor.name||FeatureConstructor.prototype.$$CLASS_NAME||"FeatureConstructor"+n,params=[];className||params.push("'"+featureName+"'"),params.push(constructorName),unregisteredFeatures.push(params.join(", "))}},this),featureNames.length){var sampleCode="Hypergrid.defaults.features = [\n"+join("\t'",featureNames,"',\n")+"];";unregisteredFeatures.length&&(sampleCode+="\n\nThe following custom features are unregistered and will need to be registered prior to behavior instantiation:\n\n"+join("Features.add(",unregisteredFeatures,");\n")),n&&(sampleCode+="\n\n(You should provide meaningful names for your custom features rather than the generated names above.)"),console.warn("`grid.behavior.features` (array of feature constructors) has been deprecated as of version 2.1.0 in favor of `grid.properties.features` (array of feature names). Remove `features` array from your behavior and add `features` property to your grid state object (or Hypergrid.defaults), e.g.:\n\n"+sampleCode)}}function join(prefix,array,suffix){return prefix+array.join(suffix+prefix)+suffix}var Point=__webpack_require__(9).Point,Base=__webpack_require__(7),Column=__webpack_require__(195),cellEventFactory=__webpack_require__(199),fields=__webpack_require__(200),featureRegistry=__webpack_require__(201),ArrayDecorator=__webpack_require__(38),assignOrDelete=__webpack_require__(60),dispatchGridEvent=__webpack_require__(62),noExportProperties=["columnHeader","columnHeaderColumnSelection","filterProperties","rowHeader","rowHeaderRowSelection","rowNumbersProperties","treeColumnProperties","treeColumnPropertiesColumnSelection"],Behavior=Base.extend("Behavior",{initialize:function(grid,options){this.grid=grid,this.initializeFeatureChain(),this.grid.behavior=this,this.reset(options)},initializeFeatureChain:function(grid){var constructors;if(this.featureChain=void 0,this.featureMap={},this.featureRegistry=this.featureRegistry||featureRegistry,this.grid.properties.features){var getFeatureConstructor=this.featureRegistry.get.bind(this.featureRegistry);constructors=this.grid.properties.features.map(getFeatureConstructor)}else this.features&&(constructors=this.features,warnBehaviorFeaturesDeprecation.call(this));constructors.forEach(function(FeatureConstructor,i){var feature=new FeatureConstructor;this.featureMap[feature.$$CLASS_NAME]=feature,i?this.featureChain.setNext(feature):this.featureChain=feature},this),this.featureChain&&this.featureChain.initializeOn(this.grid)},features:[],reset:function(options){var dataModelChanged=this.resetDataModel(options);dataModelChanged&&(this.CellEvent=cellEventFactory(this.grid)),this.scrollPositionX=this.scrollPositionY=0,this.rowPropertiesPrototype=Object.create(this.grid.properties,__webpack_require__(98).rowPropertiesPrototypeDescriptors),this.clearColumns(),this.createColumns(),this.subgrids=options&&options.subgrids||!dataModelChanged&&this.subgrids||this.grid.properties.subgrids,this.setData(options)},setHeaders:function(headers){if(headers instanceof Array){var allColumns=this.allColumns;headers.forEach(function(header,index){allColumns[index].header=header})}else"object"==typeof headers&&this.allColumns.forEach(function(column){headers[column.name]&&(column.header=headers[column.name])})},setData:function(dataRows,options){if(Array.isArray(dataRows)||"function"==typeof dataRows||(options=dataRows,dataRows=options&&options.data),void 0!==(dataRows=this.unwrap(dataRows))){if(!Array.isArray(dataRows))throw"Expected data to be an array (of data row objects).";options=options||{};var schema=this.unwrap(options.schema);this.subgrids.forEach(function(dataModel){dataModel.setData(dataRows,schema)}),this.grid.cellEditor&&this.grid.cellEditor.cancelEditing(),(options.apply||void 0===options.apply)&&this.reindex(),this.grid.allowEvents(this.getRowCount())}},get renderedColumnCount(){return this.grid.renderer.visibleColumns.length},get renderedRowCount(){return this.grid.renderer.visibleRows.length},get leftMostColIndex(){return this.grid.properties.showRowNumbers?this.rowColumnIndex:this.hasTreeColumn()?this.treeColumnIndex:0},clearColumns:function(){var schema=this.schema,tc=this.treeColumnIndex,rc=this.rowColumnIndex;this.columnsCreated=!1,schema[tc]=schema[tc]||{},schema[tc].index=tc,void 0===schema[tc].name&&(schema[tc].name=this.treeColumnNameDefault),void 0===schema[tc].header&&(schema[tc].header=this.treeColumnHeaderDefault),schema[rc]=schema[rc]||{},schema[rc].index=rc,void 0===schema[rc].name&&(schema[rc].name=this.rowColumnNameDefault),void 0===schema[rc].header&&(schema[rc].header=""),this.columns=this.grid.decorateColumnArray(),this.allColumns=this.grid.decorateColumnArray(),this.allColumns[tc]=this.columns[tc]=this.newColumn(schema[tc]),this.allColumns[rc]=this.columns[rc]=this.newColumn(schema[rc]),this.columns[tc].properties.propClassLayers=this.columns[rc].properties.propClassLayers=this.grid.properties.propClassLayersMap.NO_ROWS,this.grid.renderer.resetRowHeaderColumnWidth()},getActiveColumn:function(x){return this.columns[x]},getActiveColumnIndex:function(columnOrIndexOrName){var value=columnOrIndexOrName instanceof Column?columnOrIndexOrName.index:columnOrIndexOrName,key="number"==typeof index?"index":"name";return this.columns.findIndex(function(column){return column[key]===value})},getColumn:function(x){return this.allColumns[x]},newColumn:function(options){return new Column(this,options)},addColumn:function(options){var column=this.newColumn(options),arrayDecorator=new ArrayDecorator,synonyms=arrayDecorator.getSynonyms(column.name);return this.columns.push(column),arrayDecorator.decorateObject(this.columns,synonyms,column),this.allColumns.push(column),arrayDecorator.decorateObject(this.allColumns,synonyms,column),column},createColumns:function(realImplementation){var schema=this.dataModel.getSchema();fields.normalizeSchema(schema),fields.decorateSchema(schema),fields.decorateColumnSchema(schema,this.grid.properties.headerify),this.createDataRowProxy(),this.clearColumns(),realImplementation&&realImplementation.call(this),this.columnsCreated=!0,this.changed(),dispatchGridEvent.call(this.grid,"fin-hypergrid-columns-created")},createDataRowProxy:function(){},getColumnWidth:function(x){var column=(x!==this.treeColumnIndex||this.hasTreeColumn())&&this.getActiveColumn(x);return column?column.getWidth():0},setColumnWidth:function(columnOrIndex,width){(columnOrIndex>=-2?this.getActiveColumn(columnOrIndex):columnOrIndex).setWidth(width),this.stateChanged()},reindex:function(){this.dataModel.reindex()},clearObjectProperties:function(obj,exportProps){for(var key in obj)obj.hasOwnProperty(key)&&(void 0===exportProps||!exportProps&&noExportProperties.indexOf(key)>=0||exportProps&&noExportProperties.indexOf(key)<0)&&delete obj[key]},getState:function(){var copy=JSON.parse(JSON.stringify(this.grid.properties));return this.clearObjectProperties(copy.columnProperties,!1),copy},clearState:function(){this.grid.clearState(),this.createColumns()},setState:function(properties){this.addState(properties,!0)},addState:function(properties,settingState){settingState&&this.clearState();var gridProps=this.grid.properties;gridProps.settingState=settingState,assignOrDelete(gridProps,properties),delete gridProps.settingState,this.reindex()},setAllColumnProperties:function(columnsHash){this.addAllColumnProperties(columnsHash,!0)},addAllColumnProperties:function(columnsHash,settingState){if(columnsHash){var columns=this.grid.behavior.getColumns();Object.keys(columnsHash).forEach(function(key){var column=columns[key];column&&column.addProperties(columnsHash[key],settingState)})}},setColumnOrder:function(columnIndexes){if(Array.isArray(columnIndexes)){var columns=this.columns,allColumns=this.allColumns,arrayDecorator=new ArrayDecorator;columns.length=0;var tc=this.treeColumnIndex.toString(),rc=this.rowColumnIndex.toString();Object.keys(columns).forEach(function(key){switch(key){case tc:case rc:break;default:delete columns[key]}}),columnIndexes.forEach(function(index){columns.push(allColumns[index])}),arrayDecorator.decorateArray(columns)}},setColumnOrderByName:function(columnNames){if(Array.isArray(columnNames)){var allColumns=this.allColumns;this.setColumnOrder(columnNames.map(function(name){return allColumns[name].index}))}},setColumnIndexes:function(columnIndexes,silent){this.grid.properties.columnIndexes=columnIndexes,silent||this.grid.fireSyntheticOnColumnsChangedEvent()},showColumns:function(isActiveColumnIndexes,columnIndexes,referenceIndex,allowDuplicateColumns){("number"==typeof isActiveColumnIndexes||Array.isArray(isActiveColumnIndexes))&&(allowDuplicateColumns=referenceIndex,referenceIndex=columnIndexes,columnIndexes=isActiveColumnIndexes,isActiveColumnIndexes=!1);var activeColumns=this.columns,sourceColumnList=isActiveColumnIndexes?activeColumns:this.allColumns;"number"==typeof columnIndexes&&(columnIndexes=[columnIndexes]);var newColumns=columnIndexes.map(function(index){return sourceColumnList[index]}).filter(function(column){return column});"number"!=typeof referenceIndex&&(allowDuplicateColumns=referenceIndex,referenceIndex=activeColumns.length),allowDuplicateColumns||newColumns.forEach(function(column){var i=activeColumns.indexOf(column);i>=0&&(activeColumns.splice(i,1),referenceIndex>i&&--referenceIndex)}),referenceIndex>=0&&activeColumns.splice.apply(activeColumns,[referenceIndex,0].concat(newColumns)),this.grid.properties.columnIndexes=activeColumns.map(function(column){return column.index})},hideColumns:function(isActiveColumnIndexes,columnIndexes){var args=Array.prototype.slice.call(arguments);args.push(-1),this.showColumns.apply(this,args)},resolveProperty:function(key){return this.grid.resolveProperty(key)},lookupFeature:function(key){return this.featureMap[key]},getFixedColumnsWidth:function(){for(var columnWidth,count=this.getFixedColumnCount(),total=0,i=this.leftMostColIndex,gridProps=this.grid.properties,contentBox="border-box"!==gridProps.boxSizing,gridLinesVWidth=gridProps.gridLinesVWidth;i<count;i++)(columnWidth=this.getColumnWidth(i))&&(total+=columnWidth,contentBox&&(total+=gridLinesVWidth));return gridProps.fixedLinesVWidth&&(total+=gridProps.fixedLinesHWidth-gridLinesVWidth),total},getFixedColumnsMaxWidth:function(){return this.getFixedColumnsWidth()},setCursor:function(grid){grid.updateCursor(),this.featureChain.setCursor(grid)},onMouseMove:function(grid,event){this.featureChain&&(this.featureChain.handleMouseMove(grid,event),this.setCursor(grid))},onClick:function(grid,event){this.featureChain&&(this.featureChain.handleClick(grid,event),this.setCursor(grid))},onContextMenu:function(grid,event){this.featureChain&&(this.featureChain.handleContextMenu(grid,event),this.setCursor(grid))},onWheelMoved:function(grid,event){this.featureChain&&(this.featureChain.handleWheelMoved(grid,event),this.setCursor(grid))},onMouseUp:function(grid,event){this.featureChain&&(this.featureChain.handleMouseUp(grid,event),this.setCursor(grid))},onMouseDrag:function(grid,event){this.featureChain&&(this.featureChain.handleMouseDrag(grid,event),this.setCursor(grid))},onKeyDown:function(grid,event){this.featureChain&&(this.featureChain.handleKeyDown(grid,event),this.setCursor(grid))},onKeyUp:function(grid,event){this.featureChain&&(this.featureChain.handleKeyUp(grid,event),this.setCursor(grid))},onDoubleClick:function(grid,event){this.featureChain&&(this.featureChain.handleDoubleClick(grid,event),this.setCursor(grid))},handleMouseDown:function(grid,event){this.featureChain&&(this.featureChain.handleMouseDown(grid,event),this.setCursor(grid))},handleMouseExit:function(grid,event){this.featureChain&&(this.featureChain.handleMouseExit(grid,event),this.setCursor(grid))},changed:function(){this.grid.behaviorChanged()},shapeChanged:function(){this.grid.behaviorShapeChanged()},stateChanged:function(){this.grid.behaviorStateChanged()},isColumnReorderable:function(){return this.deprecated("isColumnReorderable()","grid.properties.columnsReorderable","2.1.3")},getColumnProperties:function(x){var column=(x!==this.treeColumnIndex||this.hasTreeColumn())&&this.getColumn(x);return column&&column.properties},setColumnProperties:function(x,properties){var column=this.getColumn(x);if(!column)throw"Expected column.";var result=Object.assign(column.properties,properties);return this.changed(),result},clearAllCellProperties:function(x){var X;for(void 0===x?(x=0,X=this.columns.length):X=x+1;x<X;x++){var column=this.getColumn(x);column&&column.clearAllCellProperties()}},getHiddenColumnDescriptors:function(){for(var tableState=this.grid.properties,indexes=tableState.columnIndexes,labels=[],columnCount=this.getActiveColumnCount(),i=0;i<columnCount;i++)if(-1===indexes.indexOf(i)){var column=this.getActiveColumn(i);labels.push({id:i,header:column.header,field:column.name})}return labels},getFixedColumnCount:function(){return this.grid.properties.fixedColumnCount},setFixedColumnCount:function(n){this.grid.properties.fixedColumnCount=n},getFixedRowCount:function(){return this.getHeaderRowCount()+this.grid.properties.fixedRowCount},setFixedRowCount:function(n){this.grid.properties.fixedRowCount=n},endDragColumnNotification:function(){},getCursorAt:function(x,y){return null},getActiveColumnCount:function(){return this.columns.length},setScrollPositionX:function(x){this.scrollPositionX=x},getScrollPositionX:function(){return this.scrollPositionX},setScrollPositionY:function(y){this.scrollPositionY=y},getScrollPositionY:function(){return this.scrollPositionY},getCellEditorAt:function(event){return event.isDataColumn&&event.column.getCellEditorAt(event)},highlightCellOnHover:function(isColumnHovered,isRowHovered){return isColumnHovered&&isRowHovered},set cellPropertiesPrePaintNotification(cell){throw new this.HypergridError("cellPropertiesPrePaintNotification has been deprecated as of v3.0.0. Code to inspect or mutate the render config object should be moved to the getCell hook.")},swapColumns:function(source,target){var columns=this.columns,tmp=columns[source];columns[source]=columns[target],columns[target]=tmp,this.changed()},convertViewPointToDataPoint:function(unscrolled){return new Point(this.getActiveColumn(unscrolled.x).index,unscrolled.y)},hasTreeColumn:function(columnIndex){return!1},getSelectionMatrixFunction:function(selectedRows){return function(){return null}},getRowHeaderColumn:function(){return this.allColumns[this.rowColumnIndex]},getTreeColumn:function(){return this.allColumns[this.treeColumnIndex]},autosizeAllColumns:function(){this.checkColumnAutosizing(!0),this.changed()},checkColumnAutosizing:function(force){var autoSized=this.autoSizeRowNumberColumn(force)||this.autoSizeTreeColumn(force);return this.allColumns.findWithNeg(function(column){autoSized=column.checkColumnAutosizing(force)||autoSized}),autoSized},autoSizeRowNumberColumn:function(force){if(this.grid.properties.showRowNumbers&&this.grid.properties.rowNumberAutosizing)return this.getRowHeaderColumn().checkColumnAutosizing(force)},autoSizeTreeColumn:function(force){if(this.grid.properties.showTreeColumn&&this.grid.properties.treeColumnAutosizing)return this.getTreeColumn().checkColumnAutosizing(force)},getColumns:function(){return this.allColumns},getActiveColumns:function(){return this.columns},getHiddenColumns:function(){for(var visible=this.columns,all=this.allColumns,hidden=[],i=0;i<all.length;i++)-1===visible.indexOf(all[i])&&hidden.push(all[i]);return hidden.sort(function(a,b){return a.header<b.header}),hidden},getSelectedRows:function(){return this.grid.selectionModel.getSelectedRows()},getSelectedColumns:function(){return this.grid.selectionModel.getSelectedColumns()},getSelections:function(){return this.grid.selectionModel.getSelections()},getIndexedData:function(){return this.deprecated("getIndexedData()","getData()","3.0.0")}});Object.defineProperties(Behavior.prototype,{treeColumnIndex:{value:-1},treeColumnNameDefault:{value:"Tree",writable:!0},treeColumnHeaderDefault:{value:"Tree",writable:!0},rowColumnIndex:{value:-2},rowColumnNameDefault:{value:"RowHeader",writable:!0}}),Behavior.prototype.applyAnalytics=Behavior.prototype.reindex,Behavior.prototype.mixIn(__webpack_require__(98).mixin),Behavior.prototype.mixIn(__webpack_require__(215).mixin),Behavior.prototype.mixIn(__webpack_require__(216).mixin),Behavior.prototype.mixIn(__webpack_require__(217).mixin),module.exports=Behavior},function(module,exports,__webpack_require__){"use strict";function Synonomous(options){options&&optionNames.forEach(function(key){options[key]&&(this[key]=options[key])},this)}function drilldown(collection,breadcrumbs){return breadcrumbs.reduce(function(result,crumb){return result[crumb]||(result[crumb]=Object.create(null))},collection)}function newBreadcrumbs(crumbs){return crumbs=crumbs?Array.isArray(crumbs)?crumbs.slice():(crumbs+"").split("."):[],crumbs.toString=crumbsToString,crumbs}function crumbsToString(){return this.join(".")}function injectTransformedValueIntoItem(item,value,transformation){var transformer=transformers[transformation],path=this.transformations[transformation],pathList=Array.isArray(path)?path.slice():path.split("."),propName=pathList.splice(pathList.length-1,1)[0],drillDownContext=drilldown(item,pathList);!this.force&&propName in drillDownContext||(drillDownContext[propName]=transformer(value))}var transformers=__webpack_require__(61),REGEXP_INTEGER=/^\d+$/,optionNames=["transformations","propPath","dictPath","force"];Synonomous.prototype={constructor:Synonomous,transformations:["verbatim","toCamelCase"],set propPath(crumbs){this._propPath=newBreadcrumbs(crumbs)},get propPath(){return this._propPath},_propPath:["name"],set dictPath(crumbs){this._dictPath=newBreadcrumbs(crumbs)},get dictPath(){return this._dictPath},_dictPath:[],getSynonyms:function(name,transformations){var synonyms=[];return"string"==typeof name&&name&&(transformations=transformations||this.transformations,Array.isArray(transformations)||(transformations=Object.keys(transformations)),transformations.forEach(function(key){if("function"!=typeof transformers[key])throw new ReferenceError('Unknown transformer "'+key+'"');var synonym=transformers[key](name);""===synonym||synonym in synonyms||synonyms.push(synonym)})),synonyms},decorate:function(obj,propNames,item){var drilldownContext=drilldown(obj,this.dictPath),decoratingObjectItself=drilldownContext===obj,force=this.force;return propNames.forEach(function(propName){decoratingObjectItself&®EXP_INTEGER.test(propName)||!force&&propName in drilldownContext||(drilldownContext[propName]=item)}),obj},decorateList:function(index,list,propPath){var elements;return"number"==typeof index?elements=[list[index]]:(list=elements=arguments[0],propPath=arguments[1]),propPath=propPath?newBreadcrumbs(propPath):this.propPath,elements.forEach(function(item){var value=void 0!==propPath&&"object"==typeof item?drilldown(item,propPath):item;if(Array.isArray(this.transformations)){var synonyms=this.getSynonyms(value);this.decorate(list,synonyms,item)}else Object.keys(this.transformations).forEach(injectTransformedValueIntoItem.bind(this,item,value))},this),list}},Synonomous.prototype.decorateObject=Synonomous.prototype.decorate,Synonomous.prototype.decorateArray=Synonomous.prototype.decorateList,module.exports=Synonomous},function(module,exports,__webpack_require__){"use strict";function singularOf(name){return endings.find(function(ending){if(ending.plural.test(name))return name=name.replace(ending.plural,ending.singular),!0}),name}function indefArtOf(name){return/^[aeiou]/.test(name)?"an":"a"}var Base=__webpack_require__(7),Registry=Base.extend("Registry",{initialize:function(){this.items=Object.create(null)},add:function(name,item){if(1===arguments.length&&(item=name,name=void 0),item){if(!(name=name||item.getClassName&&item.getClassName()))throw new this.HypergridError("Cannot register "+this.friendlyName()+" without a name.");return this.items[name]=item,name=name.toLowerCase(),Object.keys(this.items).filter(function(key){return key.toLowerCase()===name}).forEach(function(key){this.items[key]=item},this),item}},addSynonym:function(synonymName,existingName){return this.items[synonymName]=this.items[existingName]},get:function(name){if(name){var result=this.items[name];if(!result){var lowerName=name.toLowerCase(),foundName=Object.keys(this.items).find(function(key){return lowerName===key.toLowerCase()});if(!(result=this.items[foundName]))throw new this.HypergridError('Expected "'+name+'" to be a case-insensitive match for a registered '+this.friendlyName()+".");this.addSynonym(name,foundName)}return result}},friendlyName:function(){if(this.BaseClass){var name=this.BaseClass.getClassName();name=name&&name.replace(/([A-Z])/g," $1").trim().toLowerCase()}else name=singularOf(this.getClassName()).toLowerCase();return name=name||"item",indefArtOf(name)+" "+name}}),endings=[{plural:/ies$/,singular:"y"},{plural:/s$/,singular:""}];module.exports=Registry},function(module,exports,__webpack_require__){"use strict";function findMethod(transformer,key,remove){do{if(transformer[key])if(remove)for(var link=transformer;link&&link!==Object.prototype;link=Object.getPrototypeOf(link))delete link[key];else if(transformer[key]!==DatasaurBase.prototype[key])return transformer[key];transformer=transformer.next}while(transformer)}function getFilteredKeys(api){var keys,whitelist=api.hasOwnProperty("!!keys")&&api["!!keys"],blacklist=blacklistAlways.concat(api.hasOwnProperty("!keys")&&api["!keys"]||[]);return keys=Array.isArray(api)?api:Object.keys(api).filter(function(key){return"function"==typeof Object.getOwnPropertyDescriptor(api,key).value}),keys.filter(function(key){return!(whitelist&&whitelist.indexOf(key)<0||blacklist.indexOf(key)>=0)})}function DataError(message){this.message=message}var DatasaurBase=__webpack_require__(56).Base.extend("DatasaurBase",{isNullObject:!0,drillDownCharMap:{true:"\u25bc",false:"\u25b6",undefined:"",null:" "},DataError:DataError,initialize:function(next,options){if(next)for(this.handlers=next.handlers,this.next=next;next;)this.source=next,next=next.next;else this.handlers=[],this.source=this;this.install(Object.getPrototypeOf(this))},install:function(api,options){options=options||{};var dataModel=this,keys=getFilteredKeys(api),injectable=options.inject&&!Array.isArray(api);keys.forEach(function(key){injectable&&(findMethod(dataModel,key,options.force)||(this.source[key]=api[key])),DatasaurBase.prototype[key]||(DatasaurBase.prototype[key]=function(){if(this.next)return this.next[key].apply(this.next,arguments)})},this)},dispatchEvent:function(nameOrEvent){this.handlers.forEach(function(handler){handler.call(this,nameOrEvent)},this)},addListener:function(handler){this.handlers.indexOf(handler)<0&&this.handlers.push(handler)},removeListener:function(handler){var index=this.handlers.indexOf(handler);index>=0&&delete this.handlers[index]},removeAllListeners:function(){this.handlers.length=0},dump:function(max){max=Math.min(this.getRowCount(),max||Math.max(100,this.getRowCount()));for(var data=[],schema=this.getSchema(),fields=schema?schema.map(function(cs){return cs.name}):this.getHeaders(),cCount=this.getColumnCount(),viewMakesSense=this.viewMakesSense,r=0;r<max;r++){for(var row={},c=0;c<cCount;c++){var val=this.getValue(c,r);0===c&&viewMakesSense&&(val=this.fixIndentForTableDisplay(val)),row[fields[c]]=val}data[r]=row}console.table(data)}}),blacklistAlways=["constructor","initialize","!keys","!!keys"];DataError.prototype=Object.create(Error.prototype),DataError.prototype.name="DataError",module.exports=DatasaurBase},function(module,exports,__webpack_require__){var isObject=__webpack_require__(6),document=__webpack_require__(1).document,is=isObject(document)&&isObject(document.createElement);module.exports=function(it){return is?document.createElement(it):{}}},function(module,exports,__webpack_require__){var isObject=__webpack_require__(6);module.exports=function(it,S){if(!isObject(it))return