diff --git a/package.json b/package.json index a550ac6ec..1cce95e9e 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@swimlane/ngx-datatable", - "version": "4.1.0", + "version": "4.2.0", "description": "ngx-datatable is a Angular2+ table grid component for presenting large and complex data.", "main": "release/index.js", "typings": "release/index.d.ts", diff --git a/release/assets/icons-reference.html b/release/assets/icons-reference.html index 1d2781ed1..f5ac20906 100644 --- a/release/assets/icons-reference.html +++ b/release/assets/icons-reference.html @@ -6,7 +6,7 @@ Font Reference - Data Table - + diff --git a/release/components/body/body-cell.component.d.ts b/release/components/body/body-cell.component.d.ts index aeb85e8a9..14a0cc736 100644 --- a/release/components/body/body-cell.component.d.ts +++ b/release/components/body/body-cell.component.d.ts @@ -7,6 +7,7 @@ export declare class DataTableBodyCellComponent { isSelected: boolean; sorts: any[]; activate: EventEmitter; + readonly columnCssClasses: any; isFocused: boolean; readonly isSortActive: boolean; readonly isSortAscending: boolean; diff --git a/release/components/body/body-cell.component.js b/release/components/body/body-cell.component.js index e6d10dd23..6369177ea 100644 --- a/release/components/body/body-cell.component.js +++ b/release/components/body/body-cell.component.js @@ -19,6 +19,16 @@ var DataTableBodyCellComponent = (function () { enumerable: true, configurable: true }); + Object.defineProperty(DataTableBodyCellComponent.prototype, "columnCssClasses", { + get: function () { + var cls = 'datatable-body-cell'; + if (this.column.cssClasses) + cls += ' ' + this.column.cssClasses; + return cls; + }, + enumerable: true, + configurable: true + }); Object.defineProperty(DataTableBodyCellComponent.prototype, "isSortActive", { get: function () { return !this.sortDir; @@ -159,6 +169,7 @@ var DataTableBodyCellComponent = (function () { 'isSelected': [{ type: core_1.Input },], 'sorts': [{ type: core_1.Input },], 'activate': [{ type: core_1.Output },], + 'columnCssClasses': [{ type: core_1.HostBinding, args: ['class',] },], 'isFocused': [{ type: core_1.HostBinding, args: ['class.active',] },], 'isSortActive': [{ type: core_1.HostBinding, args: ['class.sort-active',] },], 'isSortAscending': [{ type: core_1.HostBinding, args: ['class.sort-asc',] },], diff --git a/release/components/body/body-cell.component.js.map b/release/components/body/body-cell.component.js.map index a5ea233d3..f584de6a0 100644 --- a/release/components/body/body-cell.component.js.map +++ b/release/components/body/body-cell.component.js.map @@ -1 +1 @@ -{"version":3,"file":"body-cell.component.js","sourceRoot":"","sources":["../../../src/components/body/body-cell.component.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"body-cell.component.js","sourceRoot":"","sources":["../../../src/components/body/body-cell.component.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/release/components/body/body-cell.component.metadata.json b/release/components/body/body-cell.component.metadata.json index 2b77a4ff4..8433b303f 100644 --- a/release/components/body/body-cell.component.metadata.json +++ b/release/components/body/body-cell.component.metadata.json @@ -1 +1 @@ -[{"__symbolic":"module","version":3,"metadata":{"DataTableBodyCellComponent":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component"},"arguments":[{"selector":"datatable-body-cell","template":"\n
\n \n \n \n \n \n \n \n
\n ","host":{"class":"datatable-body-cell"}}]}],"members":{"row":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input"}}]}],"column":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input"}}]}],"rowHeight":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input"}}]}],"isSelected":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input"}}]}],"sorts":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input"}}]}],"activate":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output"}}]}],"isFocused":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostBinding"},"arguments":["class.active"]}]}],"isSortActive":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostBinding"},"arguments":["class.sort-active"]}]}],"isSortAscending":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostBinding"},"arguments":["class.sort-asc"]}]}],"isSortDescending":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostBinding"},"arguments":["class.sort-desc"]}]}],"width":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostBinding"},"arguments":["style.width.px"]}]}],"height":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostBinding"},"arguments":["style.height"]}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/core","name":"ElementRef"}]}],"onFocus":[{"__symbolic":"method","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostListener"},"arguments":["focus"]}]}],"onBlur":[{"__symbolic":"method","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostListener"},"arguments":["blur"]}]}],"onClick":[{"__symbolic":"method","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostListener"},"arguments":["click",["$event"]]}]}],"onDblClick":[{"__symbolic":"method","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostListener"},"arguments":["dblclick",["$event"]]}]}],"onKeyDown":[{"__symbolic":"method","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostListener"},"arguments":["keydown",["$event"]]}]}],"onCheckboxChange":[{"__symbolic":"method"}],"calcSortDir":[{"__symbolic":"method"}]}}}},{"__symbolic":"module","version":1,"metadata":{"DataTableBodyCellComponent":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component"},"arguments":[{"selector":"datatable-body-cell","template":"\n
\n \n \n \n \n \n \n \n
\n ","host":{"class":"datatable-body-cell"}}]}],"members":{"row":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input"}}]}],"column":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input"}}]}],"rowHeight":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input"}}]}],"isSelected":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input"}}]}],"sorts":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input"}}]}],"activate":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output"}}]}],"isFocused":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostBinding"},"arguments":["class.active"]}]}],"isSortActive":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostBinding"},"arguments":["class.sort-active"]}]}],"isSortAscending":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostBinding"},"arguments":["class.sort-asc"]}]}],"isSortDescending":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostBinding"},"arguments":["class.sort-desc"]}]}],"width":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostBinding"},"arguments":["style.width.px"]}]}],"height":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostBinding"},"arguments":["style.height"]}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/core","name":"ElementRef"}]}],"onFocus":[{"__symbolic":"method","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostListener"},"arguments":["focus"]}]}],"onBlur":[{"__symbolic":"method","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostListener"},"arguments":["blur"]}]}],"onClick":[{"__symbolic":"method","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostListener"},"arguments":["click",["$event"]]}]}],"onDblClick":[{"__symbolic":"method","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostListener"},"arguments":["dblclick",["$event"]]}]}],"onKeyDown":[{"__symbolic":"method","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostListener"},"arguments":["keydown",["$event"]]}]}],"onCheckboxChange":[{"__symbolic":"method"}],"calcSortDir":[{"__symbolic":"method"}]}}}}] \ No newline at end of file +[{"__symbolic":"module","version":3,"metadata":{"DataTableBodyCellComponent":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component"},"arguments":[{"selector":"datatable-body-cell","template":"\n
\n \n \n \n \n \n \n \n
\n ","host":{"class":"datatable-body-cell"}}]}],"members":{"row":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input"}}]}],"column":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input"}}]}],"rowHeight":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input"}}]}],"isSelected":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input"}}]}],"sorts":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input"}}]}],"activate":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output"}}]}],"columnCssClasses":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostBinding"},"arguments":["class"]}]}],"isFocused":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostBinding"},"arguments":["class.active"]}]}],"isSortActive":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostBinding"},"arguments":["class.sort-active"]}]}],"isSortAscending":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostBinding"},"arguments":["class.sort-asc"]}]}],"isSortDescending":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostBinding"},"arguments":["class.sort-desc"]}]}],"width":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostBinding"},"arguments":["style.width.px"]}]}],"height":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostBinding"},"arguments":["style.height"]}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/core","name":"ElementRef"}]}],"onFocus":[{"__symbolic":"method","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostListener"},"arguments":["focus"]}]}],"onBlur":[{"__symbolic":"method","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostListener"},"arguments":["blur"]}]}],"onClick":[{"__symbolic":"method","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostListener"},"arguments":["click",["$event"]]}]}],"onDblClick":[{"__symbolic":"method","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostListener"},"arguments":["dblclick",["$event"]]}]}],"onKeyDown":[{"__symbolic":"method","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostListener"},"arguments":["keydown",["$event"]]}]}],"onCheckboxChange":[{"__symbolic":"method"}],"calcSortDir":[{"__symbolic":"method"}]}}}},{"__symbolic":"module","version":1,"metadata":{"DataTableBodyCellComponent":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component"},"arguments":[{"selector":"datatable-body-cell","template":"\n
\n \n \n \n \n \n \n \n
\n ","host":{"class":"datatable-body-cell"}}]}],"members":{"row":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input"}}]}],"column":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input"}}]}],"rowHeight":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input"}}]}],"isSelected":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input"}}]}],"sorts":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input"}}]}],"activate":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output"}}]}],"columnCssClasses":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostBinding"},"arguments":["class"]}]}],"isFocused":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostBinding"},"arguments":["class.active"]}]}],"isSortActive":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostBinding"},"arguments":["class.sort-active"]}]}],"isSortAscending":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostBinding"},"arguments":["class.sort-asc"]}]}],"isSortDescending":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostBinding"},"arguments":["class.sort-desc"]}]}],"width":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostBinding"},"arguments":["style.width.px"]}]}],"height":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostBinding"},"arguments":["style.height"]}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/core","name":"ElementRef"}]}],"onFocus":[{"__symbolic":"method","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostListener"},"arguments":["focus"]}]}],"onBlur":[{"__symbolic":"method","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostListener"},"arguments":["blur"]}]}],"onClick":[{"__symbolic":"method","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostListener"},"arguments":["click",["$event"]]}]}],"onDblClick":[{"__symbolic":"method","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostListener"},"arguments":["dblclick",["$event"]]}]}],"onKeyDown":[{"__symbolic":"method","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostListener"},"arguments":["keydown",["$event"]]}]}],"onCheckboxChange":[{"__symbolic":"method"}],"calcSortDir":[{"__symbolic":"method"}]}}}}] \ No newline at end of file diff --git a/release/components/body/body-cell.component.ngfactory.ts b/release/components/body/body-cell.component.ngfactory.ts index 308757fad..de110167a 100644 --- a/release/components/body/body-cell.component.ngfactory.ts +++ b/release/components/body/body-cell.component.ngfactory.ts @@ -17,11 +17,11 @@ import * as import8 from '@angular/core/src/change_detection/constants'; import * as import9 from '@angular/core/src/linker/component_factory'; import * as import10 from '@angular/core/src/linker/element_ref'; import * as import11 from '@angular/core/src/linker/view_container'; -import * as import12 from '../../../node_modules/@angular/common/src/directives/ng_if.ngfactory'; +import * as import12 from '../../../node_modules/@angular/common/src/directives/ng_template_outlet.ngfactory'; import * as import13 from '@angular/core/src/linker/template_ref'; -import * as import14 from '@angular/common/src/directives/ng_if'; -import * as import15 from '../../../node_modules/@angular/common/src/directives/ng_template_outlet.ngfactory'; -import * as import16 from '@angular/common/src/directives/ng_template_outlet'; +import * as import14 from '@angular/common/src/directives/ng_template_outlet'; +import * as import15 from '../../../node_modules/@angular/common/src/directives/ng_if.ngfactory'; +import * as import16 from '@angular/common/src/directives/ng_if'; export class Wrapper_DataTableBodyCellComponent { /*private*/ _eventHandler:Function; context:import0.DataTableBodyCellComponent; @@ -37,6 +37,7 @@ export class Wrapper_DataTableBodyCellComponent { /*private*/ _expr_8:any; /*private*/ _expr_9:any; /*private*/ _expr_10:any; + /*private*/ _expr_11:any; subscription0:any; constructor(p0:any) { this._changed = false; @@ -52,6 +53,7 @@ export class Wrapper_DataTableBodyCellComponent { this._expr_8 = import1.UNINITIALIZED; this._expr_9 = import1.UNINITIALIZED; this._expr_10 = import1.UNINITIALIZED; + this._expr_11 = import1.UNINITIALIZED; } ngOnDetach(view:import2.AppView,componentView:import2.AppView,el:any):void { } @@ -99,36 +101,41 @@ export class Wrapper_DataTableBodyCellComponent { return changed; } checkHost(view:import2.AppView,componentView:import2.AppView,el:any,throwOnChange:boolean):void { - const currVal_5:any = this.context.isFocused; + const currVal_5:any = this.context.columnCssClasses; if (import3.checkBinding(throwOnChange,this._expr_5,currVal_5)) { - view.renderer.setElementClass(el,'active',currVal_5); + view.renderer.setElementProperty(el,'className',currVal_5); this._expr_5 = currVal_5; } - const currVal_6:any = this.context.isSortActive; + const currVal_6:any = this.context.isFocused; if (import3.checkBinding(throwOnChange,this._expr_6,currVal_6)) { - view.renderer.setElementClass(el,'sort-active',currVal_6); + view.renderer.setElementClass(el,'active',currVal_6); this._expr_6 = currVal_6; } - const currVal_7:any = this.context.isSortAscending; + const currVal_7:any = this.context.isSortActive; if (import3.checkBinding(throwOnChange,this._expr_7,currVal_7)) { - view.renderer.setElementClass(el,'sort-asc',currVal_7); + view.renderer.setElementClass(el,'sort-active',currVal_7); this._expr_7 = currVal_7; } - const currVal_8:any = this.context.isSortDescending; + const currVal_8:any = this.context.isSortAscending; if (import3.checkBinding(throwOnChange,this._expr_8,currVal_8)) { - view.renderer.setElementClass(el,'sort-desc',currVal_8); + view.renderer.setElementClass(el,'sort-asc',currVal_8); this._expr_8 = currVal_8; } - const currVal_9:any = this.context.width; + const currVal_9:any = this.context.isSortDescending; if (import3.checkBinding(throwOnChange,this._expr_9,currVal_9)) { - view.renderer.setElementStyle(el,'width',((view.viewUtils.sanitizer.sanitize(import4.SecurityContext.STYLE,currVal_9) == null)? (null as any): (view.viewUtils.sanitizer.sanitize(import4.SecurityContext.STYLE,currVal_9).toString() + 'px'))); + view.renderer.setElementClass(el,'sort-desc',currVal_9); this._expr_9 = currVal_9; } - const currVal_10:any = this.context.height; + const currVal_10:any = this.context.width; if (import3.checkBinding(throwOnChange,this._expr_10,currVal_10)) { - view.renderer.setElementStyle(el,'height',((view.viewUtils.sanitizer.sanitize(import4.SecurityContext.STYLE,currVal_10) == null)? (null as any): view.viewUtils.sanitizer.sanitize(import4.SecurityContext.STYLE,currVal_10).toString())); + view.renderer.setElementStyle(el,'width',((view.viewUtils.sanitizer.sanitize(import4.SecurityContext.STYLE,currVal_10) == null)? (null as any): (view.viewUtils.sanitizer.sanitize(import4.SecurityContext.STYLE,currVal_10).toString() + 'px'))); this._expr_10 = currVal_10; } + const currVal_11:any = this.context.height; + if (import3.checkBinding(throwOnChange,this._expr_11,currVal_11)) { + view.renderer.setElementStyle(el,'height',((view.viewUtils.sanitizer.sanitize(import4.SecurityContext.STYLE,currVal_11) == null)? (null as any): view.viewUtils.sanitizer.sanitize(import4.SecurityContext.STYLE,currVal_11).toString())); + this._expr_11 = currVal_11; + } } handleEvent(eventName:string,$event:any):boolean { var result:boolean = true; @@ -201,101 +208,6 @@ class View_DataTableBodyCellComponent_Host0 extends import2.AppView { } export const DataTableBodyCellComponentNgFactory:import9.ComponentFactory = new import9.ComponentFactory('datatable-body-cell',View_DataTableBodyCellComponent_Host0,import0.DataTableBodyCellComponent); const styles_DataTableBodyCellComponent:any[] = ([] as any[]); -var renderType_DataTableBodyCellComponent:import5.RenderComponentType = import3.createRenderComponentType('',0,import6.ViewEncapsulation.None,styles_DataTableBodyCellComponent,{}); -export class View_DataTableBodyCellComponent0 extends import2.AppView { - _text_0:any; - _el_1:any; - _text_2:any; - _anchor_3:any; - /*private*/ _vc_3:import11.ViewContainer; - _TemplateRef_3_5:any; - _NgIf_3_6:import12.Wrapper_NgIf; - _text_4:any; - _anchor_5:any; - /*private*/ _vc_5:import11.ViewContainer; - _TemplateRef_5_5:any; - _NgIf_5_6:import12.Wrapper_NgIf; - _text_6:any; - _anchor_7:any; - /*private*/ _vc_7:import11.ViewContainer; - _TemplateRef_7_5:any; - _NgIf_7_6:import12.Wrapper_NgIf; - _text_8:any; - _text_9:any; - constructor(viewUtils:import3.ViewUtils,parentView:import2.AppView,parentIndex:number,parentElement:any) { - super(View_DataTableBodyCellComponent0,renderType_DataTableBodyCellComponent,import7.ViewType.COMPONENT,viewUtils,parentView,parentIndex,parentElement,import8.ChangeDetectorStatus.CheckAlways); - } - createInternal(rootSelector:string):import9.ComponentRef { - const parentRenderNode:any = this.renderer.createViewRoot(this.parentElement); - this._text_0 = this.renderer.createText(parentRenderNode,'\n ',(null as any)); - this._el_1 = import3.createRenderElement(this.renderer,parentRenderNode,'div',new import3.InlineArray2(2,'class','datatable-body-cell-label'),(null as any)); - this._text_2 = this.renderer.createText(this._el_1,'\n ',(null as any)); - this._anchor_3 = this.renderer.createTemplateAnchor(this._el_1,(null as any)); - this._vc_3 = new import11.ViewContainer(3,1,this,this._anchor_3); - this._TemplateRef_3_5 = new import13.TemplateRef_(this,3,this._anchor_3); - this._NgIf_3_6 = new import12.Wrapper_NgIf(this._vc_3.vcRef,this._TemplateRef_3_5); - this._text_4 = this.renderer.createText(this._el_1,'\n ',(null as any)); - this._anchor_5 = this.renderer.createTemplateAnchor(this._el_1,(null as any)); - this._vc_5 = new import11.ViewContainer(5,1,this,this._anchor_5); - this._TemplateRef_5_5 = new import13.TemplateRef_(this,5,this._anchor_5); - this._NgIf_5_6 = new import12.Wrapper_NgIf(this._vc_5.vcRef,this._TemplateRef_5_5); - this._text_6 = this.renderer.createText(this._el_1,'\n ',(null as any)); - this._anchor_7 = this.renderer.createTemplateAnchor(this._el_1,(null as any)); - this._vc_7 = new import11.ViewContainer(7,1,this,this._anchor_7); - this._TemplateRef_7_5 = new import13.TemplateRef_(this,7,this._anchor_7); - this._NgIf_7_6 = new import12.Wrapper_NgIf(this._vc_7.vcRef,this._TemplateRef_7_5); - this._text_8 = this.renderer.createText(this._el_1,'\n ',(null as any)); - this._text_9 = this.renderer.createText(parentRenderNode,'\n ',(null as any)); - this.init((null as any),((this.renderer).directRenderer? (null as any): [ - this._text_0, - this._el_1, - this._text_2, - this._anchor_3, - this._text_4, - this._anchor_5, - this._text_6, - this._anchor_7, - this._text_8, - this._text_9 - ] - ),(null as any)); - return (null as any); - } - injectorGetInternal(token:any,requestNodeIndex:number,notFoundResult:any):any { - if (((token === import13.TemplateRef) && (3 === requestNodeIndex))) { return this._TemplateRef_3_5; } - if (((token === import14.NgIf) && (3 === requestNodeIndex))) { return this._NgIf_3_6.context; } - if (((token === import13.TemplateRef) && (5 === requestNodeIndex))) { return this._TemplateRef_5_5; } - if (((token === import14.NgIf) && (5 === requestNodeIndex))) { return this._NgIf_5_6.context; } - if (((token === import13.TemplateRef) && (7 === requestNodeIndex))) { return this._TemplateRef_7_5; } - if (((token === import14.NgIf) && (7 === requestNodeIndex))) { return this._NgIf_7_6.context; } - return notFoundResult; - } - detectChangesInternal(throwOnChange:boolean):void { - const currVal_3_0_0:any = this.context.column.checkboxable; - this._NgIf_3_6.check_ngIf(currVal_3_0_0,throwOnChange,false); - this._NgIf_3_6.ngDoCheck(this,this._anchor_3,throwOnChange); - const currVal_5_0_0:boolean = !this.context.column.cellTemplate; - this._NgIf_5_6.check_ngIf(currVal_5_0_0,throwOnChange,false); - this._NgIf_5_6.ngDoCheck(this,this._anchor_5,throwOnChange); - const currVal_7_0_0:any = this.context.column.cellTemplate; - this._NgIf_7_6.check_ngIf(currVal_7_0_0,throwOnChange,false); - this._NgIf_7_6.ngDoCheck(this,this._anchor_7,throwOnChange); - this._vc_3.detectChangesInNestedViews(throwOnChange); - this._vc_5.detectChangesInNestedViews(throwOnChange); - this._vc_7.detectChangesInNestedViews(throwOnChange); - } - destroyInternal():void { - this._vc_3.destroyNestedViews(); - this._vc_5.destroyNestedViews(); - this._vc_7.destroyNestedViews(); - } - createEmbeddedViewInternal(nodeIndex:number):import2.AppView { - if ((nodeIndex == 3)) { return new View_DataTableBodyCellComponent1(this.viewUtils,this,3,this._anchor_3,this._vc_3); } - if ((nodeIndex == 5)) { return new View_DataTableBodyCellComponent2(this.viewUtils,this,5,this._anchor_5,this._vc_5); } - if ((nodeIndex == 7)) { return new View_DataTableBodyCellComponent3(this.viewUtils,this,7,this._anchor_7,this._vc_7); } - return (null as any); - } -} class View_DataTableBodyCellComponent1 extends import2.AppView { _el_0:any; _text_1:any; @@ -370,11 +282,25 @@ class View_DataTableBodyCellComponent2 extends import2.AppView { cb(this._el_0,ctx); } } +class View_DataTableBodyCellComponent4 extends import2.AppView { + _text_0:any; + constructor(viewUtils:import3.ViewUtils,parentView:import2.AppView,parentIndex:number,parentElement:any,declaredViewContainer:import11.ViewContainer) { + super(View_DataTableBodyCellComponent4,renderType_DataTableBodyCellComponent,import7.ViewType.EMBEDDED,viewUtils,parentView,parentIndex,parentElement,import8.ChangeDetectorStatus.CheckAlways,declaredViewContainer); + } + createInternal(rootSelector:string):import9.ComponentRef { + this._text_0 = this.renderer.createText((null as any),'\n ',(null as any)); + this.init(this._text_0,((this.renderer).directRenderer? (null as any): [this._text_0]),(null as any)); + return (null as any); + } + visitRootNodesInternal(cb:any,ctx:any):void { + cb(this._text_0,ctx); + } +} class View_DataTableBodyCellComponent3 extends import2.AppView { _anchor_0:any; /*private*/ _vc_0:import11.ViewContainer; _TemplateRef_0_5:any; - _NgTemplateOutlet_0_6:import15.Wrapper_NgTemplateOutlet; + _NgTemplateOutlet_0_6:import12.Wrapper_NgTemplateOutlet; _el_1:any; _map_5:any; constructor(viewUtils:import3.ViewUtils,parentView:import2.AppView,parentIndex:number,parentElement:any,declaredViewContainer:import11.ViewContainer) { @@ -392,14 +318,14 @@ class View_DataTableBodyCellComponent3 extends import2.AppView { this._anchor_0 = this.renderer.createTemplateAnchor((null as any),(null as any)); this._vc_0 = new import11.ViewContainer(0,(null as any),this,this._anchor_0); this._TemplateRef_0_5 = new import13.TemplateRef_(this,0,this._anchor_0); - this._NgTemplateOutlet_0_6 = new import15.Wrapper_NgTemplateOutlet(this._vc_0.vcRef); + this._NgTemplateOutlet_0_6 = new import12.Wrapper_NgTemplateOutlet(this._vc_0.vcRef); this._el_1 = this.renderer.createTemplateAnchor((null as any),(null as any)); this.init(this._el_1,((this.renderer).directRenderer? (null as any): [this._anchor_0]),(null as any)); return (null as any); } injectorGetInternal(token:any,requestNodeIndex:number,notFoundResult:any):any { if (((token === import13.TemplateRef) && (0 === requestNodeIndex))) { return this._TemplateRef_0_5; } - if (((token === import16.NgTemplateOutlet) && (0 === requestNodeIndex))) { return this._NgTemplateOutlet_0_6.context; } + if (((token === import14.NgTemplateOutlet) && (0 === requestNodeIndex))) { return this._NgTemplateOutlet_0_6.context; } return notFoundResult; } detectChangesInternal(throwOnChange:boolean):void { @@ -423,17 +349,98 @@ class View_DataTableBodyCellComponent3 extends import2.AppView { return (null as any); } } -class View_DataTableBodyCellComponent4 extends import2.AppView { +var renderType_DataTableBodyCellComponent:import5.RenderComponentType = import3.createRenderComponentType('',0,import6.ViewEncapsulation.None,styles_DataTableBodyCellComponent,{}); +export class View_DataTableBodyCellComponent0 extends import2.AppView { _text_0:any; - constructor(viewUtils:import3.ViewUtils,parentView:import2.AppView,parentIndex:number,parentElement:any,declaredViewContainer:import11.ViewContainer) { - super(View_DataTableBodyCellComponent4,renderType_DataTableBodyCellComponent,import7.ViewType.EMBEDDED,viewUtils,parentView,parentIndex,parentElement,import8.ChangeDetectorStatus.CheckAlways,declaredViewContainer); + _el_1:any; + _text_2:any; + _anchor_3:any; + /*private*/ _vc_3:import11.ViewContainer; + _TemplateRef_3_5:any; + _NgIf_3_6:import15.Wrapper_NgIf; + _text_4:any; + _anchor_5:any; + /*private*/ _vc_5:import11.ViewContainer; + _TemplateRef_5_5:any; + _NgIf_5_6:import15.Wrapper_NgIf; + _text_6:any; + _anchor_7:any; + /*private*/ _vc_7:import11.ViewContainer; + _TemplateRef_7_5:any; + _NgIf_7_6:import15.Wrapper_NgIf; + _text_8:any; + _text_9:any; + constructor(viewUtils:import3.ViewUtils,parentView:import2.AppView,parentIndex:number,parentElement:any) { + super(View_DataTableBodyCellComponent0,renderType_DataTableBodyCellComponent,import7.ViewType.COMPONENT,viewUtils,parentView,parentIndex,parentElement,import8.ChangeDetectorStatus.CheckAlways); } createInternal(rootSelector:string):import9.ComponentRef { - this._text_0 = this.renderer.createText((null as any),'\n ',(null as any)); - this.init(this._text_0,((this.renderer).directRenderer? (null as any): [this._text_0]),(null as any)); + const parentRenderNode:any = this.renderer.createViewRoot(this.parentElement); + this._text_0 = this.renderer.createText(parentRenderNode,'\n ',(null as any)); + this._el_1 = import3.createRenderElement(this.renderer,parentRenderNode,'div',new import3.InlineArray2(2,'class','datatable-body-cell-label'),(null as any)); + this._text_2 = this.renderer.createText(this._el_1,'\n ',(null as any)); + this._anchor_3 = this.renderer.createTemplateAnchor(this._el_1,(null as any)); + this._vc_3 = new import11.ViewContainer(3,1,this,this._anchor_3); + this._TemplateRef_3_5 = new import13.TemplateRef_(this,3,this._anchor_3); + this._NgIf_3_6 = new import15.Wrapper_NgIf(this._vc_3.vcRef,this._TemplateRef_3_5); + this._text_4 = this.renderer.createText(this._el_1,'\n ',(null as any)); + this._anchor_5 = this.renderer.createTemplateAnchor(this._el_1,(null as any)); + this._vc_5 = new import11.ViewContainer(5,1,this,this._anchor_5); + this._TemplateRef_5_5 = new import13.TemplateRef_(this,5,this._anchor_5); + this._NgIf_5_6 = new import15.Wrapper_NgIf(this._vc_5.vcRef,this._TemplateRef_5_5); + this._text_6 = this.renderer.createText(this._el_1,'\n ',(null as any)); + this._anchor_7 = this.renderer.createTemplateAnchor(this._el_1,(null as any)); + this._vc_7 = new import11.ViewContainer(7,1,this,this._anchor_7); + this._TemplateRef_7_5 = new import13.TemplateRef_(this,7,this._anchor_7); + this._NgIf_7_6 = new import15.Wrapper_NgIf(this._vc_7.vcRef,this._TemplateRef_7_5); + this._text_8 = this.renderer.createText(this._el_1,'\n ',(null as any)); + this._text_9 = this.renderer.createText(parentRenderNode,'\n ',(null as any)); + this.init((null as any),((this.renderer).directRenderer? (null as any): [ + this._text_0, + this._el_1, + this._text_2, + this._anchor_3, + this._text_4, + this._anchor_5, + this._text_6, + this._anchor_7, + this._text_8, + this._text_9 + ] + ),(null as any)); return (null as any); } - visitRootNodesInternal(cb:any,ctx:any):void { - cb(this._text_0,ctx); + injectorGetInternal(token:any,requestNodeIndex:number,notFoundResult:any):any { + if (((token === import13.TemplateRef) && (3 === requestNodeIndex))) { return this._TemplateRef_3_5; } + if (((token === import16.NgIf) && (3 === requestNodeIndex))) { return this._NgIf_3_6.context; } + if (((token === import13.TemplateRef) && (5 === requestNodeIndex))) { return this._TemplateRef_5_5; } + if (((token === import16.NgIf) && (5 === requestNodeIndex))) { return this._NgIf_5_6.context; } + if (((token === import13.TemplateRef) && (7 === requestNodeIndex))) { return this._TemplateRef_7_5; } + if (((token === import16.NgIf) && (7 === requestNodeIndex))) { return this._NgIf_7_6.context; } + return notFoundResult; + } + detectChangesInternal(throwOnChange:boolean):void { + const currVal_3_0_0:any = this.context.column.checkboxable; + this._NgIf_3_6.check_ngIf(currVal_3_0_0,throwOnChange,false); + this._NgIf_3_6.ngDoCheck(this,this._anchor_3,throwOnChange); + const currVal_5_0_0:boolean = !this.context.column.cellTemplate; + this._NgIf_5_6.check_ngIf(currVal_5_0_0,throwOnChange,false); + this._NgIf_5_6.ngDoCheck(this,this._anchor_5,throwOnChange); + const currVal_7_0_0:any = this.context.column.cellTemplate; + this._NgIf_7_6.check_ngIf(currVal_7_0_0,throwOnChange,false); + this._NgIf_7_6.ngDoCheck(this,this._anchor_7,throwOnChange); + this._vc_3.detectChangesInNestedViews(throwOnChange); + this._vc_5.detectChangesInNestedViews(throwOnChange); + this._vc_7.detectChangesInNestedViews(throwOnChange); + } + destroyInternal():void { + this._vc_3.destroyNestedViews(); + this._vc_5.destroyNestedViews(); + this._vc_7.destroyNestedViews(); + } + createEmbeddedViewInternal(nodeIndex:number):import2.AppView { + if ((nodeIndex == 3)) { return new View_DataTableBodyCellComponent1(this.viewUtils,this,3,this._anchor_3,this._vc_3); } + if ((nodeIndex == 5)) { return new View_DataTableBodyCellComponent2(this.viewUtils,this,5,this._anchor_5,this._vc_5); } + if ((nodeIndex == 7)) { return new View_DataTableBodyCellComponent3(this.viewUtils,this,7,this._anchor_7,this._vc_7); } + return (null as any); } } \ No newline at end of file diff --git a/release/components/body/body-cell.component.ngsummary.json b/release/components/body/body-cell.component.ngsummary.json index 56be9fd1b..3578c5dd6 100644 --- a/release/components/body/body-cell.component.ngsummary.json +++ b/release/components/body/body-cell.component.ngsummary.json @@ -1 +1 @@ -{"summaries":[{"symbol":{"__symbol":0},"metadata":{"__symbolic":"class"},"type":{"summaryKind":1,"type":{"reference":{"__symbol":0},"diDeps":[{"isAttribute":false,"isHost":false,"isSelf":false,"isSkipSelf":false,"isOptional":false,"token":{"identifier":{"reference":{"__symbol":1}}}}],"lifecycleHooks":[]},"isComponent":true,"selector":"datatable-body-cell","inputs":{"row":"row","column":"column","rowHeight":"rowHeight","isSelected":"isSelected","sorts":"sorts"},"outputs":{"activate":"activate"},"hostListeners":{"focus":"onFocus()","blur":"onBlur()","click":"onClick($event)","dblclick":"onDblClick($event)","keydown":"onKeyDown($event)"},"hostProperties":{"class.active":"isFocused","class.sort-active":"isSortActive","class.sort-asc":"isSortAscending","class.sort-desc":"isSortDescending","style.width.px":"width","style.height":"height"},"hostAttributes":{"class":"datatable-body-cell"},"providers":[],"viewProviders":[],"queries":[],"entryComponents":[],"changeDetection":1,"template":{"animations":[],"ngContentSelectors":[],"encapsulation":2}}}],"symbols":[{"__symbol":0,"name":"DataTableBodyCellComponent","filePath":"C:/dev/angular2-data-table/src/components/body/body-cell.component.d.ts"},{"__symbol":1,"name":"ElementRef","filePath":"C:/dev/angular2-data-table/node_modules/@angular/core/src/linker/element_ref.d.ts"}]} \ No newline at end of file +{"summaries":[{"symbol":{"__symbol":0},"metadata":{"__symbolic":"class"},"type":{"summaryKind":1,"type":{"reference":{"__symbol":0},"diDeps":[{"isAttribute":false,"isHost":false,"isSelf":false,"isSkipSelf":false,"isOptional":false,"token":{"identifier":{"reference":{"__symbol":1}}}}],"lifecycleHooks":[]},"isComponent":true,"selector":"datatable-body-cell","inputs":{"row":"row","column":"column","rowHeight":"rowHeight","isSelected":"isSelected","sorts":"sorts"},"outputs":{"activate":"activate"},"hostListeners":{"focus":"onFocus()","blur":"onBlur()","click":"onClick($event)","dblclick":"onDblClick($event)","keydown":"onKeyDown($event)"},"hostProperties":{"class":"columnCssClasses","class.active":"isFocused","class.sort-active":"isSortActive","class.sort-asc":"isSortAscending","class.sort-desc":"isSortDescending","style.width.px":"width","style.height":"height"},"hostAttributes":{"class":"datatable-body-cell"},"providers":[],"viewProviders":[],"queries":[],"entryComponents":[],"changeDetection":1,"template":{"animations":[],"ngContentSelectors":[],"encapsulation":2}}}],"symbols":[{"__symbol":0,"name":"DataTableBodyCellComponent","filePath":"C:/dev/angular2-data-table/src/components/body/body-cell.component.d.ts"},{"__symbol":1,"name":"ElementRef","filePath":"C:/dev/angular2-data-table/node_modules/@angular/core/src/linker/element_ref.d.ts"}]} \ No newline at end of file diff --git a/release/components/body/body-row-wrapper.component.ngfactory.ts b/release/components/body/body-row-wrapper.component.ngfactory.ts index 80c746e08..f9867f4a4 100644 --- a/release/components/body/body-row-wrapper.component.ngfactory.ts +++ b/release/components/body/body-row-wrapper.component.ngfactory.ts @@ -15,12 +15,12 @@ import * as import6 from '@angular/core/src/linker/view_type'; import * as import7 from '@angular/core/src/change_detection/constants'; import * as import8 from '@angular/core/src/linker/component_factory'; import * as import9 from '@angular/core/src/linker/view_container'; -import * as import10 from '../../../node_modules/@angular/common/src/directives/ng_if.ngfactory'; +import * as import10 from '../../../node_modules/@angular/common/src/directives/ng_template_outlet.ngfactory'; import * as import11 from '@angular/core/src/linker/template_ref'; -import * as import12 from '@angular/common/src/directives/ng_if'; -import * as import13 from '@angular/core/src/security'; -import * as import14 from '../../../node_modules/@angular/common/src/directives/ng_template_outlet.ngfactory'; -import * as import15 from '@angular/common/src/directives/ng_template_outlet'; +import * as import12 from '@angular/common/src/directives/ng_template_outlet'; +import * as import13 from '../../../node_modules/@angular/common/src/directives/ng_if.ngfactory'; +import * as import14 from '@angular/common/src/directives/ng_if'; +import * as import15 from '@angular/core/src/security'; export class Wrapper_DataTableRowWrapperComponent { /*private*/ _eventHandler:Function; context:import0.DataTableRowWrapperComponent; @@ -135,53 +135,65 @@ class View_DataTableRowWrapperComponent_Host0 extends import2.AppView { } export const DataTableRowWrapperComponentNgFactory:import8.ComponentFactory = new import8.ComponentFactory('datatable-row-wrapper',View_DataTableRowWrapperComponent_Host0,import0.DataTableRowWrapperComponent); const styles_DataTableRowWrapperComponent:any[] = ([] as any[]); -var renderType_DataTableRowWrapperComponent:import4.RenderComponentType = import3.createRenderComponentType('',1,import5.ViewEncapsulation.None,styles_DataTableRowWrapperComponent,{}); -export class View_DataTableRowWrapperComponent0 extends import2.AppView { +class View_DataTableRowWrapperComponent3 extends import2.AppView { _text_0:any; - _text_1:any; - _anchor_2:any; - /*private*/ _vc_2:import9.ViewContainer; - _TemplateRef_2_5:any; - _NgIf_2_6:import10.Wrapper_NgIf; - _text_3:any; - constructor(viewUtils:import3.ViewUtils,parentView:import2.AppView,parentIndex:number,parentElement:any) { - super(View_DataTableRowWrapperComponent0,renderType_DataTableRowWrapperComponent,import6.ViewType.COMPONENT,viewUtils,parentView,parentIndex,parentElement,import7.ChangeDetectorStatus.CheckAlways); + constructor(viewUtils:import3.ViewUtils,parentView:import2.AppView,parentIndex:number,parentElement:any,declaredViewContainer:import9.ViewContainer) { + super(View_DataTableRowWrapperComponent3,renderType_DataTableRowWrapperComponent,import6.ViewType.EMBEDDED,viewUtils,parentView,parentIndex,parentElement,import7.ChangeDetectorStatus.CheckAlways,declaredViewContainer); } createInternal(rootSelector:string):import8.ComponentRef { - const parentRenderNode:any = this.renderer.createViewRoot(this.parentElement); - this._text_0 = this.renderer.createText(parentRenderNode,'\n ',(null as any)); - this.projectNodes(parentRenderNode,0); - this._text_1 = this.renderer.createText(parentRenderNode,'\n ',(null as any)); - this._anchor_2 = this.renderer.createTemplateAnchor(parentRenderNode,(null as any)); - this._vc_2 = new import9.ViewContainer(2,(null as any),this,this._anchor_2); - this._TemplateRef_2_5 = new import11.TemplateRef_(this,2,this._anchor_2); - this._NgIf_2_6 = new import10.Wrapper_NgIf(this._vc_2.vcRef,this._TemplateRef_2_5); - this._text_3 = this.renderer.createText(parentRenderNode,'\n ',(null as any)); - this.init((null as any),((this.renderer).directRenderer? (null as any): [ - this._text_0, - this._text_1, - this._anchor_2, - this._text_3 - ] - ),(null as any)); + this._text_0 = this.renderer.createText((null as any),'\n ',(null as any)); + this.init(this._text_0,((this.renderer).directRenderer? (null as any): [this._text_0]),(null as any)); + return (null as any); + } + visitRootNodesInternal(cb:any,ctx:any):void { + cb(this._text_0,ctx); + } +} +class View_DataTableRowWrapperComponent2 extends import2.AppView { + _anchor_0:any; + /*private*/ _vc_0:import9.ViewContainer; + _TemplateRef_0_5:any; + _NgTemplateOutlet_0_6:import10.Wrapper_NgTemplateOutlet; + _el_1:any; + _map_5:any; + constructor(viewUtils:import3.ViewUtils,parentView:import2.AppView,parentIndex:number,parentElement:any,declaredViewContainer:import9.ViewContainer) { + super(View_DataTableRowWrapperComponent2,renderType_DataTableRowWrapperComponent,import6.ViewType.EMBEDDED,viewUtils,parentView,parentIndex,parentElement,import7.ChangeDetectorStatus.CheckAlways,declaredViewContainer); + this._map_5 = import3.pureProxy1((p0:any):{[key: string]:any} => { + return {row: p0}; + }); + } + createInternal(rootSelector:string):import8.ComponentRef { + this._anchor_0 = this.renderer.createTemplateAnchor((null as any),(null as any)); + this._vc_0 = new import9.ViewContainer(0,(null as any),this,this._anchor_0); + this._TemplateRef_0_5 = new import11.TemplateRef_(this,0,this._anchor_0); + this._NgTemplateOutlet_0_6 = new import10.Wrapper_NgTemplateOutlet(this._vc_0.vcRef); + this._el_1 = this.renderer.createTemplateAnchor((null as any),(null as any)); + this.init(this._el_1,((this.renderer).directRenderer? (null as any): [this._anchor_0]),(null as any)); return (null as any); } injectorGetInternal(token:any,requestNodeIndex:number,notFoundResult:any):any { - if (((token === import11.TemplateRef) && (2 === requestNodeIndex))) { return this._TemplateRef_2_5; } - if (((token === import12.NgIf) && (2 === requestNodeIndex))) { return this._NgIf_2_6.context; } + if (((token === import11.TemplateRef) && (0 === requestNodeIndex))) { return this._TemplateRef_0_5; } + if (((token === import12.NgTemplateOutlet) && (0 === requestNodeIndex))) { return this._NgTemplateOutlet_0_6.context; } return notFoundResult; } detectChangesInternal(throwOnChange:boolean):void { - const currVal_2_0_0:any = this.context.expanded; - this._NgIf_2_6.check_ngIf(currVal_2_0_0,throwOnChange,false); - this._NgIf_2_6.ngDoCheck(this,this._anchor_2,throwOnChange); - this._vc_2.detectChangesInNestedViews(throwOnChange); + const currVal_0_0_0:any = this._map_5(this.parentView.parentView.context.row); + this._NgTemplateOutlet_0_6.check_ngOutletContext(currVal_0_0_0,throwOnChange,false); + const currVal_0_0_1:any = this.parentView.parentView.context.rowDetailTemplate; + this._NgTemplateOutlet_0_6.check_ngTemplateOutlet(currVal_0_0_1,throwOnChange,false); + this._NgTemplateOutlet_0_6.ngDoCheck(this,this._anchor_0,throwOnChange); + this._vc_0.detectChangesInNestedViews(throwOnChange); } destroyInternal():void { - this._vc_2.destroyNestedViews(); + this._vc_0.destroyNestedViews(); + } + visitRootNodesInternal(cb:any,ctx:any):void { + cb(this._vc_0.nativeElement,ctx); + this._vc_0.visitNestedViewRootNodes(cb,ctx); + cb(this._el_1,ctx); } createEmbeddedViewInternal(nodeIndex:number):import2.AppView { - if ((nodeIndex == 2)) { return new View_DataTableRowWrapperComponent1(this.viewUtils,this,2,this._anchor_2,this._vc_2); } + if ((nodeIndex == 0)) { return new View_DataTableRowWrapperComponent3(this.viewUtils,this,0,this._anchor_0,this._vc_0); } return (null as any); } } @@ -191,7 +203,7 @@ class View_DataTableRowWrapperComponent1 extends import2.AppView { _anchor_2:any; /*private*/ _vc_2:import9.ViewContainer; _TemplateRef_2_5:any; - _NgIf_2_6:import10.Wrapper_NgIf; + _NgIf_2_6:import13.Wrapper_NgIf; _text_3:any; /*private*/ _expr_7:any; constructor(viewUtils:import3.ViewUtils,parentView:import2.AppView,parentIndex:number,parentElement:any,declaredViewContainer:import9.ViewContainer) { @@ -204,7 +216,7 @@ class View_DataTableRowWrapperComponent1 extends import2.AppView { this._anchor_2 = this.renderer.createTemplateAnchor(this._el_0,(null as any)); this._vc_2 = new import9.ViewContainer(2,0,this,this._anchor_2); this._TemplateRef_2_5 = new import11.TemplateRef_(this,2,this._anchor_2); - this._NgIf_2_6 = new import10.Wrapper_NgIf(this._vc_2.vcRef,this._TemplateRef_2_5); + this._NgIf_2_6 = new import13.Wrapper_NgIf(this._vc_2.vcRef,this._TemplateRef_2_5); this._text_3 = this.renderer.createText(this._el_0,'\n ',(null as any)); this.init(this._el_0,((this.renderer).directRenderer? (null as any): [ this._el_0, @@ -217,7 +229,7 @@ class View_DataTableRowWrapperComponent1 extends import2.AppView { } injectorGetInternal(token:any,requestNodeIndex:number,notFoundResult:any):any { if (((token === import11.TemplateRef) && (2 === requestNodeIndex))) { return this._TemplateRef_2_5; } - if (((token === import12.NgIf) && (2 === requestNodeIndex))) { return this._NgIf_2_6.context; } + if (((token === import14.NgIf) && (2 === requestNodeIndex))) { return this._NgIf_2_6.context; } return notFoundResult; } detectChangesInternal(throwOnChange:boolean):void { @@ -227,7 +239,7 @@ class View_DataTableRowWrapperComponent1 extends import2.AppView { this._vc_2.detectChangesInNestedViews(throwOnChange); const currVal_7:any = this.parentView.context.detailRowHeight; if (import3.checkBinding(throwOnChange,this._expr_7,currVal_7)) { - this.renderer.setElementStyle(this._el_0,'height',((this.viewUtils.sanitizer.sanitize(import13.SecurityContext.STYLE,currVal_7) == null)? (null as any): (this.viewUtils.sanitizer.sanitize(import13.SecurityContext.STYLE,currVal_7).toString() + 'px'))); + this.renderer.setElementStyle(this._el_0,'height',((this.viewUtils.sanitizer.sanitize(import15.SecurityContext.STYLE,currVal_7) == null)? (null as any): (this.viewUtils.sanitizer.sanitize(import15.SecurityContext.STYLE,currVal_7).toString() + 'px'))); this._expr_7 = currVal_7; } } @@ -242,65 +254,53 @@ class View_DataTableRowWrapperComponent1 extends import2.AppView { return (null as any); } } -class View_DataTableRowWrapperComponent2 extends import2.AppView { - _anchor_0:any; - /*private*/ _vc_0:import9.ViewContainer; - _TemplateRef_0_5:any; - _NgTemplateOutlet_0_6:import14.Wrapper_NgTemplateOutlet; - _el_1:any; - _map_5:any; - constructor(viewUtils:import3.ViewUtils,parentView:import2.AppView,parentIndex:number,parentElement:any,declaredViewContainer:import9.ViewContainer) { - super(View_DataTableRowWrapperComponent2,renderType_DataTableRowWrapperComponent,import6.ViewType.EMBEDDED,viewUtils,parentView,parentIndex,parentElement,import7.ChangeDetectorStatus.CheckAlways,declaredViewContainer); - this._map_5 = import3.pureProxy1((p0:any):{[key: string]:any} => { - return {row: p0}; - }); +var renderType_DataTableRowWrapperComponent:import4.RenderComponentType = import3.createRenderComponentType('',1,import5.ViewEncapsulation.None,styles_DataTableRowWrapperComponent,{}); +export class View_DataTableRowWrapperComponent0 extends import2.AppView { + _text_0:any; + _text_1:any; + _anchor_2:any; + /*private*/ _vc_2:import9.ViewContainer; + _TemplateRef_2_5:any; + _NgIf_2_6:import13.Wrapper_NgIf; + _text_3:any; + constructor(viewUtils:import3.ViewUtils,parentView:import2.AppView,parentIndex:number,parentElement:any) { + super(View_DataTableRowWrapperComponent0,renderType_DataTableRowWrapperComponent,import6.ViewType.COMPONENT,viewUtils,parentView,parentIndex,parentElement,import7.ChangeDetectorStatus.CheckAlways); } createInternal(rootSelector:string):import8.ComponentRef { - this._anchor_0 = this.renderer.createTemplateAnchor((null as any),(null as any)); - this._vc_0 = new import9.ViewContainer(0,(null as any),this,this._anchor_0); - this._TemplateRef_0_5 = new import11.TemplateRef_(this,0,this._anchor_0); - this._NgTemplateOutlet_0_6 = new import14.Wrapper_NgTemplateOutlet(this._vc_0.vcRef); - this._el_1 = this.renderer.createTemplateAnchor((null as any),(null as any)); - this.init(this._el_1,((this.renderer).directRenderer? (null as any): [this._anchor_0]),(null as any)); + const parentRenderNode:any = this.renderer.createViewRoot(this.parentElement); + this._text_0 = this.renderer.createText(parentRenderNode,'\n ',(null as any)); + this.projectNodes(parentRenderNode,0); + this._text_1 = this.renderer.createText(parentRenderNode,'\n ',(null as any)); + this._anchor_2 = this.renderer.createTemplateAnchor(parentRenderNode,(null as any)); + this._vc_2 = new import9.ViewContainer(2,(null as any),this,this._anchor_2); + this._TemplateRef_2_5 = new import11.TemplateRef_(this,2,this._anchor_2); + this._NgIf_2_6 = new import13.Wrapper_NgIf(this._vc_2.vcRef,this._TemplateRef_2_5); + this._text_3 = this.renderer.createText(parentRenderNode,'\n ',(null as any)); + this.init((null as any),((this.renderer).directRenderer? (null as any): [ + this._text_0, + this._text_1, + this._anchor_2, + this._text_3 + ] + ),(null as any)); return (null as any); } injectorGetInternal(token:any,requestNodeIndex:number,notFoundResult:any):any { - if (((token === import11.TemplateRef) && (0 === requestNodeIndex))) { return this._TemplateRef_0_5; } - if (((token === import15.NgTemplateOutlet) && (0 === requestNodeIndex))) { return this._NgTemplateOutlet_0_6.context; } + if (((token === import11.TemplateRef) && (2 === requestNodeIndex))) { return this._TemplateRef_2_5; } + if (((token === import14.NgIf) && (2 === requestNodeIndex))) { return this._NgIf_2_6.context; } return notFoundResult; } detectChangesInternal(throwOnChange:boolean):void { - const currVal_0_0_0:any = this._map_5(this.parentView.parentView.context.row); - this._NgTemplateOutlet_0_6.check_ngOutletContext(currVal_0_0_0,throwOnChange,false); - const currVal_0_0_1:any = this.parentView.parentView.context.rowDetailTemplate; - this._NgTemplateOutlet_0_6.check_ngTemplateOutlet(currVal_0_0_1,throwOnChange,false); - this._NgTemplateOutlet_0_6.ngDoCheck(this,this._anchor_0,throwOnChange); - this._vc_0.detectChangesInNestedViews(throwOnChange); + const currVal_2_0_0:any = this.context.expanded; + this._NgIf_2_6.check_ngIf(currVal_2_0_0,throwOnChange,false); + this._NgIf_2_6.ngDoCheck(this,this._anchor_2,throwOnChange); + this._vc_2.detectChangesInNestedViews(throwOnChange); } destroyInternal():void { - this._vc_0.destroyNestedViews(); - } - visitRootNodesInternal(cb:any,ctx:any):void { - cb(this._vc_0.nativeElement,ctx); - this._vc_0.visitNestedViewRootNodes(cb,ctx); - cb(this._el_1,ctx); + this._vc_2.destroyNestedViews(); } createEmbeddedViewInternal(nodeIndex:number):import2.AppView { - if ((nodeIndex == 0)) { return new View_DataTableRowWrapperComponent3(this.viewUtils,this,0,this._anchor_0,this._vc_0); } - return (null as any); - } -} -class View_DataTableRowWrapperComponent3 extends import2.AppView { - _text_0:any; - constructor(viewUtils:import3.ViewUtils,parentView:import2.AppView,parentIndex:number,parentElement:any,declaredViewContainer:import9.ViewContainer) { - super(View_DataTableRowWrapperComponent3,renderType_DataTableRowWrapperComponent,import6.ViewType.EMBEDDED,viewUtils,parentView,parentIndex,parentElement,import7.ChangeDetectorStatus.CheckAlways,declaredViewContainer); - } - createInternal(rootSelector:string):import8.ComponentRef { - this._text_0 = this.renderer.createText((null as any),'\n ',(null as any)); - this.init(this._text_0,((this.renderer).directRenderer? (null as any): [this._text_0]),(null as any)); + if ((nodeIndex == 2)) { return new View_DataTableRowWrapperComponent1(this.viewUtils,this,2,this._anchor_2,this._vc_2); } return (null as any); } - visitRootNodesInternal(cb:any,ctx:any):void { - cb(this._text_0,ctx); - } } \ No newline at end of file diff --git a/release/components/body/body-row.component.ngfactory.ts b/release/components/body/body-row.component.ngfactory.ts index f9d746068..72a79e09c 100644 --- a/release/components/body/body-row.component.ngfactory.ts +++ b/release/components/body/body-row.component.ngfactory.ts @@ -16,16 +16,16 @@ import * as import7 from '@angular/core/src/linker/view_type'; import * as import8 from '@angular/core/src/change_detection/constants'; import * as import9 from '@angular/core/src/linker/component_factory'; import * as import10 from '@angular/core/src/linker/element_ref'; -import * as import11 from '@angular/core/src/linker/view_container'; -import * as import12 from '../../../node_modules/@angular/common/src/directives/ng_for.ngfactory'; -import * as import13 from '@angular/core/src/linker/template_ref'; -import * as import14 from '@angular/core/src/change_detection/differs/iterable_differs'; -import * as import15 from '@angular/common/src/directives/ng_for'; -import * as import16 from '../../../node_modules/@angular/common/src/directives/ng_style.ngfactory'; -import * as import17 from '@angular/core/src/change_detection/differs/keyvalue_differs'; -import * as import18 from '@angular/common/src/directives/ng_style'; -import * as import19 from '../../../../src/components/body/body-cell.component'; -import * as import20 from './body-cell.component.ngfactory'; +import * as import11 from '../../../../src/components/body/body-cell.component'; +import * as import12 from './body-cell.component.ngfactory'; +import * as import13 from '@angular/core/src/linker/view_container'; +import * as import14 from '../../../node_modules/@angular/common/src/directives/ng_style.ngfactory'; +import * as import15 from '../../../node_modules/@angular/common/src/directives/ng_for.ngfactory'; +import * as import16 from '@angular/core/src/change_detection/differs/keyvalue_differs'; +import * as import17 from '@angular/core/src/linker/template_ref'; +import * as import18 from '@angular/core/src/change_detection/differs/iterable_differs'; +import * as import19 from '@angular/common/src/directives/ng_for'; +import * as import20 from '@angular/common/src/directives/ng_style'; export class Wrapper_DataTableBodyRowComponent { /*private*/ _eventHandler:Function; context:import0.DataTableBodyRowComponent; @@ -184,76 +184,86 @@ class View_DataTableBodyRowComponent_Host0 extends import2.AppView { } export const DataTableBodyRowComponentNgFactory:import9.ComponentFactory = new import9.ComponentFactory('datatable-body-row',View_DataTableBodyRowComponent_Host0,import0.DataTableBodyRowComponent); const styles_DataTableBodyRowComponent:any[] = ([] as any[]); -var renderType_DataTableBodyRowComponent:import5.RenderComponentType = import3.createRenderComponentType('',0,import6.ViewEncapsulation.None,styles_DataTableBodyRowComponent,{}); -export class View_DataTableBodyRowComponent0 extends import2.AppView { - _text_0:any; - _anchor_1:any; - /*private*/ _vc_1:import11.ViewContainer; - _TemplateRef_1_5:any; - _NgFor_1_6:import12.Wrapper_NgFor; - _text_2:any; - constructor(viewUtils:import3.ViewUtils,parentView:import2.AppView,parentIndex:number,parentElement:any) { - super(View_DataTableBodyRowComponent0,renderType_DataTableBodyRowComponent,import7.ViewType.COMPONENT,viewUtils,parentView,parentIndex,parentElement,import8.ChangeDetectorStatus.CheckAlways); +class View_DataTableBodyRowComponent2 extends import2.AppView { + _el_0:any; + compView_0:import2.AppView; + _DataTableBodyCellComponent_0_3:import12.Wrapper_DataTableBodyCellComponent; + _text_1:any; + constructor(viewUtils:import3.ViewUtils,parentView:import2.AppView,parentIndex:number,parentElement:any,declaredViewContainer:import13.ViewContainer) { + super(View_DataTableBodyRowComponent2,renderType_DataTableBodyRowComponent,import7.ViewType.EMBEDDED,viewUtils,parentView,parentIndex,parentElement,import8.ChangeDetectorStatus.CheckAlways,declaredViewContainer); } createInternal(rootSelector:string):import9.ComponentRef { - const parentRenderNode:any = this.renderer.createViewRoot(this.parentElement); - this._text_0 = this.renderer.createText(parentRenderNode,'\n ',(null as any)); - this._anchor_1 = this.renderer.createTemplateAnchor(parentRenderNode,(null as any)); - this._vc_1 = new import11.ViewContainer(1,(null as any),this,this._anchor_1); - this._TemplateRef_1_5 = new import13.TemplateRef_(this,1,this._anchor_1); - this._NgFor_1_6 = new import12.Wrapper_NgFor(this._vc_1.vcRef,this._TemplateRef_1_5,this.parentView.injectorGet(import14.IterableDiffers,this.parentIndex),this.ref); - this._text_2 = this.renderer.createText(parentRenderNode,'\n ',(null as any)); - this.init((null as any),((this.renderer).directRenderer? (null as any): [ - this._text_0, - this._anchor_1, - this._text_2 + this._el_0 = import3.createRenderElement(this.renderer,(null as any),'datatable-body-cell',new import3.InlineArray4(4,'class','datatable-body-cell','tabindex','-1'),(null as any)); + this.compView_0 = new import12.View_DataTableBodyCellComponent0(this.viewUtils,this,0,this._el_0); + this._DataTableBodyCellComponent_0_3 = new import12.Wrapper_DataTableBodyCellComponent(new import10.ElementRef(this._el_0)); + this._text_1 = this.renderer.createText((null as any),'\n ',(null as any)); + this.compView_0.create(this._DataTableBodyCellComponent_0_3.context); + var disposable_0:Function = import3.subscribeToRenderElement(this,this._el_0,new import3.InlineArray16(12,'activate',(null as any),'focus',(null as any),'blur',(null as any),'click',(null as any),'dblclick',(null as any),'keydown',(null as any)),this.eventHandler(this.handleEvent_0)); + this._DataTableBodyCellComponent_0_3.subscribe(this,this.eventHandler(this.handleEvent_0),true); + this.init(this._el_0,((this.renderer).directRenderer? (null as any): [ + this._el_0, + this._text_1 ] - ),(null as any)); + ),[disposable_0]); return (null as any); } injectorGetInternal(token:any,requestNodeIndex:number,notFoundResult:any):any { - if (((token === import13.TemplateRef) && (1 === requestNodeIndex))) { return this._TemplateRef_1_5; } - if (((token === import15.NgFor) && (1 === requestNodeIndex))) { return this._NgFor_1_6.context; } + if (((token === import11.DataTableBodyCellComponent) && ((0 <= requestNodeIndex) && (requestNodeIndex <= 1)))) { return this._DataTableBodyCellComponent_0_3.context; } return notFoundResult; } detectChangesInternal(throwOnChange:boolean):void { - const currVal_1_0_0:any = this.context.columnsByPin; - this._NgFor_1_6.check_ngForOf(currVal_1_0_0,throwOnChange,false); - const currVal_1_0_1:any = this.context.trackByGroups; - this._NgFor_1_6.check_ngForTrackBy(currVal_1_0_1,throwOnChange,false); - this._NgFor_1_6.ngDoCheck(this,this._anchor_1,throwOnChange); - this._vc_1.detectChangesInNestedViews(throwOnChange); + const currVal_0_0_0:any = this.parentView.parentView.context.row; + this._DataTableBodyCellComponent_0_3.check_row(currVal_0_0_0,throwOnChange,false); + const currVal_0_0_1:any = this.context.$implicit; + this._DataTableBodyCellComponent_0_3.check_column(currVal_0_0_1,throwOnChange,false); + const currVal_0_0_2:any = this.parentView.parentView.context.rowHeight; + this._DataTableBodyCellComponent_0_3.check_rowHeight(currVal_0_0_2,throwOnChange,false); + const currVal_0_0_3:any = this.parentView.parentView.context.isSelected; + this._DataTableBodyCellComponent_0_3.check_isSelected(currVal_0_0_3,throwOnChange,false); + this._DataTableBodyCellComponent_0_3.ngDoCheck(this,this._el_0,throwOnChange); + this._DataTableBodyCellComponent_0_3.checkHost(this,this.compView_0,this._el_0,throwOnChange); + this.compView_0.internalDetectChanges(throwOnChange); } destroyInternal():void { - this._vc_1.destroyNestedViews(); + this.compView_0.destroy(); + this._DataTableBodyCellComponent_0_3.ngOnDestroy(); } - createEmbeddedViewInternal(nodeIndex:number):import2.AppView { - if ((nodeIndex == 1)) { return new View_DataTableBodyRowComponent1(this.viewUtils,this,1,this._anchor_1,this._vc_1); } - return (null as any); + visitRootNodesInternal(cb:any,ctx:any):void { + cb(this._el_0,ctx); + } + handleEvent_0(eventName:string,$event:any):boolean { + this.compView_0.markPathToRootAsCheckOnce(); + var result:boolean = true; + result = (this._DataTableBodyCellComponent_0_3.handleEvent(eventName,$event) && result); + if ((eventName == 'activate')) { + const pd_sub_0:any = ((this.parentView.parentView.context.onActivate($event,this.context.index)) !== false); + result = (pd_sub_0 && result); + } + return result; } } class View_DataTableBodyRowComponent1 extends import2.AppView { _el_0:any; - _NgStyle_0_3:import16.Wrapper_NgStyle; + _NgStyle_0_3:import14.Wrapper_NgStyle; _text_1:any; _anchor_2:any; - /*private*/ _vc_2:import11.ViewContainer; + /*private*/ _vc_2:import13.ViewContainer; _TemplateRef_2_5:any; - _NgFor_2_6:import12.Wrapper_NgFor; + _NgFor_2_6:import15.Wrapper_NgFor; _text_3:any; /*private*/ _expr_8:any; - constructor(viewUtils:import3.ViewUtils,parentView:import2.AppView,parentIndex:number,parentElement:any,declaredViewContainer:import11.ViewContainer) { + constructor(viewUtils:import3.ViewUtils,parentView:import2.AppView,parentIndex:number,parentElement:any,declaredViewContainer:import13.ViewContainer) { super(View_DataTableBodyRowComponent1,renderType_DataTableBodyRowComponent,import7.ViewType.EMBEDDED,viewUtils,parentView,parentIndex,parentElement,import8.ChangeDetectorStatus.CheckAlways,declaredViewContainer); this._expr_8 = import1.UNINITIALIZED; } createInternal(rootSelector:string):import9.ComponentRef { this._el_0 = import3.createRenderElement(this.renderer,(null as any),'div',import3.EMPTY_INLINE_ARRAY,(null as any)); - this._NgStyle_0_3 = new import16.Wrapper_NgStyle(this.parentView.injectorGet(import17.KeyValueDiffers,this.parentIndex),new import10.ElementRef(this._el_0),this.renderer); + this._NgStyle_0_3 = new import14.Wrapper_NgStyle(this.parentView.injectorGet(import16.KeyValueDiffers,this.parentIndex),new import10.ElementRef(this._el_0),this.renderer); this._text_1 = this.renderer.createText(this._el_0,'\n ',(null as any)); this._anchor_2 = this.renderer.createTemplateAnchor(this._el_0,(null as any)); - this._vc_2 = new import11.ViewContainer(2,0,this,this._anchor_2); - this._TemplateRef_2_5 = new import13.TemplateRef_(this,2,this._anchor_2); - this._NgFor_2_6 = new import12.Wrapper_NgFor(this._vc_2.vcRef,this._TemplateRef_2_5,this.parentView.injectorGet(import14.IterableDiffers,this.parentIndex),this.parentView.ref); + this._vc_2 = new import13.ViewContainer(2,0,this,this._anchor_2); + this._TemplateRef_2_5 = new import17.TemplateRef_(this,2,this._anchor_2); + this._NgFor_2_6 = new import15.Wrapper_NgFor(this._vc_2.vcRef,this._TemplateRef_2_5,this.parentView.injectorGet(import18.IterableDiffers,this.parentIndex),this.parentView.ref); this._text_3 = this.renderer.createText(this._el_0,'\n ',(null as any)); this.init(this._el_0,((this.renderer).directRenderer? (null as any): [ this._el_0, @@ -265,9 +275,9 @@ class View_DataTableBodyRowComponent1 extends import2.AppView { return (null as any); } injectorGetInternal(token:any,requestNodeIndex:number,notFoundResult:any):any { - if (((token === import13.TemplateRef) && (2 === requestNodeIndex))) { return this._TemplateRef_2_5; } - if (((token === import15.NgFor) && (2 === requestNodeIndex))) { return this._NgFor_2_6.context; } - if (((token === import18.NgStyle) && ((0 <= requestNodeIndex) && (requestNodeIndex <= 3)))) { return this._NgStyle_0_3.context; } + if (((token === import17.TemplateRef) && (2 === requestNodeIndex))) { return this._TemplateRef_2_5; } + if (((token === import19.NgFor) && (2 === requestNodeIndex))) { return this._NgFor_2_6.context; } + if (((token === import20.NgStyle) && ((0 <= requestNodeIndex) && (requestNodeIndex <= 3)))) { return this._NgStyle_0_3.context; } return notFoundResult; } detectChangesInternal(throwOnChange:boolean):void { @@ -297,61 +307,51 @@ class View_DataTableBodyRowComponent1 extends import2.AppView { return (null as any); } } -class View_DataTableBodyRowComponent2 extends import2.AppView { - _el_0:any; - compView_0:import2.AppView; - _DataTableBodyCellComponent_0_3:import20.Wrapper_DataTableBodyCellComponent; - _text_1:any; - constructor(viewUtils:import3.ViewUtils,parentView:import2.AppView,parentIndex:number,parentElement:any,declaredViewContainer:import11.ViewContainer) { - super(View_DataTableBodyRowComponent2,renderType_DataTableBodyRowComponent,import7.ViewType.EMBEDDED,viewUtils,parentView,parentIndex,parentElement,import8.ChangeDetectorStatus.CheckAlways,declaredViewContainer); +var renderType_DataTableBodyRowComponent:import5.RenderComponentType = import3.createRenderComponentType('',0,import6.ViewEncapsulation.None,styles_DataTableBodyRowComponent,{}); +export class View_DataTableBodyRowComponent0 extends import2.AppView { + _text_0:any; + _anchor_1:any; + /*private*/ _vc_1:import13.ViewContainer; + _TemplateRef_1_5:any; + _NgFor_1_6:import15.Wrapper_NgFor; + _text_2:any; + constructor(viewUtils:import3.ViewUtils,parentView:import2.AppView,parentIndex:number,parentElement:any) { + super(View_DataTableBodyRowComponent0,renderType_DataTableBodyRowComponent,import7.ViewType.COMPONENT,viewUtils,parentView,parentIndex,parentElement,import8.ChangeDetectorStatus.CheckAlways); } createInternal(rootSelector:string):import9.ComponentRef { - this._el_0 = import3.createRenderElement(this.renderer,(null as any),'datatable-body-cell',new import3.InlineArray4(4,'class','datatable-body-cell','tabindex','-1'),(null as any)); - this.compView_0 = new import20.View_DataTableBodyCellComponent0(this.viewUtils,this,0,this._el_0); - this._DataTableBodyCellComponent_0_3 = new import20.Wrapper_DataTableBodyCellComponent(new import10.ElementRef(this._el_0)); - this._text_1 = this.renderer.createText((null as any),'\n ',(null as any)); - this.compView_0.create(this._DataTableBodyCellComponent_0_3.context); - var disposable_0:Function = import3.subscribeToRenderElement(this,this._el_0,new import3.InlineArray16(12,'activate',(null as any),'focus',(null as any),'blur',(null as any),'click',(null as any),'dblclick',(null as any),'keydown',(null as any)),this.eventHandler(this.handleEvent_0)); - this._DataTableBodyCellComponent_0_3.subscribe(this,this.eventHandler(this.handleEvent_0),true); - this.init(this._el_0,((this.renderer).directRenderer? (null as any): [ - this._el_0, - this._text_1 + const parentRenderNode:any = this.renderer.createViewRoot(this.parentElement); + this._text_0 = this.renderer.createText(parentRenderNode,'\n ',(null as any)); + this._anchor_1 = this.renderer.createTemplateAnchor(parentRenderNode,(null as any)); + this._vc_1 = new import13.ViewContainer(1,(null as any),this,this._anchor_1); + this._TemplateRef_1_5 = new import17.TemplateRef_(this,1,this._anchor_1); + this._NgFor_1_6 = new import15.Wrapper_NgFor(this._vc_1.vcRef,this._TemplateRef_1_5,this.parentView.injectorGet(import18.IterableDiffers,this.parentIndex),this.ref); + this._text_2 = this.renderer.createText(parentRenderNode,'\n ',(null as any)); + this.init((null as any),((this.renderer).directRenderer? (null as any): [ + this._text_0, + this._anchor_1, + this._text_2 ] - ),[disposable_0]); + ),(null as any)); return (null as any); } injectorGetInternal(token:any,requestNodeIndex:number,notFoundResult:any):any { - if (((token === import19.DataTableBodyCellComponent) && ((0 <= requestNodeIndex) && (requestNodeIndex <= 1)))) { return this._DataTableBodyCellComponent_0_3.context; } + if (((token === import17.TemplateRef) && (1 === requestNodeIndex))) { return this._TemplateRef_1_5; } + if (((token === import19.NgFor) && (1 === requestNodeIndex))) { return this._NgFor_1_6.context; } return notFoundResult; } detectChangesInternal(throwOnChange:boolean):void { - const currVal_0_0_0:any = this.parentView.parentView.context.row; - this._DataTableBodyCellComponent_0_3.check_row(currVal_0_0_0,throwOnChange,false); - const currVal_0_0_1:any = this.context.$implicit; - this._DataTableBodyCellComponent_0_3.check_column(currVal_0_0_1,throwOnChange,false); - const currVal_0_0_2:any = this.parentView.parentView.context.rowHeight; - this._DataTableBodyCellComponent_0_3.check_rowHeight(currVal_0_0_2,throwOnChange,false); - const currVal_0_0_3:any = this.parentView.parentView.context.isSelected; - this._DataTableBodyCellComponent_0_3.check_isSelected(currVal_0_0_3,throwOnChange,false); - this._DataTableBodyCellComponent_0_3.ngDoCheck(this,this._el_0,throwOnChange); - this._DataTableBodyCellComponent_0_3.checkHost(this,this.compView_0,this._el_0,throwOnChange); - this.compView_0.internalDetectChanges(throwOnChange); + const currVal_1_0_0:any = this.context.columnsByPin; + this._NgFor_1_6.check_ngForOf(currVal_1_0_0,throwOnChange,false); + const currVal_1_0_1:any = this.context.trackByGroups; + this._NgFor_1_6.check_ngForTrackBy(currVal_1_0_1,throwOnChange,false); + this._NgFor_1_6.ngDoCheck(this,this._anchor_1,throwOnChange); + this._vc_1.detectChangesInNestedViews(throwOnChange); } destroyInternal():void { - this.compView_0.destroy(); - this._DataTableBodyCellComponent_0_3.ngOnDestroy(); - } - visitRootNodesInternal(cb:any,ctx:any):void { - cb(this._el_0,ctx); + this._vc_1.destroyNestedViews(); } - handleEvent_0(eventName:string,$event:any):boolean { - this.compView_0.markPathToRootAsCheckOnce(); - var result:boolean = true; - result = (this._DataTableBodyCellComponent_0_3.handleEvent(eventName,$event) && result); - if ((eventName == 'activate')) { - const pd_sub_0:any = ((this.parentView.parentView.context.onActivate($event,this.context.index)) !== false); - result = (pd_sub_0 && result); - } - return result; + createEmbeddedViewInternal(nodeIndex:number):import2.AppView { + if ((nodeIndex == 1)) { return new View_DataTableBodyRowComponent1(this.viewUtils,this,1,this._anchor_1,this._vc_1); } + return (null as any); } } \ No newline at end of file diff --git a/release/components/body/body.component.ngfactory.ts b/release/components/body/body.component.ngfactory.ts index a24efd122..1c47c59da 100644 --- a/release/components/body/body.component.ngfactory.ts +++ b/release/components/body/body.component.ngfactory.ts @@ -15,28 +15,28 @@ import * as import6 from '@angular/core/src/metadata/view'; import * as import7 from '@angular/core/src/linker/view_type'; import * as import8 from '@angular/core/src/change_detection/constants'; import * as import9 from '@angular/core/src/linker/component_factory'; -import * as import10 from '@angular/core/src/linker/query_list'; -import * as import11 from '../../../../src/components/body/selection.component'; -import * as import12 from './selection.component.ngfactory'; -import * as import13 from '@angular/core/src/linker/view_container'; -import * as import14 from '../../../node_modules/@angular/common/src/directives/ng_if.ngfactory'; -import * as import15 from '@angular/core/src/linker/template_ref'; -import * as import16 from '@angular/common/src/directives/ng_if'; -import * as import17 from '../../../../src/components/body/progress-bar.component'; -import * as import18 from './progress-bar.component.ngfactory'; -import * as import19 from '../../../../src/components/body/scroller.component'; -import * as import20 from './scroller.component.ngfactory'; -import * as import21 from '../../../node_modules/@angular/common/src/directives/ng_for.ngfactory'; -import * as import22 from '@angular/core/src/linker/element_ref'; -import * as import23 from '@angular/core/src/change_detection/differs/iterable_differs'; -import * as import24 from '@angular/common/src/directives/ng_for'; -import * as import25 from '../../../../src/components/body/body-row-wrapper.component'; -import * as import26 from '../../../node_modules/@angular/common/src/directives/ng_style.ngfactory'; -import * as import27 from './body-row-wrapper.component.ngfactory'; -import * as import28 from '../../../../src/components/body/body-row.component'; -import * as import29 from './body-row.component.ngfactory'; -import * as import30 from '@angular/core/src/change_detection/differs/keyvalue_differs'; -import * as import31 from '@angular/common/src/directives/ng_style'; +import * as import10 from '../../../../src/components/body/progress-bar.component'; +import * as import11 from './progress-bar.component.ngfactory'; +import * as import12 from '@angular/core/src/linker/view_container'; +import * as import13 from '../../../../src/components/body/body-row-wrapper.component'; +import * as import14 from '../../../node_modules/@angular/common/src/directives/ng_style.ngfactory'; +import * as import15 from './body-row-wrapper.component.ngfactory'; +import * as import16 from '../../../../src/components/body/body-row.component'; +import * as import17 from './body-row.component.ngfactory'; +import * as import18 from '@angular/core/src/change_detection/differs/keyvalue_differs'; +import * as import19 from '@angular/core/src/linker/element_ref'; +import * as import20 from '@angular/common/src/directives/ng_style'; +import * as import21 from '../../../../src/components/body/scroller.component'; +import * as import22 from './scroller.component.ngfactory'; +import * as import23 from '../../../node_modules/@angular/common/src/directives/ng_for.ngfactory'; +import * as import24 from '@angular/core/src/linker/template_ref'; +import * as import25 from '@angular/core/src/change_detection/differs/iterable_differs'; +import * as import26 from '@angular/common/src/directives/ng_for'; +import * as import27 from '@angular/core/src/linker/query_list'; +import * as import28 from '../../../../src/components/body/selection.component'; +import * as import29 from './selection.component.ngfactory'; +import * as import30 from '../../../node_modules/@angular/common/src/directives/ng_if.ngfactory'; +import * as import31 from '@angular/common/src/directives/ng_if'; export class Wrapper_DataTableBodyComponent { /*private*/ _eventHandler:Function; context:import0.DataTableBodyComponent; @@ -311,172 +311,18 @@ class View_DataTableBodyComponent_Host0 extends import2.AppView { } export const DataTableBodyComponentNgFactory:import9.ComponentFactory = new import9.ComponentFactory('datatable-body',View_DataTableBodyComponent_Host0,import0.DataTableBodyComponent); const styles_DataTableBodyComponent:any[] = ([] as any[]); -var renderType_DataTableBodyComponent:import5.RenderComponentType = import3.createRenderComponentType('',0,import6.ViewEncapsulation.None,styles_DataTableBodyComponent,{}); -export class View_DataTableBodyComponent0 extends import2.AppView { - _viewQuery_ScrollerComponent_0:import10.QueryList; - _text_0:any; - _el_1:any; - compView_1:import2.AppView; - _DataTableSelectionComponent_1_3:import12.Wrapper_DataTableSelectionComponent; - _text_2:any; - _anchor_3:any; - /*private*/ _vc_3:import13.ViewContainer; - _TemplateRef_3_5:any; - _NgIf_3_6:import14.Wrapper_NgIf; - _text_4:any; - _anchor_5:any; - /*private*/ _vc_5:import13.ViewContainer; - _TemplateRef_5_5:any; - _NgIf_5_6:import14.Wrapper_NgIf; - _text_6:any; - _anchor_7:any; - /*private*/ _vc_7:import13.ViewContainer; - _TemplateRef_7_5:any; - _NgIf_7_6:import14.Wrapper_NgIf; - _text_8:any; - _text_9:any; - constructor(viewUtils:import3.ViewUtils,parentView:import2.AppView,parentIndex:number,parentElement:any) { - super(View_DataTableBodyComponent0,renderType_DataTableBodyComponent,import7.ViewType.COMPONENT,viewUtils,parentView,parentIndex,parentElement,import8.ChangeDetectorStatus.CheckAlways); - } - createInternal(rootSelector:string):import9.ComponentRef { - const parentRenderNode:any = this.renderer.createViewRoot(this.parentElement); - this._viewQuery_ScrollerComponent_0 = new import10.QueryList(); - this._text_0 = this.renderer.createText(parentRenderNode,'\n ',(null as any)); - this._el_1 = import3.createRenderElement(this.renderer,parentRenderNode,'datatable-selection',import3.EMPTY_INLINE_ARRAY,(null as any)); - this.compView_1 = new import12.View_DataTableSelectionComponent0(this.viewUtils,this,1,this._el_1); - this._DataTableSelectionComponent_1_3 = new import12.Wrapper_DataTableSelectionComponent(); - this._text_2 = this.renderer.createText((null as any),'\n ',(null as any)); - this._anchor_3 = this.renderer.createTemplateAnchor((null as any),(null as any)); - this._vc_3 = new import13.ViewContainer(3,1,this,this._anchor_3); - this._TemplateRef_3_5 = new import15.TemplateRef_(this,3,this._anchor_3); - this._NgIf_3_6 = new import14.Wrapper_NgIf(this._vc_3.vcRef,this._TemplateRef_3_5); - this._text_4 = this.renderer.createText((null as any),'\n ',(null as any)); - this._anchor_5 = this.renderer.createTemplateAnchor((null as any),(null as any)); - this._vc_5 = new import13.ViewContainer(5,1,this,this._anchor_5); - this._TemplateRef_5_5 = new import15.TemplateRef_(this,5,this._anchor_5); - this._NgIf_5_6 = new import14.Wrapper_NgIf(this._vc_5.vcRef,this._TemplateRef_5_5); - this._text_6 = this.renderer.createText((null as any),'\n ',(null as any)); - this._anchor_7 = this.renderer.createTemplateAnchor((null as any),(null as any)); - this._vc_7 = new import13.ViewContainer(7,1,this,this._anchor_7); - this._TemplateRef_7_5 = new import15.TemplateRef_(this,7,this._anchor_7); - this._NgIf_7_6 = new import14.Wrapper_NgIf(this._vc_7.vcRef,this._TemplateRef_7_5); - this._text_8 = this.renderer.createText((null as any),'\n ',(null as any)); - this.compView_1.create(this._DataTableSelectionComponent_1_3.context); - this._text_9 = this.renderer.createText(parentRenderNode,'\n ',(null as any)); - var disposable_0:Function = import3.subscribeToRenderElement(this,this._el_1,new import3.InlineArray4(4,'select',(null as any),'activate',(null as any)),this.eventHandler(this.handleEvent_1)); - this._DataTableSelectionComponent_1_3.subscribe(this,this.eventHandler(this.handleEvent_1),true,true); - this.init((null as any),((this.renderer).directRenderer? (null as any): [ - this._text_0, - this._el_1, - this._text_2, - this._anchor_3, - this._text_4, - this._anchor_5, - this._text_6, - this._anchor_7, - this._text_8, - this._text_9 - ] - ),[disposable_0]); - return (null as any); - } - injectorGetInternal(token:any,requestNodeIndex:number,notFoundResult:any):any { - if (((token === import15.TemplateRef) && (3 === requestNodeIndex))) { return this._TemplateRef_3_5; } - if (((token === import16.NgIf) && (3 === requestNodeIndex))) { return this._NgIf_3_6.context; } - if (((token === import15.TemplateRef) && (5 === requestNodeIndex))) { return this._TemplateRef_5_5; } - if (((token === import16.NgIf) && (5 === requestNodeIndex))) { return this._NgIf_5_6.context; } - if (((token === import15.TemplateRef) && (7 === requestNodeIndex))) { return this._TemplateRef_7_5; } - if (((token === import16.NgIf) && (7 === requestNodeIndex))) { return this._NgIf_7_6.context; } - if (((token === import11.DataTableSelectionComponent) && ((1 <= requestNodeIndex) && (requestNodeIndex <= 8)))) { return this._DataTableSelectionComponent_1_3.context; } - return notFoundResult; - } - detectChangesInternal(throwOnChange:boolean):void { - const currVal_1_0_0:any = this.context.temp; - this._DataTableSelectionComponent_1_3.check_rows(currVal_1_0_0,throwOnChange,false); - const currVal_1_0_1:any = this.context.selected; - this._DataTableSelectionComponent_1_3.check_selected(currVal_1_0_1,throwOnChange,false); - const currVal_1_0_2:any = this.context.selectEnabled; - this._DataTableSelectionComponent_1_3.check_selectEnabled(currVal_1_0_2,throwOnChange,false); - const currVal_1_0_3:any = this.context.selectionType; - this._DataTableSelectionComponent_1_3.check_selectionType(currVal_1_0_3,throwOnChange,false); - const currVal_1_0_4:any = this.context.rowIdentity; - this._DataTableSelectionComponent_1_3.check_rowIdentity(currVal_1_0_4,throwOnChange,false); - const currVal_1_0_5:any = this.context.selectCheck; - this._DataTableSelectionComponent_1_3.check_selectCheck(currVal_1_0_5,throwOnChange,false); - this._DataTableSelectionComponent_1_3.ngDoCheck(this,this._el_1,throwOnChange); - const currVal_3_0_0:any = this.context.loadingIndicator; - this._NgIf_3_6.check_ngIf(currVal_3_0_0,throwOnChange,false); - this._NgIf_3_6.ngDoCheck(this,this._anchor_3,throwOnChange); - const currVal_5_0_0:any = ((this.context.rows == null)? (null as any): this.context.rows.length); - this._NgIf_5_6.check_ngIf(currVal_5_0_0,throwOnChange,false); - this._NgIf_5_6.ngDoCheck(this,this._anchor_5,throwOnChange); - const currVal_7_0_0:boolean = !((this.context.rows == null)? (null as any): this.context.rows.length); - this._NgIf_7_6.check_ngIf(currVal_7_0_0,throwOnChange,false); - this._NgIf_7_6.ngDoCheck(this,this._anchor_7,throwOnChange); - this._vc_3.detectChangesInNestedViews(throwOnChange); - this._vc_5.detectChangesInNestedViews(throwOnChange); - this._vc_7.detectChangesInNestedViews(throwOnChange); - this.compView_1.internalDetectChanges(throwOnChange); - if (!throwOnChange) { if (this._viewQuery_ScrollerComponent_0.dirty) { - this._viewQuery_ScrollerComponent_0.reset([this._vc_5.mapNestedViews(View_DataTableBodyComponent2,(nestedView:View_DataTableBodyComponent2):any => { - return [nestedView._ScrollerComponent_0_3.context]; - })]); - this.context.scroller = this._viewQuery_ScrollerComponent_0.first; - } } - } - destroyInternal():void { - this._vc_3.destroyNestedViews(); - this._vc_5.destroyNestedViews(); - this._vc_7.destroyNestedViews(); - this.compView_1.destroy(); - this._DataTableSelectionComponent_1_3.ngOnDestroy(); - } - visitProjectableNodesInternal(nodeIndex:number,ngContentIndex:number,cb:any,ctx:any):void { - if (((nodeIndex == 1) && (ngContentIndex == 0))) { - cb(this._text_2,ctx); - cb(this._vc_3.nativeElement,ctx); - this._vc_3.visitNestedViewRootNodes(cb,ctx); - cb(this._text_4,ctx); - cb(this._vc_5.nativeElement,ctx); - this._vc_5.visitNestedViewRootNodes(cb,ctx); - cb(this._text_6,ctx); - cb(this._vc_7.nativeElement,ctx); - this._vc_7.visitNestedViewRootNodes(cb,ctx); - cb(this._text_8,ctx); - } - } - createEmbeddedViewInternal(nodeIndex:number):import2.AppView { - if ((nodeIndex == 3)) { return new View_DataTableBodyComponent1(this.viewUtils,this,3,this._anchor_3,this._vc_3); } - if ((nodeIndex == 5)) { return new View_DataTableBodyComponent2(this.viewUtils,this,5,this._anchor_5,this._vc_5); } - if ((nodeIndex == 7)) { return new View_DataTableBodyComponent4(this.viewUtils,this,7,this._anchor_7,this._vc_7); } - return (null as any); - } - handleEvent_1(eventName:string,$event:any):boolean { - this.markPathToRootAsCheckOnce(); - var result:boolean = true; - if ((eventName == 'select')) { - const pd_sub_0:any = ((this.context.select.emit($event)) !== false); - result = (pd_sub_0 && result); - } - if ((eventName == 'activate')) { - const pd_sub_1:any = ((this.context.activate.emit($event)) !== false); - result = (pd_sub_1 && result); - } - return result; - } -} class View_DataTableBodyComponent1 extends import2.AppView { _el_0:any; - compView_0:import2.AppView; - _ProgressBarComponent_0_3:import18.Wrapper_ProgressBarComponent; + compView_0:import2.AppView; + _ProgressBarComponent_0_3:import11.Wrapper_ProgressBarComponent; _text_1:any; - constructor(viewUtils:import3.ViewUtils,parentView:import2.AppView,parentIndex:number,parentElement:any,declaredViewContainer:import13.ViewContainer) { + constructor(viewUtils:import3.ViewUtils,parentView:import2.AppView,parentIndex:number,parentElement:any,declaredViewContainer:import12.ViewContainer) { super(View_DataTableBodyComponent1,renderType_DataTableBodyComponent,import7.ViewType.EMBEDDED,viewUtils,parentView,parentIndex,parentElement,import8.ChangeDetectorStatus.CheckAlways,declaredViewContainer); } createInternal(rootSelector:string):import9.ComponentRef { this._el_0 = import3.createRenderElement(this.renderer,(null as any),'datatable-progress',import3.EMPTY_INLINE_ARRAY,(null as any)); - this.compView_0 = new import18.View_ProgressBarComponent0(this.viewUtils,this,0,this._el_0); - this._ProgressBarComponent_0_3 = new import18.Wrapper_ProgressBarComponent(); + this.compView_0 = new import11.View_ProgressBarComponent0(this.viewUtils,this,0,this._el_0); + this._ProgressBarComponent_0_3 = new import11.Wrapper_ProgressBarComponent(); this._text_1 = this.renderer.createText((null as any),'\n ',(null as any)); this.compView_0.create(this._ProgressBarComponent_0_3.context); this.init(this._el_0,((this.renderer).directRenderer? (null as any): [ @@ -487,7 +333,7 @@ class View_DataTableBodyComponent1 extends import2.AppView { return (null as any); } injectorGetInternal(token:any,requestNodeIndex:number,notFoundResult:any):any { - if (((token === import17.ProgressBarComponent) && ((0 <= requestNodeIndex) && (requestNodeIndex <= 1)))) { return this._ProgressBarComponent_0_3.context; } + if (((token === import10.ProgressBarComponent) && ((0 <= requestNodeIndex) && (requestNodeIndex <= 1)))) { return this._ProgressBarComponent_0_3.context; } return notFoundResult; } detectChangesInternal(throwOnChange:boolean):void { @@ -501,122 +347,29 @@ class View_DataTableBodyComponent1 extends import2.AppView { cb(this._el_0,ctx); } } -class View_DataTableBodyComponent2 extends import2.AppView { - _el_0:any; - compView_0:import2.AppView; - _ScrollerComponent_0_3:import20.Wrapper_ScrollerComponent; - _text_1:any; - _anchor_2:any; - /*private*/ _vc_2:import13.ViewContainer; - _TemplateRef_2_5:any; - _NgFor_2_6:import21.Wrapper_NgFor; - _text_3:any; - constructor(viewUtils:import3.ViewUtils,parentView:import2.AppView,parentIndex:number,parentElement:any,declaredViewContainer:import13.ViewContainer) { - super(View_DataTableBodyComponent2,renderType_DataTableBodyComponent,import7.ViewType.EMBEDDED,viewUtils,parentView,parentIndex,parentElement,import8.ChangeDetectorStatus.CheckAlways,declaredViewContainer); - } - createInternal(rootSelector:string):import9.ComponentRef { - this._el_0 = import3.createRenderElement(this.renderer,(null as any),'datatable-scroller',new import3.InlineArray2(2,'class','datatable-scroll'),(null as any)); - this.compView_0 = new import20.View_ScrollerComponent0(this.viewUtils,this,0,this._el_0); - this._ScrollerComponent_0_3 = new import20.Wrapper_ScrollerComponent(new import22.ElementRef(this._el_0),this.renderer); - this._text_1 = this.renderer.createText((null as any),'\n ',(null as any)); - this._anchor_2 = this.renderer.createTemplateAnchor((null as any),(null as any)); - this._vc_2 = new import13.ViewContainer(2,0,this,this._anchor_2); - this._TemplateRef_2_5 = new import15.TemplateRef_(this,2,this._anchor_2); - this._NgFor_2_6 = new import21.Wrapper_NgFor(this._vc_2.vcRef,this._TemplateRef_2_5,this.parentView.parentView.injectorGet(import23.IterableDiffers,this.parentView.parentIndex),this.parentView.ref); - this._text_3 = this.renderer.createText((null as any),'\n ',(null as any)); - this.compView_0.create(this._ScrollerComponent_0_3.context); - var disposable_0:Function = import3.subscribeToRenderElement(this,this._el_0,new import3.InlineArray2(2,'scroll',(null as any)),this.eventHandler(this.handleEvent_0)); - this._ScrollerComponent_0_3.subscribe(this,this.eventHandler(this.handleEvent_0),true); - this.init(this._el_0,((this.renderer).directRenderer? (null as any): [ - this._el_0, - this._text_1, - this._anchor_2, - this._text_3 - ] - ),[disposable_0]); - return (null as any); - } - injectorGetInternal(token:any,requestNodeIndex:number,notFoundResult:any):any { - if (((token === import15.TemplateRef) && (2 === requestNodeIndex))) { return this._TemplateRef_2_5; } - if (((token === import24.NgFor) && (2 === requestNodeIndex))) { return this._NgFor_2_6.context; } - if (((token === import19.ScrollerComponent) && ((0 <= requestNodeIndex) && (requestNodeIndex <= 3)))) { return this._ScrollerComponent_0_3.context; } - return notFoundResult; - } - detectChangesInternal(throwOnChange:boolean):void { - const currVal_0_0_0:any = this.parentView.context.scrollbarV; - this._ScrollerComponent_0_3.check_scrollbarV(currVal_0_0_0,throwOnChange,false); - const currVal_0_0_1:any = this.parentView.context.scrollbarH; - this._ScrollerComponent_0_3.check_scrollbarH(currVal_0_0_1,throwOnChange,false); - const currVal_0_0_2:any = this.parentView.context.scrollHeight; - this._ScrollerComponent_0_3.check_scrollHeight(currVal_0_0_2,throwOnChange,false); - const currVal_0_0_3:any = this.parentView.context.columnGroupWidths.total; - this._ScrollerComponent_0_3.check_scrollWidth(currVal_0_0_3,throwOnChange,false); - this._ScrollerComponent_0_3.ngDoCheck(this,this._el_0,throwOnChange); - const currVal_2_0_0:any = this.parentView.context.temp; - this._NgFor_2_6.check_ngForOf(currVal_2_0_0,throwOnChange,false); - const currVal_2_0_1:any = this.parentView.context.rowTrackingFn; - this._NgFor_2_6.check_ngForTrackBy(currVal_2_0_1,throwOnChange,false); - this._NgFor_2_6.ngDoCheck(this,this._anchor_2,throwOnChange); - this._vc_2.detectChangesInNestedViews(throwOnChange); - this._ScrollerComponent_0_3.checkHost(this,this.compView_0,this._el_0,throwOnChange); - this.compView_0.internalDetectChanges(throwOnChange); - } - dirtyParentQueriesInternal():void { - (this.parentView)._viewQuery_ScrollerComponent_0.setDirty(); - } - destroyInternal():void { - this._vc_2.destroyNestedViews(); - this.compView_0.destroy(); - this._ScrollerComponent_0_3.ngOnDestroy(); - } - visitRootNodesInternal(cb:any,ctx:any):void { - cb(this._el_0,ctx); - } - visitProjectableNodesInternal(nodeIndex:number,ngContentIndex:number,cb:any,ctx:any):void { - if (((nodeIndex == 0) && (ngContentIndex == 0))) { - cb(this._text_1,ctx); - cb(this._vc_2.nativeElement,ctx); - this._vc_2.visitNestedViewRootNodes(cb,ctx); - cb(this._text_3,ctx); - } - } - createEmbeddedViewInternal(nodeIndex:number):import2.AppView { - if ((nodeIndex == 2)) { return new View_DataTableBodyComponent3(this.viewUtils,this,2,this._anchor_2,this._vc_2); } - return (null as any); - } - handleEvent_0(eventName:string,$event:any):boolean { - this.markPathToRootAsCheckOnce(); - var result:boolean = true; - if ((eventName == 'scroll')) { - const pd_sub_0:any = ((this.parentView.context.onBodyScroll($event)) !== false); - result = (pd_sub_0 && result); - } - return result; - } -} class View_DataTableBodyComponent3 extends import2.AppView { _el_0:any; - compView_0:import2.AppView; - _NgStyle_0_3:import26.Wrapper_NgStyle; - _DataTableRowWrapperComponent_0_4:import27.Wrapper_DataTableRowWrapperComponent; + compView_0:import2.AppView; + _NgStyle_0_3:import14.Wrapper_NgStyle; + _DataTableRowWrapperComponent_0_4:import15.Wrapper_DataTableRowWrapperComponent; _text_1:any; _el_2:any; - compView_2:import2.AppView; - _DataTableBodyRowComponent_2_3:import29.Wrapper_DataTableBodyRowComponent; + compView_2:import2.AppView; + _DataTableBodyRowComponent_2_3:import17.Wrapper_DataTableBodyRowComponent; _text_3:any; _text_4:any; - constructor(viewUtils:import3.ViewUtils,parentView:import2.AppView,parentIndex:number,parentElement:any,declaredViewContainer:import13.ViewContainer) { + constructor(viewUtils:import3.ViewUtils,parentView:import2.AppView,parentIndex:number,parentElement:any,declaredViewContainer:import12.ViewContainer) { super(View_DataTableBodyComponent3,renderType_DataTableBodyComponent,import7.ViewType.EMBEDDED,viewUtils,parentView,parentIndex,parentElement,import8.ChangeDetectorStatus.CheckAlways,declaredViewContainer); } createInternal(rootSelector:string):import9.ComponentRef { this._el_0 = import3.createRenderElement(this.renderer,(null as any),'datatable-row-wrapper',new import3.InlineArray2(2,'class','datatable-row-wrapper'),(null as any)); - this.compView_0 = new import27.View_DataTableRowWrapperComponent0(this.viewUtils,this,0,this._el_0); - this._NgStyle_0_3 = new import26.Wrapper_NgStyle(this.parentView.parentView.parentView.injectorGet(import30.KeyValueDiffers,this.parentView.parentView.parentIndex),new import22.ElementRef(this._el_0),this.renderer); - this._DataTableRowWrapperComponent_0_4 = new import27.Wrapper_DataTableRowWrapperComponent(); + this.compView_0 = new import15.View_DataTableRowWrapperComponent0(this.viewUtils,this,0,this._el_0); + this._NgStyle_0_3 = new import14.Wrapper_NgStyle(this.parentView.parentView.parentView.injectorGet(import18.KeyValueDiffers,this.parentView.parentView.parentIndex),new import19.ElementRef(this._el_0),this.renderer); + this._DataTableRowWrapperComponent_0_4 = new import15.Wrapper_DataTableRowWrapperComponent(); this._text_1 = this.renderer.createText((null as any),'\n ',(null as any)); this._el_2 = import3.createRenderElement(this.renderer,(null as any),'datatable-body-row',new import3.InlineArray4(4,'class','datatable-body-row','tabindex','-1'),(null as any)); - this.compView_2 = new import29.View_DataTableBodyRowComponent0(this.viewUtils,this,2,this._el_2); - this._DataTableBodyRowComponent_2_3 = new import29.Wrapper_DataTableBodyRowComponent(new import22.ElementRef(this._el_2)); + this.compView_2 = new import17.View_DataTableBodyRowComponent0(this.viewUtils,this,2,this._el_2); + this._DataTableBodyRowComponent_2_3 = new import17.Wrapper_DataTableBodyRowComponent(new import19.ElementRef(this._el_2)); this._text_3 = this.renderer.createText((null as any),'\n ',(null as any)); this.compView_2.create(this._DataTableBodyRowComponent_2_3.context); this._text_4 = this.renderer.createText((null as any),'\n ',(null as any)); @@ -640,9 +393,9 @@ class View_DataTableBodyComponent3 extends import2.AppView { return (null as any); } injectorGetInternal(token:any,requestNodeIndex:number,notFoundResult:any):any { - if (((token === import28.DataTableBodyRowComponent) && ((2 <= requestNodeIndex) && (requestNodeIndex <= 3)))) { return this._DataTableBodyRowComponent_2_3.context; } - if (((token === import31.NgStyle) && ((0 <= requestNodeIndex) && (requestNodeIndex <= 4)))) { return this._NgStyle_0_3.context; } - if (((token === import25.DataTableRowWrapperComponent) && ((0 <= requestNodeIndex) && (requestNodeIndex <= 4)))) { return this._DataTableRowWrapperComponent_0_4.context; } + if (((token === import16.DataTableBodyRowComponent) && ((2 <= requestNodeIndex) && (requestNodeIndex <= 3)))) { return this._DataTableBodyRowComponent_2_3.context; } + if (((token === import20.NgStyle) && ((0 <= requestNodeIndex) && (requestNodeIndex <= 4)))) { return this._NgStyle_0_3.context; } + if (((token === import13.DataTableRowWrapperComponent) && ((0 <= requestNodeIndex) && (requestNodeIndex <= 4)))) { return this._DataTableRowWrapperComponent_0_4.context; } return notFoundResult; } detectChangesInternal(throwOnChange:boolean):void { @@ -712,11 +465,104 @@ class View_DataTableBodyComponent3 extends import2.AppView { return result; } } +class View_DataTableBodyComponent2 extends import2.AppView { + _el_0:any; + compView_0:import2.AppView; + _ScrollerComponent_0_3:import22.Wrapper_ScrollerComponent; + _text_1:any; + _anchor_2:any; + /*private*/ _vc_2:import12.ViewContainer; + _TemplateRef_2_5:any; + _NgFor_2_6:import23.Wrapper_NgFor; + _text_3:any; + constructor(viewUtils:import3.ViewUtils,parentView:import2.AppView,parentIndex:number,parentElement:any,declaredViewContainer:import12.ViewContainer) { + super(View_DataTableBodyComponent2,renderType_DataTableBodyComponent,import7.ViewType.EMBEDDED,viewUtils,parentView,parentIndex,parentElement,import8.ChangeDetectorStatus.CheckAlways,declaredViewContainer); + } + createInternal(rootSelector:string):import9.ComponentRef { + this._el_0 = import3.createRenderElement(this.renderer,(null as any),'datatable-scroller',new import3.InlineArray2(2,'class','datatable-scroll'),(null as any)); + this.compView_0 = new import22.View_ScrollerComponent0(this.viewUtils,this,0,this._el_0); + this._ScrollerComponent_0_3 = new import22.Wrapper_ScrollerComponent(new import19.ElementRef(this._el_0),this.renderer); + this._text_1 = this.renderer.createText((null as any),'\n ',(null as any)); + this._anchor_2 = this.renderer.createTemplateAnchor((null as any),(null as any)); + this._vc_2 = new import12.ViewContainer(2,0,this,this._anchor_2); + this._TemplateRef_2_5 = new import24.TemplateRef_(this,2,this._anchor_2); + this._NgFor_2_6 = new import23.Wrapper_NgFor(this._vc_2.vcRef,this._TemplateRef_2_5,this.parentView.parentView.injectorGet(import25.IterableDiffers,this.parentView.parentIndex),this.parentView.ref); + this._text_3 = this.renderer.createText((null as any),'\n ',(null as any)); + this.compView_0.create(this._ScrollerComponent_0_3.context); + var disposable_0:Function = import3.subscribeToRenderElement(this,this._el_0,new import3.InlineArray2(2,'scroll',(null as any)),this.eventHandler(this.handleEvent_0)); + this._ScrollerComponent_0_3.subscribe(this,this.eventHandler(this.handleEvent_0),true); + this.init(this._el_0,((this.renderer).directRenderer? (null as any): [ + this._el_0, + this._text_1, + this._anchor_2, + this._text_3 + ] + ),[disposable_0]); + return (null as any); + } + injectorGetInternal(token:any,requestNodeIndex:number,notFoundResult:any):any { + if (((token === import24.TemplateRef) && (2 === requestNodeIndex))) { return this._TemplateRef_2_5; } + if (((token === import26.NgFor) && (2 === requestNodeIndex))) { return this._NgFor_2_6.context; } + if (((token === import21.ScrollerComponent) && ((0 <= requestNodeIndex) && (requestNodeIndex <= 3)))) { return this._ScrollerComponent_0_3.context; } + return notFoundResult; + } + detectChangesInternal(throwOnChange:boolean):void { + const currVal_0_0_0:any = this.parentView.context.scrollbarV; + this._ScrollerComponent_0_3.check_scrollbarV(currVal_0_0_0,throwOnChange,false); + const currVal_0_0_1:any = this.parentView.context.scrollbarH; + this._ScrollerComponent_0_3.check_scrollbarH(currVal_0_0_1,throwOnChange,false); + const currVal_0_0_2:any = this.parentView.context.scrollHeight; + this._ScrollerComponent_0_3.check_scrollHeight(currVal_0_0_2,throwOnChange,false); + const currVal_0_0_3:any = this.parentView.context.columnGroupWidths.total; + this._ScrollerComponent_0_3.check_scrollWidth(currVal_0_0_3,throwOnChange,false); + this._ScrollerComponent_0_3.ngDoCheck(this,this._el_0,throwOnChange); + const currVal_2_0_0:any = this.parentView.context.temp; + this._NgFor_2_6.check_ngForOf(currVal_2_0_0,throwOnChange,false); + const currVal_2_0_1:any = this.parentView.context.rowTrackingFn; + this._NgFor_2_6.check_ngForTrackBy(currVal_2_0_1,throwOnChange,false); + this._NgFor_2_6.ngDoCheck(this,this._anchor_2,throwOnChange); + this._vc_2.detectChangesInNestedViews(throwOnChange); + this._ScrollerComponent_0_3.checkHost(this,this.compView_0,this._el_0,throwOnChange); + this.compView_0.internalDetectChanges(throwOnChange); + } + dirtyParentQueriesInternal():void { + (this.parentView)._viewQuery_ScrollerComponent_0.setDirty(); + } + destroyInternal():void { + this._vc_2.destroyNestedViews(); + this.compView_0.destroy(); + this._ScrollerComponent_0_3.ngOnDestroy(); + } + visitRootNodesInternal(cb:any,ctx:any):void { + cb(this._el_0,ctx); + } + visitProjectableNodesInternal(nodeIndex:number,ngContentIndex:number,cb:any,ctx:any):void { + if (((nodeIndex == 0) && (ngContentIndex == 0))) { + cb(this._text_1,ctx); + cb(this._vc_2.nativeElement,ctx); + this._vc_2.visitNestedViewRootNodes(cb,ctx); + cb(this._text_3,ctx); + } + } + createEmbeddedViewInternal(nodeIndex:number):import2.AppView { + if ((nodeIndex == 2)) { return new View_DataTableBodyComponent3(this.viewUtils,this,2,this._anchor_2,this._vc_2); } + return (null as any); + } + handleEvent_0(eventName:string,$event:any):boolean { + this.markPathToRootAsCheckOnce(); + var result:boolean = true; + if ((eventName == 'scroll')) { + const pd_sub_0:any = ((this.parentView.context.onBodyScroll($event)) !== false); + result = (pd_sub_0 && result); + } + return result; + } +} class View_DataTableBodyComponent4 extends import2.AppView { _el_0:any; _text_1:any; /*private*/ _expr_2:any; - constructor(viewUtils:import3.ViewUtils,parentView:import2.AppView,parentIndex:number,parentElement:any,declaredViewContainer:import13.ViewContainer) { + constructor(viewUtils:import3.ViewUtils,parentView:import2.AppView,parentIndex:number,parentElement:any,declaredViewContainer:import12.ViewContainer) { super(View_DataTableBodyComponent4,renderType_DataTableBodyComponent,import7.ViewType.EMBEDDED,viewUtils,parentView,parentIndex,parentElement,import8.ChangeDetectorStatus.CheckAlways,declaredViewContainer); this._expr_2 = import1.UNINITIALIZED; } @@ -740,4 +586,158 @@ class View_DataTableBodyComponent4 extends import2.AppView { visitRootNodesInternal(cb:any,ctx:any):void { cb(this._el_0,ctx); } +} +var renderType_DataTableBodyComponent:import5.RenderComponentType = import3.createRenderComponentType('',0,import6.ViewEncapsulation.None,styles_DataTableBodyComponent,{}); +export class View_DataTableBodyComponent0 extends import2.AppView { + _viewQuery_ScrollerComponent_0:import27.QueryList; + _text_0:any; + _el_1:any; + compView_1:import2.AppView; + _DataTableSelectionComponent_1_3:import29.Wrapper_DataTableSelectionComponent; + _text_2:any; + _anchor_3:any; + /*private*/ _vc_3:import12.ViewContainer; + _TemplateRef_3_5:any; + _NgIf_3_6:import30.Wrapper_NgIf; + _text_4:any; + _anchor_5:any; + /*private*/ _vc_5:import12.ViewContainer; + _TemplateRef_5_5:any; + _NgIf_5_6:import30.Wrapper_NgIf; + _text_6:any; + _anchor_7:any; + /*private*/ _vc_7:import12.ViewContainer; + _TemplateRef_7_5:any; + _NgIf_7_6:import30.Wrapper_NgIf; + _text_8:any; + _text_9:any; + constructor(viewUtils:import3.ViewUtils,parentView:import2.AppView,parentIndex:number,parentElement:any) { + super(View_DataTableBodyComponent0,renderType_DataTableBodyComponent,import7.ViewType.COMPONENT,viewUtils,parentView,parentIndex,parentElement,import8.ChangeDetectorStatus.CheckAlways); + } + createInternal(rootSelector:string):import9.ComponentRef { + const parentRenderNode:any = this.renderer.createViewRoot(this.parentElement); + this._viewQuery_ScrollerComponent_0 = new import27.QueryList(); + this._text_0 = this.renderer.createText(parentRenderNode,'\n ',(null as any)); + this._el_1 = import3.createRenderElement(this.renderer,parentRenderNode,'datatable-selection',import3.EMPTY_INLINE_ARRAY,(null as any)); + this.compView_1 = new import29.View_DataTableSelectionComponent0(this.viewUtils,this,1,this._el_1); + this._DataTableSelectionComponent_1_3 = new import29.Wrapper_DataTableSelectionComponent(); + this._text_2 = this.renderer.createText((null as any),'\n ',(null as any)); + this._anchor_3 = this.renderer.createTemplateAnchor((null as any),(null as any)); + this._vc_3 = new import12.ViewContainer(3,1,this,this._anchor_3); + this._TemplateRef_3_5 = new import24.TemplateRef_(this,3,this._anchor_3); + this._NgIf_3_6 = new import30.Wrapper_NgIf(this._vc_3.vcRef,this._TemplateRef_3_5); + this._text_4 = this.renderer.createText((null as any),'\n ',(null as any)); + this._anchor_5 = this.renderer.createTemplateAnchor((null as any),(null as any)); + this._vc_5 = new import12.ViewContainer(5,1,this,this._anchor_5); + this._TemplateRef_5_5 = new import24.TemplateRef_(this,5,this._anchor_5); + this._NgIf_5_6 = new import30.Wrapper_NgIf(this._vc_5.vcRef,this._TemplateRef_5_5); + this._text_6 = this.renderer.createText((null as any),'\n ',(null as any)); + this._anchor_7 = this.renderer.createTemplateAnchor((null as any),(null as any)); + this._vc_7 = new import12.ViewContainer(7,1,this,this._anchor_7); + this._TemplateRef_7_5 = new import24.TemplateRef_(this,7,this._anchor_7); + this._NgIf_7_6 = new import30.Wrapper_NgIf(this._vc_7.vcRef,this._TemplateRef_7_5); + this._text_8 = this.renderer.createText((null as any),'\n ',(null as any)); + this.compView_1.create(this._DataTableSelectionComponent_1_3.context); + this._text_9 = this.renderer.createText(parentRenderNode,'\n ',(null as any)); + var disposable_0:Function = import3.subscribeToRenderElement(this,this._el_1,new import3.InlineArray4(4,'select',(null as any),'activate',(null as any)),this.eventHandler(this.handleEvent_1)); + this._DataTableSelectionComponent_1_3.subscribe(this,this.eventHandler(this.handleEvent_1),true,true); + this.init((null as any),((this.renderer).directRenderer? (null as any): [ + this._text_0, + this._el_1, + this._text_2, + this._anchor_3, + this._text_4, + this._anchor_5, + this._text_6, + this._anchor_7, + this._text_8, + this._text_9 + ] + ),[disposable_0]); + return (null as any); + } + injectorGetInternal(token:any,requestNodeIndex:number,notFoundResult:any):any { + if (((token === import24.TemplateRef) && (3 === requestNodeIndex))) { return this._TemplateRef_3_5; } + if (((token === import31.NgIf) && (3 === requestNodeIndex))) { return this._NgIf_3_6.context; } + if (((token === import24.TemplateRef) && (5 === requestNodeIndex))) { return this._TemplateRef_5_5; } + if (((token === import31.NgIf) && (5 === requestNodeIndex))) { return this._NgIf_5_6.context; } + if (((token === import24.TemplateRef) && (7 === requestNodeIndex))) { return this._TemplateRef_7_5; } + if (((token === import31.NgIf) && (7 === requestNodeIndex))) { return this._NgIf_7_6.context; } + if (((token === import28.DataTableSelectionComponent) && ((1 <= requestNodeIndex) && (requestNodeIndex <= 8)))) { return this._DataTableSelectionComponent_1_3.context; } + return notFoundResult; + } + detectChangesInternal(throwOnChange:boolean):void { + const currVal_1_0_0:any = this.context.temp; + this._DataTableSelectionComponent_1_3.check_rows(currVal_1_0_0,throwOnChange,false); + const currVal_1_0_1:any = this.context.selected; + this._DataTableSelectionComponent_1_3.check_selected(currVal_1_0_1,throwOnChange,false); + const currVal_1_0_2:any = this.context.selectEnabled; + this._DataTableSelectionComponent_1_3.check_selectEnabled(currVal_1_0_2,throwOnChange,false); + const currVal_1_0_3:any = this.context.selectionType; + this._DataTableSelectionComponent_1_3.check_selectionType(currVal_1_0_3,throwOnChange,false); + const currVal_1_0_4:any = this.context.rowIdentity; + this._DataTableSelectionComponent_1_3.check_rowIdentity(currVal_1_0_4,throwOnChange,false); + const currVal_1_0_5:any = this.context.selectCheck; + this._DataTableSelectionComponent_1_3.check_selectCheck(currVal_1_0_5,throwOnChange,false); + this._DataTableSelectionComponent_1_3.ngDoCheck(this,this._el_1,throwOnChange); + const currVal_3_0_0:any = this.context.loadingIndicator; + this._NgIf_3_6.check_ngIf(currVal_3_0_0,throwOnChange,false); + this._NgIf_3_6.ngDoCheck(this,this._anchor_3,throwOnChange); + const currVal_5_0_0:any = ((this.context.rows == null)? (null as any): this.context.rows.length); + this._NgIf_5_6.check_ngIf(currVal_5_0_0,throwOnChange,false); + this._NgIf_5_6.ngDoCheck(this,this._anchor_5,throwOnChange); + const currVal_7_0_0:boolean = !((this.context.rows == null)? (null as any): this.context.rows.length); + this._NgIf_7_6.check_ngIf(currVal_7_0_0,throwOnChange,false); + this._NgIf_7_6.ngDoCheck(this,this._anchor_7,throwOnChange); + this._vc_3.detectChangesInNestedViews(throwOnChange); + this._vc_5.detectChangesInNestedViews(throwOnChange); + this._vc_7.detectChangesInNestedViews(throwOnChange); + this.compView_1.internalDetectChanges(throwOnChange); + if (!throwOnChange) { if (this._viewQuery_ScrollerComponent_0.dirty) { + this._viewQuery_ScrollerComponent_0.reset([this._vc_5.mapNestedViews(View_DataTableBodyComponent2,(nestedView:View_DataTableBodyComponent2):any => { + return [nestedView._ScrollerComponent_0_3.context]; + })]); + this.context.scroller = this._viewQuery_ScrollerComponent_0.first; + } } + } + destroyInternal():void { + this._vc_3.destroyNestedViews(); + this._vc_5.destroyNestedViews(); + this._vc_7.destroyNestedViews(); + this.compView_1.destroy(); + this._DataTableSelectionComponent_1_3.ngOnDestroy(); + } + visitProjectableNodesInternal(nodeIndex:number,ngContentIndex:number,cb:any,ctx:any):void { + if (((nodeIndex == 1) && (ngContentIndex == 0))) { + cb(this._text_2,ctx); + cb(this._vc_3.nativeElement,ctx); + this._vc_3.visitNestedViewRootNodes(cb,ctx); + cb(this._text_4,ctx); + cb(this._vc_5.nativeElement,ctx); + this._vc_5.visitNestedViewRootNodes(cb,ctx); + cb(this._text_6,ctx); + cb(this._vc_7.nativeElement,ctx); + this._vc_7.visitNestedViewRootNodes(cb,ctx); + cb(this._text_8,ctx); + } + } + createEmbeddedViewInternal(nodeIndex:number):import2.AppView { + if ((nodeIndex == 3)) { return new View_DataTableBodyComponent1(this.viewUtils,this,3,this._anchor_3,this._vc_3); } + if ((nodeIndex == 5)) { return new View_DataTableBodyComponent2(this.viewUtils,this,5,this._anchor_5,this._vc_5); } + if ((nodeIndex == 7)) { return new View_DataTableBodyComponent4(this.viewUtils,this,7,this._anchor_7,this._vc_7); } + return (null as any); + } + handleEvent_1(eventName:string,$event:any):boolean { + this.markPathToRootAsCheckOnce(); + var result:boolean = true; + if ((eventName == 'select')) { + const pd_sub_0:any = ((this.context.select.emit($event)) !== false); + result = (pd_sub_0 && result); + } + if ((eventName == 'activate')) { + const pd_sub_1:any = ((this.context.activate.emit($event)) !== false); + result = (pd_sub_1 && result); + } + return result; + } } \ No newline at end of file diff --git a/release/components/datatable.component.ngfactory.ts b/release/components/datatable.component.ngfactory.ts index ba5165c93..2d8f7acf9 100644 --- a/release/components/datatable.component.ngfactory.ts +++ b/release/components/datatable.component.ngfactory.ts @@ -17,19 +17,19 @@ import * as import8 from '@angular/core/src/change_detection/constants'; import * as import9 from '@angular/core/src/linker/component_factory'; import * as import10 from '@angular/core/src/linker/element_ref'; import * as import11 from '@angular/core/src/change_detection/differs/keyvalue_differs'; -import * as import12 from '../directives/visibility.directive.ngfactory'; -import * as import13 from '@angular/core/src/linker/view_container'; -import * as import14 from '../../node_modules/@angular/common/src/directives/ng_if.ngfactory'; -import * as import15 from '../../../src/components/body/body.component'; -import * as import16 from './body/body.component.ngfactory'; -import * as import17 from '@angular/core/src/zone/ng_zone'; -import * as import18 from '@angular/core/src/linker/template_ref'; -import * as import19 from '@angular/common/src/directives/ng_if'; -import * as import20 from '../../../src/directives/visibility.directive'; -import * as import21 from '../../../src/components/header/header.component'; -import * as import22 from './header/header.component.ngfactory'; -import * as import23 from '../../../src/components/footer/footer.component'; -import * as import24 from './footer/footer.component.ngfactory'; +import * as import12 from '../../../src/components/header/header.component'; +import * as import13 from './header/header.component.ngfactory'; +import * as import14 from '@angular/core/src/linker/view_container'; +import * as import15 from '../../../src/components/footer/footer.component'; +import * as import16 from './footer/footer.component.ngfactory'; +import * as import17 from '../directives/visibility.directive.ngfactory'; +import * as import18 from '../../node_modules/@angular/common/src/directives/ng_if.ngfactory'; +import * as import19 from '../../../src/components/body/body.component'; +import * as import20 from './body/body.component.ngfactory'; +import * as import21 from '@angular/core/src/zone/ng_zone'; +import * as import22 from '@angular/core/src/linker/template_ref'; +import * as import23 from '@angular/common/src/directives/ng_if'; +import * as import24 from '../../../src/directives/visibility.directive'; export class Wrapper_DatatableComponent { /*private*/ _eventHandler:Function; context:import0.DatatableComponent; @@ -412,10 +412,10 @@ class View_DatatableComponent_Host0 extends import2.AppView { this._DatatableComponent_0_3 = new Wrapper_DatatableComponent(new import10.ElementRef(this._el_0),this.injectorGet(import11.KeyValueDiffers,this.parentIndex)); this._query_DataTableColumnDirective_0_0 = new import6.QueryList(); this._query_DatatableRowDetailDirective_0_1 = new import6.QueryList(); - this._query_DatatableRowDetailDirective_0_1.reset(([] as any[])); - this._DatatableComponent_0_3.context.rowDetailTemplateChild = this._query_DatatableRowDetailDirective_0_1.first; this.compView_0.create(this._DatatableComponent_0_3.context); var disposable_0:Function = import3.subscribeToRenderElement(this,this._el_0,new import3.InlineArray2(2,'resize','window'),this.eventHandler(this.handleEvent_0)); + this._query_DatatableRowDetailDirective_0_1.reset(([] as any[])); + this._DatatableComponent_0_3.context.rowDetailTemplateChild = this._query_DatatableRowDetailDirective_0_1.first; this.init(this._el_0,((this.renderer).directRenderer? (null as any): [this._el_0]),[disposable_0]); return new import9.ComponentRef_(0,this,this._el_0,this._DatatableComponent_0_3.context); } @@ -450,27 +450,178 @@ class View_DatatableComponent_Host0 extends import2.AppView { } export const DatatableComponentNgFactory:import9.ComponentFactory = new import9.ComponentFactory('ngx-datatable',View_DatatableComponent_Host0,import0.DatatableComponent); const styles_DatatableComponent:any[] = ([] as any[]); +class View_DatatableComponent1 extends import2.AppView { + _el_0:any; + compView_0:import2.AppView; + _DataTableHeaderComponent_0_3:import13.Wrapper_DataTableHeaderComponent; + _text_1:any; + constructor(viewUtils:import3.ViewUtils,parentView:import2.AppView,parentIndex:number,parentElement:any,declaredViewContainer:import14.ViewContainer) { + super(View_DatatableComponent1,renderType_DatatableComponent,import7.ViewType.EMBEDDED,viewUtils,parentView,parentIndex,parentElement,import8.ChangeDetectorStatus.CheckAlways,declaredViewContainer); + } + createInternal(rootSelector:string):import9.ComponentRef { + this._el_0 = import3.createRenderElement(this.renderer,(null as any),'datatable-header',new import3.InlineArray2(2,'class','datatable-header'),(null as any)); + this.compView_0 = new import13.View_DataTableHeaderComponent0(this.viewUtils,this,0,this._el_0); + this._DataTableHeaderComponent_0_3 = new import13.Wrapper_DataTableHeaderComponent(); + this._text_1 = this.renderer.createText((null as any),'\n ',(null as any)); + this.compView_0.create(this._DataTableHeaderComponent_0_3.context); + var disposable_0:Function = import3.subscribeToRenderElement(this,this._el_0,new import3.InlineArray8(8,'sort',(null as any),'resize',(null as any),'reorder',(null as any),'select',(null as any)),this.eventHandler(this.handleEvent_0)); + this._DataTableHeaderComponent_0_3.subscribe(this,this.eventHandler(this.handleEvent_0),true,true,true,true); + this.init(this._el_0,((this.renderer).directRenderer? (null as any): [ + this._el_0, + this._text_1 + ] + ),[disposable_0]); + return (null as any); + } + injectorGetInternal(token:any,requestNodeIndex:number,notFoundResult:any):any { + if (((token === import12.DataTableHeaderComponent) && ((0 <= requestNodeIndex) && (requestNodeIndex <= 1)))) { return this._DataTableHeaderComponent_0_3.context; } + return notFoundResult; + } + detectChangesInternal(throwOnChange:boolean):void { + const currVal_0_0_0:any = this.parentView.context.cssClasses.sortAscending; + this._DataTableHeaderComponent_0_3.check_sortAscendingIcon(currVal_0_0_0,throwOnChange,false); + const currVal_0_0_1:any = this.parentView.context.cssClasses.sortDescending; + this._DataTableHeaderComponent_0_3.check_sortDescendingIcon(currVal_0_0_1,throwOnChange,false); + const currVal_0_0_2:any = this.parentView.context.scrollbarH; + this._DataTableHeaderComponent_0_3.check_scrollbarH(currVal_0_0_2,throwOnChange,false); + const currVal_0_0_3:any = this.parentView.context.innerWidth; + this._DataTableHeaderComponent_0_3.check_innerWidth(currVal_0_0_3,throwOnChange,false); + const currVal_0_0_4:any = this.parentView.context.offsetX; + this._DataTableHeaderComponent_0_3.check_offsetX(currVal_0_0_4,throwOnChange,false); + const currVal_0_0_5:any = this.parentView.context.sorts; + this._DataTableHeaderComponent_0_3.check_sorts(currVal_0_0_5,throwOnChange,false); + const currVal_0_0_6:any = this.parentView.context.sortType; + this._DataTableHeaderComponent_0_3.check_sortType(currVal_0_0_6,throwOnChange,false); + const currVal_0_0_7:any = this.parentView.context.allRowsSelected; + this._DataTableHeaderComponent_0_3.check_allRowsSelected(currVal_0_0_7,throwOnChange,false); + const currVal_0_0_8:any = this.parentView.context.selectionType; + this._DataTableHeaderComponent_0_3.check_selectionType(currVal_0_0_8,throwOnChange,false); + const currVal_0_0_9:any = this.parentView.context.reorderable; + this._DataTableHeaderComponent_0_3.check_reorderable(currVal_0_0_9,throwOnChange,false); + const currVal_0_0_10:any = this.parentView.context.headerHeight; + this._DataTableHeaderComponent_0_3.check_headerHeight(currVal_0_0_10,throwOnChange,false); + const currVal_0_0_11:any = this.parentView.context.columns; + this._DataTableHeaderComponent_0_3.check_columns(currVal_0_0_11,throwOnChange,false); + this._DataTableHeaderComponent_0_3.ngDoCheck(this,this._el_0,throwOnChange); + this._DataTableHeaderComponent_0_3.checkHost(this,this.compView_0,this._el_0,throwOnChange); + this.compView_0.internalDetectChanges(throwOnChange); + } + destroyInternal():void { + this.compView_0.destroy(); + this._DataTableHeaderComponent_0_3.ngOnDestroy(); + } + visitRootNodesInternal(cb:any,ctx:any):void { + cb(this._el_0,ctx); + } + handleEvent_0(eventName:string,$event:any):boolean { + this.markPathToRootAsCheckOnce(); + var result:boolean = true; + if ((eventName == 'sort')) { + const pd_sub_0:any = ((this.parentView.context.onColumnSort($event)) !== false); + result = (pd_sub_0 && result); + } + if ((eventName == 'resize')) { + const pd_sub_1:any = ((this.parentView.context.onColumnResize($event)) !== false); + result = (pd_sub_1 && result); + } + if ((eventName == 'reorder')) { + const pd_sub_2:any = ((this.parentView.context.onColumnReorder($event)) !== false); + result = (pd_sub_2 && result); + } + if ((eventName == 'select')) { + const pd_sub_3:any = ((this.parentView.context.onHeaderSelect($event)) !== false); + result = (pd_sub_3 && result); + } + return result; + } +} +class View_DatatableComponent2 extends import2.AppView { + _el_0:any; + compView_0:import2.AppView; + _DataTableFooterComponent_0_3:import16.Wrapper_DataTableFooterComponent; + _text_1:any; + constructor(viewUtils:import3.ViewUtils,parentView:import2.AppView,parentIndex:number,parentElement:any,declaredViewContainer:import14.ViewContainer) { + super(View_DatatableComponent2,renderType_DatatableComponent,import7.ViewType.EMBEDDED,viewUtils,parentView,parentIndex,parentElement,import8.ChangeDetectorStatus.CheckAlways,declaredViewContainer); + } + createInternal(rootSelector:string):import9.ComponentRef { + this._el_0 = import3.createRenderElement(this.renderer,(null as any),'datatable-footer',new import3.InlineArray2(2,'class','datatable-footer'),(null as any)); + this.compView_0 = new import16.View_DataTableFooterComponent0(this.viewUtils,this,0,this._el_0); + this._DataTableFooterComponent_0_3 = new import16.Wrapper_DataTableFooterComponent(); + this._text_1 = this.renderer.createText((null as any),'\n ',(null as any)); + this.compView_0.create(this._DataTableFooterComponent_0_3.context); + var disposable_0:Function = import3.subscribeToRenderElement(this,this._el_0,new import3.InlineArray2(2,'page',(null as any)),this.eventHandler(this.handleEvent_0)); + this._DataTableFooterComponent_0_3.subscribe(this,this.eventHandler(this.handleEvent_0),true); + this.init(this._el_0,((this.renderer).directRenderer? (null as any): [ + this._el_0, + this._text_1 + ] + ),[disposable_0]); + return (null as any); + } + injectorGetInternal(token:any,requestNodeIndex:number,notFoundResult:any):any { + if (((token === import15.DataTableFooterComponent) && ((0 <= requestNodeIndex) && (requestNodeIndex <= 1)))) { return this._DataTableFooterComponent_0_3.context; } + return notFoundResult; + } + detectChangesInternal(throwOnChange:boolean):void { + const currVal_0_0_0:any = this.parentView.context.footerHeight; + this._DataTableFooterComponent_0_3.check_footerHeight(currVal_0_0_0,throwOnChange,false); + const currVal_0_0_1:any = this.parentView.context.rowCount; + this._DataTableFooterComponent_0_3.check_rowCount(currVal_0_0_1,throwOnChange,false); + const currVal_0_0_2:any = this.parentView.context.pageSize; + this._DataTableFooterComponent_0_3.check_pageSize(currVal_0_0_2,throwOnChange,false); + const currVal_0_0_3:any = this.parentView.context.offset; + this._DataTableFooterComponent_0_3.check_offset(currVal_0_0_3,throwOnChange,false); + const currVal_0_0_4:any = this.parentView.context.cssClasses.pagerLeftArrow; + this._DataTableFooterComponent_0_3.check_pagerLeftArrowIcon(currVal_0_0_4,throwOnChange,false); + const currVal_0_0_5:any = this.parentView.context.cssClasses.pagerRightArrow; + this._DataTableFooterComponent_0_3.check_pagerRightArrowIcon(currVal_0_0_5,throwOnChange,false); + const currVal_0_0_6:any = this.parentView.context.cssClasses.pagerPrevious; + this._DataTableFooterComponent_0_3.check_pagerPreviousIcon(currVal_0_0_6,throwOnChange,false); + const currVal_0_0_7:any = this.parentView.context.cssClasses.pagerNext; + this._DataTableFooterComponent_0_3.check_pagerNextIcon(currVal_0_0_7,throwOnChange,false); + const currVal_0_0_8:any = this.parentView.context.messages.totalMessage; + this._DataTableFooterComponent_0_3.check_totalMessage(currVal_0_0_8,throwOnChange,false); + if (this._DataTableFooterComponent_0_3.ngDoCheck(this,this._el_0,throwOnChange)) { this.compView_0.markAsCheckOnce(); } + this.compView_0.internalDetectChanges(throwOnChange); + } + destroyInternal():void { + this.compView_0.destroy(); + this._DataTableFooterComponent_0_3.ngOnDestroy(); + } + visitRootNodesInternal(cb:any,ctx:any):void { + cb(this._el_0,ctx); + } + handleEvent_0(eventName:string,$event:any):boolean { + this.markPathToRootAsCheckOnce(); + var result:boolean = true; + if ((eventName == 'page')) { + const pd_sub_0:any = ((this.parentView.context.onFooterPage($event)) !== false); + result = (pd_sub_0 && result); + } + return result; + } +} var renderType_DatatableComponent:import4.RenderComponentType = import3.createRenderComponentType('',0,import5.ViewEncapsulation.None,styles_DatatableComponent,{}); export class View_DatatableComponent0 extends import2.AppView { _viewQuery_DataTableBodyComponent_0:import6.QueryList; _text_0:any; _el_1:any; - _VisibilityDirective_1_3:import12.Wrapper_VisibilityDirective; + _VisibilityDirective_1_3:import17.Wrapper_VisibilityDirective; _text_2:any; _anchor_3:any; - /*private*/ _vc_3:import13.ViewContainer; + /*private*/ _vc_3:import14.ViewContainer; _TemplateRef_3_5:any; - _NgIf_3_6:import14.Wrapper_NgIf; + _NgIf_3_6:import18.Wrapper_NgIf; _text_4:any; _el_5:any; - compView_5:import2.AppView; - _DataTableBodyComponent_5_3:import16.Wrapper_DataTableBodyComponent; + compView_5:import2.AppView; + _DataTableBodyComponent_5_3:import20.Wrapper_DataTableBodyComponent; _text_6:any; _text_7:any; _anchor_8:any; - /*private*/ _vc_8:import13.ViewContainer; + /*private*/ _vc_8:import14.ViewContainer; _TemplateRef_8_5:any; - _NgIf_8_6:import14.Wrapper_NgIf; + _NgIf_8_6:import18.Wrapper_NgIf; _text_9:any; _text_10:any; constructor(viewUtils:import3.ViewUtils,parentView:import2.AppView,parentIndex:number,parentElement:any) { @@ -481,23 +632,23 @@ export class View_DatatableComponent0 extends import2.AppView(); this._text_0 = this.renderer.createText(parentRenderNode,'\n ',(null as any)); this._el_1 = import3.createRenderElement(this.renderer,parentRenderNode,'div',new import3.InlineArray2(2,'visibility-observer',''),(null as any)); - this._VisibilityDirective_1_3 = new import12.Wrapper_VisibilityDirective(new import10.ElementRef(this._el_1),this.parentView.injectorGet(import17.NgZone,this.parentIndex)); + this._VisibilityDirective_1_3 = new import17.Wrapper_VisibilityDirective(new import10.ElementRef(this._el_1),this.parentView.injectorGet(import21.NgZone,this.parentIndex)); this._text_2 = this.renderer.createText(this._el_1,'\n ',(null as any)); this._anchor_3 = this.renderer.createTemplateAnchor(this._el_1,(null as any)); - this._vc_3 = new import13.ViewContainer(3,1,this,this._anchor_3); - this._TemplateRef_3_5 = new import18.TemplateRef_(this,3,this._anchor_3); - this._NgIf_3_6 = new import14.Wrapper_NgIf(this._vc_3.vcRef,this._TemplateRef_3_5); + this._vc_3 = new import14.ViewContainer(3,1,this,this._anchor_3); + this._TemplateRef_3_5 = new import22.TemplateRef_(this,3,this._anchor_3); + this._NgIf_3_6 = new import18.Wrapper_NgIf(this._vc_3.vcRef,this._TemplateRef_3_5); this._text_4 = this.renderer.createText(this._el_1,'\n ',(null as any)); this._el_5 = import3.createRenderElement(this.renderer,this._el_1,'datatable-body',new import3.InlineArray2(2,'class','datatable-body'),(null as any)); - this.compView_5 = new import16.View_DataTableBodyComponent0(this.viewUtils,this,5,this._el_5); - this._DataTableBodyComponent_5_3 = new import16.Wrapper_DataTableBodyComponent(); + this.compView_5 = new import20.View_DataTableBodyComponent0(this.viewUtils,this,5,this._el_5); + this._DataTableBodyComponent_5_3 = new import20.Wrapper_DataTableBodyComponent(); this._text_6 = this.renderer.createText((null as any),'\n ',(null as any)); this.compView_5.create(this._DataTableBodyComponent_5_3.context); this._text_7 = this.renderer.createText(this._el_1,'\n ',(null as any)); this._anchor_8 = this.renderer.createTemplateAnchor(this._el_1,(null as any)); - this._vc_8 = new import13.ViewContainer(8,1,this,this._anchor_8); - this._TemplateRef_8_5 = new import18.TemplateRef_(this,8,this._anchor_8); - this._NgIf_8_6 = new import14.Wrapper_NgIf(this._vc_8.vcRef,this._TemplateRef_8_5); + this._vc_8 = new import14.ViewContainer(8,1,this,this._anchor_8); + this._TemplateRef_8_5 = new import22.TemplateRef_(this,8,this._anchor_8); + this._NgIf_8_6 = new import18.Wrapper_NgIf(this._vc_8.vcRef,this._TemplateRef_8_5); this._text_9 = this.renderer.createText(this._el_1,'\n ',(null as any)); this._text_10 = this.renderer.createText(parentRenderNode,'\n ',(null as any)); var disposable_0:Function = import3.subscribeToRenderElement(this,this._el_1,new import3.InlineArray2(2,'visible',(null as any)),this.eventHandler(this.handleEvent_1)); @@ -527,12 +678,12 @@ export class View_DatatableComponent0 extends import2.AppView { - _el_0:any; - compView_0:import2.AppView; - _DataTableHeaderComponent_0_3:import22.Wrapper_DataTableHeaderComponent; - _text_1:any; - constructor(viewUtils:import3.ViewUtils,parentView:import2.AppView,parentIndex:number,parentElement:any,declaredViewContainer:import13.ViewContainer) { - super(View_DatatableComponent1,renderType_DatatableComponent,import7.ViewType.EMBEDDED,viewUtils,parentView,parentIndex,parentElement,import8.ChangeDetectorStatus.CheckAlways,declaredViewContainer); - } - createInternal(rootSelector:string):import9.ComponentRef { - this._el_0 = import3.createRenderElement(this.renderer,(null as any),'datatable-header',new import3.InlineArray2(2,'class','datatable-header'),(null as any)); - this.compView_0 = new import22.View_DataTableHeaderComponent0(this.viewUtils,this,0,this._el_0); - this._DataTableHeaderComponent_0_3 = new import22.Wrapper_DataTableHeaderComponent(); - this._text_1 = this.renderer.createText((null as any),'\n ',(null as any)); - this.compView_0.create(this._DataTableHeaderComponent_0_3.context); - var disposable_0:Function = import3.subscribeToRenderElement(this,this._el_0,new import3.InlineArray8(8,'sort',(null as any),'resize',(null as any),'reorder',(null as any),'select',(null as any)),this.eventHandler(this.handleEvent_0)); - this._DataTableHeaderComponent_0_3.subscribe(this,this.eventHandler(this.handleEvent_0),true,true,true,true); - this.init(this._el_0,((this.renderer).directRenderer? (null as any): [ - this._el_0, - this._text_1 - ] - ),[disposable_0]); - return (null as any); - } - injectorGetInternal(token:any,requestNodeIndex:number,notFoundResult:any):any { - if (((token === import21.DataTableHeaderComponent) && ((0 <= requestNodeIndex) && (requestNodeIndex <= 1)))) { return this._DataTableHeaderComponent_0_3.context; } - return notFoundResult; - } - detectChangesInternal(throwOnChange:boolean):void { - const currVal_0_0_0:any = this.parentView.context.cssClasses.sortAscending; - this._DataTableHeaderComponent_0_3.check_sortAscendingIcon(currVal_0_0_0,throwOnChange,false); - const currVal_0_0_1:any = this.parentView.context.cssClasses.sortDescending; - this._DataTableHeaderComponent_0_3.check_sortDescendingIcon(currVal_0_0_1,throwOnChange,false); - const currVal_0_0_2:any = this.parentView.context.scrollbarH; - this._DataTableHeaderComponent_0_3.check_scrollbarH(currVal_0_0_2,throwOnChange,false); - const currVal_0_0_3:any = this.parentView.context.innerWidth; - this._DataTableHeaderComponent_0_3.check_innerWidth(currVal_0_0_3,throwOnChange,false); - const currVal_0_0_4:any = this.parentView.context.offsetX; - this._DataTableHeaderComponent_0_3.check_offsetX(currVal_0_0_4,throwOnChange,false); - const currVal_0_0_5:any = this.parentView.context.sorts; - this._DataTableHeaderComponent_0_3.check_sorts(currVal_0_0_5,throwOnChange,false); - const currVal_0_0_6:any = this.parentView.context.sortType; - this._DataTableHeaderComponent_0_3.check_sortType(currVal_0_0_6,throwOnChange,false); - const currVal_0_0_7:any = this.parentView.context.allRowsSelected; - this._DataTableHeaderComponent_0_3.check_allRowsSelected(currVal_0_0_7,throwOnChange,false); - const currVal_0_0_8:any = this.parentView.context.selectionType; - this._DataTableHeaderComponent_0_3.check_selectionType(currVal_0_0_8,throwOnChange,false); - const currVal_0_0_9:any = this.parentView.context.reorderable; - this._DataTableHeaderComponent_0_3.check_reorderable(currVal_0_0_9,throwOnChange,false); - const currVal_0_0_10:any = this.parentView.context.headerHeight; - this._DataTableHeaderComponent_0_3.check_headerHeight(currVal_0_0_10,throwOnChange,false); - const currVal_0_0_11:any = this.parentView.context.columns; - this._DataTableHeaderComponent_0_3.check_columns(currVal_0_0_11,throwOnChange,false); - this._DataTableHeaderComponent_0_3.ngDoCheck(this,this._el_0,throwOnChange); - this._DataTableHeaderComponent_0_3.checkHost(this,this.compView_0,this._el_0,throwOnChange); - this.compView_0.internalDetectChanges(throwOnChange); - } - destroyInternal():void { - this.compView_0.destroy(); - this._DataTableHeaderComponent_0_3.ngOnDestroy(); - } - visitRootNodesInternal(cb:any,ctx:any):void { - cb(this._el_0,ctx); - } - handleEvent_0(eventName:string,$event:any):boolean { - this.markPathToRootAsCheckOnce(); - var result:boolean = true; - if ((eventName == 'sort')) { - const pd_sub_0:any = ((this.parentView.context.onColumnSort($event)) !== false); - result = (pd_sub_0 && result); - } - if ((eventName == 'resize')) { - const pd_sub_1:any = ((this.parentView.context.onColumnResize($event)) !== false); - result = (pd_sub_1 && result); - } - if ((eventName == 'reorder')) { - const pd_sub_2:any = ((this.parentView.context.onColumnReorder($event)) !== false); - result = (pd_sub_2 && result); - } - if ((eventName == 'select')) { - const pd_sub_3:any = ((this.parentView.context.onHeaderSelect($event)) !== false); - result = (pd_sub_3 && result); - } - return result; - } -} -class View_DatatableComponent2 extends import2.AppView { - _el_0:any; - compView_0:import2.AppView; - _DataTableFooterComponent_0_3:import24.Wrapper_DataTableFooterComponent; - _text_1:any; - constructor(viewUtils:import3.ViewUtils,parentView:import2.AppView,parentIndex:number,parentElement:any,declaredViewContainer:import13.ViewContainer) { - super(View_DatatableComponent2,renderType_DatatableComponent,import7.ViewType.EMBEDDED,viewUtils,parentView,parentIndex,parentElement,import8.ChangeDetectorStatus.CheckAlways,declaredViewContainer); - } - createInternal(rootSelector:string):import9.ComponentRef { - this._el_0 = import3.createRenderElement(this.renderer,(null as any),'datatable-footer',new import3.InlineArray2(2,'class','datatable-footer'),(null as any)); - this.compView_0 = new import24.View_DataTableFooterComponent0(this.viewUtils,this,0,this._el_0); - this._DataTableFooterComponent_0_3 = new import24.Wrapper_DataTableFooterComponent(); - this._text_1 = this.renderer.createText((null as any),'\n ',(null as any)); - this.compView_0.create(this._DataTableFooterComponent_0_3.context); - var disposable_0:Function = import3.subscribeToRenderElement(this,this._el_0,new import3.InlineArray2(2,'page',(null as any)),this.eventHandler(this.handleEvent_0)); - this._DataTableFooterComponent_0_3.subscribe(this,this.eventHandler(this.handleEvent_0),true); - this.init(this._el_0,((this.renderer).directRenderer? (null as any): [ - this._el_0, - this._text_1 - ] - ),[disposable_0]); - return (null as any); - } - injectorGetInternal(token:any,requestNodeIndex:number,notFoundResult:any):any { - if (((token === import23.DataTableFooterComponent) && ((0 <= requestNodeIndex) && (requestNodeIndex <= 1)))) { return this._DataTableFooterComponent_0_3.context; } - return notFoundResult; - } - detectChangesInternal(throwOnChange:boolean):void { - const currVal_0_0_0:any = this.parentView.context.footerHeight; - this._DataTableFooterComponent_0_3.check_footerHeight(currVal_0_0_0,throwOnChange,false); - const currVal_0_0_1:any = this.parentView.context.rowCount; - this._DataTableFooterComponent_0_3.check_rowCount(currVal_0_0_1,throwOnChange,false); - const currVal_0_0_2:any = this.parentView.context.pageSize; - this._DataTableFooterComponent_0_3.check_pageSize(currVal_0_0_2,throwOnChange,false); - const currVal_0_0_3:any = this.parentView.context.offset; - this._DataTableFooterComponent_0_3.check_offset(currVal_0_0_3,throwOnChange,false); - const currVal_0_0_4:any = this.parentView.context.cssClasses.pagerLeftArrow; - this._DataTableFooterComponent_0_3.check_pagerLeftArrowIcon(currVal_0_0_4,throwOnChange,false); - const currVal_0_0_5:any = this.parentView.context.cssClasses.pagerRightArrow; - this._DataTableFooterComponent_0_3.check_pagerRightArrowIcon(currVal_0_0_5,throwOnChange,false); - const currVal_0_0_6:any = this.parentView.context.cssClasses.pagerPrevious; - this._DataTableFooterComponent_0_3.check_pagerPreviousIcon(currVal_0_0_6,throwOnChange,false); - const currVal_0_0_7:any = this.parentView.context.cssClasses.pagerNext; - this._DataTableFooterComponent_0_3.check_pagerNextIcon(currVal_0_0_7,throwOnChange,false); - const currVal_0_0_8:any = this.parentView.context.messages.totalMessage; - this._DataTableFooterComponent_0_3.check_totalMessage(currVal_0_0_8,throwOnChange,false); - if (this._DataTableFooterComponent_0_3.ngDoCheck(this,this._el_0,throwOnChange)) { this.compView_0.markAsCheckOnce(); } - this.compView_0.internalDetectChanges(throwOnChange); - } - destroyInternal():void { - this.compView_0.destroy(); - this._DataTableFooterComponent_0_3.ngOnDestroy(); - } - visitRootNodesInternal(cb:any,ctx:any):void { - cb(this._el_0,ctx); - } - handleEvent_0(eventName:string,$event:any):boolean { - this.markPathToRootAsCheckOnce(); - var result:boolean = true; - if ((eventName == 'page')) { - const pd_sub_0:any = ((this.parentView.context.onFooterPage($event)) !== false); - result = (pd_sub_0 && result); - } - return result; - } } \ No newline at end of file diff --git a/release/components/footer/pager.component.ngfactory.ts b/release/components/footer/pager.component.ngfactory.ts index 344fe0f1e..dfb2c903e 100644 --- a/release/components/footer/pager.component.ngfactory.ts +++ b/release/components/footer/pager.component.ngfactory.ts @@ -146,6 +146,61 @@ class View_DataTablePagerComponent_Host0 extends import2.AppView { } export const DataTablePagerComponentNgFactory:import8.ComponentFactory = new import8.ComponentFactory('datatable-pager',View_DataTablePagerComponent_Host0,import0.DataTablePagerComponent); const styles_DataTablePagerComponent:any[] = ([] as any[]); +class View_DataTablePagerComponent1 extends import2.AppView { + _el_0:any; + _text_1:any; + _el_2:any; + _text_3:any; + _text_4:any; + /*private*/ _expr_5:any; + /*private*/ _expr_6:any; + constructor(viewUtils:import3.ViewUtils,parentView:import2.AppView,parentIndex:number,parentElement:any,declaredViewContainer:import9.ViewContainer) { + super(View_DataTablePagerComponent1,renderType_DataTablePagerComponent,import6.ViewType.EMBEDDED,viewUtils,parentView,parentIndex,parentElement,import7.ChangeDetectorStatus.CheckAlways,declaredViewContainer); + this._expr_5 = import1.UNINITIALIZED; + this._expr_6 = import1.UNINITIALIZED; + } + createInternal(rootSelector:string):import8.ComponentRef { + this._el_0 = import3.createRenderElement(this.renderer,(null as any),'li',new import3.InlineArray2(2,'class','pages'),(null as any)); + this._text_1 = this.renderer.createText(this._el_0,'\n ',(null as any)); + this._el_2 = import3.createRenderElement(this.renderer,this._el_0,'a',new import3.InlineArray2(2,'href','javascript:void(0)'),(null as any)); + this._text_3 = this.renderer.createText(this._el_2,'',(null as any)); + this._text_4 = this.renderer.createText(this._el_0,'\n ',(null as any)); + var disposable_0:Function = import3.subscribeToRenderElement(this,this._el_2,new import3.InlineArray2(2,'click',(null as any)),this.eventHandler(this.handleEvent_2)); + this.init(this._el_0,((this.renderer).directRenderer? (null as any): [ + this._el_0, + this._text_1, + this._el_2, + this._text_3, + this._text_4 + ] + ),[disposable_0]); + return (null as any); + } + detectChangesInternal(throwOnChange:boolean):void { + const currVal_5:any = (this.context.$implicit.number === this.parentView.context.page); + if (import3.checkBinding(throwOnChange,this._expr_5,currVal_5)) { + this.renderer.setElementClass(this._el_0,'active',currVal_5); + this._expr_5 = currVal_5; + } + const currVal_6:any = import3.inlineInterpolate(1,'\n ',this.context.$implicit.text,'\n '); + if (import3.checkBinding(throwOnChange,this._expr_6,currVal_6)) { + this.renderer.setText(this._text_3,currVal_6); + this._expr_6 = currVal_6; + } + } + visitRootNodesInternal(cb:any,ctx:any):void { + cb(this._el_0,ctx); + } + handleEvent_2(eventName:string,$event:any):boolean { + this.markPathToRootAsCheckOnce(); + var result:boolean = true; + if ((eventName == 'click')) { + const pd_sub_0:any = ((this.parentView.context.selectPage(this.context.$implicit.number)) !== false); + result = (pd_sub_0 && result); + } + return result; + } +} var renderType_DataTablePagerComponent:import4.RenderComponentType = import3.createRenderComponentType('',0,import5.ViewEncapsulation.None,styles_DataTablePagerComponent,{}); export class View_DataTablePagerComponent0 extends import2.AppView { _text_0:any; @@ -398,59 +453,4 @@ export class View_DataTablePagerComponent0 extends import2.AppView { - _el_0:any; - _text_1:any; - _el_2:any; - _text_3:any; - _text_4:any; - /*private*/ _expr_5:any; - /*private*/ _expr_6:any; - constructor(viewUtils:import3.ViewUtils,parentView:import2.AppView,parentIndex:number,parentElement:any,declaredViewContainer:import9.ViewContainer) { - super(View_DataTablePagerComponent1,renderType_DataTablePagerComponent,import6.ViewType.EMBEDDED,viewUtils,parentView,parentIndex,parentElement,import7.ChangeDetectorStatus.CheckAlways,declaredViewContainer); - this._expr_5 = import1.UNINITIALIZED; - this._expr_6 = import1.UNINITIALIZED; - } - createInternal(rootSelector:string):import8.ComponentRef { - this._el_0 = import3.createRenderElement(this.renderer,(null as any),'li',new import3.InlineArray2(2,'class','pages'),(null as any)); - this._text_1 = this.renderer.createText(this._el_0,'\n ',(null as any)); - this._el_2 = import3.createRenderElement(this.renderer,this._el_0,'a',new import3.InlineArray2(2,'href','javascript:void(0)'),(null as any)); - this._text_3 = this.renderer.createText(this._el_2,'',(null as any)); - this._text_4 = this.renderer.createText(this._el_0,'\n ',(null as any)); - var disposable_0:Function = import3.subscribeToRenderElement(this,this._el_2,new import3.InlineArray2(2,'click',(null as any)),this.eventHandler(this.handleEvent_2)); - this.init(this._el_0,((this.renderer).directRenderer? (null as any): [ - this._el_0, - this._text_1, - this._el_2, - this._text_3, - this._text_4 - ] - ),[disposable_0]); - return (null as any); - } - detectChangesInternal(throwOnChange:boolean):void { - const currVal_5:any = (this.context.$implicit.number === this.parentView.context.page); - if (import3.checkBinding(throwOnChange,this._expr_5,currVal_5)) { - this.renderer.setElementClass(this._el_0,'active',currVal_5); - this._expr_5 = currVal_5; - } - const currVal_6:any = import3.inlineInterpolate(1,'\n ',this.context.$implicit.text,'\n '); - if (import3.checkBinding(throwOnChange,this._expr_6,currVal_6)) { - this.renderer.setText(this._text_3,currVal_6); - this._expr_6 = currVal_6; - } - } - visitRootNodesInternal(cb:any,ctx:any):void { - cb(this._el_0,ctx); - } - handleEvent_2(eventName:string,$event:any):boolean { - this.markPathToRootAsCheckOnce(); - var result:boolean = true; - if ((eventName == 'click')) { - const pd_sub_0:any = ((this.parentView.context.selectPage(this.context.$implicit.number)) !== false); - result = (pd_sub_0 && result); - } - return result; - } } \ No newline at end of file diff --git a/release/components/header/header-cell.component.js b/release/components/header/header-cell.component.js index 07f7cabaf..f7874fcfc 100644 --- a/release/components/header/header-cell.component.js +++ b/release/components/header/header-cell.component.js @@ -26,6 +26,8 @@ var DataTableHeaderCellComponent = (function () { cls += ' sortable'; if (this.column.resizeable) cls += ' resizeable'; + if (this.column.cssClasses) + cls += ' ' + this.column.cssClasses; var sortDir = this.sortDir; if (sortDir) { cls += " sort-active sort-" + sortDir; diff --git a/release/components/header/header-cell.component.js.map b/release/components/header/header-cell.component.js.map index 0480f43dc..3e9b3d8f3 100644 --- a/release/components/header/header-cell.component.js.map +++ b/release/components/header/header-cell.component.js.map @@ -1 +1 @@ -{"version":3,"file":"header-cell.component.js","sourceRoot":"","sources":["../../../src/components/header/header-cell.component.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"header-cell.component.js","sourceRoot":"","sources":["../../../src/components/header/header-cell.component.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/release/components/header/header-cell.component.ngfactory.ts b/release/components/header/header-cell.component.ngfactory.ts index c8f4238a6..f3a1aac52 100644 --- a/release/components/header/header-cell.component.ngfactory.ts +++ b/release/components/header/header-cell.component.ngfactory.ts @@ -16,11 +16,11 @@ import * as import7 from '@angular/core/src/linker/view_type'; import * as import8 from '@angular/core/src/change_detection/constants'; import * as import9 from '@angular/core/src/linker/component_factory'; import * as import10 from '@angular/core/src/linker/view_container'; -import * as import11 from '../../../node_modules/@angular/common/src/directives/ng_if.ngfactory'; +import * as import11 from '../../../node_modules/@angular/common/src/directives/ng_template_outlet.ngfactory'; import * as import12 from '@angular/core/src/linker/template_ref'; -import * as import13 from '@angular/common/src/directives/ng_if'; -import * as import14 from '../../../node_modules/@angular/common/src/directives/ng_template_outlet.ngfactory'; -import * as import15 from '@angular/common/src/directives/ng_template_outlet'; +import * as import13 from '@angular/common/src/directives/ng_template_outlet'; +import * as import14 from '../../../node_modules/@angular/common/src/directives/ng_if.ngfactory'; +import * as import15 from '@angular/common/src/directives/ng_if'; export class Wrapper_DataTableHeaderCellComponent { /*private*/ _eventHandler:Function; context:import0.DataTableHeaderCellComponent; @@ -203,117 +203,6 @@ class View_DataTableHeaderCellComponent_Host0 extends import2.AppView { } export const DataTableHeaderCellComponentNgFactory:import9.ComponentFactory = new import9.ComponentFactory('datatable-header-cell',View_DataTableHeaderCellComponent_Host0,import0.DataTableHeaderCellComponent); const styles_DataTableHeaderCellComponent:any[] = ([] as any[]); -var renderType_DataTableHeaderCellComponent:import5.RenderComponentType = import3.createRenderComponentType('',0,import6.ViewEncapsulation.None,styles_DataTableHeaderCellComponent,{}); -export class View_DataTableHeaderCellComponent0 extends import2.AppView { - _text_0:any; - _el_1:any; - _text_2:any; - _anchor_3:any; - /*private*/ _vc_3:import10.ViewContainer; - _TemplateRef_3_5:any; - _NgIf_3_6:import11.Wrapper_NgIf; - _text_4:any; - _anchor_5:any; - /*private*/ _vc_5:import10.ViewContainer; - _TemplateRef_5_5:any; - _NgIf_5_6:import11.Wrapper_NgIf; - _text_6:any; - _anchor_7:any; - /*private*/ _vc_7:import10.ViewContainer; - _TemplateRef_7_5:any; - _NgIf_7_6:import11.Wrapper_NgIf; - _text_8:any; - _el_9:any; - _text_10:any; - _text_11:any; - _text_12:any; - /*private*/ _expr_22:any; - constructor(viewUtils:import3.ViewUtils,parentView:import2.AppView,parentIndex:number,parentElement:any) { - super(View_DataTableHeaderCellComponent0,renderType_DataTableHeaderCellComponent,import7.ViewType.COMPONENT,viewUtils,parentView,parentIndex,parentElement,import8.ChangeDetectorStatus.CheckAlways); - this._expr_22 = import1.UNINITIALIZED; - } - createInternal(rootSelector:string):import9.ComponentRef { - const parentRenderNode:any = this.renderer.createViewRoot(this.parentElement); - this._text_0 = this.renderer.createText(parentRenderNode,'\n ',(null as any)); - this._el_1 = import3.createRenderElement(this.renderer,parentRenderNode,'div',import3.EMPTY_INLINE_ARRAY,(null as any)); - this._text_2 = this.renderer.createText(this._el_1,'\n ',(null as any)); - this._anchor_3 = this.renderer.createTemplateAnchor(this._el_1,(null as any)); - this._vc_3 = new import10.ViewContainer(3,1,this,this._anchor_3); - this._TemplateRef_3_5 = new import12.TemplateRef_(this,3,this._anchor_3); - this._NgIf_3_6 = new import11.Wrapper_NgIf(this._vc_3.vcRef,this._TemplateRef_3_5); - this._text_4 = this.renderer.createText(this._el_1,'\n ',(null as any)); - this._anchor_5 = this.renderer.createTemplateAnchor(this._el_1,(null as any)); - this._vc_5 = new import10.ViewContainer(5,1,this,this._anchor_5); - this._TemplateRef_5_5 = new import12.TemplateRef_(this,5,this._anchor_5); - this._NgIf_5_6 = new import11.Wrapper_NgIf(this._vc_5.vcRef,this._TemplateRef_5_5); - this._text_6 = this.renderer.createText(this._el_1,'\n ',(null as any)); - this._anchor_7 = this.renderer.createTemplateAnchor(this._el_1,(null as any)); - this._vc_7 = new import10.ViewContainer(7,1,this,this._anchor_7); - this._TemplateRef_7_5 = new import12.TemplateRef_(this,7,this._anchor_7); - this._NgIf_7_6 = new import11.Wrapper_NgIf(this._vc_7.vcRef,this._TemplateRef_7_5); - this._text_8 = this.renderer.createText(this._el_1,'\n ',(null as any)); - this._el_9 = import3.createRenderElement(this.renderer,this._el_1,'span',new import3.InlineArray2(2,'class','sort-btn'),(null as any)); - this._text_10 = this.renderer.createText(this._el_9,'\n ',(null as any)); - this._text_11 = this.renderer.createText(this._el_1,'\n ',(null as any)); - this._text_12 = this.renderer.createText(parentRenderNode,'\n ',(null as any)); - this.init((null as any),((this.renderer).directRenderer? (null as any): [ - this._text_0, - this._el_1, - this._text_2, - this._anchor_3, - this._text_4, - this._anchor_5, - this._text_6, - this._anchor_7, - this._text_8, - this._el_9, - this._text_10, - this._text_11, - this._text_12 - ] - ),(null as any)); - return (null as any); - } - injectorGetInternal(token:any,requestNodeIndex:number,notFoundResult:any):any { - if (((token === import12.TemplateRef) && (3 === requestNodeIndex))) { return this._TemplateRef_3_5; } - if (((token === import13.NgIf) && (3 === requestNodeIndex))) { return this._NgIf_3_6.context; } - if (((token === import12.TemplateRef) && (5 === requestNodeIndex))) { return this._TemplateRef_5_5; } - if (((token === import13.NgIf) && (5 === requestNodeIndex))) { return this._NgIf_5_6.context; } - if (((token === import12.TemplateRef) && (7 === requestNodeIndex))) { return this._TemplateRef_7_5; } - if (((token === import13.NgIf) && (7 === requestNodeIndex))) { return this._NgIf_7_6.context; } - return notFoundResult; - } - detectChangesInternal(throwOnChange:boolean):void { - const currVal_3_0_0:any = this.context.isCheckboxable; - this._NgIf_3_6.check_ngIf(currVal_3_0_0,throwOnChange,false); - this._NgIf_3_6.ngDoCheck(this,this._anchor_3,throwOnChange); - const currVal_5_0_0:boolean = !this.context.column.headerTemplate; - this._NgIf_5_6.check_ngIf(currVal_5_0_0,throwOnChange,false); - this._NgIf_5_6.ngDoCheck(this,this._anchor_5,throwOnChange); - const currVal_7_0_0:any = this.context.column.headerTemplate; - this._NgIf_7_6.check_ngIf(currVal_7_0_0,throwOnChange,false); - this._NgIf_7_6.ngDoCheck(this,this._anchor_7,throwOnChange); - this._vc_3.detectChangesInNestedViews(throwOnChange); - this._vc_5.detectChangesInNestedViews(throwOnChange); - this._vc_7.detectChangesInNestedViews(throwOnChange); - const currVal_22:any = this.context.sortClass; - if (import3.checkBinding(throwOnChange,this._expr_22,currVal_22)) { - this.renderer.setElementProperty(this._el_9,'className',currVal_22); - this._expr_22 = currVal_22; - } - } - destroyInternal():void { - this._vc_3.destroyNestedViews(); - this._vc_5.destroyNestedViews(); - this._vc_7.destroyNestedViews(); - } - createEmbeddedViewInternal(nodeIndex:number):import2.AppView { - if ((nodeIndex == 3)) { return new View_DataTableHeaderCellComponent1(this.viewUtils,this,3,this._anchor_3,this._vc_3); } - if ((nodeIndex == 5)) { return new View_DataTableHeaderCellComponent2(this.viewUtils,this,5,this._anchor_5,this._vc_5); } - if ((nodeIndex == 7)) { return new View_DataTableHeaderCellComponent3(this.viewUtils,this,7,this._anchor_7,this._vc_7); } - return (null as any); - } -} class View_DataTableHeaderCellComponent1 extends import2.AppView { _el_0:any; _text_1:any; @@ -398,11 +287,25 @@ class View_DataTableHeaderCellComponent2 extends import2.AppView { return result; } } +class View_DataTableHeaderCellComponent4 extends import2.AppView { + _text_0:any; + constructor(viewUtils:import3.ViewUtils,parentView:import2.AppView,parentIndex:number,parentElement:any,declaredViewContainer:import10.ViewContainer) { + super(View_DataTableHeaderCellComponent4,renderType_DataTableHeaderCellComponent,import7.ViewType.EMBEDDED,viewUtils,parentView,parentIndex,parentElement,import8.ChangeDetectorStatus.CheckAlways,declaredViewContainer); + } + createInternal(rootSelector:string):import9.ComponentRef { + this._text_0 = this.renderer.createText((null as any),'\n ',(null as any)); + this.init(this._text_0,((this.renderer).directRenderer? (null as any): [this._text_0]),(null as any)); + return (null as any); + } + visitRootNodesInternal(cb:any,ctx:any):void { + cb(this._text_0,ctx); + } +} class View_DataTableHeaderCellComponent3 extends import2.AppView { _anchor_0:any; /*private*/ _vc_0:import10.ViewContainer; _TemplateRef_0_5:any; - _NgTemplateOutlet_0_6:import14.Wrapper_NgTemplateOutlet; + _NgTemplateOutlet_0_6:import11.Wrapper_NgTemplateOutlet; _el_1:any; _map_5:any; constructor(viewUtils:import3.ViewUtils,parentView:import2.AppView,parentIndex:number,parentElement:any,declaredViewContainer:import10.ViewContainer) { @@ -419,14 +322,14 @@ class View_DataTableHeaderCellComponent3 extends import2.AppView { this._anchor_0 = this.renderer.createTemplateAnchor((null as any),(null as any)); this._vc_0 = new import10.ViewContainer(0,(null as any),this,this._anchor_0); this._TemplateRef_0_5 = new import12.TemplateRef_(this,0,this._anchor_0); - this._NgTemplateOutlet_0_6 = new import14.Wrapper_NgTemplateOutlet(this._vc_0.vcRef); + this._NgTemplateOutlet_0_6 = new import11.Wrapper_NgTemplateOutlet(this._vc_0.vcRef); this._el_1 = this.renderer.createTemplateAnchor((null as any),(null as any)); this.init(this._el_1,((this.renderer).directRenderer? (null as any): [this._anchor_0]),(null as any)); return (null as any); } injectorGetInternal(token:any,requestNodeIndex:number,notFoundResult:any):any { if (((token === import12.TemplateRef) && (0 === requestNodeIndex))) { return this._TemplateRef_0_5; } - if (((token === import15.NgTemplateOutlet) && (0 === requestNodeIndex))) { return this._NgTemplateOutlet_0_6.context; } + if (((token === import13.NgTemplateOutlet) && (0 === requestNodeIndex))) { return this._NgTemplateOutlet_0_6.context; } return notFoundResult; } detectChangesInternal(throwOnChange:boolean):void { @@ -450,17 +353,114 @@ class View_DataTableHeaderCellComponent3 extends import2.AppView { return (null as any); } } -class View_DataTableHeaderCellComponent4 extends import2.AppView { +var renderType_DataTableHeaderCellComponent:import5.RenderComponentType = import3.createRenderComponentType('',0,import6.ViewEncapsulation.None,styles_DataTableHeaderCellComponent,{}); +export class View_DataTableHeaderCellComponent0 extends import2.AppView { _text_0:any; - constructor(viewUtils:import3.ViewUtils,parentView:import2.AppView,parentIndex:number,parentElement:any,declaredViewContainer:import10.ViewContainer) { - super(View_DataTableHeaderCellComponent4,renderType_DataTableHeaderCellComponent,import7.ViewType.EMBEDDED,viewUtils,parentView,parentIndex,parentElement,import8.ChangeDetectorStatus.CheckAlways,declaredViewContainer); + _el_1:any; + _text_2:any; + _anchor_3:any; + /*private*/ _vc_3:import10.ViewContainer; + _TemplateRef_3_5:any; + _NgIf_3_6:import14.Wrapper_NgIf; + _text_4:any; + _anchor_5:any; + /*private*/ _vc_5:import10.ViewContainer; + _TemplateRef_5_5:any; + _NgIf_5_6:import14.Wrapper_NgIf; + _text_6:any; + _anchor_7:any; + /*private*/ _vc_7:import10.ViewContainer; + _TemplateRef_7_5:any; + _NgIf_7_6:import14.Wrapper_NgIf; + _text_8:any; + _el_9:any; + _text_10:any; + _text_11:any; + _text_12:any; + /*private*/ _expr_22:any; + constructor(viewUtils:import3.ViewUtils,parentView:import2.AppView,parentIndex:number,parentElement:any) { + super(View_DataTableHeaderCellComponent0,renderType_DataTableHeaderCellComponent,import7.ViewType.COMPONENT,viewUtils,parentView,parentIndex,parentElement,import8.ChangeDetectorStatus.CheckAlways); + this._expr_22 = import1.UNINITIALIZED; } createInternal(rootSelector:string):import9.ComponentRef { - this._text_0 = this.renderer.createText((null as any),'\n ',(null as any)); - this.init(this._text_0,((this.renderer).directRenderer? (null as any): [this._text_0]),(null as any)); + const parentRenderNode:any = this.renderer.createViewRoot(this.parentElement); + this._text_0 = this.renderer.createText(parentRenderNode,'\n ',(null as any)); + this._el_1 = import3.createRenderElement(this.renderer,parentRenderNode,'div',import3.EMPTY_INLINE_ARRAY,(null as any)); + this._text_2 = this.renderer.createText(this._el_1,'\n ',(null as any)); + this._anchor_3 = this.renderer.createTemplateAnchor(this._el_1,(null as any)); + this._vc_3 = new import10.ViewContainer(3,1,this,this._anchor_3); + this._TemplateRef_3_5 = new import12.TemplateRef_(this,3,this._anchor_3); + this._NgIf_3_6 = new import14.Wrapper_NgIf(this._vc_3.vcRef,this._TemplateRef_3_5); + this._text_4 = this.renderer.createText(this._el_1,'\n ',(null as any)); + this._anchor_5 = this.renderer.createTemplateAnchor(this._el_1,(null as any)); + this._vc_5 = new import10.ViewContainer(5,1,this,this._anchor_5); + this._TemplateRef_5_5 = new import12.TemplateRef_(this,5,this._anchor_5); + this._NgIf_5_6 = new import14.Wrapper_NgIf(this._vc_5.vcRef,this._TemplateRef_5_5); + this._text_6 = this.renderer.createText(this._el_1,'\n ',(null as any)); + this._anchor_7 = this.renderer.createTemplateAnchor(this._el_1,(null as any)); + this._vc_7 = new import10.ViewContainer(7,1,this,this._anchor_7); + this._TemplateRef_7_5 = new import12.TemplateRef_(this,7,this._anchor_7); + this._NgIf_7_6 = new import14.Wrapper_NgIf(this._vc_7.vcRef,this._TemplateRef_7_5); + this._text_8 = this.renderer.createText(this._el_1,'\n ',(null as any)); + this._el_9 = import3.createRenderElement(this.renderer,this._el_1,'span',new import3.InlineArray2(2,'class','sort-btn'),(null as any)); + this._text_10 = this.renderer.createText(this._el_9,'\n ',(null as any)); + this._text_11 = this.renderer.createText(this._el_1,'\n ',(null as any)); + this._text_12 = this.renderer.createText(parentRenderNode,'\n ',(null as any)); + this.init((null as any),((this.renderer).directRenderer? (null as any): [ + this._text_0, + this._el_1, + this._text_2, + this._anchor_3, + this._text_4, + this._anchor_5, + this._text_6, + this._anchor_7, + this._text_8, + this._el_9, + this._text_10, + this._text_11, + this._text_12 + ] + ),(null as any)); return (null as any); } - visitRootNodesInternal(cb:any,ctx:any):void { - cb(this._text_0,ctx); + injectorGetInternal(token:any,requestNodeIndex:number,notFoundResult:any):any { + if (((token === import12.TemplateRef) && (3 === requestNodeIndex))) { return this._TemplateRef_3_5; } + if (((token === import15.NgIf) && (3 === requestNodeIndex))) { return this._NgIf_3_6.context; } + if (((token === import12.TemplateRef) && (5 === requestNodeIndex))) { return this._TemplateRef_5_5; } + if (((token === import15.NgIf) && (5 === requestNodeIndex))) { return this._NgIf_5_6.context; } + if (((token === import12.TemplateRef) && (7 === requestNodeIndex))) { return this._TemplateRef_7_5; } + if (((token === import15.NgIf) && (7 === requestNodeIndex))) { return this._NgIf_7_6.context; } + return notFoundResult; + } + detectChangesInternal(throwOnChange:boolean):void { + const currVal_3_0_0:any = this.context.isCheckboxable; + this._NgIf_3_6.check_ngIf(currVal_3_0_0,throwOnChange,false); + this._NgIf_3_6.ngDoCheck(this,this._anchor_3,throwOnChange); + const currVal_5_0_0:boolean = !this.context.column.headerTemplate; + this._NgIf_5_6.check_ngIf(currVal_5_0_0,throwOnChange,false); + this._NgIf_5_6.ngDoCheck(this,this._anchor_5,throwOnChange); + const currVal_7_0_0:any = this.context.column.headerTemplate; + this._NgIf_7_6.check_ngIf(currVal_7_0_0,throwOnChange,false); + this._NgIf_7_6.ngDoCheck(this,this._anchor_7,throwOnChange); + this._vc_3.detectChangesInNestedViews(throwOnChange); + this._vc_5.detectChangesInNestedViews(throwOnChange); + this._vc_7.detectChangesInNestedViews(throwOnChange); + const currVal_22:any = this.context.sortClass; + if (import3.checkBinding(throwOnChange,this._expr_22,currVal_22)) { + this.renderer.setElementProperty(this._el_9,'className',currVal_22); + this._expr_22 = currVal_22; + } + } + destroyInternal():void { + this._vc_3.destroyNestedViews(); + this._vc_5.destroyNestedViews(); + this._vc_7.destroyNestedViews(); + } + createEmbeddedViewInternal(nodeIndex:number):import2.AppView { + if ((nodeIndex == 3)) { return new View_DataTableHeaderCellComponent1(this.viewUtils,this,3,this._anchor_3,this._vc_3); } + if ((nodeIndex == 5)) { return new View_DataTableHeaderCellComponent2(this.viewUtils,this,5,this._anchor_5,this._vc_5); } + if ((nodeIndex == 7)) { return new View_DataTableHeaderCellComponent3(this.viewUtils,this,7,this._anchor_7,this._vc_7); } + return (null as any); } } \ No newline at end of file diff --git a/release/components/header/header.component.ngfactory.ts b/release/components/header/header.component.ngfactory.ts index 37326fb40..2599a8b0d 100644 --- a/release/components/header/header.component.ngfactory.ts +++ b/release/components/header/header.component.ngfactory.ts @@ -15,26 +15,26 @@ import * as import6 from '@angular/core/src/metadata/view'; import * as import7 from '@angular/core/src/linker/view_type'; import * as import8 from '@angular/core/src/change_detection/constants'; import * as import9 from '@angular/core/src/linker/component_factory'; -import * as import10 from '../../directives/orderable.directive.ngfactory'; -import * as import11 from '@angular/core/src/linker/query_list'; -import * as import12 from '@angular/core/src/linker/view_container'; -import * as import13 from '../../../node_modules/@angular/common/src/directives/ng_for.ngfactory'; -import * as import14 from '@angular/core/src/change_detection/differs/keyvalue_differs'; -import * as import15 from '@angular/core/src/linker/template_ref'; -import * as import16 from '@angular/core/src/change_detection/differs/iterable_differs'; -import * as import17 from '@angular/common/src/directives/ng_for'; -import * as import18 from '../../../../src/directives/orderable.directive'; -import * as import19 from '../../../node_modules/@angular/common/src/directives/ng_style.ngfactory'; -import * as import20 from '@angular/core/src/linker/element_ref'; -import * as import21 from '@angular/common/src/directives/ng_style'; -import * as import22 from '../../../../src/components/header/header-cell.component'; -import * as import23 from '../../directives/draggable.directive.ngfactory'; -import * as import24 from '../../directives/resizeable.directive.ngfactory'; -import * as import25 from '../../directives/long-press.directive.ngfactory'; -import * as import26 from './header-cell.component.ngfactory'; -import * as import27 from '../../../../src/directives/draggable.directive'; -import * as import28 from '../../../../src/directives/resizeable.directive'; -import * as import29 from '../../../../src/directives/long-press.directive'; +import * as import10 from '../../../../src/components/header/header-cell.component'; +import * as import11 from '../../directives/draggable.directive.ngfactory'; +import * as import12 from '../../directives/resizeable.directive.ngfactory'; +import * as import13 from '../../directives/long-press.directive.ngfactory'; +import * as import14 from './header-cell.component.ngfactory'; +import * as import15 from '@angular/core/src/linker/view_container'; +import * as import16 from '@angular/core/src/linker/element_ref'; +import * as import17 from '../../../../src/directives/draggable.directive'; +import * as import18 from '../../../../src/directives/resizeable.directive'; +import * as import19 from '../../../../src/directives/long-press.directive'; +import * as import20 from '../../../node_modules/@angular/common/src/directives/ng_style.ngfactory'; +import * as import21 from '../../../node_modules/@angular/common/src/directives/ng_for.ngfactory'; +import * as import22 from '@angular/core/src/change_detection/differs/keyvalue_differs'; +import * as import23 from '@angular/core/src/linker/template_ref'; +import * as import24 from '@angular/core/src/change_detection/differs/iterable_differs'; +import * as import25 from '@angular/common/src/directives/ng_for'; +import * as import26 from '@angular/common/src/directives/ng_style'; +import * as import27 from '../../directives/orderable.directive.ngfactory'; +import * as import28 from '@angular/core/src/linker/query_list'; +import * as import29 from '../../../../src/directives/orderable.directive'; export class Wrapper_DataTableHeaderComponent { /*private*/ _eventHandler:Function; context:import0.DataTableHeaderComponent; @@ -231,183 +231,24 @@ class View_DataTableHeaderComponent_Host0 extends import2.AppView { } export const DataTableHeaderComponentNgFactory:import9.ComponentFactory = new import9.ComponentFactory('datatable-header',View_DataTableHeaderComponent_Host0,import0.DataTableHeaderComponent); const styles_DataTableHeaderComponent:any[] = ([] as any[]); -var renderType_DataTableHeaderComponent:import5.RenderComponentType = import3.createRenderComponentType('',0,import6.ViewEncapsulation.None,styles_DataTableHeaderComponent,{}); -export class View_DataTableHeaderComponent0 extends import2.AppView { - _text_0:any; - _el_1:any; - _OrderableDirective_1_3:import10.Wrapper_OrderableDirective; - _query_DraggableDirective_1_0:import11.QueryList; - _text_2:any; - _anchor_3:any; - /*private*/ _vc_3:import12.ViewContainer; - _TemplateRef_3_5:any; - _NgFor_3_6:import13.Wrapper_NgFor; - _text_4:any; - _text_5:any; - /*private*/ _expr_11:any; - constructor(viewUtils:import3.ViewUtils,parentView:import2.AppView,parentIndex:number,parentElement:any) { - super(View_DataTableHeaderComponent0,renderType_DataTableHeaderComponent,import7.ViewType.COMPONENT,viewUtils,parentView,parentIndex,parentElement,import8.ChangeDetectorStatus.CheckAlways); - this._expr_11 = import1.UNINITIALIZED; - } - createInternal(rootSelector:string):import9.ComponentRef { - const parentRenderNode:any = this.renderer.createViewRoot(this.parentElement); - this._text_0 = this.renderer.createText(parentRenderNode,'\n ',(null as any)); - this._el_1 = import3.createRenderElement(this.renderer,parentRenderNode,'div',new import3.InlineArray4(4,'class','datatable-header-inner','orderable',''),(null as any)); - this._OrderableDirective_1_3 = new import10.Wrapper_OrderableDirective(this.parentView.injectorGet(import14.KeyValueDiffers,this.parentIndex)); - this._query_DraggableDirective_1_0 = new import11.QueryList(); - this._text_2 = this.renderer.createText(this._el_1,'\n ',(null as any)); - this._anchor_3 = this.renderer.createTemplateAnchor(this._el_1,(null as any)); - this._vc_3 = new import12.ViewContainer(3,1,this,this._anchor_3); - this._TemplateRef_3_5 = new import15.TemplateRef_(this,3,this._anchor_3); - this._NgFor_3_6 = new import13.Wrapper_NgFor(this._vc_3.vcRef,this._TemplateRef_3_5,this.parentView.injectorGet(import16.IterableDiffers,this.parentIndex),this.ref); - this._text_4 = this.renderer.createText(this._el_1,'\n ',(null as any)); - this._text_5 = this.renderer.createText(parentRenderNode,'\n ',(null as any)); - var disposable_0:Function = import3.subscribeToRenderElement(this,this._el_1,new import3.InlineArray2(2,'reorder',(null as any)),this.eventHandler(this.handleEvent_1)); - this._OrderableDirective_1_3.subscribe(this,this.eventHandler(this.handleEvent_1),true); - this.init((null as any),((this.renderer).directRenderer? (null as any): [ - this._text_0, - this._el_1, - this._text_2, - this._anchor_3, - this._text_4, - this._text_5 - ] - ),[disposable_0]); - return (null as any); - } - injectorGetInternal(token:any,requestNodeIndex:number,notFoundResult:any):any { - if (((token === import15.TemplateRef) && (3 === requestNodeIndex))) { return this._TemplateRef_3_5; } - if (((token === import17.NgFor) && (3 === requestNodeIndex))) { return this._NgFor_3_6.context; } - if (((token === import18.OrderableDirective) && ((1 <= requestNodeIndex) && (requestNodeIndex <= 4)))) { return this._OrderableDirective_1_3.context; } - return notFoundResult; - } - detectChangesInternal(throwOnChange:boolean):void { - this._OrderableDirective_1_3.ngDoCheck(this,this._el_1,throwOnChange); - const currVal_3_0_0:any = this.context.columnsByPin; - this._NgFor_3_6.check_ngForOf(currVal_3_0_0,throwOnChange,false); - const currVal_3_0_1:any = this.context.trackByGroups; - this._NgFor_3_6.check_ngForTrackBy(currVal_3_0_1,throwOnChange,false); - this._NgFor_3_6.ngDoCheck(this,this._anchor_3,throwOnChange); - this._vc_3.detectChangesInNestedViews(throwOnChange); - if (!throwOnChange) { - if (this._query_DraggableDirective_1_0.dirty) { - this._query_DraggableDirective_1_0.reset([this._vc_3.mapNestedViews(View_DataTableHeaderComponent1,(nestedView:View_DataTableHeaderComponent1):any => { - return [nestedView._vc_2.mapNestedViews(View_DataTableHeaderComponent2,(nestedView:View_DataTableHeaderComponent2):any => { - return [nestedView._DraggableDirective_0_3.context]; - })]; - })]); - this._OrderableDirective_1_3.context.draggables = this._query_DraggableDirective_1_0; - this._query_DraggableDirective_1_0.notifyOnChanges(); - } - if ((this.numberOfChecks === 0)) { this._OrderableDirective_1_3.context.ngAfterContentInit(); } - } - const currVal_11:any = this.context.columnGroupWidths.total; - if (import3.checkBinding(throwOnChange,this._expr_11,currVal_11)) { - this.renderer.setElementStyle(this._el_1,'width',((this.viewUtils.sanitizer.sanitize(import4.SecurityContext.STYLE,currVal_11) == null)? (null as any): (this.viewUtils.sanitizer.sanitize(import4.SecurityContext.STYLE,currVal_11).toString() + 'px'))); - this._expr_11 = currVal_11; - } - } - destroyInternal():void { - this._vc_3.destroyNestedViews(); - this._OrderableDirective_1_3.ngOnDestroy(); - } - createEmbeddedViewInternal(nodeIndex:number):import2.AppView { - if ((nodeIndex == 3)) { return new View_DataTableHeaderComponent1(this.viewUtils,this,3,this._anchor_3,this._vc_3); } - return (null as any); - } - handleEvent_1(eventName:string,$event:any):boolean { - this.markPathToRootAsCheckOnce(); - var result:boolean = true; - if ((eventName == 'reorder')) { - const pd_sub_0:any = ((this.context.onColumnReordered($event)) !== false); - result = (pd_sub_0 && result); - } - return result; - } -} -class View_DataTableHeaderComponent1 extends import2.AppView { - _el_0:any; - _NgStyle_0_3:import19.Wrapper_NgStyle; - _text_1:any; - _anchor_2:any; - /*private*/ _vc_2:import12.ViewContainer; - _TemplateRef_2_5:any; - _NgFor_2_6:import13.Wrapper_NgFor; - _text_3:any; - /*private*/ _expr_8:any; - constructor(viewUtils:import3.ViewUtils,parentView:import2.AppView,parentIndex:number,parentElement:any,declaredViewContainer:import12.ViewContainer) { - super(View_DataTableHeaderComponent1,renderType_DataTableHeaderComponent,import7.ViewType.EMBEDDED,viewUtils,parentView,parentIndex,parentElement,import8.ChangeDetectorStatus.CheckAlways,declaredViewContainer); - this._expr_8 = import1.UNINITIALIZED; - } - createInternal(rootSelector:string):import9.ComponentRef { - this._el_0 = import3.createRenderElement(this.renderer,(null as any),'div',import3.EMPTY_INLINE_ARRAY,(null as any)); - this._NgStyle_0_3 = new import19.Wrapper_NgStyle(this.parentView.parentView.injectorGet(import14.KeyValueDiffers,this.parentView.parentIndex),new import20.ElementRef(this._el_0),this.renderer); - this._text_1 = this.renderer.createText(this._el_0,'\n ',(null as any)); - this._anchor_2 = this.renderer.createTemplateAnchor(this._el_0,(null as any)); - this._vc_2 = new import12.ViewContainer(2,0,this,this._anchor_2); - this._TemplateRef_2_5 = new import15.TemplateRef_(this,2,this._anchor_2); - this._NgFor_2_6 = new import13.Wrapper_NgFor(this._vc_2.vcRef,this._TemplateRef_2_5,this.parentView.parentView.injectorGet(import16.IterableDiffers,this.parentView.parentIndex),this.parentView.ref); - this._text_3 = this.renderer.createText(this._el_0,'\n ',(null as any)); - this.init(this._el_0,((this.renderer).directRenderer? (null as any): [ - this._el_0, - this._text_1, - this._anchor_2, - this._text_3 - ] - ),(null as any)); - return (null as any); - } - injectorGetInternal(token:any,requestNodeIndex:number,notFoundResult:any):any { - if (((token === import15.TemplateRef) && (2 === requestNodeIndex))) { return this._TemplateRef_2_5; } - if (((token === import17.NgFor) && (2 === requestNodeIndex))) { return this._NgFor_2_6.context; } - if (((token === import21.NgStyle) && ((0 <= requestNodeIndex) && (requestNodeIndex <= 3)))) { return this._NgStyle_0_3.context; } - return notFoundResult; - } - detectChangesInternal(throwOnChange:boolean):void { - const currVal_0_0_0:any = this.parentView.context.stylesByGroup(this.context.$implicit.type); - this._NgStyle_0_3.check_ngStyle(currVal_0_0_0,throwOnChange,false); - this._NgStyle_0_3.ngDoCheck(this,this._el_0,throwOnChange); - const currVal_2_0_0:any = this.context.$implicit.columns; - this._NgFor_2_6.check_ngForOf(currVal_2_0_0,throwOnChange,false); - const currVal_2_0_1:any = this.parentView.context.columnTrackingFn; - this._NgFor_2_6.check_ngForTrackBy(currVal_2_0_1,throwOnChange,false); - this._NgFor_2_6.ngDoCheck(this,this._anchor_2,throwOnChange); - this._vc_2.detectChangesInNestedViews(throwOnChange); - const currVal_8:any = ('datatable-row-' + this.context.$implicit.type); - if (import3.checkBinding(throwOnChange,this._expr_8,currVal_8)) { - this.renderer.setElementProperty(this._el_0,'className',currVal_8); - this._expr_8 = currVal_8; - } - } - destroyInternal():void { - this._vc_2.destroyNestedViews(); - } - visitRootNodesInternal(cb:any,ctx:any):void { - cb(this._el_0,ctx); - } - createEmbeddedViewInternal(nodeIndex:number):import2.AppView { - if ((nodeIndex == 2)) { return new View_DataTableHeaderComponent2(this.viewUtils,this,2,this._anchor_2,this._vc_2); } - return (null as any); - } -} class View_DataTableHeaderComponent2 extends import2.AppView { _el_0:any; - compView_0:import2.AppView; - _DraggableDirective_0_3:import23.Wrapper_DraggableDirective; - _ResizeableDirective_0_4:import24.Wrapper_ResizeableDirective; - _LongPressDirective_0_5:import25.Wrapper_LongPressDirective; - _DataTableHeaderCellComponent_0_6:import26.Wrapper_DataTableHeaderCellComponent; + compView_0:import2.AppView; + _DraggableDirective_0_3:import11.Wrapper_DraggableDirective; + _ResizeableDirective_0_4:import12.Wrapper_ResizeableDirective; + _LongPressDirective_0_5:import13.Wrapper_LongPressDirective; + _DataTableHeaderCellComponent_0_6:import14.Wrapper_DataTableHeaderCellComponent; _text_1:any; - constructor(viewUtils:import3.ViewUtils,parentView:import2.AppView,parentIndex:number,parentElement:any,declaredViewContainer:import12.ViewContainer) { + constructor(viewUtils:import3.ViewUtils,parentView:import2.AppView,parentIndex:number,parentElement:any,declaredViewContainer:import15.ViewContainer) { super(View_DataTableHeaderComponent2,renderType_DataTableHeaderComponent,import7.ViewType.EMBEDDED,viewUtils,parentView,parentIndex,parentElement,import8.ChangeDetectorStatus.CheckAlways,declaredViewContainer); } createInternal(rootSelector:string):import9.ComponentRef { this._el_0 = import3.createRenderElement(this.renderer,(null as any),'datatable-header-cell',new import3.InlineArray8(6,'draggable','','long-press','','resizeable',''),(null as any)); - this.compView_0 = new import26.View_DataTableHeaderCellComponent0(this.viewUtils,this,0,this._el_0); - this._DraggableDirective_0_3 = new import23.Wrapper_DraggableDirective(new import20.ElementRef(this._el_0)); - this._ResizeableDirective_0_4 = new import24.Wrapper_ResizeableDirective(new import20.ElementRef(this._el_0)); - this._LongPressDirective_0_5 = new import25.Wrapper_LongPressDirective(); - this._DataTableHeaderCellComponent_0_6 = new import26.Wrapper_DataTableHeaderCellComponent(); + this.compView_0 = new import14.View_DataTableHeaderCellComponent0(this.viewUtils,this,0,this._el_0); + this._DraggableDirective_0_3 = new import11.Wrapper_DraggableDirective(new import16.ElementRef(this._el_0)); + this._ResizeableDirective_0_4 = new import12.Wrapper_ResizeableDirective(new import16.ElementRef(this._el_0)); + this._LongPressDirective_0_5 = new import13.Wrapper_LongPressDirective(); + this._DataTableHeaderCellComponent_0_6 = new import14.Wrapper_DataTableHeaderCellComponent(); this._text_1 = this.renderer.createText((null as any),'\n ',(null as any)); this.compView_0.create(this._DataTableHeaderCellComponent_0_6.context); var disposable_0:Function = import3.subscribeToRenderElement(this,this._el_0,new import3.InlineArrayDynamic(18,'resize',(null as any),'longPress',(null as any),'longPressEnd',(null as any),'sort',(null as any),'select',(null as any),'mouseup','document','mousedown',(null as any),'mousemove',(null as any),'mouseup',(null as any)),this.eventHandler(this.handleEvent_0)); @@ -422,10 +263,10 @@ class View_DataTableHeaderComponent2 extends import2.AppView { return (null as any); } injectorGetInternal(token:any,requestNodeIndex:number,notFoundResult:any):any { - if (((token === import27.DraggableDirective) && ((0 <= requestNodeIndex) && (requestNodeIndex <= 1)))) { return this._DraggableDirective_0_3.context; } - if (((token === import28.ResizeableDirective) && ((0 <= requestNodeIndex) && (requestNodeIndex <= 1)))) { return this._ResizeableDirective_0_4.context; } - if (((token === import29.LongPressDirective) && ((0 <= requestNodeIndex) && (requestNodeIndex <= 1)))) { return this._LongPressDirective_0_5.context; } - if (((token === import22.DataTableHeaderCellComponent) && ((0 <= requestNodeIndex) && (requestNodeIndex <= 1)))) { return this._DataTableHeaderCellComponent_0_6.context; } + if (((token === import17.DraggableDirective) && ((0 <= requestNodeIndex) && (requestNodeIndex <= 1)))) { return this._DraggableDirective_0_3.context; } + if (((token === import18.ResizeableDirective) && ((0 <= requestNodeIndex) && (requestNodeIndex <= 1)))) { return this._ResizeableDirective_0_4.context; } + if (((token === import19.LongPressDirective) && ((0 <= requestNodeIndex) && (requestNodeIndex <= 1)))) { return this._LongPressDirective_0_5.context; } + if (((token === import10.DataTableHeaderCellComponent) && ((0 <= requestNodeIndex) && (requestNodeIndex <= 1)))) { return this._DataTableHeaderCellComponent_0_6.context; } return notFoundResult; } detectChangesInternal(throwOnChange:boolean):void { @@ -501,4 +342,163 @@ class View_DataTableHeaderComponent2 extends import2.AppView { } return result; } +} +class View_DataTableHeaderComponent1 extends import2.AppView { + _el_0:any; + _NgStyle_0_3:import20.Wrapper_NgStyle; + _text_1:any; + _anchor_2:any; + /*private*/ _vc_2:import15.ViewContainer; + _TemplateRef_2_5:any; + _NgFor_2_6:import21.Wrapper_NgFor; + _text_3:any; + /*private*/ _expr_8:any; + constructor(viewUtils:import3.ViewUtils,parentView:import2.AppView,parentIndex:number,parentElement:any,declaredViewContainer:import15.ViewContainer) { + super(View_DataTableHeaderComponent1,renderType_DataTableHeaderComponent,import7.ViewType.EMBEDDED,viewUtils,parentView,parentIndex,parentElement,import8.ChangeDetectorStatus.CheckAlways,declaredViewContainer); + this._expr_8 = import1.UNINITIALIZED; + } + createInternal(rootSelector:string):import9.ComponentRef { + this._el_0 = import3.createRenderElement(this.renderer,(null as any),'div',import3.EMPTY_INLINE_ARRAY,(null as any)); + this._NgStyle_0_3 = new import20.Wrapper_NgStyle(this.parentView.parentView.injectorGet(import22.KeyValueDiffers,this.parentView.parentIndex),new import16.ElementRef(this._el_0),this.renderer); + this._text_1 = this.renderer.createText(this._el_0,'\n ',(null as any)); + this._anchor_2 = this.renderer.createTemplateAnchor(this._el_0,(null as any)); + this._vc_2 = new import15.ViewContainer(2,0,this,this._anchor_2); + this._TemplateRef_2_5 = new import23.TemplateRef_(this,2,this._anchor_2); + this._NgFor_2_6 = new import21.Wrapper_NgFor(this._vc_2.vcRef,this._TemplateRef_2_5,this.parentView.parentView.injectorGet(import24.IterableDiffers,this.parentView.parentIndex),this.parentView.ref); + this._text_3 = this.renderer.createText(this._el_0,'\n ',(null as any)); + this.init(this._el_0,((this.renderer).directRenderer? (null as any): [ + this._el_0, + this._text_1, + this._anchor_2, + this._text_3 + ] + ),(null as any)); + return (null as any); + } + injectorGetInternal(token:any,requestNodeIndex:number,notFoundResult:any):any { + if (((token === import23.TemplateRef) && (2 === requestNodeIndex))) { return this._TemplateRef_2_5; } + if (((token === import25.NgFor) && (2 === requestNodeIndex))) { return this._NgFor_2_6.context; } + if (((token === import26.NgStyle) && ((0 <= requestNodeIndex) && (requestNodeIndex <= 3)))) { return this._NgStyle_0_3.context; } + return notFoundResult; + } + detectChangesInternal(throwOnChange:boolean):void { + const currVal_0_0_0:any = this.parentView.context.stylesByGroup(this.context.$implicit.type); + this._NgStyle_0_3.check_ngStyle(currVal_0_0_0,throwOnChange,false); + this._NgStyle_0_3.ngDoCheck(this,this._el_0,throwOnChange); + const currVal_2_0_0:any = this.context.$implicit.columns; + this._NgFor_2_6.check_ngForOf(currVal_2_0_0,throwOnChange,false); + const currVal_2_0_1:any = this.parentView.context.columnTrackingFn; + this._NgFor_2_6.check_ngForTrackBy(currVal_2_0_1,throwOnChange,false); + this._NgFor_2_6.ngDoCheck(this,this._anchor_2,throwOnChange); + this._vc_2.detectChangesInNestedViews(throwOnChange); + const currVal_8:any = ('datatable-row-' + this.context.$implicit.type); + if (import3.checkBinding(throwOnChange,this._expr_8,currVal_8)) { + this.renderer.setElementProperty(this._el_0,'className',currVal_8); + this._expr_8 = currVal_8; + } + } + destroyInternal():void { + this._vc_2.destroyNestedViews(); + } + visitRootNodesInternal(cb:any,ctx:any):void { + cb(this._el_0,ctx); + } + createEmbeddedViewInternal(nodeIndex:number):import2.AppView { + if ((nodeIndex == 2)) { return new View_DataTableHeaderComponent2(this.viewUtils,this,2,this._anchor_2,this._vc_2); } + return (null as any); + } +} +var renderType_DataTableHeaderComponent:import5.RenderComponentType = import3.createRenderComponentType('',0,import6.ViewEncapsulation.None,styles_DataTableHeaderComponent,{}); +export class View_DataTableHeaderComponent0 extends import2.AppView { + _text_0:any; + _el_1:any; + _OrderableDirective_1_3:import27.Wrapper_OrderableDirective; + _query_DraggableDirective_1_0:import28.QueryList; + _text_2:any; + _anchor_3:any; + /*private*/ _vc_3:import15.ViewContainer; + _TemplateRef_3_5:any; + _NgFor_3_6:import21.Wrapper_NgFor; + _text_4:any; + _text_5:any; + /*private*/ _expr_11:any; + constructor(viewUtils:import3.ViewUtils,parentView:import2.AppView,parentIndex:number,parentElement:any) { + super(View_DataTableHeaderComponent0,renderType_DataTableHeaderComponent,import7.ViewType.COMPONENT,viewUtils,parentView,parentIndex,parentElement,import8.ChangeDetectorStatus.CheckAlways); + this._expr_11 = import1.UNINITIALIZED; + } + createInternal(rootSelector:string):import9.ComponentRef { + const parentRenderNode:any = this.renderer.createViewRoot(this.parentElement); + this._text_0 = this.renderer.createText(parentRenderNode,'\n ',(null as any)); + this._el_1 = import3.createRenderElement(this.renderer,parentRenderNode,'div',new import3.InlineArray4(4,'class','datatable-header-inner','orderable',''),(null as any)); + this._OrderableDirective_1_3 = new import27.Wrapper_OrderableDirective(this.parentView.injectorGet(import22.KeyValueDiffers,this.parentIndex)); + this._query_DraggableDirective_1_0 = new import28.QueryList(); + this._text_2 = this.renderer.createText(this._el_1,'\n ',(null as any)); + this._anchor_3 = this.renderer.createTemplateAnchor(this._el_1,(null as any)); + this._vc_3 = new import15.ViewContainer(3,1,this,this._anchor_3); + this._TemplateRef_3_5 = new import23.TemplateRef_(this,3,this._anchor_3); + this._NgFor_3_6 = new import21.Wrapper_NgFor(this._vc_3.vcRef,this._TemplateRef_3_5,this.parentView.injectorGet(import24.IterableDiffers,this.parentIndex),this.ref); + this._text_4 = this.renderer.createText(this._el_1,'\n ',(null as any)); + this._text_5 = this.renderer.createText(parentRenderNode,'\n ',(null as any)); + var disposable_0:Function = import3.subscribeToRenderElement(this,this._el_1,new import3.InlineArray2(2,'reorder',(null as any)),this.eventHandler(this.handleEvent_1)); + this._OrderableDirective_1_3.subscribe(this,this.eventHandler(this.handleEvent_1),true); + this.init((null as any),((this.renderer).directRenderer? (null as any): [ + this._text_0, + this._el_1, + this._text_2, + this._anchor_3, + this._text_4, + this._text_5 + ] + ),[disposable_0]); + return (null as any); + } + injectorGetInternal(token:any,requestNodeIndex:number,notFoundResult:any):any { + if (((token === import23.TemplateRef) && (3 === requestNodeIndex))) { return this._TemplateRef_3_5; } + if (((token === import25.NgFor) && (3 === requestNodeIndex))) { return this._NgFor_3_6.context; } + if (((token === import29.OrderableDirective) && ((1 <= requestNodeIndex) && (requestNodeIndex <= 4)))) { return this._OrderableDirective_1_3.context; } + return notFoundResult; + } + detectChangesInternal(throwOnChange:boolean):void { + this._OrderableDirective_1_3.ngDoCheck(this,this._el_1,throwOnChange); + const currVal_3_0_0:any = this.context.columnsByPin; + this._NgFor_3_6.check_ngForOf(currVal_3_0_0,throwOnChange,false); + const currVal_3_0_1:any = this.context.trackByGroups; + this._NgFor_3_6.check_ngForTrackBy(currVal_3_0_1,throwOnChange,false); + this._NgFor_3_6.ngDoCheck(this,this._anchor_3,throwOnChange); + this._vc_3.detectChangesInNestedViews(throwOnChange); + if (!throwOnChange) { + if (this._query_DraggableDirective_1_0.dirty) { + this._query_DraggableDirective_1_0.reset([this._vc_3.mapNestedViews(View_DataTableHeaderComponent1,(nestedView:View_DataTableHeaderComponent1):any => { + return [nestedView._vc_2.mapNestedViews(View_DataTableHeaderComponent2,(nestedView:View_DataTableHeaderComponent2):any => { + return [nestedView._DraggableDirective_0_3.context]; + })]; + })]); + this._OrderableDirective_1_3.context.draggables = this._query_DraggableDirective_1_0; + this._query_DraggableDirective_1_0.notifyOnChanges(); + } + if ((this.numberOfChecks === 0)) { this._OrderableDirective_1_3.context.ngAfterContentInit(); } + } + const currVal_11:any = this.context.columnGroupWidths.total; + if (import3.checkBinding(throwOnChange,this._expr_11,currVal_11)) { + this.renderer.setElementStyle(this._el_1,'width',((this.viewUtils.sanitizer.sanitize(import4.SecurityContext.STYLE,currVal_11) == null)? (null as any): (this.viewUtils.sanitizer.sanitize(import4.SecurityContext.STYLE,currVal_11).toString() + 'px'))); + this._expr_11 = currVal_11; + } + } + destroyInternal():void { + this._vc_3.destroyNestedViews(); + this._OrderableDirective_1_3.ngOnDestroy(); + } + createEmbeddedViewInternal(nodeIndex:number):import2.AppView { + if ((nodeIndex == 3)) { return new View_DataTableHeaderComponent1(this.viewUtils,this,3,this._anchor_3,this._vc_3); } + return (null as any); + } + handleEvent_1(eventName:string,$event:any):boolean { + this.markPathToRootAsCheckOnce(); + var result:boolean = true; + if ((eventName == 'reorder')) { + const pd_sub_0:any = ((this.context.onColumnReordered($event)) !== false); + result = (pd_sub_0 && result); + } + return result; + } } \ No newline at end of file diff --git a/release/datatable.module.d.ts b/release/datatable.module.d.ts index 306537d07..117f5e96d 100644 --- a/release/datatable.module.d.ts +++ b/release/datatable.module.d.ts @@ -1,2 +1,3 @@ +import 'rxjs/add/observable/fromEvent'; export declare class NgxDatatableModule { } diff --git a/release/datatable.module.js b/release/datatable.module.js index ebd0b3186..4c72ed060 100644 --- a/release/datatable.module.js +++ b/release/datatable.module.js @@ -1,6 +1,7 @@ "use strict"; var core_1 = require('@angular/core'); var common_1 = require('@angular/common'); +require('rxjs/add/observable/fromEvent'); var components_1 = require('./components'); var directives_1 = require('./directives'); var NgxDatatableModule = (function () { diff --git a/release/datatable.module.js.map b/release/datatable.module.js.map index 0e5498996..06b0bc676 100644 --- a/release/datatable.module.js.map +++ b/release/datatable.module.js.map @@ -1 +1 @@ -{"version":3,"file":"datatable.module.js","sourceRoot":"","sources":["../src/datatable.module.ts"],"names":[],"mappings":";AAAA,qBAAyB,eAAe,CAAC,CAAA;AACzC,uBAA6B,iBAAiB,CAAC,CAAA;AAE/C,2BAkBO,cAAc,CAAC,CAAA;AAEtB,2BAMO,cAAc,CAAC,CAAA;AAGtB;IAAA;IA0CA,CAAC;IA1CwC,6BAAU,GAA0B;QAC7E,EAAE,IAAI,EAAE,eAAQ,EAAE,IAAI,EAAE,CAAC;oBACvB,OAAO,EAAE;wBACP,qBAAY;qBACb;oBACD,YAAY,EAAE;wBACZ,gCAAmB;wBACnB,+BAAkB;wBAClB,gCAAmB;wBACnB,+BAAkB;wBAClB,+BAAkB;wBAClB,8BAAiB;wBACjB,+BAAkB;wBAClB,qCAAwB;wBACxB,qCAAwB;wBACxB,yCAA4B;wBAC5B,mCAAsB;wBACtB,qCAAwB;wBACxB,oCAAuB;wBACvB,iCAAoB;wBACpB,sCAAyB;wBACzB,yCAA4B;wBAC5B,wCAA2B;wBAC3B,gDAAmC;wBACnC,uCAA0B;wBAC1B,wCAA2B;wBAC3B,2CAA8B;wBAC9B,yCAA4B;qBAC7B;oBACD,OAAO,EAAE;wBACP,+BAAkB;wBAClB,wCAA2B;wBAC3B,gDAAmC;wBACnC,qCAAwB;wBACxB,2CAA8B;wBAC9B,yCAA4B;qBAC7B;iBACF,EAAG,EAAE;KACL,CAAC;IACF,kBAAkB;IACX,iCAAc,GAAmE,cAAM,OAAA,EAC7F,EAD6F,CAC7F,CAAC;IACF,yBAAC;AAAD,CAAC,AA1CD,IA0CC;AA1CY,0BAAkB,qBA0C9B,CAAA"} \ No newline at end of file +{"version":3,"file":"datatable.module.js","sourceRoot":"","sources":["../src/datatable.module.ts"],"names":[],"mappings":";AAAA,qBAAyB,eAAe,CAAC,CAAA;AACzC,uBAA6B,iBAAiB,CAAC,CAAA;AAC/C,QAAO,+BAA+B,CAAC,CAAA;AAEvC,2BAkBO,cAAc,CAAC,CAAA;AAEtB,2BAMO,cAAc,CAAC,CAAA;AAGtB;IAAA;IA0CA,CAAC;IA1CwC,6BAAU,GAA0B;QAC7E,EAAE,IAAI,EAAE,eAAQ,EAAE,IAAI,EAAE,CAAC;oBACvB,OAAO,EAAE;wBACP,qBAAY;qBACb;oBACD,YAAY,EAAE;wBACZ,gCAAmB;wBACnB,+BAAkB;wBAClB,gCAAmB;wBACnB,+BAAkB;wBAClB,+BAAkB;wBAClB,8BAAiB;wBACjB,+BAAkB;wBAClB,qCAAwB;wBACxB,qCAAwB;wBACxB,yCAA4B;wBAC5B,mCAAsB;wBACtB,qCAAwB;wBACxB,oCAAuB;wBACvB,iCAAoB;wBACpB,sCAAyB;wBACzB,yCAA4B;wBAC5B,wCAA2B;wBAC3B,gDAAmC;wBACnC,uCAA0B;wBAC1B,wCAA2B;wBAC3B,2CAA8B;wBAC9B,yCAA4B;qBAC7B;oBACD,OAAO,EAAE;wBACP,+BAAkB;wBAClB,wCAA2B;wBAC3B,gDAAmC;wBACnC,qCAAwB;wBACxB,2CAA8B;wBAC9B,yCAA4B;qBAC7B;iBACF,EAAG,EAAE;KACL,CAAC;IACF,kBAAkB;IACX,iCAAc,GAAmE,cAAM,OAAA,EAC7F,EAD6F,CAC7F,CAAC;IACF,yBAAC;AAAD,CAAC,AA1CD,IA0CC;AA1CY,0BAAkB,qBA0C9B,CAAA"} \ No newline at end of file diff --git a/release/directives/draggable.directive.d.ts b/release/directives/draggable.directive.d.ts index 1a151e4e8..c8cd1259b 100644 --- a/release/directives/draggable.directive.d.ts +++ b/release/directives/draggable.directive.d.ts @@ -1,5 +1,5 @@ import { ElementRef, EventEmitter, OnDestroy } from '@angular/core'; -import { Subscription } from 'rxjs/Rx'; +import { Subscription } from 'rxjs/Subscription'; /** * Draggable Directive for Angular2 * diff --git a/release/directives/draggable.directive.js b/release/directives/draggable.directive.js index 3c1f2ffad..65bf3a626 100644 --- a/release/directives/draggable.directive.js +++ b/release/directives/draggable.directive.js @@ -1,6 +1,6 @@ "use strict"; var core_1 = require('@angular/core'); -var Rx_1 = require('rxjs/Rx'); +var Observable_1 = require('rxjs/Observable'); /** * Draggable Directive for Angular2 * @@ -42,7 +42,7 @@ var DraggableDirective = (function () { event.preventDefault(); this.isDragging = true; var mouseDownPos_1 = { x: event.clientX, y: event.clientY }; - this.subscription = Rx_1.Observable.fromEvent(document, 'mousemove') + this.subscription = Observable_1.Observable.fromEvent(document, 'mousemove') .subscribe(function (ev) { return _this.move(ev, mouseDownPos_1); }); this.dragStart.emit({ event: event, diff --git a/release/directives/draggable.directive.js.map b/release/directives/draggable.directive.js.map index 601244267..4602bde56 100644 --- a/release/directives/draggable.directive.js.map +++ b/release/directives/draggable.directive.js.map @@ -1 +1 @@ -{"version":3,"file":"draggable.directive.js","sourceRoot":"","sources":["../../src/directives/draggable.directive.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"draggable.directive.js","sourceRoot":"","sources":["../../src/directives/draggable.directive.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/release/directives/long-press.directive.js b/release/directives/long-press.directive.js index ff5ca6f38..9035183b3 100644 --- a/release/directives/long-press.directive.js +++ b/release/directives/long-press.directive.js @@ -15,7 +15,7 @@ var LongPressDirective = (function () { configurable: true }); Object.defineProperty(LongPressDirective.prototype, "isLongPress", { - get: function () { return this.longPressing !== undefined; }, + get: function () { return this.isLongPressing; }, enumerable: true, configurable: true }); @@ -36,9 +36,9 @@ var LongPressDirective = (function () { this.loop(event); }; LongPressDirective.prototype.onMouseMove = function (event) { - if (this.pressing && !this.longPressing) { - var xThres = (event.clientX - this.mouseX) > 10; - var yThres = (event.clientY - this.mouseY) > 10; + if (this.pressing && !this.isLongPressing) { + var xThres = Math.abs(event.clientX - this.mouseX) > 10; + var yThres = Math.abs(event.clientY - this.mouseY) > 10; if (xThres || yThres) { this.endPress(); } @@ -46,7 +46,7 @@ var LongPressDirective = (function () { }; LongPressDirective.prototype.loop = function (event) { var _this = this; - if (this.longPressing) { + if (this.isLongPressing) { this.timeout = setTimeout(function () { _this.longPressing.emit(event); _this.loop(event); diff --git a/release/directives/long-press.directive.js.map b/release/directives/long-press.directive.js.map index fb2d8fc9b..db8e376f4 100644 --- a/release/directives/long-press.directive.js.map +++ b/release/directives/long-press.directive.js.map @@ -1 +1 @@ -{"version":3,"file":"long-press.directive.js","sourceRoot":"","sources":["../../src/directives/long-press.directive.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"long-press.directive.js","sourceRoot":"","sources":["../../src/directives/long-press.directive.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/release/directives/resizeable.directive.d.ts b/release/directives/resizeable.directive.d.ts index 2bcbaab5a..134e60c19 100644 --- a/release/directives/resizeable.directive.d.ts +++ b/release/directives/resizeable.directive.d.ts @@ -1,5 +1,5 @@ import { ElementRef, EventEmitter, OnDestroy } from '@angular/core'; -import { Subscription } from 'rxjs/Rx'; +import { Subscription } from 'rxjs/Subscription'; export declare class ResizeableDirective implements OnDestroy { resizeEnabled: boolean; minWidth: number; diff --git a/release/directives/resizeable.directive.js b/release/directives/resizeable.directive.js index 5c96d3ede..b45c65d8d 100644 --- a/release/directives/resizeable.directive.js +++ b/release/directives/resizeable.directive.js @@ -1,6 +1,6 @@ "use strict"; var core_1 = require('@angular/core'); -var Rx_1 = require('rxjs/Rx'); +var Observable_1 = require('rxjs/Observable'); var ResizeableDirective = (function () { function ResizeableDirective(element) { this.resizeEnabled = true; @@ -33,7 +33,7 @@ var ResizeableDirective = (function () { if (isHandle) { event.stopPropagation(); this.resizing = true; - this.subscription = Rx_1.Observable.fromEvent(document, 'mousemove') + this.subscription = Observable_1.Observable.fromEvent(document, 'mousemove') .subscribe(function (e) { return _this.move(e, initialWidth, mouseDownScreenX); }); } }; diff --git a/release/directives/resizeable.directive.js.map b/release/directives/resizeable.directive.js.map index 206acee5c..f2d84fa18 100644 --- a/release/directives/resizeable.directive.js.map +++ b/release/directives/resizeable.directive.js.map @@ -1 +1 @@ -{"version":3,"file":"resizeable.directive.js","sourceRoot":"","sources":["../../src/directives/resizeable.directive.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"resizeable.directive.js","sourceRoot":"","sources":["../../src/directives/resizeable.directive.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/release/index.js b/release/index.js index 916bcc310..175792aba 100644 --- a/release/index.js +++ b/release/index.js @@ -1,18 +1,18 @@ /** - * angular2-data-table v"4.1.0" (https://github.com/swimlane/angular2-data-table) + * angular2-data-table v"4.2.0" (https://github.com/swimlane/angular2-data-table) * Copyright 2016 * Licensed under MIT */ (function webpackUniversalModuleDefinition(root, factory) { if(typeof exports === 'object' && typeof module === 'object') - module.exports = factory(require("@angular/core"), require("rxjs/Rx"), require("@angular/common")); + module.exports = factory(require("@angular/core"), require("@angular/common")); else if(typeof define === 'function' && define.amd) - define("angular2-data-table", ["@angular/core", "rxjs/Rx", "@angular/common"], factory); + define("angular2-data-table", ["@angular/core", "@angular/common"], factory); else if(typeof exports === 'object') - exports["angular2-data-table"] = factory(require("@angular/core"), require("rxjs/Rx"), require("@angular/common")); + exports["angular2-data-table"] = factory(require("@angular/core"), require("@angular/common")); else - root["angular2-data-table"] = factory(root["@angular/core"], root["rxjs/Rx"], root["@angular/common"]); -})(this, function(__WEBPACK_EXTERNAL_MODULE_0__, __WEBPACK_EXTERNAL_MODULE_1__, __WEBPACK_EXTERNAL_MODULE_2__) { + root["angular2-data-table"] = factory(root["@angular/core"], root["@angular/common"]); +})(this, function(__WEBPACK_EXTERNAL_MODULE_0__, __WEBPACK_EXTERNAL_MODULE_1__) { return /******/ (function(modules) { // webpackBootstrap /******/ // The module cache /******/ var installedModules = {}; @@ -83,6 +83,989 @@ return /******/ (function(modules) { // webpackBootstrap /************************************************************************/ /******/ ({ +/***/ "./node_modules/rxjs/Observable.js": +/***/ function(module, exports, __webpack_require__) { + +"use strict"; + +var root_1 = __webpack_require__("./node_modules/rxjs/util/root.js"); +var toSubscriber_1 = __webpack_require__("./node_modules/rxjs/util/toSubscriber.js"); +var observable_1 = __webpack_require__("./node_modules/rxjs/symbol/observable.js"); +/** + * A representation of any set of values over any amount of time. This the most basic building block + * of RxJS. + * + * @class Observable + */ +var Observable = (function () { + /** + * @constructor + * @param {Function} subscribe the function that is called when the Observable is + * initially subscribed to. This function is given a Subscriber, to which new values + * can be `next`ed, or an `error` method can be called to raise an error, or + * `complete` can be called to notify of a successful completion. + */ + function Observable(subscribe) { + this._isScalar = false; + if (subscribe) { + this._subscribe = subscribe; + } + } + /** + * Creates a new Observable, with this Observable as the source, and the passed + * operator defined as the new observable's operator. + * @method lift + * @param {Operator} operator the operator defining the operation to take on the observable + * @return {Observable} a new observable with the Operator applied + */ + Observable.prototype.lift = function (operator) { + var observable = new Observable(); + observable.source = this; + observable.operator = operator; + return observable; + }; + Observable.prototype.subscribe = function (observerOrNext, error, complete) { + var operator = this.operator; + var sink = toSubscriber_1.toSubscriber(observerOrNext, error, complete); + if (operator) { + operator.call(sink, this.source); + } + else { + sink.add(this._subscribe(sink)); + } + if (sink.syncErrorThrowable) { + sink.syncErrorThrowable = false; + if (sink.syncErrorThrown) { + throw sink.syncErrorValue; + } + } + return sink; + }; + /** + * @method forEach + * @param {Function} next a handler for each value emitted by the observable + * @param {PromiseConstructor} [PromiseCtor] a constructor function used to instantiate the Promise + * @return {Promise} a promise that either resolves on observable completion or + * rejects with the handled error + */ + Observable.prototype.forEach = function (next, PromiseCtor) { + var _this = this; + if (!PromiseCtor) { + if (root_1.root.Rx && root_1.root.Rx.config && root_1.root.Rx.config.Promise) { + PromiseCtor = root_1.root.Rx.config.Promise; + } + else if (root_1.root.Promise) { + PromiseCtor = root_1.root.Promise; + } + } + if (!PromiseCtor) { + throw new Error('no Promise impl found'); + } + return new PromiseCtor(function (resolve, reject) { + var subscription = _this.subscribe(function (value) { + if (subscription) { + // if there is a subscription, then we can surmise + // the next handling is asynchronous. Any errors thrown + // need to be rejected explicitly and unsubscribe must be + // called manually + try { + next(value); + } + catch (err) { + reject(err); + subscription.unsubscribe(); + } + } + else { + // if there is NO subscription, then we're getting a nexted + // value synchronously during subscription. We can just call it. + // If it errors, Observable's `subscribe` will ensure the + // unsubscription logic is called, then synchronously rethrow the error. + // After that, Promise will trap the error and send it + // down the rejection path. + next(value); + } + }, reject, resolve); + }); + }; + Observable.prototype._subscribe = function (subscriber) { + return this.source.subscribe(subscriber); + }; + /** + * An interop point defined by the es7-observable spec https://github.com/zenparsing/es-observable + * @method Symbol.observable + * @return {Observable} this instance of the observable + */ + Observable.prototype[observable_1.$$observable] = function () { + return this; + }; + // HACK: Since TypeScript inherits static properties too, we have to + // fight against TypeScript here so Subject can have a different static create signature + /** + * Creates a new cold Observable by calling the Observable constructor + * @static true + * @owner Observable + * @method create + * @param {Function} subscribe? the subscriber function to be passed to the Observable constructor + * @return {Observable} a new cold observable + */ + Observable.create = function (subscribe) { + return new Observable(subscribe); + }; + return Observable; +}()); +exports.Observable = Observable; +//# sourceMappingURL=Observable.js.map + +/***/ }, + +/***/ "./node_modules/rxjs/Observer.js": +/***/ function(module, exports, __webpack_require__) { + +"use strict"; + +exports.empty = { + closed: true, + next: function (value) { }, + error: function (err) { throw err; }, + complete: function () { } +}; +//# sourceMappingURL=Observer.js.map + +/***/ }, + +/***/ "./node_modules/rxjs/Subscriber.js": +/***/ function(module, exports, __webpack_require__) { + +"use strict"; + +var __extends = (this && this.__extends) || function (d, b) { + for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; + function __() { this.constructor = d; } + d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); +}; +var isFunction_1 = __webpack_require__("./node_modules/rxjs/util/isFunction.js"); +var Subscription_1 = __webpack_require__("./node_modules/rxjs/Subscription.js"); +var Observer_1 = __webpack_require__("./node_modules/rxjs/Observer.js"); +var rxSubscriber_1 = __webpack_require__("./node_modules/rxjs/symbol/rxSubscriber.js"); +/** + * Implements the {@link Observer} interface and extends the + * {@link Subscription} class. While the {@link Observer} is the public API for + * consuming the values of an {@link Observable}, all Observers get converted to + * a Subscriber, in order to provide Subscription-like capabilities such as + * `unsubscribe`. Subscriber is a common type in RxJS, and crucial for + * implementing operators, but it is rarely used as a public API. + * + * @class Subscriber + */ +var Subscriber = (function (_super) { + __extends(Subscriber, _super); + /** + * @param {Observer|function(value: T): void} [destinationOrNext] A partially + * defined Observer or a `next` callback function. + * @param {function(e: ?any): void} [error] The `error` callback of an + * Observer. + * @param {function(): void} [complete] The `complete` callback of an + * Observer. + */ + function Subscriber(destinationOrNext, error, complete) { + _super.call(this); + this.syncErrorValue = null; + this.syncErrorThrown = false; + this.syncErrorThrowable = false; + this.isStopped = false; + switch (arguments.length) { + case 0: + this.destination = Observer_1.empty; + break; + case 1: + if (!destinationOrNext) { + this.destination = Observer_1.empty; + break; + } + if (typeof destinationOrNext === 'object') { + if (destinationOrNext instanceof Subscriber) { + this.destination = destinationOrNext; + this.destination.add(this); + } + else { + this.syncErrorThrowable = true; + this.destination = new SafeSubscriber(this, destinationOrNext); + } + break; + } + default: + this.syncErrorThrowable = true; + this.destination = new SafeSubscriber(this, destinationOrNext, error, complete); + break; + } + } + Subscriber.prototype[rxSubscriber_1.$$rxSubscriber] = function () { return this; }; + /** + * A static factory for a Subscriber, given a (potentially partial) definition + * of an Observer. + * @param {function(x: ?T): void} [next] The `next` callback of an Observer. + * @param {function(e: ?any): void} [error] The `error` callback of an + * Observer. + * @param {function(): void} [complete] The `complete` callback of an + * Observer. + * @return {Subscriber} A Subscriber wrapping the (partially defined) + * Observer represented by the given arguments. + */ + Subscriber.create = function (next, error, complete) { + var subscriber = new Subscriber(next, error, complete); + subscriber.syncErrorThrowable = false; + return subscriber; + }; + /** + * The {@link Observer} callback to receive notifications of type `next` from + * the Observable, with a value. The Observable may call this method 0 or more + * times. + * @param {T} [value] The `next` value. + * @return {void} + */ + Subscriber.prototype.next = function (value) { + if (!this.isStopped) { + this._next(value); + } + }; + /** + * The {@link Observer} callback to receive notifications of type `error` from + * the Observable, with an attached {@link Error}. Notifies the Observer that + * the Observable has experienced an error condition. + * @param {any} [err] The `error` exception. + * @return {void} + */ + Subscriber.prototype.error = function (err) { + if (!this.isStopped) { + this.isStopped = true; + this._error(err); + } + }; + /** + * The {@link Observer} callback to receive a valueless notification of type + * `complete` from the Observable. Notifies the Observer that the Observable + * has finished sending push-based notifications. + * @return {void} + */ + Subscriber.prototype.complete = function () { + if (!this.isStopped) { + this.isStopped = true; + this._complete(); + } + }; + Subscriber.prototype.unsubscribe = function () { + if (this.closed) { + return; + } + this.isStopped = true; + _super.prototype.unsubscribe.call(this); + }; + Subscriber.prototype._next = function (value) { + this.destination.next(value); + }; + Subscriber.prototype._error = function (err) { + this.destination.error(err); + this.unsubscribe(); + }; + Subscriber.prototype._complete = function () { + this.destination.complete(); + this.unsubscribe(); + }; + return Subscriber; +}(Subscription_1.Subscription)); +exports.Subscriber = Subscriber; +/** + * We need this JSDoc comment for affecting ESDoc. + * @ignore + * @extends {Ignored} + */ +var SafeSubscriber = (function (_super) { + __extends(SafeSubscriber, _super); + function SafeSubscriber(_parent, observerOrNext, error, complete) { + _super.call(this); + this._parent = _parent; + var next; + var context = this; + if (isFunction_1.isFunction(observerOrNext)) { + next = observerOrNext; + } + else if (observerOrNext) { + context = observerOrNext; + next = observerOrNext.next; + error = observerOrNext.error; + complete = observerOrNext.complete; + if (isFunction_1.isFunction(context.unsubscribe)) { + this.add(context.unsubscribe.bind(context)); + } + context.unsubscribe = this.unsubscribe.bind(this); + } + this._context = context; + this._next = next; + this._error = error; + this._complete = complete; + } + SafeSubscriber.prototype.next = function (value) { + if (!this.isStopped && this._next) { + var _parent = this._parent; + if (!_parent.syncErrorThrowable) { + this.__tryOrUnsub(this._next, value); + } + else if (this.__tryOrSetError(_parent, this._next, value)) { + this.unsubscribe(); + } + } + }; + SafeSubscriber.prototype.error = function (err) { + if (!this.isStopped) { + var _parent = this._parent; + if (this._error) { + if (!_parent.syncErrorThrowable) { + this.__tryOrUnsub(this._error, err); + this.unsubscribe(); + } + else { + this.__tryOrSetError(_parent, this._error, err); + this.unsubscribe(); + } + } + else if (!_parent.syncErrorThrowable) { + this.unsubscribe(); + throw err; + } + else { + _parent.syncErrorValue = err; + _parent.syncErrorThrown = true; + this.unsubscribe(); + } + } + }; + SafeSubscriber.prototype.complete = function () { + if (!this.isStopped) { + var _parent = this._parent; + if (this._complete) { + if (!_parent.syncErrorThrowable) { + this.__tryOrUnsub(this._complete); + this.unsubscribe(); + } + else { + this.__tryOrSetError(_parent, this._complete); + this.unsubscribe(); + } + } + else { + this.unsubscribe(); + } + } + }; + SafeSubscriber.prototype.__tryOrUnsub = function (fn, value) { + try { + fn.call(this._context, value); + } + catch (err) { + this.unsubscribe(); + throw err; + } + }; + SafeSubscriber.prototype.__tryOrSetError = function (parent, fn, value) { + try { + fn.call(this._context, value); + } + catch (err) { + parent.syncErrorValue = err; + parent.syncErrorThrown = true; + return true; + } + return false; + }; + SafeSubscriber.prototype._unsubscribe = function () { + var _parent = this._parent; + this._context = null; + this._parent = null; + _parent.unsubscribe(); + }; + return SafeSubscriber; +}(Subscriber)); +//# sourceMappingURL=Subscriber.js.map + +/***/ }, + +/***/ "./node_modules/rxjs/Subscription.js": +/***/ function(module, exports, __webpack_require__) { + +"use strict"; + +var __extends = (this && this.__extends) || function (d, b) { + for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; + function __() { this.constructor = d; } + d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); +}; +var isArray_1 = __webpack_require__("./node_modules/rxjs/util/isArray.js"); +var isObject_1 = __webpack_require__("./node_modules/rxjs/util/isObject.js"); +var isFunction_1 = __webpack_require__("./node_modules/rxjs/util/isFunction.js"); +var tryCatch_1 = __webpack_require__("./node_modules/rxjs/util/tryCatch.js"); +var errorObject_1 = __webpack_require__("./node_modules/rxjs/util/errorObject.js"); +var UnsubscriptionError_1 = __webpack_require__("./node_modules/rxjs/util/UnsubscriptionError.js"); +/** + * Represents a disposable resource, such as the execution of an Observable. A + * Subscription has one important method, `unsubscribe`, that takes no argument + * and just disposes the resource held by the subscription. + * + * Additionally, subscriptions may be grouped together through the `add()` + * method, which will attach a child Subscription to the current Subscription. + * When a Subscription is unsubscribed, all its children (and its grandchildren) + * will be unsubscribed as well. + * + * @class Subscription + */ +var Subscription = (function () { + /** + * @param {function(): void} [unsubscribe] A function describing how to + * perform the disposal of resources when the `unsubscribe` method is called. + */ + function Subscription(unsubscribe) { + /** + * A flag to indicate whether this Subscription has already been unsubscribed. + * @type {boolean} + */ + this.closed = false; + if (unsubscribe) { + this._unsubscribe = unsubscribe; + } + } + /** + * Disposes the resources held by the subscription. May, for instance, cancel + * an ongoing Observable execution or cancel any other type of work that + * started when the Subscription was created. + * @return {void} + */ + Subscription.prototype.unsubscribe = function () { + var hasErrors = false; + var errors; + if (this.closed) { + return; + } + this.closed = true; + var _a = this, _unsubscribe = _a._unsubscribe, _subscriptions = _a._subscriptions; + this._subscriptions = null; + if (isFunction_1.isFunction(_unsubscribe)) { + var trial = tryCatch_1.tryCatch(_unsubscribe).call(this); + if (trial === errorObject_1.errorObject) { + hasErrors = true; + errors = errors || (errorObject_1.errorObject.e instanceof UnsubscriptionError_1.UnsubscriptionError ? + flattenUnsubscriptionErrors(errorObject_1.errorObject.e.errors) : [errorObject_1.errorObject.e]); + } + } + if (isArray_1.isArray(_subscriptions)) { + var index = -1; + var len = _subscriptions.length; + while (++index < len) { + var sub = _subscriptions[index]; + if (isObject_1.isObject(sub)) { + var trial = tryCatch_1.tryCatch(sub.unsubscribe).call(sub); + if (trial === errorObject_1.errorObject) { + hasErrors = true; + errors = errors || []; + var err = errorObject_1.errorObject.e; + if (err instanceof UnsubscriptionError_1.UnsubscriptionError) { + errors = errors.concat(flattenUnsubscriptionErrors(err.errors)); + } + else { + errors.push(err); + } + } + } + } + } + if (hasErrors) { + throw new UnsubscriptionError_1.UnsubscriptionError(errors); + } + }; + /** + * Adds a tear down to be called during the unsubscribe() of this + * Subscription. + * + * If the tear down being added is a subscription that is already + * unsubscribed, is the same reference `add` is being called on, or is + * `Subscription.EMPTY`, it will not be added. + * + * If this subscription is already in an `closed` state, the passed + * tear down logic will be executed immediately. + * + * @param {TeardownLogic} teardown The additional logic to execute on + * teardown. + * @return {Subscription} Returns the Subscription used or created to be + * added to the inner subscriptions list. This Subscription can be used with + * `remove()` to remove the passed teardown logic from the inner subscriptions + * list. + */ + Subscription.prototype.add = function (teardown) { + if (!teardown || (teardown === Subscription.EMPTY)) { + return Subscription.EMPTY; + } + if (teardown === this) { + return this; + } + var sub = teardown; + switch (typeof teardown) { + case 'function': + sub = new Subscription(teardown); + case 'object': + if (sub.closed || typeof sub.unsubscribe !== 'function') { + return sub; + } + else if (this.closed) { + sub.unsubscribe(); + return sub; + } + break; + default: + throw new Error('unrecognized teardown ' + teardown + ' added to Subscription.'); + } + var childSub = new ChildSubscription(sub, this); + this._subscriptions = this._subscriptions || []; + this._subscriptions.push(childSub); + return childSub; + }; + /** + * Removes a Subscription from the internal list of subscriptions that will + * unsubscribe during the unsubscribe process of this Subscription. + * @param {Subscription} subscription The subscription to remove. + * @return {void} + */ + Subscription.prototype.remove = function (subscription) { + // HACK: This might be redundant because of the logic in `add()` + if (subscription == null || (subscription === this) || (subscription === Subscription.EMPTY)) { + return; + } + var subscriptions = this._subscriptions; + if (subscriptions) { + var subscriptionIndex = subscriptions.indexOf(subscription); + if (subscriptionIndex !== -1) { + subscriptions.splice(subscriptionIndex, 1); + } + } + }; + Subscription.EMPTY = (function (empty) { + empty.closed = true; + return empty; + }(new Subscription())); + return Subscription; +}()); +exports.Subscription = Subscription; +var ChildSubscription = (function (_super) { + __extends(ChildSubscription, _super); + function ChildSubscription(_innerSub, _parent) { + _super.call(this); + this._innerSub = _innerSub; + this._parent = _parent; + } + ChildSubscription.prototype._unsubscribe = function () { + var _a = this, _innerSub = _a._innerSub, _parent = _a._parent; + _parent.remove(this); + _innerSub.unsubscribe(); + }; + return ChildSubscription; +}(Subscription)); +exports.ChildSubscription = ChildSubscription; +function flattenUnsubscriptionErrors(errors) { + return errors.reduce(function (errs, err) { return errs.concat((err instanceof UnsubscriptionError_1.UnsubscriptionError) ? err.errors : err); }, []); +} +//# sourceMappingURL=Subscription.js.map + +/***/ }, + +/***/ "./node_modules/rxjs/add/observable/fromEvent.js": +/***/ function(module, exports, __webpack_require__) { + +"use strict"; + +var Observable_1 = __webpack_require__("./node_modules/rxjs/Observable.js"); +var fromEvent_1 = __webpack_require__("./node_modules/rxjs/observable/fromEvent.js"); +Observable_1.Observable.fromEvent = fromEvent_1.fromEvent; +//# sourceMappingURL=fromEvent.js.map + +/***/ }, + +/***/ "./node_modules/rxjs/observable/FromEventObservable.js": +/***/ function(module, exports, __webpack_require__) { + +"use strict"; + +var __extends = (this && this.__extends) || function (d, b) { + for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; + function __() { this.constructor = d; } + d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); +}; +var Observable_1 = __webpack_require__("./node_modules/rxjs/Observable.js"); +var tryCatch_1 = __webpack_require__("./node_modules/rxjs/util/tryCatch.js"); +var isFunction_1 = __webpack_require__("./node_modules/rxjs/util/isFunction.js"); +var errorObject_1 = __webpack_require__("./node_modules/rxjs/util/errorObject.js"); +var Subscription_1 = __webpack_require__("./node_modules/rxjs/Subscription.js"); +var toString = Object.prototype.toString; +function isNodeStyleEventEmmitter(sourceObj) { + return !!sourceObj && typeof sourceObj.addListener === 'function' && typeof sourceObj.removeListener === 'function'; +} +function isJQueryStyleEventEmitter(sourceObj) { + return !!sourceObj && typeof sourceObj.on === 'function' && typeof sourceObj.off === 'function'; +} +function isNodeList(sourceObj) { + return !!sourceObj && toString.call(sourceObj) === '[object NodeList]'; +} +function isHTMLCollection(sourceObj) { + return !!sourceObj && toString.call(sourceObj) === '[object HTMLCollection]'; +} +function isEventTarget(sourceObj) { + return !!sourceObj && typeof sourceObj.addEventListener === 'function' && typeof sourceObj.removeEventListener === 'function'; +} +/** + * We need this JSDoc comment for affecting ESDoc. + * @extends {Ignored} + * @hide true + */ +var FromEventObservable = (function (_super) { + __extends(FromEventObservable, _super); + function FromEventObservable(sourceObj, eventName, selector, options) { + _super.call(this); + this.sourceObj = sourceObj; + this.eventName = eventName; + this.selector = selector; + this.options = options; + } + /* tslint:enable:max-line-length */ + /** + * Creates an Observable that emits events of a specific type coming from the + * given event target. + * + * Creates an Observable from DOM events, or Node + * EventEmitter events or others. + * + * + * + * Creates an Observable by attaching an event listener to an "event target", + * which may be an object with `addEventListener` and `removeEventListener`, + * a Node.js EventEmitter, a jQuery style EventEmitter, a NodeList from the + * DOM, or an HTMLCollection from the DOM. The event handler is attached when + * the output Observable is subscribed, and removed when the Subscription is + * unsubscribed. + * + * @example Emits clicks happening on the DOM document + * var clicks = Rx.Observable.fromEvent(document, 'click'); + * clicks.subscribe(x => console.log(x)); + * + * // Results in: + * // MouseEvent object logged to console everytime a click + * // occurs on the document. + * + * @see {@link from} + * @see {@link fromEventPattern} + * + * @param {EventTargetLike} target The DOMElement, event target, Node.js + * EventEmitter, NodeList or HTMLCollection to attach the event handler to. + * @param {string} eventName The event name of interest, being emitted by the + * `target`. + * @param {EventListenerOptions} [options] Options to pass through to addEventListener + * @param {SelectorMethodSignature} [selector] An optional function to + * post-process results. It takes the arguments from the event handler and + * should return a single value. + * @return {Observable} + * @static true + * @name fromEvent + * @owner Observable + */ + FromEventObservable.create = function (target, eventName, options, selector) { + if (isFunction_1.isFunction(options)) { + selector = options; + options = undefined; + } + return new FromEventObservable(target, eventName, selector, options); + }; + FromEventObservable.setupSubscription = function (sourceObj, eventName, handler, subscriber, options) { + var unsubscribe; + if (isNodeList(sourceObj) || isHTMLCollection(sourceObj)) { + for (var i = 0, len = sourceObj.length; i < len; i++) { + FromEventObservable.setupSubscription(sourceObj[i], eventName, handler, subscriber, options); + } + } + else if (isEventTarget(sourceObj)) { + var source_1 = sourceObj; + sourceObj.addEventListener(eventName, handler, options); + unsubscribe = function () { return source_1.removeEventListener(eventName, handler); }; + } + else if (isJQueryStyleEventEmitter(sourceObj)) { + var source_2 = sourceObj; + sourceObj.on(eventName, handler); + unsubscribe = function () { return source_2.off(eventName, handler); }; + } + else if (isNodeStyleEventEmmitter(sourceObj)) { + var source_3 = sourceObj; + sourceObj.addListener(eventName, handler); + unsubscribe = function () { return source_3.removeListener(eventName, handler); }; + } + else { + throw new TypeError('Invalid event target'); + } + subscriber.add(new Subscription_1.Subscription(unsubscribe)); + }; + FromEventObservable.prototype._subscribe = function (subscriber) { + var sourceObj = this.sourceObj; + var eventName = this.eventName; + var options = this.options; + var selector = this.selector; + var handler = selector ? function () { + var args = []; + for (var _i = 0; _i < arguments.length; _i++) { + args[_i - 0] = arguments[_i]; + } + var result = tryCatch_1.tryCatch(selector).apply(void 0, args); + if (result === errorObject_1.errorObject) { + subscriber.error(errorObject_1.errorObject.e); + } + else { + subscriber.next(result); + } + } : function (e) { return subscriber.next(e); }; + FromEventObservable.setupSubscription(sourceObj, eventName, handler, subscriber, options); + }; + return FromEventObservable; +}(Observable_1.Observable)); +exports.FromEventObservable = FromEventObservable; +//# sourceMappingURL=FromEventObservable.js.map + +/***/ }, + +/***/ "./node_modules/rxjs/observable/fromEvent.js": +/***/ function(module, exports, __webpack_require__) { + +"use strict"; + +var FromEventObservable_1 = __webpack_require__("./node_modules/rxjs/observable/FromEventObservable.js"); +exports.fromEvent = FromEventObservable_1.FromEventObservable.create; +//# sourceMappingURL=fromEvent.js.map + +/***/ }, + +/***/ "./node_modules/rxjs/symbol/observable.js": +/***/ function(module, exports, __webpack_require__) { + +"use strict"; + +var root_1 = __webpack_require__("./node_modules/rxjs/util/root.js"); +function getSymbolObservable(context) { + var $$observable; + var Symbol = context.Symbol; + if (typeof Symbol === 'function') { + if (Symbol.observable) { + $$observable = Symbol.observable; + } + else { + $$observable = Symbol('observable'); + Symbol.observable = $$observable; + } + } + else { + $$observable = '@@observable'; + } + return $$observable; +} +exports.getSymbolObservable = getSymbolObservable; +exports.$$observable = getSymbolObservable(root_1.root); +//# sourceMappingURL=observable.js.map + +/***/ }, + +/***/ "./node_modules/rxjs/symbol/rxSubscriber.js": +/***/ function(module, exports, __webpack_require__) { + +"use strict"; + +var root_1 = __webpack_require__("./node_modules/rxjs/util/root.js"); +var Symbol = root_1.root.Symbol; +exports.$$rxSubscriber = (typeof Symbol === 'function' && typeof Symbol.for === 'function') ? + Symbol.for('rxSubscriber') : '@@rxSubscriber'; +//# sourceMappingURL=rxSubscriber.js.map + +/***/ }, + +/***/ "./node_modules/rxjs/util/UnsubscriptionError.js": +/***/ function(module, exports, __webpack_require__) { + +"use strict"; + +var __extends = (this && this.__extends) || function (d, b) { + for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; + function __() { this.constructor = d; } + d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); +}; +/** + * An error thrown when one or more errors have occurred during the + * `unsubscribe` of a {@link Subscription}. + */ +var UnsubscriptionError = (function (_super) { + __extends(UnsubscriptionError, _super); + function UnsubscriptionError(errors) { + _super.call(this); + this.errors = errors; + var err = Error.call(this, errors ? + errors.length + " errors occurred during unsubscription:\n " + errors.map(function (err, i) { return ((i + 1) + ") " + err.toString()); }).join('\n ') : ''); + this.name = err.name = 'UnsubscriptionError'; + this.stack = err.stack; + this.message = err.message; + } + return UnsubscriptionError; +}(Error)); +exports.UnsubscriptionError = UnsubscriptionError; +//# sourceMappingURL=UnsubscriptionError.js.map + +/***/ }, + +/***/ "./node_modules/rxjs/util/errorObject.js": +/***/ function(module, exports, __webpack_require__) { + +"use strict"; + +// typeof any so that it we don't have to cast when comparing a result to the error object +exports.errorObject = { e: {} }; +//# sourceMappingURL=errorObject.js.map + +/***/ }, + +/***/ "./node_modules/rxjs/util/isArray.js": +/***/ function(module, exports, __webpack_require__) { + +"use strict"; + +exports.isArray = Array.isArray || (function (x) { return x && typeof x.length === 'number'; }); +//# sourceMappingURL=isArray.js.map + +/***/ }, + +/***/ "./node_modules/rxjs/util/isFunction.js": +/***/ function(module, exports, __webpack_require__) { + +"use strict"; + +function isFunction(x) { + return typeof x === 'function'; +} +exports.isFunction = isFunction; +//# sourceMappingURL=isFunction.js.map + +/***/ }, + +/***/ "./node_modules/rxjs/util/isObject.js": +/***/ function(module, exports, __webpack_require__) { + +"use strict"; + +function isObject(x) { + return x != null && typeof x === 'object'; +} +exports.isObject = isObject; +//# sourceMappingURL=isObject.js.map + +/***/ }, + +/***/ "./node_modules/rxjs/util/root.js": +/***/ function(module, exports, __webpack_require__) { + +"use strict"; +/* WEBPACK VAR INJECTION */(function(global) { +/** + * window: browser in DOM main thread + * self: browser in WebWorker + * global: Node.js/other + */ +exports.root = (typeof window == 'object' && window.window === window && window + || typeof self == 'object' && self.self === self && self + || typeof global == 'object' && global.global === global && global); +if (!exports.root) { + throw new Error('RxJS could not find any global context (window, self, global)'); +} +//# sourceMappingURL=root.js.map +/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__("./node_modules/webpack/buildin/global.js"))) + +/***/ }, + +/***/ "./node_modules/rxjs/util/toSubscriber.js": +/***/ function(module, exports, __webpack_require__) { + +"use strict"; + +var Subscriber_1 = __webpack_require__("./node_modules/rxjs/Subscriber.js"); +var rxSubscriber_1 = __webpack_require__("./node_modules/rxjs/symbol/rxSubscriber.js"); +var Observer_1 = __webpack_require__("./node_modules/rxjs/Observer.js"); +function toSubscriber(nextOrObserver, error, complete) { + if (nextOrObserver) { + if (nextOrObserver instanceof Subscriber_1.Subscriber) { + return nextOrObserver; + } + if (nextOrObserver[rxSubscriber_1.$$rxSubscriber]) { + return nextOrObserver[rxSubscriber_1.$$rxSubscriber](); + } + } + if (!nextOrObserver && !error && !complete) { + return new Subscriber_1.Subscriber(Observer_1.empty); + } + return new Subscriber_1.Subscriber(nextOrObserver, error, complete); +} +exports.toSubscriber = toSubscriber; +//# sourceMappingURL=toSubscriber.js.map + +/***/ }, + +/***/ "./node_modules/rxjs/util/tryCatch.js": +/***/ function(module, exports, __webpack_require__) { + +"use strict"; + +var errorObject_1 = __webpack_require__("./node_modules/rxjs/util/errorObject.js"); +var tryCatchTarget; +function tryCatcher() { + try { + return tryCatchTarget.apply(this, arguments); + } + catch (e) { + errorObject_1.errorObject.e = e; + return errorObject_1.errorObject; + } +} +function tryCatch(fn) { + tryCatchTarget = fn; + return tryCatcher; +} +exports.tryCatch = tryCatch; +; +//# sourceMappingURL=tryCatch.js.map + +/***/ }, + +/***/ "./node_modules/webpack/buildin/global.js": +/***/ function(module, exports) { + +var g; + +// This works in non-strict mode +g = (function() { return this; })(); + +try { + // This works if eval is allowed (see CSP) + g = g || Function("return this")() || (1,eval)("this"); +} catch(e) { + // This works if the window reference is available + if(typeof window === "object") + g = window; +} + +// g can still be undefined, but nothing to do about it... +// We return undefined, instead of nothing here, so it's +// easier to handle this case. if(!global) { ...} + +module.exports = g; + + +/***/ }, + /***/ "./src/components/body/body-cell.component.ts": /***/ function(module, exports, __webpack_require__) { @@ -117,6 +1100,16 @@ var DataTableBodyCellComponent = (function () { enumerable: true, configurable: true }); + Object.defineProperty(DataTableBodyCellComponent.prototype, "columnCssClasses", { + get: function () { + var cls = 'datatable-body-cell'; + if (this.column.cssClasses) + cls += ' ' + this.column.cssClasses; + return cls; + }, + enumerable: true, + configurable: true + }); Object.defineProperty(DataTableBodyCellComponent.prototype, "isSortActive", { get: function () { return !this.sortDir; @@ -262,6 +1255,10 @@ var DataTableBodyCellComponent = (function () { core_1.Output(), __metadata('design:type', core_1.EventEmitter) ], DataTableBodyCellComponent.prototype, "activate", void 0); + __decorate([ + core_1.HostBinding('class'), + __metadata('design:type', Object) + ], DataTableBodyCellComponent.prototype, "columnCssClasses", null); __decorate([ core_1.HostBinding('class.active'), __metadata('design:type', Boolean) @@ -3051,6 +4048,8 @@ var DataTableHeaderCellComponent = (function () { cls += ' sortable'; if (this.column.resizeable) cls += ' resizeable'; + if (this.column.cssClasses) + cls += ' ' + this.column.cssClasses; var sortDir = this.sortDir; if (sortDir) { cls += " sort-active sort-" + sortDir; @@ -3562,7 +4561,8 @@ var __metadata = (this && this.__metadata) || function (k, v) { if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); }; var core_1 = __webpack_require__(0); -var common_1 = __webpack_require__(2); +var common_1 = __webpack_require__(1); +__webpack_require__("./node_modules/rxjs/add/observable/fromEvent.js"); var components_1 = __webpack_require__("./src/components/index.ts"); var directives_1 = __webpack_require__("./src/directives/index.ts"); var NgxDatatableModule = (function () { @@ -3630,7 +4630,7 @@ var __metadata = (this && this.__metadata) || function (k, v) { if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); }; var core_1 = __webpack_require__(0); -var Rx_1 = __webpack_require__(1); +var Observable_1 = __webpack_require__("./node_modules/rxjs/Observable.js"); /** * Draggable Directive for Angular2 * @@ -3672,7 +4672,7 @@ var DraggableDirective = (function () { event.preventDefault(); this.isDragging = true; var mouseDownPos_1 = { x: event.clientX, y: event.clientY }; - this.subscription = Rx_1.Observable.fromEvent(document, 'mousemove') + this.subscription = Observable_1.Observable.fromEvent(document, 'mousemove') .subscribe(function (ev) { return _this.move(ev, mouseDownPos_1); }); this.dragStart.emit({ event: event, @@ -3793,7 +4793,7 @@ var LongPressDirective = (function () { configurable: true }); Object.defineProperty(LongPressDirective.prototype, "isLongPress", { - get: function () { return this.longPressing !== undefined; }, + get: function () { return this.isLongPressing; }, enumerable: true, configurable: true }); @@ -3814,9 +4814,9 @@ var LongPressDirective = (function () { this.loop(event); }; LongPressDirective.prototype.onMouseMove = function (event) { - if (this.pressing && !this.longPressing) { - var xThres = (event.clientX - this.mouseX) > 10; - var yThres = (event.clientY - this.mouseY) > 10; + if (this.pressing && !this.isLongPressing) { + var xThres = Math.abs(event.clientX - this.mouseX) > 10; + var yThres = Math.abs(event.clientY - this.mouseY) > 10; if (xThres || yThres) { this.endPress(); } @@ -3824,7 +4824,7 @@ var LongPressDirective = (function () { }; LongPressDirective.prototype.loop = function (event) { var _this = this; - if (this.longPressing) { + if (this.isLongPressing) { this.timeout = setTimeout(function () { _this.longPressing.emit(event); _this.loop(event); @@ -4013,7 +5013,7 @@ var __metadata = (this && this.__metadata) || function (k, v) { if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); }; var core_1 = __webpack_require__(0); -var Rx_1 = __webpack_require__(1); +var Observable_1 = __webpack_require__("./node_modules/rxjs/Observable.js"); var ResizeableDirective = (function () { function ResizeableDirective(element) { this.resizeEnabled = true; @@ -4046,7 +5046,7 @@ var ResizeableDirective = (function () { if (isHandle) { event.stopPropagation(); this.resizing = true; - this.subscription = Rx_1.Observable.fromEvent(document, 'mousemove') + this.subscription = Observable_1.Observable.fromEvent(document, 'mousemove') .subscribe(function (e) { return _this.move(e, initialWidth, mouseDownScreenX); }); } }; @@ -5294,13 +6294,6 @@ module.exports = __WEBPACK_EXTERNAL_MODULE_0__; module.exports = __WEBPACK_EXTERNAL_MODULE_1__; -/***/ }, - -/***/ 2: -/***/ function(module, exports) { - -module.exports = __WEBPACK_EXTERNAL_MODULE_2__; - /***/ } /******/ }); diff --git a/release/index.map b/release/index.map index 38981ed60..e944ad656 100644 --- a/release/index.map +++ b/release/index.map @@ -1 +1 @@ -{"version":3,"sources":["webpack:///webpack/universalModuleDefinition","webpack:///webpack/bootstrap a571d98bb67bf28a03c0","webpack:///./src/components/body/body-cell.component.ts","webpack:///./src/components/body/body-row-wrapper.component.ts","webpack:///./src/components/body/body-row.component.ts","webpack:///./src/components/body/body.component.ts","webpack:///./src/components/body/index.ts","webpack:///./src/components/body/progress-bar.component.ts","webpack:///./src/components/body/scroller.component.ts","webpack:///./src/components/body/selection.component.ts","webpack:///./src/components/columns/column-cell.directive.ts","webpack:///./src/components/columns/column-header.directive.ts","webpack:///./src/components/columns/column.directive.ts","webpack:///./src/components/columns/index.ts","webpack:///./src/components/datatable.component.ts","webpack:///./src/components/footer/footer.component.ts","webpack:///./src/components/footer/index.ts","webpack:///./src/components/footer/pager.component.ts","webpack:///./src/components/header/header-cell.component.ts","webpack:///./src/components/header/header.component.ts","webpack:///./src/components/header/index.ts","webpack:///./src/components/index.ts","webpack:///./src/components/row-detail/index.ts","webpack:///./src/components/row-detail/row-detail-template.directive.ts","webpack:///./src/components/row-detail/row-detail.directive.ts","webpack:///./src/datatable.module.ts","webpack:///./src/directives/draggable.directive.ts","webpack:///./src/directives/index.ts","webpack:///./src/directives/long-press.directive.ts","webpack:///./src/directives/orderable.directive.ts","webpack:///./src/directives/resizeable.directive.ts","webpack:///./src/directives/visibility.directive.ts","webpack:///./src/index.ts","webpack:///./src/types/click.type.ts","webpack:///./src/types/column-mode.type.ts","webpack:///./src/types/index.ts","webpack:///./src/types/selection.type.ts","webpack:///./src/types/sort-direction.type.ts","webpack:///./src/types/sort.type.ts","webpack:///./src/utils/camel-case.ts","webpack:///./src/utils/column-helper.ts","webpack:///./src/utils/column.ts","webpack:///./src/utils/deep-getter.ts","webpack:///./src/utils/id.ts","webpack:///./src/utils/index.ts","webpack:///./src/utils/keys.ts","webpack:///./src/utils/math.ts","webpack:///./src/utils/prefixes.ts","webpack:///./src/utils/row-height-cache.ts","webpack:///./src/utils/scrollbar-width.ts","webpack:///./src/utils/selection.ts","webpack:///./src/utils/sort.ts","webpack:///./src/utils/throttle.ts","webpack:///./src/utils/translate.ts","webpack:///external \"@angular/core\"","webpack:///external \"rxjs/Rx\"","webpack:///external \"@angular/common\""],"names":[],"mappings":"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","file":"index.js","sourcesContent":["(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory(require(\"@angular/core\"), require(\"rxjs/Rx\"), require(\"@angular/common\"));\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine(\"angular2-data-table\", [\"@angular/core\", \"rxjs/Rx\", \"@angular/common\"], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"angular2-data-table\"] = factory(require(\"@angular/core\"), require(\"rxjs/Rx\"), require(\"@angular/common\"));\n\telse\n\t\troot[\"angular2-data-table\"] = factory(root[\"@angular/core\"], root[\"rxjs/Rx\"], root[\"@angular/common\"]);\n})(this, function(__WEBPACK_EXTERNAL_MODULE_0__, __WEBPACK_EXTERNAL_MODULE_1__, __WEBPACK_EXTERNAL_MODULE_2__) {\nreturn \n\n\n// WEBPACK FOOTER //\n// webpack/universalModuleDefinition"," \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId])\n \t\t\treturn installedModules[moduleId].exports;\n\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// identity function for calling harmony imports with the correct context\n \t__webpack_require__.i = function(value) { return value; };\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, {\n \t\t\t\tconfigurable: false,\n \t\t\t\tenumerable: true,\n \t\t\t\tget: getter\n \t\t\t});\n \t\t}\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = \"./src/index.ts\");\n\n\n\n// WEBPACK FOOTER //\n// webpack/bootstrap a571d98bb67bf28a03c0","import {\r\n Component, Input, PipeTransform, HostBinding, \r\n Output, EventEmitter, HostListener, ElementRef\r\n} from '@angular/core';\r\n\r\nimport { deepValueGetter, Keys } from '../../utils';\r\nimport { SortDirection } from '../../types';\r\n\r\n@Component({\r\n selector: 'datatable-body-cell',\r\n template: `\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n `,\r\n host: {\r\n class: 'datatable-body-cell'\r\n }\r\n})\r\nexport class DataTableBodyCellComponent {\r\n\r\n @Input() row: any;\r\n @Input() column: any;\r\n @Input() rowHeight: number;\r\n @Input() isSelected: boolean;\r\n\r\n @Input() set sorts(val: any[]) {\r\n this._sorts = val;\r\n this.calcSortDir = this.calcSortDir(val);\r\n }\r\n\r\n get sorts(): any[] {\r\n return this._sorts;\r\n }\r\n\r\n @Output() activate: EventEmitter = new EventEmitter();\r\n\r\n @HostBinding('class.active')\r\n isFocused: boolean = false;\r\n\r\n @HostBinding('class.sort-active')\r\n get isSortActive(): boolean {\r\n return !this.sortDir;\r\n }\r\n\r\n @HostBinding('class.sort-asc')\r\n get isSortAscending(): boolean {\r\n return this.sortDir === SortDirection.asc;\r\n }\r\n\r\n @HostBinding('class.sort-desc')\r\n get isSortDescending(): boolean {\r\n return this.sortDir === SortDirection.desc;\r\n }\r\n\r\n @HostBinding('style.width.px')\r\n get width(): number {\r\n return this.column.width;\r\n }\r\n\r\n @HostBinding('style.height')\r\n get height(): string|number {\r\n const height = this.rowHeight;\r\n if(isNaN(height)) return height;\r\n return height + 'px';\r\n }\r\n\r\n get value(): any {\r\n if (!this.row || !this.column || !this.column.prop) return '';\r\n const val = deepValueGetter(this.row, this.column.prop);\r\n const userPipe: PipeTransform = this.column.pipe;\r\n\r\n if(userPipe) return userPipe.transform(val);\r\n if(val !== undefined) return val;\r\n return '';\r\n }\r\n\r\n sortDir: SortDirection;\r\n element: any;\r\n _sorts: any[];\r\n\r\n constructor(element: ElementRef) {\r\n this.element = element.nativeElement;\r\n }\r\n\r\n @HostListener('focus')\r\n onFocus(): void {\r\n this.isFocused = true;\r\n }\r\n\r\n @HostListener('blur')\r\n onBlur(): void {\r\n this.isFocused = false;\r\n }\r\n\r\n @HostListener('click', ['$event'])\r\n onClick(event: MouseEvent): void {\r\n this.activate.emit({\r\n type: 'click',\r\n event,\r\n row: this.row,\r\n column: this.column,\r\n value: this.value,\r\n cellElement: this.element\r\n });\r\n }\r\n\r\n @HostListener('dblclick', ['$event'])\r\n onDblClick(event: MouseEvent): void {\r\n this.activate.emit({\r\n type: 'dblclick',\r\n event,\r\n row: this.row,\r\n column: this.column,\r\n value: this.value,\r\n cellElement: this.element\r\n });\r\n }\r\n\r\n @HostListener('keydown', ['$event'])\r\n onKeyDown(event: KeyboardEvent): void {\r\n const keyCode = event.keyCode;\r\n const isTargetCell = event.target === this.element;\r\n\r\n const isAction =\r\n keyCode === Keys.return ||\r\n keyCode === Keys.down ||\r\n keyCode === Keys.up ||\r\n keyCode === Keys.left ||\r\n keyCode === Keys.right;\r\n\r\n if(isAction && isTargetCell) {\r\n event.preventDefault();\r\n event.stopPropagation();\r\n\r\n this.activate.emit({\r\n type: 'keydown',\r\n event,\r\n row: this.row,\r\n column: this.column,\r\n value: this.value,\r\n cellElement: this.element\r\n });\r\n }\r\n }\r\n\r\n onCheckboxChange(event): void {\r\n this.activate.emit({\r\n type: 'checkbox',\r\n event,\r\n row: this.row,\r\n column: this.column,\r\n value: this.value,\r\n cellElement: this.element\r\n });\r\n }\r\n\r\n calcSortDir(sorts: any[]): any {\r\n if(!sorts) return;\r\n\r\n const sort = sorts.find((s: any) => {\r\n return s.prop === this.column.prop;\r\n });\r\n\r\n if(sort) return sort.dir;\r\n }\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/components/body/body-cell.component.ts","import { \r\n Component, Input, Output, EventEmitter, HostListener \r\n} from '@angular/core';\r\n\r\n@Component({\r\n selector: 'datatable-row-wrapper',\r\n template: `\r\n \r\n
\r\n \r\n \r\n
\r\n `,\r\n host: {\r\n class: 'datatable-row-wrapper'\r\n }\r\n})\r\nexport class DataTableRowWrapperComponent {\r\n\r\n @Input() rowDetailTemplate: any;\r\n @Input() detailRowHeight: any;\r\n @Input() expanded: boolean = false;\r\n @Input() row: any;\r\n @Output() rowContextmenu = new EventEmitter<{event: MouseEvent, row: any}>(false);\r\n\r\n @HostListener('contextmenu', ['$event'])\r\n onContextmenu($event: MouseEvent): void {\r\n this.rowContextmenu.emit({ event: $event, row: this.row });\r\n }\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/components/body/body-row-wrapper.component.ts","import {\n Component, Input, HostBinding, ElementRef, Output, EventEmitter, HostListener\n} from '@angular/core';\n\nimport {\n columnsByPin, columnGroupWidths, columnsByPinArr,\n translateXY, Keys, scrollbarWidth\n} from '../../utils';\n\n@Component({\n selector: 'datatable-body-row',\n template: `\n \n \n \n \n `,\n host: {\n class: 'datatable-body-row'\n }\n})\nexport class DataTableBodyRowComponent {\n\n @Input() set columns(val: any[]) {\n this._columns = val;\n this.recalculateColumns(val);\n }\n\n get columns(): any[] {\n return this._columns;\n }\n\n @Input() set innerWidth(val: number) {\n this._innerWidth = val;\n this.recalculateColumns();\n }\n\n get innerWidth(): number {\n return this._innerWidth;\n }\n\n @Input() row: any;\n @Input() offsetX: number;\n\n @HostBinding('style.height.px')\n @Input() rowHeight: number;\n\n @HostBinding('class.active')\n @Input() isSelected: boolean;\n\n @HostBinding('class.datatable-row-even')\n get isEvenRow(): boolean {\n return this.row.$$index % 2 === 0;\n }\n\n @HostBinding('class.datatable-row-odd')\n get isOddRow(): boolean {\n return this.row.$$index % 2 !== 0;\n }\n\n @Output() activate: EventEmitter = new EventEmitter();\n\n element: any;\n columnGroupWidths: any;\n columnsByPin: any;\n _columns: any[];\n _innerWidth: number;\n\n constructor(element: ElementRef) {\n this.element = element.nativeElement;\n }\n\n trackByGroups(index: number, colGroup: any): any {\n return colGroup.type;\n }\n\n columnTrackingFn(index: number, column: any): any {\n return column.$$id;\n }\n\n stylesByGroup(group: string) {\n const widths = this.columnGroupWidths;\n const offsetX = this.offsetX;\n\n let styles = {\n width: `${widths[group]}px`\n };\n\n if(group === 'left') {\n translateXY(styles, offsetX, 0);\n } else if(group === 'right') {\n const bodyWidth = parseInt(this.innerWidth + '', 0);\n const totalDiff = widths.total - bodyWidth;\n const offsetDiff = totalDiff - offsetX;\n const offset = (offsetDiff + scrollbarWidth) * -1;\n translateXY(styles, offset, 0);\n }\n\n return styles;\n }\n\n onActivate(event: any, index: number) {\n event.cellIndex = index;\n event.rowElement = this.element;\n this.activate.emit(event);\n }\n\n @HostListener('keydown', ['$event'])\n onKeyDown(event: KeyboardEvent): void {\n const keyCode = event.keyCode;\n const isTargetRow = event.target === this.element;\n\n const isAction =\n keyCode === Keys.return ||\n keyCode === Keys.down ||\n keyCode === Keys.up ||\n keyCode === Keys.left ||\n keyCode === Keys.right;\n\n if(isAction && isTargetRow) {\n event.preventDefault();\n event.stopPropagation();\n\n this.activate.emit({\n type: 'keydown',\n event,\n row: this.row,\n rowElement: this.element\n });\n }\n }\n\n recalculateColumns(val: any[] = this.columns): void {\n const colsByPin = columnsByPin(val);\n this.columnsByPin = columnsByPinArr(val);\n this.columnGroupWidths = columnGroupWidths(colsByPin, val);\n }\n\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/components/body/body-row.component.ts","import {\r\n Component, Output, EventEmitter, Input, HostBinding, ViewChild\r\n} from '@angular/core';\r\nimport { translateXY, columnsByPin, columnGroupWidths, RowHeightCache } from '../../utils';\r\nimport { SelectionType } from '../../types';\r\nimport { ScrollerComponent } from './scroller.component';\r\n\r\n@Component({\r\n selector: 'datatable-body',\r\n template: `\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n `,\r\n host: {\r\n class: 'datatable-body'\r\n }\r\n})\r\nexport class DataTableBodyComponent {\r\n\r\n @Input() scrollbarV: boolean;\r\n @Input() scrollbarH: boolean;\r\n @Input() loadingIndicator: boolean;\r\n @Input() rowHeight: number;\r\n @Input() offsetX: number;\r\n @Input() detailRowHeight: any;\r\n @Input() emptyMessage: string;\r\n @Input() selectionType: SelectionType;\r\n @Input() selected: any[] = [];\r\n @Input() rowIdentity: any;\r\n @Input() rowDetailTemplate: any;\r\n @Input() selectCheck: any;\r\n @Input() trackByProp: string;\r\n\r\n @Input() set pageSize(val: number) {\r\n this._pageSize = val;\r\n this.recalcLayout();\r\n }\r\n\r\n get pageSize(): number {\r\n return this._pageSize;\r\n }\r\n\r\n @Input() set rows(val: any[]) {\r\n this._rows = val;\r\n this.recalcLayout();\r\n }\r\n\r\n get rows(): any[] {\r\n return this._rows;\r\n }\r\n\r\n @Input() set columns(val: any[]) {\r\n this._columns = val;\r\n\r\n const colsByPin = columnsByPin(val);\r\n this.columnGroupWidths = columnGroupWidths(colsByPin, val);\r\n }\r\n\r\n get columns(): any[] {\r\n return this._columns;\r\n }\r\n\r\n @Input() set offset(val: number) {\r\n this._offset = val;\r\n this.recalcLayout();\r\n }\r\n\r\n get offset(): number {\r\n return this._offset;\r\n }\r\n\r\n @Input() set rowCount(val: number) {\r\n this._rowCount = val;\r\n this.recalcLayout();\r\n }\r\n\r\n get rowCount(): number {\r\n return this._rowCount;\r\n }\r\n\r\n @Input() innerWidth: number;\r\n\r\n @HostBinding('style.width')\r\n get bodyWidth(): string {\r\n if (this.scrollbarH) {\r\n return this.innerWidth + 'px';\r\n } else {\r\n return '100%';\r\n }\r\n }\r\n\r\n @Input()\r\n @HostBinding('style.height')\r\n set bodyHeight(val) {\r\n if (this.scrollbarV) {\r\n this._bodyHeight = val + 'px';\r\n } else {\r\n this._bodyHeight = 'auto';\r\n }\r\n\r\n this.recalcLayout();\r\n }\r\n\r\n get bodyHeight() {\r\n return this._bodyHeight;\r\n }\r\n\r\n @Output() scroll: EventEmitter = new EventEmitter();\r\n @Output() page: EventEmitter = new EventEmitter();\r\n @Output() activate: EventEmitter = new EventEmitter();\r\n @Output() select: EventEmitter = new EventEmitter();\r\n @Output() detailToggle: EventEmitter = new EventEmitter();\r\n @Output() rowContextmenu = new EventEmitter<{event: MouseEvent, row: any}>(false);\r\n\r\n @ViewChild(ScrollerComponent) scroller: ScrollerComponent;\r\n\r\n /**\r\n * Returns if selection is enabled.\r\n * \r\n * @readonly\r\n * @type {boolean}\r\n * @memberOf DataTableBodyComponent\r\n */\r\n get selectEnabled(): boolean {\r\n return !!this.selectionType;\r\n }\r\n\r\n /**\r\n * Property that would calculate the height of scroll bar\r\n * based on the row heights cache for virtual scroll. Other scenarios\r\n * calculate scroll height automatically (as height will be undefined).\r\n * \r\n * @readonly\r\n * @type {number}\r\n * @memberOf DataTableBodyComponent\r\n */\r\n get scrollHeight(): number {\r\n if(this.scrollbarV) {\r\n return this.rowHeightsCache.query(this.rowCount - 1);\r\n }\r\n }\r\n\r\n rowHeightsCache: RowHeightCache = new RowHeightCache();\r\n temp: any[] = [];\r\n offsetY: number = 0;\r\n indexes: any = {};\r\n columnGroupWidths: any;\r\n rowTrackingFn: any;\r\n\r\n _rows: any[];\r\n _bodyHeight: any;\r\n _columns: any[];\r\n _rowCount: number;\r\n _offset: number;\r\n _pageSize: number;\r\n\r\n constructor() {\r\n // declare fn here so we can get access to the `this` property\r\n this.rowTrackingFn = function(index: number, row: any): any {\r\n if(this.trackByProp) {\r\n return `${row.$$index}-${this.trackByProp}`;\r\n } else {\r\n return row.$$index;\r\n }\r\n }.bind(this);\r\n }\r\n\r\n /**\r\n * Updates the Y offset given a new offset.\r\n * \r\n * @param {number} [offset]\r\n * \r\n * @memberOf DataTableBodyComponent\r\n */\r\n updateOffsetY(offset?: number): void {\r\n if(this.scrollbarV && offset) {\r\n // First get the row Index that we need to move to.\r\n const rowIndex = this.pageSize * offset;\r\n offset = this.rowHeightsCache.query(rowIndex - 1);\r\n }\r\n\r\n this.scroller.setOffset(offset || 0);\r\n }\r\n\r\n /**\r\n * Body was scrolled, this is mainly useful for\r\n * when a user is server-side pagination via virtual scroll.\r\n * \r\n * @param {*} event\r\n * \r\n * @memberOf DataTableBodyComponent\r\n */\r\n onBodyScroll(event: any): void {\r\n const scrollYPos: number = event.scrollYPos;\r\n const scrollXPos: number = event.scrollXPos;\r\n\r\n // if scroll change, trigger update\r\n // this is mainly used for header cell positions\r\n if(this.offsetY !== scrollYPos || this.offsetX !== scrollXPos) {\r\n this.scroll.emit({\r\n offsetY: scrollYPos,\r\n offsetX: scrollXPos\r\n });\r\n }\r\n\r\n this.offsetY = scrollYPos;\r\n this.offsetX = scrollXPos;\r\n\r\n this.updateIndexes();\r\n this.updatePage(event.direction);\r\n this.updateRows();\r\n }\r\n\r\n /**\r\n * Updates the page given a direction.\r\n * \r\n * @param {string} direction\r\n * \r\n * @memberOf DataTableBodyComponent\r\n */\r\n updatePage(direction: string): void {\r\n let offset = this.indexes.first / this.pageSize;\r\n\r\n if(direction === 'up') {\r\n offset = Math.floor(offset);\r\n } else if(direction === 'down') {\r\n offset = Math.ceil(offset);\r\n }\r\n\r\n if(direction !== undefined && !isNaN(offset)) {\r\n this.page.emit({ offset });\r\n }\r\n }\r\n\r\n /**\r\n * Updates the rows in the view port\r\n * \r\n * @memberOf DataTableBodyComponent\r\n */\r\n updateRows(): void {\r\n const { first, last } = this.indexes;\r\n let rowIndex = first;\r\n let idx = 0;\r\n let temp: any[] = [];\r\n\r\n while (rowIndex < last && rowIndex < this.rowCount) {\r\n let row = this.rows[rowIndex];\r\n\r\n if(row) {\r\n row.$$index = rowIndex;\r\n temp[idx] = row;\r\n }\r\n\r\n idx++;\r\n rowIndex++;\r\n }\r\n\r\n this.temp = temp;\r\n }\r\n\r\n /**\r\n * Calculate row height based on the expanded state of the row.\r\n * \r\n * @param {*} row the row for which the height need to be calculated.\r\n * @returns {number} height of the row.\r\n * \r\n * @memberOf DataTableBodyComponent\r\n */\r\n getRowHeight(row: any): number {\r\n // Adding detail row height if its expanded.\r\n return this.rowHeight +\r\n (row.$$expanded === 1 ? this.detailRowHeight : 0);\r\n }\r\n\r\n /**\r\n * Calculates the styles for the row so that the rows can be moved in 2D space\r\n * during virtual scroll inside the DOM. In the below case the Y position is\r\n * manipulated. As an example, if the height of row 0 is 30 px and row 1 is\r\n * 100 px then following styles are generated:\r\n *\r\n * transform: translate3d(0px, 0px, 0px); -> row0\r\n * transform: translate3d(0px, 30px, 0px); -> row1\r\n * transform: translate3d(0px, 130px, 0px); -> row2\r\n *\r\n * Row heights have to be calculated based on the row heights cache as we wont\r\n * be able to determine which row is of what height before hand. In the above\r\n * case the positionY of the translate3d for row2 would be the sum of all the\r\n * heights of the rows before it (i.e. row0 and row1).\r\n * \r\n * @param {*} row The row that needs to be placed in the 2D space.\r\n * @returns {*} Returns the CSS3 style to be applied\r\n * \r\n * @memberOf DataTableBodyComponent\r\n */\r\n getRowsStyles(row: any): any {\r\n const rowHeight = this.getRowHeight(row);\r\n\r\n let styles = {\r\n height: rowHeight + 'px'\r\n };\r\n\r\n if(this.scrollbarV) {\r\n const idx = row ? row.$$index : 0;\r\n\r\n // const pos = idx * rowHeight;\r\n // The position of this row would be the sum of all row heights\r\n // until the previous row position.\r\n const pos = this.rowHeightsCache.query(idx - 1);\r\n\r\n translateXY(styles, 0, pos);\r\n }\r\n\r\n return styles;\r\n }\r\n\r\n /**\r\n * Hides the loading indicator\r\n * \r\n * \r\n * @memberOf DataTableBodyComponent\r\n */\r\n hideIndicator(): void {\r\n setTimeout(() => this.loadingIndicator = false, 500);\r\n }\r\n\r\n /**\r\n * Updates the index of the rows in the viewport\r\n * \r\n * @memberOf DataTableBodyComponent\r\n */\r\n updateIndexes(): void {\r\n let first = 0;\r\n let last = 0;\r\n\r\n if (this.scrollbarV) {\r\n // Calculation of the first and last indexes will be based on where the\r\n // scrollY position would be at. The last index would be the one\r\n // that shows up inside the view port the last.\r\n const height = parseInt(this.bodyHeight, 0);\r\n first = this.rowHeightsCache.getRowIndex(this.offsetY);\r\n last = this.rowHeightsCache.getRowIndex(height + this.offsetY) + 1;\r\n } else {\r\n first = Math.max(this.offset * this.pageSize, 0);\r\n last = Math.min((first + this.pageSize), this.rowCount);\r\n }\r\n\r\n this.indexes = { first, last };\r\n }\r\n\r\n /**\r\n * Refreshes the full Row Height cache. Should be used\r\n * when the entire row array state has changed.\r\n * \r\n * @returns {void}\r\n * \r\n * @memberOf DataTableBodyComponent\r\n */\r\n refreshRowHeightCache(): void {\r\n if(!this.scrollbarV) return;\r\n\r\n // clear the previous row height cache if already present.\r\n // this is useful during sorts, filters where the state of the\r\n // rows array is changed.\r\n this.rowHeightsCache.clearCache();\r\n\r\n // Initialize the tree only if there are rows inside the tree.\r\n if (this.rows && this.rows.length) {\r\n this.rowHeightsCache.initCache(\r\n this.rows, this.rowHeight, this.detailRowHeight);\r\n }\r\n }\r\n\r\n /**\r\n * Gets the index for the view port\r\n * \r\n * @returns {number}\r\n * \r\n * @memberOf DataTableBodyComponent\r\n */\r\n getAdjustedViewPortIndex(): number {\r\n // Capture the row index of the first row that is visible on the viewport.\r\n // If the scroll bar is just below the row which is highlighted then make that as the\r\n // first index.\r\n let viewPortFirstRowIndex = this.indexes.first;\r\n\r\n if (this.scrollbarV) {\r\n const offsetScroll = this.rowHeightsCache.query(viewPortFirstRowIndex - 1);\r\n return offsetScroll <= this.offsetY ? viewPortFirstRowIndex - 1 : viewPortFirstRowIndex;\r\n }\r\n\r\n return viewPortFirstRowIndex;\r\n }\r\n\r\n /**\r\n * Toggle the Expansion of the row i.e. if the row is expanded then it will\r\n * collapse and vice versa. Note that the expanded status is stored as\r\n * a part of the row object itself as we have to preserve the expanded row\r\n * status in case of sorting and filtering of the row set.\r\n * \r\n * @param {*} row The row for which the expansion needs to be toggled.\r\n * \r\n * @memberOf DataTableBodyComponent\r\n */\r\n toggleRowExpansion(row: any): void {\r\n // Capture the row index of the first row that is visible on the viewport.\r\n let viewPortFirstRowIndex = this.getAdjustedViewPortIndex();\r\n\r\n // If the detailRowHeight is auto --> only in case of non-virtualized scroll\r\n if(this.scrollbarV) {\r\n const detailRowHeight = this.detailRowHeight * (row.$$expanded ? -1 : 1);\r\n this.rowHeightsCache.update(row.$$index, detailRowHeight);\r\n }\r\n\r\n // Update the toggled row and update the heights in the cache.\r\n row.$$expanded ^= 1;\r\n\r\n this.detailToggle.emit({\r\n rows: [row],\r\n currentIndex: viewPortFirstRowIndex\r\n });\r\n }\r\n\r\n /**\r\n * Expand/Collapse all the rows no matter what their state is.\r\n * \r\n * @param {boolean} expanded When true, all rows are expanded and when false, all rows will be collapsed.\r\n * \r\n * @memberOf DataTableBodyComponent\r\n */\r\n toggleAllRows(expanded: boolean): void {\r\n let rowExpanded = expanded ? 1 : 0;\r\n\r\n // Capture the row index of the first row that is visible on the viewport.\r\n let viewPortFirstRowIndex = this.getAdjustedViewPortIndex();\r\n\r\n for(let row of this.rows) {\r\n row.$$expanded = rowExpanded;\r\n }\r\n\r\n if(this.scrollbarV) {\r\n // Refresh the full row heights cache since every row was affected.\r\n this.refreshRowHeightCache();\r\n }\r\n\r\n // Emit all rows that have been expanded.\r\n this.detailToggle.emit({\r\n rows: this.rows,\r\n currentIndex: viewPortFirstRowIndex\r\n });\r\n }\r\n\r\n /**\r\n * Recalculates the table\r\n * \r\n * @memberOf DataTableBodyComponent\r\n */\r\n recalcLayout(): void {\r\n this.refreshRowHeightCache();\r\n this.updateIndexes();\r\n this.updateRows();\r\n }\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/components/body/body.component.ts","export * from './body.component';\r\nexport * from './body-cell.component';\r\nexport * from './body-row.component';\r\nexport * from './progress-bar.component';\r\nexport * from './scroller.component';\r\nexport * from './body-row-wrapper.component';\r\nexport * from './selection.component';\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/components/body/index.ts","import { Component, ChangeDetectionStrategy } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'datatable-progress',\r\n template: `\r\n
\r\n
\r\n
\r\n
\r\n
\r\n `,\r\n changeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\nexport class ProgressBarComponent {\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/components/body/progress-bar.component.ts","import {\r\n Component, Input, ElementRef, Output, EventEmitter, Renderer,\r\n OnInit, OnDestroy, HostBinding\r\n} from '@angular/core';\r\n\r\n@Component({\r\n selector: 'datatable-scroller',\r\n template: `\r\n \r\n `,\r\n host: {\r\n class: 'datatable-scroll'\r\n }\r\n})\r\nexport class ScrollerComponent implements OnInit, OnDestroy {\r\n\r\n @Input() scrollbarV: boolean = false;\r\n @Input() scrollbarH: boolean = false;\r\n\r\n @HostBinding('style.height.px')\r\n @Input() scrollHeight: number;\r\n\r\n @HostBinding('style.width.px')\r\n @Input() scrollWidth: number;\r\n\r\n @Output() scroll: EventEmitter = new EventEmitter();\r\n\r\n scrollYPos: number = 0;\r\n scrollXPos: number = 0;\r\n prevScrollYPos: number = 0;\r\n prevScrollXPos: number = 0;\r\n element: any;\r\n parentElement: any;\r\n onScrollListener: Function;\r\n\r\n constructor(element: ElementRef, private renderer: Renderer) {\r\n this.element = element.nativeElement;\r\n }\r\n\r\n ngOnInit(): void {\r\n // manual bind so we don't always listen\r\n if(this.scrollbarV || this.scrollbarH) {\r\n this.parentElement = this.element.parentElement.parentElement;\r\n this.onScrollListener = this.renderer.listen(\r\n this.parentElement, 'scroll', this.onScrolled.bind(this));\r\n }\r\n }\r\n\r\n ngOnDestroy(): void {\r\n if(this.scrollbarV || this.scrollbarH) {\r\n this.onScrollListener();\r\n }\r\n }\r\n\r\n setOffset(offsetY: number): void {\r\n if(this.parentElement) {\r\n this.parentElement.scrollTop = offsetY;\r\n }\r\n }\r\n\r\n onScrolled(event: MouseEvent): void {\r\n const dom: Element = event.currentTarget;\r\n this.scrollYPos = dom.scrollTop;\r\n this.scrollXPos = dom.scrollLeft;\r\n\r\n requestAnimationFrame(this.updateOffset.bind(this));\r\n }\r\n\r\n updateOffset(): void {\r\n let direction: string;\r\n if(this.scrollYPos < this.prevScrollYPos) {\r\n direction = 'down';\r\n } else if(this.scrollYPos > this.prevScrollYPos) {\r\n direction = 'up';\r\n }\r\n\r\n this.scroll.emit({\r\n direction,\r\n scrollYPos: this.scrollYPos,\r\n scrollXPos: this.scrollXPos\r\n });\r\n\r\n this.prevScrollYPos = this.scrollYPos;\r\n this.prevScrollXPos = this.scrollXPos;\r\n }\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/components/body/scroller.component.ts","import { Component, Input, Output, EventEmitter } from '@angular/core';\nimport { Keys, selectRows, selectRowsBetween } from '../../utils';\nimport { SelectionType } from '../../types';\n\nexport interface Model {\n type: string;\n event: MouseEvent | KeyboardEvent;\n row: any;\n rowElement: any;\n cellElement: any;\n cellIndex: number;\n}\n\n@Component({\n selector: 'datatable-selection',\n template: `\n \n `\n})\nexport class DataTableSelectionComponent {\n\n @Input() rows: any[];\n @Input() selected: any[];\n @Input() selectEnabled: boolean;\n @Input() selectionType: SelectionType;\n @Input() rowIdentity: any;\n @Input() selectCheck: any;\n\n @Output() activate: EventEmitter = new EventEmitter();\n @Output() select: EventEmitter = new EventEmitter();\n\n prevIndex: number;\n\n selectRow(event: KeyboardEvent | MouseEvent, index: number, row: any): void {\n if (!this.selectEnabled) return;\n\n const chkbox = this.selectionType === SelectionType.checkbox;\n const multi = this.selectionType === SelectionType.multi;\n const multiClick = this.selectionType == SelectionType.multiClick;\n let selected: any[] = [];\n\n if (multi || chkbox || multiClick) {\n if (event.shiftKey) {\n selected = selectRowsBetween(\n [...this.selected], \n this.rows, \n index, \n this.prevIndex, \n this.getRowSelectedIdx.bind(this));\n } else if (event.ctrlKey || multiClick || chkbox) {\n selected = selectRows([...this.selected], row, this.getRowSelectedIdx.bind(this));\n } else {\n selected = selectRows([], row, this.getRowSelectedIdx.bind(this));\n }\n } else {\n selected = selectRows([], row, this.getRowSelectedIdx.bind(this));\n }\n\n if(typeof this.selectCheck === 'function') {\n selected = selected.filter(this.selectCheck.bind(this));\n }\n\n this.selected.splice(0, this.selected.length);\n this.selected.push(...selected);\n \n this.prevIndex = index;\n\n this.select.emit({\n selected\n });\n }\n\n onActivate(model: Model, index: number): void {\n const { type, event, row } = model;\n const chkbox = this.selectionType === SelectionType.checkbox;\n const select = (!chkbox && (type === 'click' || type === 'dblclick')) || \n (chkbox && type === 'checkbox');\n\n if(select) {\n this.selectRow(event, index, row);\n } else if(type === 'keydown') {\n if ((event).keyCode === Keys.return) {\n this.selectRow(event, index, row);\n } else {\n this.onKeyboardFocus(model);\n }\n }\n this.activate.emit(model);\n }\n\n onKeyboardFocus(model: Model): void {\n const { keyCode } = model.event;\n const shouldFocus =\n keyCode === Keys.up ||\n keyCode === Keys.down ||\n keyCode === Keys.right ||\n keyCode === Keys.left;\n\n if(shouldFocus) {\n const isCellSelection =\n this.selectionType === SelectionType.cell;\n\n if(!model.cellElement || !isCellSelection) {\n this.focusRow(model.rowElement, keyCode);\n } else if(isCellSelection) {\n this.focusCell(model.cellElement, model.rowElement, keyCode, model.cellIndex);\n }\n }\n }\n\n focusRow(rowElement: any, keyCode: number): void {\n const nextRowElement = this.getPrevNextRow(rowElement, keyCode);\n if(nextRowElement) nextRowElement.focus();\n }\n\n getPrevNextRow(rowElement: any, keyCode: number): any {\n const parentElement = rowElement.parentElement;\n\n if(parentElement) {\n let focusElement: HTMLElement;\n if(keyCode === Keys.up) {\n focusElement = parentElement.previousElementSibling;\n } else if(keyCode === Keys.down) {\n focusElement = parentElement.nextElementSibling;\n }\n\n if(focusElement && focusElement.children.length) {\n return focusElement.children[0];\n }\n }\n }\n\n focusCell(cellElement: any, rowElement: any, keyCode: number, cellIndex: number): void {\n let nextCellElement: HTMLElement;\n\n if(keyCode === Keys.left) {\n nextCellElement = cellElement.previousElementSibling;\n } else if(keyCode === Keys.right) {\n nextCellElement = cellElement.nextElementSibling;\n } else if(keyCode === Keys.up || keyCode === Keys.down) {\n const nextRowElement = this.getPrevNextRow(rowElement, keyCode);\n if(nextRowElement) {\n const children = nextRowElement.getElementsByClassName('datatable-body-cell');\n if(children.length) nextCellElement = children[cellIndex];\n }\n }\n\n if(nextCellElement) nextCellElement.focus();\n }\n\n getRowSelected(row: any): boolean {\n return this.getRowSelectedIdx(row, this.selected) > -1;\n }\n\n getRowSelectedIdx(row: any, selected: any[]): number {\n if(!selected || !selected.length) return -1;\n\n const rowId = this.rowIdentity(row);\n return selected.findIndex((r) => {\n const id = this.rowIdentity(r);\n return id === rowId;\n });\n }\n\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/components/body/selection.component.ts","import { Directive, TemplateRef } from '@angular/core';\r\n\r\n@Directive({ selector: '[ngx-datatable-cell-template]' })\r\nexport class DataTableColumnCellDirective {\r\n constructor(public template: TemplateRef) { };\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/components/columns/column-cell.directive.ts","import { Directive, TemplateRef } from '@angular/core';\r\n\r\n@Directive({ selector: '[ngx-datatable-header-template]' })\r\nexport class DataTableColumnHeaderDirective {\r\n constructor(public template: TemplateRef) { };\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/components/columns/column-header.directive.ts","import { Directive, TemplateRef, ContentChild, Input } from '@angular/core';\r\nimport { DataTableColumnHeaderDirective } from './column-header.directive';\r\nimport { DataTableColumnCellDirective } from './column-cell.directive';\r\n\r\n@Directive({ selector: 'ngx-datatable-column' })\r\nexport class DataTableColumnDirective {\r\n\r\n @Input() name: string;\r\n @Input() prop: string;\r\n @Input() frozenLeft: any;\r\n @Input() frozenRight: any;\r\n @Input() flexGrow: number;\r\n @Input() resizeable: boolean;\r\n @Input() comparator: Function;\r\n @Input() pipe: any;\r\n @Input() sortable: boolean;\r\n @Input() draggable: boolean;\r\n @Input() canAutoResize: boolean;\r\n @Input() minWidth: number;\r\n @Input() width: number;\r\n @Input() maxWidth: number;\r\n @Input() checkboxable: boolean;\r\n @Input() headerCheckboxable: boolean;\r\n\r\n @Input()\r\n @ContentChild(DataTableColumnCellDirective, { read: TemplateRef }) \r\n cellTemplate: TemplateRef;\r\n\r\n @Input()\r\n @ContentChild(DataTableColumnHeaderDirective, { read: TemplateRef }) \r\n headerTemplate: TemplateRef;\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/components/columns/column.directive.ts","export * from './column.directive';\r\nexport * from './column-header.directive';\r\nexport * from './column-cell.directive';\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/components/columns/index.ts","import {\n Component, Input, Output, ElementRef, EventEmitter, ViewChild,\n HostListener, ContentChildren, OnInit, QueryList, AfterViewInit,\n HostBinding, ContentChild, TemplateRef, IterableDiffer,\n DoCheck, KeyValueDiffers\n} from '@angular/core';\n\nimport { forceFillColumnWidths, adjustColumnWidths, sortRows } from '../utils';\nimport { ColumnMode, SortType, SelectionType } from '../types';\nimport { DataTableBodyComponent } from './body';\nimport { DataTableColumnDirective } from './columns';\nimport { DatatableRowDetailDirective } from './row-detail';\nimport { scrollbarWidth, setColumnDefaults, throttleable, translateTemplates } from '../utils';\n\n@Component({\n selector: 'ngx-datatable',\n template: `\n \n \n \n \n \n \n \n \n `,\n host: {\n class: 'datatable'\n }\n})\nexport class DatatableComponent implements OnInit, AfterViewInit, DoCheck {\n\n /**\n * Rows that are displayed in the table.\n * \n * @memberOf DatatableComponent\n */\n @Input() set rows(val: any) {\n // auto sort on new updates\n if (!this.externalSorting) {\n val = sortRows(val, this.columns, this.sorts);\n }\n\n this._rows = val;\n\n // recalculate sizes/etc\n this.recalculate();\n }\n\n /**\n * Gets the rows.\n * \n * @readonly\n * @type {*}\n * @memberOf DatatableComponent\n */\n get rows(): any {\n return this._rows;\n }\n\n /**\n * Columns to be displayed.\n * \n * @memberOf DatatableComponent\n */\n @Input() set columns(val: any[]) {\n if(val) {\n setColumnDefaults(val);\n this.recalculateColumns(val);\n }\n\n this._columns = val;\n }\n\n /**\n * Get the columns.\n * \n * @readonly\n * @type {any[]}\n * @memberOf DatatableComponent\n */\n get columns(): any[] {\n return this._columns;\n }\n\n /**\n * List of row objects that should be \n * represented as selected in the grid. \n * Default value: `[]`\n * \n * @type {any[]}\n * @memberOf DatatableComponent\n */\n @Input() selected: any[] = [];\n\n /**\n * Enable vertical scrollbars\n * \n * @type {boolean}\n * @memberOf DatatableComponent\n */\n @Input() scrollbarV: boolean = false;\n\n /**\n * Enable horz scrollbars\n * \n * @type {boolean}\n * @memberOf DatatableComponent\n */\n @Input() scrollbarH: boolean = false;\n\n /**\n * The row height; which is necessary\n * to calculate the height for the lazy rendering.\n * \n * @type {number}\n * @memberOf DatatableComponent\n */\n @Input() rowHeight: number = 30;\n\n /**\n * The detail row height is required especially \n * when virtual scroll is enabled.\n * \n * @type {number}\n * @memberOf DatatableComponent\n */\n @Input() detailRowHeight: number = 0;\n\n /**\n * Type of column width distribution formula.\n * Example: flex, force, standard\n * \n * @type {ColumnMode}\n * @memberOf DatatableComponent\n */\n @Input() columnMode: ColumnMode = ColumnMode.standard;\n\n /**\n * The minimum header height in pixels.\n * Pass a falsey for no header\n * \n * @type {*}\n * @memberOf DatatableComponent\n */\n @Input() headerHeight: any = 30;\n\n /**\n * The minimum footer height in pixels.\n * Pass falsey for no footer\n * \n * @type {number}\n * @memberOf DatatableComponent\n */\n @Input() footerHeight: number = 0;\n\n /**\n * If the table should use external paging\n * otherwise its assumed that all data is preloaded.\n * \n * @type {boolean}\n * @memberOf DatatableComponent\n */\n @Input() externalPaging: boolean = false;\n\n /**\n * If the table should use external sorting or\n * the built-in basic sorting.\n * \n * @type {boolean}\n * @memberOf DatatableComponent\n */\n @Input() externalSorting: boolean = false;\n\n /**\n * The page size to be shown. \n * Default value: `undefined`\n * \n * @type {number}\n * @memberOf DatatableComponent\n */\n @Input() limit: number = undefined;\n\n /**\n * The total count of all rows. \n * Default value: `0`\n * \n * @type {number}\n * @memberOf DatatableComponent\n */\n @Input() set count(val: number) {\n this._count = val;\n\n // recalculate sizes/etc\n this.recalculate();\n }\n\n /**\n * Gets the count.\n * \n * @readonly\n * @type {number}\n * @memberOf DatatableComponent\n */\n get count(): number {\n return this._count;\n }\n\n /**\n * The current offset ( page - 1 ) shown. \n * Default value: `0`\n * \n * @type {number}\n * @memberOf DatatableComponent\n */\n @Input() offset: number = 0;\n\n /**\n * Show the linear loading bar. \n * Default value: `false`\n * \n * @type {boolean}\n * @memberOf DatatableComponent\n */\n @Input() loadingIndicator: boolean = false;\n\n /**\n * Type of row selection. Options are: \n * \n * - `single`\n * - `multi`\n * - `chkbox`\n * - `multiClick`\n * \n * For no selection pass a `falsey`. \n * Default value: `undefined`\n * \n * @type {SelectionType}\n * @memberOf DatatableComponent\n */\n @Input() selectionType: SelectionType;\n\n /**\n * Enable/Disable ability to re-order columns\n * by dragging them.\n * \n * @type {boolean}\n * @memberOf DatatableComponent\n */\n @Input() reorderable: boolean = true;\n\n /**\n * The type of sorting\n * \n * @type {SortType}\n * @memberOf DatatableComponent\n */\n @Input() sortType: SortType = SortType.single;\n\n /**\n * Array of sorted columns by property and type. \n * Default value: `[]`\n * \n * @type {any[]}\n * @memberOf DatatableComponent\n */\n @Input() sorts: any[] = [];\n\n /**\n * Row detail template\n * \n * @type {TemplateRef}\n * @memberOf DatatableComponent\n */\n @Input() rowDetailTemplate: TemplateRef;\n\n /**\n * Css class overrides\n * \n * @type {*}\n * @memberOf DatatableComponent\n */\n @Input() cssClasses: any = {\n sortAscending: 'icon-down',\n sortDescending: 'icon-up',\n pagerLeftArrow: 'icon-left',\n pagerRightArrow: 'icon-right',\n pagerPrevious: 'icon-prev',\n pagerNext: 'icon-skip'\n };\n\n /**\n * Message overrides for localization\n * \n * @type {*}\n * @memberOf DatatableComponent\n */\n @Input() messages: any = {\n // Message to show when array is presented\n // but contains no values\n emptyMessage: 'No data to display',\n\n // Footer total message\n totalMessage: 'total'\n };\n\n /**\n * This will be used when displaying or selecting rows.\n * when tracking/comparing them, we'll use the value of this fn,\n * \n * (`fn(x) === fn(y)` instead of `x === y`)\n * \n * @memberOf DatatableComponent\n */\n @Input() rowIdentity: (x: any) => any = ((x: any) => x);\n\n /**\n * A boolean/function you can use to check whether you want\n * to select a particular row based on a criteria. Example:\n * \n * (selection) => { \n * return selection !== 'Ethel Price'; \n * }\n * \n * @type {*}\n * @memberOf DatatableComponent\n */\n @Input() selectCheck: any;\n\n /**\n * Property to which you can use for custom tracking of rows.\n * Example: 'name'\n * \n * @type {string}\n * @memberOf DatatableComponent\n */\n @Input() trackByProp: string;\n\n /**\n * Body was scrolled typically in a `scrollbarV:true` scenario.\n * \n * @type {EventEmitter}\n * @memberOf DatatableComponent\n */\n @Output() scroll: EventEmitter = new EventEmitter();\n\n /**\n * A cell or row was focused via keyboard or mouse click.\n * \n * @type {EventEmitter}\n * @memberOf DatatableComponent\n */\n @Output() activate: EventEmitter = new EventEmitter();\n\n /**\n * A cell or row was selected.\n * \n * @type {EventEmitter}\n * @memberOf DatatableComponent\n */\n @Output() select: EventEmitter = new EventEmitter();\n\n /**\n * Column sort was invoked.\n * \n * @type {EventEmitter}\n * @memberOf DatatableComponent\n */\n @Output() sort: EventEmitter = new EventEmitter();\n\n /**\n * The table was paged either triggered by the pager or the body scroll.\n * \n * @type {EventEmitter}\n * @memberOf DatatableComponent\n */\n @Output() page: EventEmitter = new EventEmitter();\n\n /**\n * Row detail row visbility was toggled.\n * \n * @type {EventEmitter}\n * @memberOf DatatableComponent\n */\n @Output() detailToggle: EventEmitter = new EventEmitter();\n\n /**\n * Columns were re-ordered.\n * \n * @type {EventEmitter}\n * @memberOf DatatableComponent\n */\n @Output() reorder: EventEmitter = new EventEmitter();\n\n /**\n * Column was resized.\n * \n * @type {EventEmitter}\n * @memberOf DatatableComponent\n */\n @Output() resize: EventEmitter = new EventEmitter();\n\n /**\n * The context menu was invoked on a row.\n * \n * @memberOf DatatableComponent\n */\n @Output() rowContextmenu = new EventEmitter<{ event: MouseEvent, row: any }>(false);\n\n /**\n * CSS class applied if the header height if fixed height.\n * \n * @readonly\n * @type {boolean}\n * @memberOf DatatableComponent\n */\n @HostBinding('class.fixed-header')\n get isFixedHeader(): boolean {\n const headerHeight: number|string = this.headerHeight;\n return (typeof headerHeight === 'string') ?\n (headerHeight) !== 'auto' : true;\n }\n\n /**\n * CSS class applied to the root element if\n * the row heights are fixed heights.\n * \n * @readonly\n * @type {boolean}\n * @memberOf DatatableComponent\n */\n @HostBinding('class.fixed-row')\n get isFixedRow(): boolean {\n const rowHeight: number|string = this.rowHeight;\n return (typeof rowHeight === 'string') ?\n (rowHeight) !== 'auto' : true;\n }\n\n /**\n * CSS class applied to root element if\n * vertical scrolling is enabled.\n * \n * @readonly\n * @type {boolean}\n * @memberOf DatatableComponent\n */\n @HostBinding('class.scroll-vertical')\n get isVertScroll(): boolean {\n return this.scrollbarV;\n }\n\n /**\n * CSS class applied to the root element\n * if the horziontal scrolling is enabled.\n * \n * @readonly\n * @type {boolean}\n * @memberOf DatatableComponent\n */\n @HostBinding('class.scroll-horz')\n get isHorScroll(): boolean {\n return this.scrollbarH;\n }\n\n /**\n * CSS class applied to root element is selectable.\n * \n * @readonly\n * @type {boolean}\n * @memberOf DatatableComponent\n */\n @HostBinding('class.selectable')\n get isSelectable(): boolean {\n return this.selectionType !== undefined;\n }\n\n /**\n * CSS class applied to root is checkbox selection.\n * \n * @readonly\n * @type {boolean}\n * @memberOf DatatableComponent\n */\n @HostBinding('class.checkbox-selection')\n get isCheckboxSelection(): boolean {\n return this.selectionType === SelectionType.checkbox;\n }\n\n /**\n * CSS class applied to root if cell selection.\n * \n * @readonly\n * @type {boolean}\n * @memberOf DatatableComponent\n */\n @HostBinding('class.cell-selection')\n get isCellSelection(): boolean {\n return this.selectionType === SelectionType.cell;\n }\n\n /**\n * CSS class applied to root if single select.\n * \n * @readonly\n * @type {boolean}\n * @memberOf DatatableComponent\n */\n @HostBinding('class.single-selection')\n get isSingleSelection(): boolean {\n return this.selectionType === SelectionType.single;\n }\n \n /**\n * CSS class added to root element if mulit select\n * \n * @readonly\n * @type {boolean}\n * @memberOf DatatableComponent\n */\n @HostBinding('class.multi-selection')\n get isMultiSelection(): boolean {\n return this.selectionType === SelectionType.multi;\n }\n\n /**\n * CSS class added to root element if mulit click select\n * \n * @readonly\n * @type {boolean}\n * @memberOf DatatableComponent\n */\n @HostBinding('class.multi-click-selection')\n get isMultiClickSelection(): boolean {\n return this.selectionType === SelectionType.multiClick;\n }\n\n /**\n * Column templates gathered from `ContentChildren`\n * if described in your markup.\n * \n * @memberOf DatatableComponent\n */\n @ContentChildren(DataTableColumnDirective)\n set columnTemplates(val: QueryList) {\n this._columnTemplates = val;\n\n if(val) {\n // only set this if results were brought back\n const arr = val.toArray();\n\n if(arr.length) {\n // translate them to normal objects\n this.columns = translateTemplates(arr);\n }\n }\n }\n\n /**\n * Returns the column templates.\n * \n * @readonly\n * @type {QueryList}\n * @memberOf DatatableComponent\n */\n get columnTemplates(): QueryList {\n return this._columnTemplates;\n }\n\n /**\n * Row Detail templates gathered from the ContentChild\n * \n * @memberOf DatatableComponent\n */\n @ContentChild(DatatableRowDetailDirective)\n set rowDetailTemplateChild(val: DatatableRowDetailDirective) {\n this._rowDetailTemplateChild = val;\n if(val) this.rowDetailTemplate = val.rowDetailTemplate;\n }\n\n /**\n * Returns the row templates.\n * \n * @readonly\n * @type {DatatableRowDetailDirective}\n * @memberOf DatatableComponent\n */\n get rowDetailTemplateChild(): DatatableRowDetailDirective {\n return this._rowDetailTemplateChild;\n }\n\n /**\n * Reference to the body component for manually\n * invoking functions on the body.\n * \n * @private\n * @type {DataTableBodyComponent}\n * @memberOf DatatableComponent\n */\n @ViewChild(DataTableBodyComponent)\n bodyComponent: DataTableBodyComponent;\n\n /**\n * Returns if all rows are selected.\n * \n * @readonly\n * @private\n * @type {boolean}\n * @memberOf DatatableComponent\n */\n get allRowsSelected(): boolean {\n return this.selected &&\n this.rows &&\n this.selected.length === this.rows.length;\n }\n\n element: HTMLElement;\n innerWidth: number;\n pageSize: number;\n bodyHeight: number;\n rowCount: number;\n offsetX: number = 0;\n rowDiffer: IterableDiffer;\n _count: number = 0;\n\n _rows: any[];\n _columns: any[];\n _columnTemplates: QueryList;\n _rowDetailTemplateChild: DatatableRowDetailDirective;\n\n constructor(element: ElementRef, differs: KeyValueDiffers) {\n // get ref to elm for measuring\n this.element = element.nativeElement;\n this.rowDiffer = differs.find({}).create(null);\n }\n\n /**\n * Lifecycle hook that is called after data-bound \n * properties of a directive are initialized.\n * \n * @memberOf DatatableComponent\n */\n ngOnInit(): void {\n // need to call this immediatly to size\n // if the table is hidden the visibility\n // listener will invoke this itself upon show\n this.recalculate();\n }\n\n /**\n * Lifecycle hook that is called after a component's \n * view has been fully initialized.\n * \n * @memberOf DatatableComponent\n */\n ngAfterViewInit(): void {\n // this has to be done to prevent the change detection\n // tree from freaking out because we are readjusting\n setTimeout(() => this.recalculate());\n }\n\n /**\n * Lifecycle hook that is called when Angular dirty checks a directive.\n * \n * @memberOf DatatableComponent\n */\n ngDoCheck(): void {\n if (this.rowDiffer.diff(this.rows)) {\n this.recalculatePages();\n }\n }\n\n /**\n * Toggle the expansion of the row\n *\n * @param rowIndex\n */\n toggleExpandRow(row: any): void {\n // Should we write a guard here??\n this.bodyComponent.toggleRowExpansion(row);\n }\n\n /**\n * API method to expand all the rows.\n * \n * @memberOf DatatableComponent\n */\n expandAllRows(): void {\n this.bodyComponent.toggleAllRows(true);\n }\n\n /**\n * API method to collapse all the rows.\n * \n * @memberOf DatatableComponent\n */\n collapseAllRows(): void {\n this.bodyComponent.toggleAllRows(false);\n }\n\n /**\n * Recalc's the sizes of the grid.\n * \n * Updated automatically on changes to:\n * \n * - Columns\n * - Rows\n * - Paging related\n * \n * Also can be manually invoked or upon window resize.\n * \n * @memberOf DatatableComponent\n */\n recalculate(): void {\n this.recalculateDims();\n this.recalculateColumns();\n }\n\n /**\n * Window resize handler to update sizes.\n * \n * @memberOf DatatableComponent\n */\n @HostListener('window:resize')\n @throttleable(5)\n onWindowResize(): void {\n this.recalculate();\n }\n\n /**\n * Recalulcates the column widths based on column width\n * distribution mode and scrollbar offsets.\n * \n * @param {any[]} [columns=this.columns]\n * @param {number} [forceIdx=false]\n * @param {boolean} [allowBleed=this.scrollH]\n * @returns {any[]}\n * \n * @memberOf DatatableComponent\n */\n recalculateColumns(\n columns: any[] = this.columns, \n forceIdx: number = -1, \n allowBleed: boolean = this.scrollbarH): any[] {\n\n if (!columns) return;\n\n let width = this.innerWidth;\n if (this.scrollbarV) {\n width = width - scrollbarWidth;\n }\n\n if (this.columnMode === ColumnMode.force) {\n forceFillColumnWidths(columns, width, forceIdx, allowBleed);\n } else if (this.columnMode === ColumnMode.flex) {\n adjustColumnWidths(columns, width);\n }\n\n return columns;\n }\n\n /**\n * Recalculates the dimensions of the table size.\n * Internally calls the page size and row count calcs too.\n * \n * @memberOf DatatableComponent\n */\n recalculateDims(): void {\n let { height, width } = this.element.getBoundingClientRect();\n this.innerWidth = Math.floor(width);\n\n if (this.scrollbarV) {\n if (this.headerHeight) height = height - this.headerHeight;\n if (this.footerHeight) height = height - this.footerHeight;\n this.bodyHeight = height;\n }\n\n this.recalculatePages();\n }\n\n /**\n * Recalculates the pages after a update.\n * \n * \n * @memberOf DatatableComponent\n */\n recalculatePages(): void {\n this.pageSize = this.calcPageSize();\n this.rowCount = this.calcRowCount();\n }\n\n /**\n * Body triggered a page event.\n * \n * @param {*} { offset }\n * \n * @memberOf DatatableComponent\n */\n onBodyPage({ offset }: any): void {\n this.offset = offset;\n\n this.page.emit({\n count: this.count,\n pageSize: this.pageSize,\n limit: this.limit,\n offset: this.offset\n });\n }\n\n /**\n * The body triggered a scroll event.\n * \n * @param {MouseEvent} event\n * \n * @memberOf DatatableComponent\n */\n onBodyScroll(event: MouseEvent): void {\n this.offsetX = event.offsetX;\n this.scroll.emit(event);\n }\n\n /**\n * The footer triggered a page event.\n * \n * @param {*} event\n * \n * @memberOf DatatableComponent\n */\n onFooterPage(event: any) {\n this.offset = event.page - 1;\n this.bodyComponent.updateOffsetY(this.offset);\n\n this.page.emit({\n count: this.count,\n pageSize: this.pageSize,\n limit: this.limit,\n offset: this.offset\n });\n }\n\n /**\n * Recalculates the sizes of the page\n * \n * @param {any[]} [val=this.rows]\n * @returns {number}\n * \n * @memberOf DatatableComponent\n */\n calcPageSize(val: any[] = this.rows): number {\n // Keep the page size constant even if the row has been expanded.\n // This is because an expanded row is still considered to be a child of\n // the original row. Hence calculation would use rowHeight only.\n if (this.scrollbarV) {\n const size = Math.ceil(this.bodyHeight / this.rowHeight);\n return Math.max(size, 0);\n }\n\n // if limit is passed, we are paging\n if (this.limit !== undefined) return this.limit;\n\n // otherwise use row length\n if(val) return val.length;\n\n // other empty :(\n return 0;\n }\n\n /**\n * Calculates the row count.\n * \n * @param {any[]} [val=this.rows]\n * @returns {number}\n * \n * @memberOf DatatableComponent\n */\n calcRowCount(val: any[] = this.rows): number {\n if(!this.externalPaging) {\n if(!val) return 0;\n return val.length;\n }\n\n return this.count;\n }\n\n /**\n * The header triggered a column resize event.\n * \n * @param {*} { column, newValue }\n * \n * @memberOf DatatableComponent\n */\n onColumnResize({ column, newValue }: any): void {\n let idx: number;\n let cols = this.columns.map((c, i) => {\n c = Object.assign({}, c);\n\n if(c.$$id === column.$$id) {\n idx = i;\n c.width = newValue;\n\n // set this so we can force the column\n // width distribution to be to this value\n c.$$oldWidth = newValue;\n }\n\n return c;\n });\n\n this.recalculateColumns(cols, idx);\n this._columns = cols;\n\n this.resize.emit({\n column,\n newValue\n });\n }\n\n /**\n * The header triggered a column re-order event.\n * \n * @param {*} { column, newValue, prevValue }\n * \n * @memberOf DatatableComponent\n */\n onColumnReorder({ column, newValue, prevValue }: any): void {\n let cols = this.columns.map(c => {\n return Object.assign({}, c);\n });\n\n cols.splice(prevValue, 1);\n cols.splice(newValue, 0, column);\n this.columns = cols;\n\n this.reorder.emit({\n column,\n newValue,\n prevValue\n });\n }\n\n /**\n * The header triggered a column sort event.\n * \n * @param {*} event\n * \n * @memberOf DatatableComponent\n */\n onColumnSort(event: any): void {\n const { sorts } = event;\n\n // this could be optimized better since it will resort\n // the rows again on the 'push' detection...\n if (this.externalSorting === false) {\n // don't use normal setter so we don't resort\n this._rows = sortRows(this.rows, this.columns, sorts);\n }\n\n this.sorts = sorts;\n this.bodyComponent.updateOffsetY(0);\n this.sort.emit(event);\n }\n\n /**\n * Toggle all row selection\n * \n * @param {*} event\n * \n * @memberOf DatatableComponent\n */\n onHeaderSelect(event: any): void {\n // before we splice, chk if we currently have all selected\n const allSelected = this.selected.length === this.rows.length;\n\n // remove all existing either way\n this.selected.splice(0, this.selected.length);\n\n // do the opposite here\n if(!allSelected) {\n this.selected.push(...this.rows);\n }\n\n this.select.emit({\n selected: this.selected\n });\n }\n\n /**\n * A row was selected from body\n * \n * @param {*} event\n * \n * @memberOf DatatableComponent\n */\n onBodySelect(event: any): void {\n this.select.emit(event);\n }\n\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/components/datatable.component.ts","import {\r\n Component, Output, EventEmitter, ChangeDetectionStrategy, Input\r\n} from '@angular/core';\r\n\r\n@Component({\r\n selector: 'datatable-footer',\r\n template: `\r\n \r\n
{{rowCount.toLocaleString()}} {{totalMessage}}
\r\n \r\n \r\n \r\n `,\r\n host: {\r\n class: 'datatable-footer'\r\n },\r\n changeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\nexport class DataTableFooterComponent {\r\n\r\n @Input() footerHeight: number;\r\n @Input() rowCount: number;\r\n @Input() pageSize: number;\r\n @Input() offset: number;\r\n @Input() pagerLeftArrowIcon: string;\r\n @Input() pagerRightArrowIcon: string;\r\n @Input() pagerPreviousIcon: string;\r\n @Input() pagerNextIcon: string;\r\n @Input() totalMessage: string;\r\n\r\n @Output() page: EventEmitter = new EventEmitter();\r\n\r\n get isVisible(): boolean {\r\n return (this.rowCount / this.pageSize) > 1;\r\n }\r\n\r\n get curPage(): number {\r\n return this.offset + 1;\r\n }\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/components/footer/footer.component.ts","export * from './footer.component';\r\nexport * from './pager.component';\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/components/footer/index.ts","import {\r\n Component, Input, Output, EventEmitter, ChangeDetectionStrategy\r\n} from '@angular/core';\r\n\r\n@Component({\r\n selector: 'datatable-pager',\r\n template: `\r\n
    \r\n
  • \r\n \r\n \r\n \r\n
  • \r\n
  • \r\n \r\n \r\n \r\n
  • \r\n \r\n \r\n {{pg.text}}\r\n \r\n \r\n
  • \r\n \r\n \r\n \r\n
  • \r\n
  • \r\n \r\n \r\n \r\n
  • \r\n
\r\n `,\r\n host: {\r\n class: 'datatable-pager'\r\n },\r\n changeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\nexport class DataTablePagerComponent {\r\n\r\n @Input() pagerLeftArrowIcon: string;\r\n @Input() pagerRightArrowIcon: string;\r\n @Input() pagerPreviousIcon: string;\r\n @Input() pagerNextIcon: string;\r\n\r\n @Input()\r\n set size(val: number) {\r\n this._size = val;\r\n this.pages = this.calcPages();\r\n }\r\n\r\n get size(): number {\r\n return this._size;\r\n }\r\n\r\n @Input()\r\n set count(val: number) {\r\n this._count = val;\r\n this.pages = this.calcPages();\r\n }\r\n\r\n get count(): number {\r\n return this._count;\r\n }\r\n\r\n @Input()\r\n set page(val: number) {\r\n this._page = val;\r\n this.pages = this.calcPages();\r\n }\r\n\r\n get page(): number {\r\n return this._page;\r\n }\r\n\r\n get totalPages(): number {\r\n const count = this.size < 1 ? 1 : Math.ceil(this.count / this.size);\r\n return Math.max(count || 0, 1);\r\n }\r\n\r\n @Output() change: EventEmitter = new EventEmitter();\r\n\r\n _count: number = 0;\r\n _page: number = 1;\r\n _size: number = 0;\r\n pages: any;\r\n\r\n canPrevious(): boolean {\r\n return this.page > 1;\r\n }\r\n\r\n canNext(): boolean {\r\n return this.page < this.totalPages;\r\n }\r\n\r\n prevPage(): void {\r\n this.selectPage(this.page - 1);\r\n }\r\n\r\n nextPage(): void {\r\n this.selectPage(this.page + 1);\r\n }\r\n\r\n selectPage(page: number): void {\r\n if (page > 0 && page <= this.totalPages && page !== this.page) {\r\n this.page = page;\r\n\r\n this.change.emit({\r\n page\r\n });\r\n }\r\n }\r\n\r\n calcPages(page?: number): any[] {\r\n let pages = [];\r\n let startPage = 1;\r\n let endPage = this.totalPages;\r\n let maxSize = 5;\r\n const isMaxSized = maxSize < this.totalPages;\r\n\r\n page = page || this.page;\r\n\r\n if (isMaxSized) {\r\n startPage = ((Math.ceil(page / maxSize) - 1) * maxSize) + 1;\r\n endPage = Math.min(startPage + maxSize - 1, this.totalPages);\r\n }\r\n\r\n for (let num = startPage; num <= endPage; num++) {\r\n pages.push({\r\n number: num,\r\n text: num\r\n });\r\n }\r\n\r\n return pages;\r\n }\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/components/footer/pager.component.ts","import {\n Component, Input, EventEmitter, Output, HostBinding\n} from '@angular/core';\n\nimport { SortDirection, SortType, SelectionType } from '../../types';\nimport { nextSortDir } from '../../utils';\n\n@Component({\n selector: 'datatable-header-cell',\n template: `\n
\n \n \n \n \n \n \n \n \n \n
\n `\n})\nexport class DataTableHeaderCellComponent {\n\n @Input() sortType: SortType;\n @Input() column: any;\n @Input() sortAscendingIcon: string;\n @Input() sortDescendingIcon: string;\n @Input() allRowsSelected: boolean;\n @Input() selectionType: SelectionType;\n\n @HostBinding('style.height.px')\n @Input() headerHeight: number;\n\n @Input() set sorts(val: any[]) {\n this._sorts = val;\n this.sortDir = this.calcSortDir(val);\n this.sortClass = this.calcSortClass(this.sortDir);\n }\n\n get sorts(): any[] {\n return this._sorts;\n }\n\n @Output() sort: EventEmitter = new EventEmitter();\n @Output() select: EventEmitter = new EventEmitter();\n\n @HostBinding('class')\n get columnCssClasses(): any {\n let cls = 'datatable-header-cell';\n\n if(this.column.sortable) cls += ' sortable';\n if(this.column.resizeable) cls += ' resizeable';\n\n const sortDir = this.sortDir;\n if(sortDir) {\n cls += ` sort-active sort-${sortDir}`;\n }\n\n return cls;\n }\n\n @HostBinding('attr.title')\n get name(): string {\n return this.column.name || this.column.prop;\n }\n\n @HostBinding('style.minWidth.px')\n get minWidth(): number {\n return this.column.minWidth;\n }\n\n @HostBinding('style.maxWidth.px')\n get maxWidth(): number {\n return this.column.maxWidth;\n }\n\n @HostBinding('style.width.px')\n get width(): number {\n return this.column.width;\n }\n\n get isCheckboxable(): boolean {\n return \n this.column.checkboxable && \n this.column.headerCheckboxable && \n this.selectionType === SelectionType.checkbox;\n }\n\n sortClass: string;\n sortDir: SortDirection;\n _sorts: any[];\n\n calcSortDir(sorts: any[]): any {\n if(sorts && this.column) {\n const sort = sorts.find((s: any) => {\n return s.prop === this.column.prop;\n });\n\n if(sort) return sort.dir;\n }\n }\n\n onSort(): void {\n if(!this.column.sortable) return;\n\n const newValue = nextSortDir(this.sortType, this.sortDir);\n this.sort.emit({\n column: this.column,\n prevValue: this.sortDir,\n newValue\n });\n }\n\n calcSortClass(sortDir): string {\n if(sortDir === SortDirection.asc) {\n return `sort-asc ${this.sortAscendingIcon}`;\n } else if(sortDir === SortDirection.desc) {\n return `sort-desc ${this.sortDescendingIcon}`;\n }\n }\n\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/components/header/header-cell.component.ts","import {\n Component, Output, EventEmitter, Input, HostBinding\n} from '@angular/core';\nimport { SortType, SelectionType } from '../../types';\nimport { columnsByPin, columnGroupWidths, columnsByPinArr, translateXY } from '../../utils';\nimport { DataTableColumnDirective } from '../columns';\n\n@Component({\n selector: 'datatable-header',\n template: `\n \n \n \n \n \n \n `,\n host: {\n class: 'datatable-header'\n }\n})\nexport class DataTableHeaderComponent {\n\n @Input() sortAscendingIcon: any;\n @Input() sortDescendingIcon: any;\n @Input() scrollbarH: boolean;\n @Input() innerWidth: number;\n @Input() offsetX: number;\n @Input() sorts: any[];\n @Input() sortType: SortType;\n @Input() allRowsSelected: boolean;\n @Input() selectionType: SelectionType;\n @Input() reorderable: boolean;\n\n @HostBinding('style.height')\n @Input() set headerHeight(val: any) {\n if(val !== 'auto') { \n this._headerHeight = `${val}px`;\n } else {\n this._headerHeight = val;\n }\n }\n\n get headerHeight() {\n return this._headerHeight;\n }\n\n @Input() set columns(val: any[]) {\n this._columns = val;\n\n const colsByPin = columnsByPin(val);\n this.columnsByPin = columnsByPinArr(val);\n this.columnGroupWidths = columnGroupWidths(colsByPin, val);\n }\n\n get columns(): any[] { \n return this._columns; \n }\n\n @Output() sort: EventEmitter = new EventEmitter();\n @Output() reorder: EventEmitter = new EventEmitter();\n @Output() resize: EventEmitter = new EventEmitter();\n @Output() select: EventEmitter = new EventEmitter();\n\n columnsByPin: any;\n columnGroupWidths: any;\n _columns: any[];\n _headerHeight: string;\n\n @HostBinding('style.width')\n get headerWidth(): string {\n if(this.scrollbarH) {\n return this.innerWidth + 'px';\n }\n\n return '100%';\n }\n\n trackByGroups(index: number, colGroup: any): any {\n return colGroup.type;\n }\n\n columnTrackingFn(index: number, column: any): any {\n return column.$$id;\n }\n\n onColumnResized(width: number, column: DataTableColumnDirective): void {\n if (width <= column.minWidth) {\n width = column.minWidth;\n } else if(width >= column.maxWidth) {\n width = column.maxWidth;\n }\n\n this.resize.emit({\n column,\n prevValue: column.width,\n newValue: width\n });\n }\n\n onColumnReordered({ prevIndex, newIndex, model }: any): void {\n this.reorder.emit({\n column: model,\n prevValue: prevIndex,\n newValue: newIndex\n });\n }\n\n onSort({ column, prevValue, newValue }: any): void {\n const sorts = this.calcNewSorts(column, prevValue, newValue);\n this.sort.emit({\n sorts,\n column,\n prevValue,\n newValue\n });\n }\n\n calcNewSorts(column: any, prevValue: number, newValue: number): any[] {\n let idx = 0;\n\n let sorts = this.sorts.map((s, i) => {\n s = Object.assign({}, s);\n if(s.prop === column.prop) idx = i;\n return s;\n });\n\n if (newValue === undefined) {\n sorts.splice(idx, 1);\n } else if (prevValue) {\n sorts[idx].dir = newValue;\n } else {\n if (this.sortType === SortType.single) {\n sorts.splice(0, this.sorts.length);\n }\n\n sorts.push({ dir: newValue, prop: column.prop });\n }\n\n return sorts;\n }\n\n stylesByGroup(group: string): any {\n const widths = this.columnGroupWidths;\n const offsetX = this.offsetX;\n\n let styles = {\n width: `${widths[group]}px`\n };\n\n if(group === 'center') {\n translateXY(styles, offsetX * -1, 0);\n } else if(group === 'right') {\n const totalDiff = widths.total - this.innerWidth;\n const offset = totalDiff * -1;\n translateXY(styles, offset, 0);\n }\n\n return styles;\n }\n\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/components/header/header.component.ts","export * from './header.component';\r\nexport * from './header-cell.component';\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/components/header/index.ts","export * from './datatable.component';\r\n\r\nexport * from './header';\r\nexport * from './body';\r\nexport * from './footer';\r\n\r\nexport * from './columns';\r\nexport * from './row-detail';\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/components/index.ts","export * from './row-detail.directive';\r\nexport * from './row-detail-template.directive';\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/components/row-detail/index.ts","import { Directive, TemplateRef } from '@angular/core';\r\n\r\n@Directive({\r\n selector: '[ngx-datatable-row-detail-template]'\r\n})\r\nexport class DatatableRowDetailTemplateDirective {\r\n constructor(public template: TemplateRef) { };\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/components/row-detail/row-detail-template.directive.ts","import { Directive, TemplateRef, ContentChild } from '@angular/core';\r\nimport { DatatableRowDetailTemplateDirective } from './row-detail-template.directive';\r\n\r\n@Directive({ selector: 'ngx-datatable-row-detail' })\r\nexport class DatatableRowDetailDirective {\r\n\r\n @ContentChild(DatatableRowDetailTemplateDirective, { read: TemplateRef }) \r\n template: TemplateRef;\r\n\r\n get rowDetailTemplate(): TemplateRef {\r\n return this.template;\r\n }\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/components/row-detail/row-detail.directive.ts","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\n\r\nimport {\r\n DatatableComponent,\r\n DataTableColumnDirective,\r\n DataTableHeaderComponent,\r\n DataTableBodyComponent,\r\n DataTableFooterComponent,\r\n DataTableHeaderCellComponent,\r\n DataTablePagerComponent,\r\n DataTableBodyRowComponent,\r\n DataTableRowWrapperComponent,\r\n ProgressBarComponent,\r\n DataTableBodyCellComponent,\r\n DatatableRowDetailDirective,\r\n ScrollerComponent,\r\n DataTableSelectionComponent,\r\n DataTableColumnHeaderDirective,\r\n DataTableColumnCellDirective,\r\n DatatableRowDetailTemplateDirective\r\n} from './components';\r\n\r\nimport {\r\n VisibilityDirective,\r\n LongPressDirective,\r\n ResizeableDirective,\r\n OrderableDirective,\r\n DraggableDirective\r\n} from './directives';\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule\r\n ],\r\n declarations: [\r\n VisibilityDirective,\r\n DraggableDirective,\r\n ResizeableDirective,\r\n OrderableDirective,\r\n LongPressDirective,\r\n ScrollerComponent,\r\n DatatableComponent,\r\n DataTableColumnDirective,\r\n DataTableHeaderComponent,\r\n DataTableHeaderCellComponent,\r\n DataTableBodyComponent,\r\n DataTableFooterComponent,\r\n DataTablePagerComponent,\r\n ProgressBarComponent,\r\n DataTableBodyRowComponent,\r\n DataTableRowWrapperComponent,\r\n DatatableRowDetailDirective,\r\n DatatableRowDetailTemplateDirective,\r\n DataTableBodyCellComponent,\r\n DataTableSelectionComponent,\r\n DataTableColumnHeaderDirective,\r\n DataTableColumnCellDirective\r\n ],\r\n exports: [\r\n DatatableComponent,\r\n DatatableRowDetailDirective,\r\n DatatableRowDetailTemplateDirective,\r\n DataTableColumnDirective,\r\n DataTableColumnHeaderDirective,\r\n DataTableColumnCellDirective\r\n ]\r\n})\r\nexport class NgxDatatableModule { }\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/datatable.module.ts","import { \r\n Directive, ElementRef, HostListener, Input, Output, EventEmitter, OnDestroy\r\n} from '@angular/core';\r\nimport { Observable, Subscription } from 'rxjs/Rx';\r\n\r\n/**\r\n * Draggable Directive for Angular2\r\n *\r\n * Inspiration:\r\n * https://github.com/AngularClass/angular2-examples/blob/master/rx-draggable/directives/draggable.ts\r\n * http://stackoverflow.com/questions/35662530/how-to-implement-drag-and-drop-in-angular2\r\n *\r\n */\r\n@Directive({ selector: '[draggable]' })\r\nexport class DraggableDirective implements OnDestroy {\r\n\r\n @Input() dragModel: any;\r\n @Input() dragX: boolean = true;\r\n @Input() dragY: boolean = true;\r\n\r\n @Output() dragStart: EventEmitter = new EventEmitter();\r\n @Output() dragging: EventEmitter = new EventEmitter();\r\n @Output() dragEnd: EventEmitter = new EventEmitter();\r\n\r\n element: HTMLElement;\r\n isDragging: boolean = false;\r\n subscription: Subscription;\r\n\r\n constructor(element: ElementRef) {\r\n this.element = element.nativeElement;\r\n }\r\n\r\n ngOnDestroy(): void {\r\n if (this.subscription) {\r\n this.subscription.unsubscribe();\r\n }\r\n }\r\n\r\n @HostListener('document:mouseup', ['$event'])\r\n onMouseup(event: MouseEvent): void {\r\n this.isDragging = false;\r\n this.element.classList.remove('dragging');\r\n\r\n if (this.subscription) {\r\n this.subscription.unsubscribe();\r\n this.dragEnd.emit({\r\n event,\r\n element: this.element,\r\n model: this.dragModel\r\n });\r\n }\r\n }\r\n\r\n @HostListener('mousedown', ['$event'])\r\n onMousedown(event: MouseEvent): void {\r\n if ( (event.target).classList.contains('draggable')) {\r\n event.preventDefault();\r\n this.isDragging = true;\r\n\r\n const mouseDownPos = { x: event.clientX, y: event.clientY };\r\n this.subscription = Observable.fromEvent(document, 'mousemove')\r\n .subscribe((ev: MouseEvent) => this.move(ev, mouseDownPos));\r\n\r\n this.dragStart.emit({\r\n event,\r\n element: this.element,\r\n model: this.dragModel\r\n });\r\n }\r\n }\r\n\r\n move(event: MouseEvent, mouseDownPos: {x: number, y: number }): void {\r\n if (!this.dragging) return;\r\n\r\n const x = event.clientX - mouseDownPos.x;\r\n const y = event.clientY - mouseDownPos.y;\r\n\r\n if (this.dragX) this.element.style.left = `${x}px`;\r\n if (this.dragY) this.element.style.top = `${y}px`;\r\n\r\n if (this.dragX || this.dragY) {\r\n this.element.classList.add('dragging');\r\n\r\n this.dragging.emit({\r\n event,\r\n element: this.element,\r\n model: this.dragModel\r\n });\r\n }\r\n }\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/directives/draggable.directive.ts","export * from './draggable.directive';\r\nexport * from './long-press.directive';\r\nexport * from './orderable.directive';\r\nexport * from './resizeable.directive';\r\nexport * from './visibility.directive';\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/directives/index.ts","import {\r\n Directive,\r\n Input,\r\n Output,\r\n EventEmitter,\r\n HostBinding,\r\n HostListener\r\n} from '@angular/core';\r\n\r\n@Directive({ selector: '[long-press]' })\r\nexport class LongPressDirective {\r\n\r\n @Input() duration: number = 500;\r\n\r\n @Output() longPress: EventEmitter = new EventEmitter();\r\n @Output() longPressing: EventEmitter = new EventEmitter();\r\n @Output() longPressEnd: EventEmitter = new EventEmitter();\r\n\r\n pressing: boolean;\r\n isLongPressing: boolean;\r\n timeout: any;\r\n mouseX: number = 0;\r\n mouseY: number = 0;\r\n\r\n @HostBinding('class.press')\r\n get press(): boolean { return this.pressing; }\r\n\r\n @HostBinding('class.longpress')\r\n get isLongPress(): boolean { return this.longPressing !== undefined; }\r\n\r\n @HostListener('mousedown', ['$event'])\r\n onMouseDown(event: MouseEvent): void {\r\n // don't do right/middle clicks\r\n if(event.which !== 1) return;\r\n\r\n this.mouseX = event.clientX;\r\n this.mouseY = event.clientY;\r\n\r\n this.pressing = true;\r\n this.isLongPressing = false;\r\n\r\n this.timeout = setTimeout(() => {\r\n this.isLongPressing = true;\r\n this.longPress.emit(event);\r\n this.loop(event);\r\n }, this.duration);\r\n\r\n this.loop(event);\r\n }\r\n\r\n @HostListener('mousemove', ['$event'])\r\n onMouseMove(event: MouseEvent): void {\r\n if(this.pressing && !this.longPressing) {\r\n const xThres = (event.clientX - this.mouseX) > 10;\r\n const yThres = (event.clientY - this.mouseY) > 10;\r\n\r\n if(xThres || yThres) {\r\n this.endPress();\r\n }\r\n }\r\n }\r\n\r\n loop(event: Event): void {\r\n if(this.longPressing) {\r\n this.timeout = setTimeout(() => {\r\n this.longPressing.emit(event);\r\n this.loop(event);\r\n }, 50);\r\n }\r\n }\r\n\r\n endPress(): void {\r\n clearTimeout(this.timeout);\r\n this.isLongPressing = false;\r\n this.pressing = false;\r\n this.longPressEnd.emit(true);\r\n }\r\n\r\n @HostListener('mouseup')\r\n onMouseUp(): void { this.endPress(); }\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/directives/long-press.directive.ts","import {\r\n Directive, Output, EventEmitter, ContentChildren,\r\n QueryList, KeyValueDiffers, AfterContentInit, OnDestroy\r\n} from '@angular/core';\r\n\r\nimport { DraggableDirective } from './draggable.directive';\r\n\r\n@Directive({ selector: '[orderable]' })\r\nexport class OrderableDirective implements AfterContentInit, OnDestroy {\r\n\r\n @Output() reorder: EventEmitter = new EventEmitter();\r\n\r\n @ContentChildren(DraggableDirective, { descendants: true })\r\n draggables: QueryList;\r\n\r\n positions: any;\r\n differ: any;\r\n\r\n constructor(differs: KeyValueDiffers) {\r\n this.differ = differs.find({}).create(null);\r\n }\r\n\r\n ngAfterContentInit(): void {\r\n // HACK: Investigate Better Way\r\n this.updateSubscriptions();\r\n this.draggables.changes.subscribe(\r\n this.updateSubscriptions.bind(this));\r\n }\r\n\r\n ngOnDestroy(): void {\r\n this.draggables.forEach(d => {\r\n d.dragStart.unsubscribe();\r\n d.dragEnd.unsubscribe();\r\n });\r\n }\r\n\r\n updateSubscriptions(): void {\r\n const diffs = this.differ.diff(this.draggables.toArray());\r\n\r\n if(diffs) {\r\n const subscribe = ({ currentValue, previousValue }: any) => {\r\n unsubscribe({ previousValue });\r\n\r\n if(currentValue) {\r\n currentValue.dragStart.subscribe(this.onDragStart.bind(this));\r\n currentValue.dragEnd.subscribe(this.onDragEnd.bind(this));\r\n }\r\n };\r\n\r\n const unsubscribe = ({ previousValue }: any) => {\r\n if(previousValue) {\r\n previousValue.dragStart.unsubscribe();\r\n previousValue.dragEnd.unsubscribe();\r\n }\r\n };\r\n\r\n diffs.forEachAddedItem(subscribe.bind(this));\r\n diffs.forEachChangedItem(subscribe.bind(this));\r\n diffs.forEachRemovedItem(unsubscribe.bind(this));\r\n }\r\n }\r\n\r\n onDragStart(): void {\r\n this.positions = {};\r\n\r\n let i = 0;\r\n for(let dragger of this.draggables.toArray()) {\r\n let elm = dragger.element;\r\n this.positions[dragger.dragModel.prop] = {\r\n left: parseInt(elm.offsetLeft.toString(), 0),\r\n index: i++\r\n };\r\n }\r\n }\r\n\r\n onDragEnd({ element, model }: any) {\r\n const newPos = parseInt(element.offsetLeft.toString(), 0);\r\n const prevPos = this.positions[model.prop];\r\n\r\n let i = 0;\r\n for(let prop in this.positions) {\r\n let pos = this.positions[prop];\r\n\r\n let movedLeft = newPos < pos.left && prevPos.left > pos.left;\r\n let movedRight = newPos > pos.left && prevPos.left < pos.left;\r\n\r\n if(movedLeft || movedRight) {\r\n this.reorder.emit({\r\n prevIndex: prevPos.index,\r\n newIndex: i,\r\n model\r\n });\r\n }\r\n\r\n i++;\r\n }\r\n\r\n element.style.left = 'auto';\r\n }\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/directives/orderable.directive.ts","import { \r\n Directive, ElementRef, HostListener, Input, Output, EventEmitter, OnDestroy\r\n} from '@angular/core';\r\nimport { Observable, Subscription } from 'rxjs/Rx';\r\n\r\n@Directive({\r\n selector: '[resizeable]',\r\n host: {\r\n '[class.resizeable]': 'resizeEnabled'\r\n }\r\n})\r\nexport class ResizeableDirective implements OnDestroy {\r\n\r\n @Input() resizeEnabled: boolean = true;\r\n @Input() minWidth: number;\r\n @Input() maxWidth: number;\r\n\r\n @Output() resize: EventEmitter = new EventEmitter();\r\n\r\n element: HTMLElement;\r\n subscription: Subscription;\r\n resizing: boolean = false;\r\n\r\n constructor(element: ElementRef) {\r\n this.element = element.nativeElement;\r\n\r\n if (this.resizeEnabled) {\r\n const node = document.createElement('span');\r\n node.classList.add('resize-handle');\r\n this.element.appendChild(node);\r\n }\r\n }\r\n\r\n ngOnDestroy(): void {\r\n if (this.subscription) {\r\n this.subscription.unsubscribe();\r\n }\r\n }\r\n\r\n @HostListener('document:mouseup')\r\n onMouseup(): void {\r\n this.resizing = false;\r\n\r\n if (this.subscription && !this.subscription.closed) {\r\n this.subscription.unsubscribe();\r\n this.resize.emit(this.element.clientWidth);\r\n }\r\n }\r\n\r\n @HostListener('mousedown', ['$event'])\r\n onMousedown(event: MouseEvent): void {\r\n const isHandle = ((event.target)).classList.contains('resize-handle');\r\n const initialWidth = this.element.clientWidth;\r\n const mouseDownScreenX = event.screenX;\r\n\r\n if (isHandle) {\r\n event.stopPropagation();\r\n this.resizing = true;\r\n\r\n this.subscription = Observable.fromEvent(document, 'mousemove')\r\n .subscribe((e: MouseEvent) => this.move(e, initialWidth, mouseDownScreenX));\r\n }\r\n }\r\n\r\n move(event: MouseEvent, initialWidth: number, mouseDownScreenX: number): void {\r\n const movementX = event.screenX - mouseDownScreenX;\r\n const newWidth = initialWidth + movementX;\r\n\r\n const overMinWidth = !this.minWidth || newWidth >= this.minWidth;\r\n const underMaxWidth = !this.maxWidth || newWidth <= this.maxWidth;\r\n\r\n if (overMinWidth && underMaxWidth) {\r\n this.element.style.width = `${newWidth}px`;\r\n }\r\n }\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/directives/resizeable.directive.ts","import {\r\n Directive, Output, EventEmitter, ElementRef, HostBinding, NgZone, OnInit, OnDestroy\r\n} from '@angular/core';\r\n\r\n/**\r\n * Visibility Observer Directive\r\n *\r\n * Usage:\r\n *\r\n * \t\t\r\n * \t\t\r\n *\r\n */\r\n@Directive({ selector: '[visibility-observer]' })\r\nexport class VisibilityDirective implements OnInit, OnDestroy {\r\n\r\n @HostBinding('class.visible') \r\n isVisible: boolean = false;\r\n\r\n @Output() visible: EventEmitter = new EventEmitter();\r\n\r\n timeout: any;\r\n\r\n constructor(private element: ElementRef, private zone: NgZone) { }\r\n\r\n ngOnInit(): void {\r\n this.runCheck();\r\n }\r\n\r\n ngOnDestroy(): void {\r\n clearTimeout(this.timeout);\r\n }\r\n\r\n onVisibilityChange(): void {\r\n // trigger zone recalc for columns\r\n this.zone.run(() => {\r\n this.isVisible = true;\r\n this.visible.emit(true);\r\n });\r\n }\r\n\r\n runCheck(): void {\r\n const check = () => {\r\n // https://davidwalsh.name/offsetheight-visibility\r\n const { offsetHeight, offsetWidth } = this.element.nativeElement;\r\n\r\n if (offsetHeight && offsetWidth) {\r\n clearTimeout(this.timeout);\r\n this.onVisibilityChange();\r\n } else {\r\n clearTimeout(this.timeout);\r\n this.zone.runOutsideAngular(() => {\r\n this.timeout = setTimeout(() => check(), 50);\r\n });\r\n }\r\n };\r\n\r\n setTimeout(() => check());\r\n }\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/directives/visibility.directive.ts","export * from './datatable.module'\r\nexport * from './types';\r\nexport * from './components';\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/index.ts","export enum ClickType {\r\n single = 'single' as any,\r\n double = 'double' as any \r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/types/click.type.ts","export enum ColumnMode {\r\n standard = 'standard' as any,\r\n flex = 'flex' as any,\r\n force = 'force' as any\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/types/column-mode.type.ts","export * from './column-mode.type';\r\nexport * from './sort.type';\r\nexport * from './sort-direction.type';\r\nexport * from './selection.type';\r\nexport * from './click.type';\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/types/index.ts","export enum SelectionType {\n single = 'single' as any,\n multi = 'multi' as any,\n multiClick = 'multiClick' as any,\n cell = 'cell' as any,\n checkbox = 'checkbox' as any\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/types/selection.type.ts","export enum SortDirection {\r\n asc = 'asc' as any,\r\n desc = 'desc' as any\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/types/sort-direction.type.ts","export enum SortType {\r\n single = 'single' as any,\r\n multi = 'multi' as any\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/types/sort.type.ts","/**\r\n * Converts strings from something to camel case\r\n * http://stackoverflow.com/questions/10425287/convert-dash-separated-string-to-camelcase\r\n * @param {string} str\r\n * @return {string} camel case string\r\n */\r\nexport function camelCase(str: string): string {\r\n // Replace special characters with a space\r\n str = str.replace(/[^a-zA-Z0-9 ]/g, ' ');\r\n // put a space before an uppercase letter\r\n str = str.replace(/([a-z](?=[A-Z]))/g, '$1 ');\r\n\r\n // Lower case first character and some other stuff\r\n str = str.replace(/([^a-zA-Z0-9 ])|^[0-9]+/g, '').trim().toLowerCase();\r\n\r\n // uppercase characters preceded by a space or number\r\n str = str.replace(/([ 0-9]+)([a-zA-Z])/g, function(a, b, c) {\r\n return b.trim() + c.toUpperCase();\r\n });\r\n\r\n return str;\r\n}\r\n\r\n/**\r\n * Converts strings from camel case to words\r\n * http://stackoverflow.com/questions/7225407/convert-camelcasetext-to-camel-case-text\r\n *\r\n * @export\r\n * @param {any} str\r\n * @returns string\r\n */\r\nexport function deCamelCase(str: string): string {\r\n return str\r\n .replace(/([A-Z])/g, (match) => ` ${match}`)\r\n .replace(/^./, (match) => match.toUpperCase());\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/utils/camel-case.ts","import { DataTableColumnDirective } from '../components/columns';\r\nimport { camelCase, deCamelCase, id } from '../utils';\r\n\r\n/**\r\n * Sets the column defaults\r\n * \r\n * @export\r\n * @param {any[]} columns\r\n * @returns\r\n */\r\nexport function setColumnDefaults(columns: any[]) {\r\n if(!columns) return;\r\n\r\n for(let column of columns) {\r\n if(!column.$$id) {\r\n column.$$id = id();\r\n }\r\n\r\n // translate name => prop\r\n if(!column.prop && column.name) {\r\n column.prop = camelCase(column.name);\r\n }\r\n\r\n // format props if no name passed\r\n if(column.prop && !column.name) {\r\n column.name = deCamelCase(column.prop);\r\n }\r\n\r\n if(!column.hasOwnProperty('resizeable')) {\r\n column.resizeable = true;\r\n }\r\n\r\n if(!column.hasOwnProperty('sortable')) {\r\n column.sortable = true;\r\n }\r\n\r\n if(!column.hasOwnProperty('draggable')) {\r\n column.draggable = true;\r\n }\r\n\r\n if(!column.hasOwnProperty('canAutoResize')) {\r\n column.canAutoResize = true;\r\n }\r\n\r\n if(!column.hasOwnProperty('width')) {\r\n column.width = 150;\r\n }\r\n }\r\n}\r\n\r\n/**\r\n * Translates templates definitions to objects\r\n * \r\n * @export\r\n * @param {DataTableColumnDirective[]} templates\r\n * @returns {any[]}\r\n */\r\nexport function translateTemplates(templates: DataTableColumnDirective[]): any[] {\r\n let result: any[] = [];\r\n\r\n for(const temp of templates) {\r\n let col: any = {};\r\n\r\n const props = Object.getOwnPropertyNames(temp);\r\n for(const prop of props) {\r\n col[prop] = temp[prop];\r\n }\r\n\r\n if(temp.headerTemplate) {\r\n col.headerTemplate = temp.headerTemplate;\r\n }\r\n\r\n if(temp.cellTemplate) {\r\n col.cellTemplate = temp.cellTemplate;\r\n }\r\n\r\n result.push(col);\r\n }\r\n\r\n return result;\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/utils/column-helper.ts","/**\r\n * Returns the columns by pin.\r\n * @param {array} cols\r\n */\r\nexport function columnsByPin(cols: any[]) {\r\n let ret: {left: any, center: any, right: any} = {\r\n left: [],\r\n center: [],\r\n right: []\r\n };\r\n\r\n if(cols) {\r\n for(let col of cols) {\r\n if(col.frozenLeft) {\r\n ret.left.push(col);\r\n } else if(col.frozenRight) {\r\n ret.right.push(col);\r\n } else {\r\n ret.center.push(col);\r\n }\r\n }\r\n }\r\n\r\n return ret;\r\n}\r\n\r\n/**\r\n * Returns the widths of all group sets of a column\r\n * @param {object} groups\r\n * @param {array} all\r\n */\r\nexport function columnGroupWidths(groups: any, all: any) {\r\n return {\r\n left: columnTotalWidth(groups.left),\r\n center: columnTotalWidth(groups.center),\r\n right: columnTotalWidth(groups.right),\r\n total: columnTotalWidth(all)\r\n };\r\n}\r\n\r\n/**\r\n * Calculates the total width of all columns and their groups\r\n * @param {array} columns\r\n * @param {string} prop width to get\r\n */\r\nexport function columnTotalWidth(columns: any[], prop?: string) {\r\n let totalWidth = 0;\r\n\r\n if(columns) {\r\n for(let c of columns) {\r\n const has = prop && c[prop];\r\n const width = has ? c[prop] : c.width;\r\n totalWidth = totalWidth + parseFloat(width);\r\n }\r\n }\r\n\r\n return totalWidth;\r\n}\r\n\r\n/**\r\n * Calculates the total width of all columns and their groups\r\n * @param {array} columns\r\n * @param {string} property width to get\r\n */\r\nexport function columnsTotalWidth(columns: any, prop?: any) {\r\n let totalWidth = 0;\r\n\r\n for(let column of columns) {\r\n const has = prop && column[prop];\r\n totalWidth = totalWidth + (has ? column[prop] : column.width);\r\n }\r\n\r\n return totalWidth;\r\n}\r\n\r\nexport function columnsByPinArr(val: any) {\r\n let colsByPinArr = [];\r\n const colsByPin = columnsByPin(val);\r\n\r\n colsByPinArr.push({ type: 'left', columns: colsByPin['left'] });\r\n colsByPinArr.push({ type: 'center', columns: colsByPin['center'] });\r\n colsByPinArr.push({ type: 'right', columns: colsByPin['right'] });\r\n\r\n return colsByPinArr;\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/utils/column.ts","/**\r\n * Returns a deep object given a string. zoo['animal.type']\r\n * @param {object} obj\r\n * @param {string} path\r\n */\r\nexport function deepValueGetter(obj: Object, path: string) {\r\n if(!obj || !path) return obj;\r\n\r\n let current = obj;\r\n let split = path.split('.');\r\n\r\n if(split.length) {\r\n for(let i = 0, len = split.length; i < len; i++) {\r\n current = current[split[i]];\r\n\r\n // if found undefined, return empty string\r\n if(current === undefined || current === null) return '';\r\n }\r\n }\r\n\r\n return current;\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/utils/deep-getter.ts","/**\r\n * Creates a unique object id.\r\n * http://stackoverflow.com/questions/6248666/how-to-generate-short-uid-like-ax4j9z-in-js\r\n */\r\nexport function id() {\r\n return ('0000' + (Math.random() * Math.pow(36, 4) << 0).toString(36)).slice(-4);\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/utils/id.ts","export * from './id';\r\nexport * from './column';\r\nexport * from './deep-getter';\r\nexport * from './camel-case';\r\nexport * from './keys';\r\nexport * from './math';\r\nexport * from './prefixes';\r\nexport * from './scrollbar-width';\r\nexport * from './selection';\r\nexport * from './translate';\r\nexport * from './throttle';\r\nexport * from './sort';\r\nexport * from './row-height-cache';\r\nexport * from './column-helper';\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/utils/index.ts","export enum Keys {\r\n up = 38,\r\n down = 40,\r\n return = 13,\r\n escape = 27,\r\n left = 37,\r\n right = 39\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/utils/keys.ts","import { columnsByPin, columnsTotalWidth } from './column';\r\n\r\n/**\r\n * Calculates the Total Flex Grow\r\n * @param {array}\r\n */\r\nexport function getTotalFlexGrow(columns: any[]) {\r\n let totalFlexGrow = 0;\r\n\r\n for (let c of columns) {\r\n totalFlexGrow += c.flexGrow || 0;\r\n }\r\n\r\n return totalFlexGrow;\r\n}\r\n\r\n/**\r\n * Adjusts the column widths.\r\n * Inspired by: https://github.com/facebook/fixed-data-table/blob/master/src/FixedDataTableWidthHelper.js\r\n * @param {array} all columns\r\n * @param {int} width\r\n */\r\nexport function adjustColumnWidths(allColumns: any, expectedWidth: any) {\r\n let columnsWidth = columnsTotalWidth(allColumns);\r\n let totalFlexGrow = getTotalFlexGrow(allColumns);\r\n let colsByGroup = columnsByPin(allColumns);\r\n\r\n if (columnsWidth !== expectedWidth) {\r\n scaleColumns(colsByGroup, expectedWidth, totalFlexGrow);\r\n }\r\n}\r\n\r\n/**\r\n * Resizes columns based on the flexGrow property, while respecting manually set widths\r\n * @param {array} colsByGroup\r\n * @param {int} maxWidth\r\n * @param {int} totalFlexGrow\r\n */\r\nfunction scaleColumns(colsByGroup: any, maxWidth: any, totalFlexGrow: any) {\r\n // calculate total width and flexgrow points for coulumns that can be resized\r\n for(let attr in colsByGroup) {\r\n for(let column of colsByGroup[attr]) {\r\n if (!column.canAutoResize) {\r\n maxWidth -= column.width;\r\n totalFlexGrow -= column.flexGrow;\r\n } else {\r\n column.width = 0;\r\n }\r\n }\r\n }\r\n\r\n let hasMinWidth = {};\r\n let remainingWidth = maxWidth;\r\n\r\n // resize columns until no width is left to be distributed\r\n do {\r\n let widthPerFlexPoint = remainingWidth / totalFlexGrow;\r\n remainingWidth = 0;\r\n\r\n for(let attr in colsByGroup) {\r\n for(let column of colsByGroup[attr]) {\r\n // if the column can be resize and it hasn't reached its minimum width yet\r\n if (column.canAutoResize && !hasMinWidth[column.prop]) {\r\n let newWidth = column.width + column.flexGrow * widthPerFlexPoint;\r\n if (column.minWidth !== undefined && newWidth < column.minWidth) {\r\n remainingWidth += newWidth - column.minWidth;\r\n column.width = column.minWidth;\r\n hasMinWidth[column.prop] = true;\r\n } else {\r\n column.width = newWidth;\r\n }\r\n }\r\n }\r\n }\r\n } while (remainingWidth !== 0);\r\n}\r\n\r\n/**\r\n * Forces the width of the columns to\r\n * distribute equally but overflowing when nesc.\r\n *\r\n * Rules:\r\n *\r\n * - If combined withs are less than the total width of the grid,\r\n * proporation the widths given the min / max / noraml widths to fill the width.\r\n *\r\n * - If the combined widths, exceed the total width of the grid,\r\n * use the standard widths.\r\n *\r\n * - If a column is resized, it should always use that width\r\n *\r\n * - The proporational widths should never fall below min size if specified.\r\n *\r\n * - If the grid starts off small but then becomes greater than the size ( + / - )\r\n * the width should use the orginial width; not the newly proporatied widths.\r\n *\r\n * @param {array} allColumns\r\n * @param {int} expectedWidth\r\n */\r\nexport function forceFillColumnWidths(\r\n allColumns: any[],\r\n expectedWidth: number,\r\n startIdx: number,\r\n allowBleed: boolean,\r\n defaultColWidth: number = 300) {\r\n \r\n let columnsToResize = allColumns\r\n .slice(startIdx + 1, allColumns.length)\r\n .filter((c) => { \r\n return c.canAutoResize !== false; \r\n });\r\n\r\n for (let column of columnsToResize) {\r\n if(!column.$$oldWidth) {\r\n column.$$oldWidth = column.width;\r\n }\r\n }\r\n\r\n let additionWidthPerColumn = 0;\r\n let exceedsWindow = false;\r\n let contentWidth = getContentWidth(allColumns, defaultColWidth);\r\n let remainingWidth = expectedWidth - contentWidth;\r\n let columnsProcessed: any[] = [];\r\n\r\n // This loop takes care of the\r\n do {\r\n additionWidthPerColumn = remainingWidth / columnsToResize.length;\r\n exceedsWindow = contentWidth >= expectedWidth;\r\n\r\n for (let column of columnsToResize) {\r\n if (exceedsWindow && allowBleed) {\r\n column.width = column.$$oldWidth || column.width || defaultColWidth;\r\n } else {\r\n const newSize = (column.width || defaultColWidth) + additionWidthPerColumn;\r\n\r\n if (column.minWidth && newSize < column.minWidth) {\r\n column.width = column.minWidth;\r\n columnsProcessed.push(column);\r\n } else if (column.maxWidth && newSize > column.maxWidth) {\r\n column.width = column.maxWidth;\r\n columnsProcessed.push(column);\r\n } else {\r\n column.width = newSize;\r\n }\r\n }\r\n\r\n column.width = Math.max(0, column.width);\r\n }\r\n\r\n contentWidth = getContentWidth(allColumns);\r\n remainingWidth = expectedWidth - contentWidth;\r\n removeProcessedColumns(columnsToResize, columnsProcessed);\r\n } while (remainingWidth > 0 && columnsToResize.length !== 0);\r\n}\r\n\r\n/**\r\n * Remove the processed columns from the current active columns.\r\n *\r\n * @param columnsToResize Array containing the columns that need to be resized.\r\n * @param columnsProcessed Array containing the columns that have already been processed.\r\n */\r\nfunction removeProcessedColumns ( columnsToResize: any[], columnsProcessed: any[]) {\r\n for(let column of columnsProcessed) {\r\n const index = columnsToResize.indexOf(column);\r\n columnsToResize.splice(index, 1);\r\n }\r\n}\r\n\r\n/**\r\n * Gets the width of the columns\r\n *\r\n * @param {array} allColumns\r\n * @param {number} [defaultColWidth=300]\r\n * @returns {number}\r\n */\r\nfunction getContentWidth(allColumns: any, defaultColWidth: number = 300): number {\r\n let contentWidth = 0;\r\n\r\n for(let column of allColumns) {\r\n contentWidth += (column.width || defaultColWidth);\r\n }\r\n\r\n return contentWidth;\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/utils/math.ts","import { camelCase } from './camel-case';\r\n\r\nlet cache = {};\r\nlet testStyle = document.createElement('div').style;\r\n\r\n// Get Prefix\r\n// http://davidwalsh.name/vendor-prefix\r\nconst prefix = (function () {\r\n const styles = window.getComputedStyle(document.documentElement, '');\r\n const pre = (Array.prototype.slice.call(styles).join('').match(/-(moz|webkit|ms)-/))[1];\r\n const dom = ('WebKit|Moz|MS|O').match(new RegExp('(' + pre + ')', 'i'))[1];\r\n\r\n return {\r\n dom,\r\n lowercase: pre,\r\n css: `-${pre}-`,\r\n js: pre[0].toUpperCase() + pre.substr(1)\r\n };\r\n})();\r\n\r\nexport function getVendorPrefixedName(property: string) {\r\n const name = camelCase(property);\r\n\r\n if(!cache[name]) {\r\n if(testStyle[prefix.css + property] !== undefined) {\r\n cache[name] = prefix.css + property;\r\n } else if(testStyle[property] !== undefined) {\r\n cache[name] = property;\r\n }\r\n }\r\n\r\n return cache[name];\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/utils/prefixes.ts","/**\r\n * This object contains the cache of the various row heights that are present inside\r\n * the data table. Its based on Fenwick tree data structure that helps with\r\n * querying sums that have time complexity of log n.\r\n *\r\n * Fenwick Tree Credits: http://petr-mitrichev.blogspot.com/2013/05/fenwick-tree-range-updates.html\r\n * https://github.com/mikolalysenko/fenwick-tree\r\n *\r\n */\r\nexport class RowHeightCache {\r\n\r\n /**\r\n * Tree Array stores the cumulative information of the row heights to perform efficient\r\n * range queries and updates. Currently the tree is initialized to the base row\r\n * height instead of the detail row height.\r\n */\r\n private treeArray: number[] = [];\r\n\r\n /**\r\n * Clear the Tree array.\r\n */\r\n clearCache(): void {\r\n this.treeArray = [];\r\n }\r\n\r\n /**\r\n * Initialize the Fenwick tree with row Heights.\r\n *\r\n * @param rows The array of rows which contain the expanded status.\r\n * @param rowHeight The row height.\r\n * @param detailRowHeight The detail row height.\r\n */\r\n initCache(rows: any[], rowHeight: number, detailRowHeight: number): void {\r\n if (isNaN(rowHeight)) {\r\n throw new Error(`Row Height cache initialization failed. Please ensure that 'rowHeight' is a\r\n valid number value: (${rowHeight}) when 'scrollbarV' is enabled.`);\r\n }\r\n\r\n // Add this additional guard in case detailRowHeight is set to 'auto' as it wont work.\r\n if (isNaN(detailRowHeight)) {\r\n throw new Error(`Row Height cache initialization failed. Please ensure that 'detailRowHeight' is a\r\n valid number value: (${detailRowHeight}) when 'scrollbarV' is enabled.`);\r\n }\r\n\r\n const n = rows.length;\r\n this.treeArray = new Array(n);\r\n\r\n for(let i = 0; i < n; ++i) {\r\n this.treeArray[i] = 0;\r\n }\r\n\r\n for(let i = 0; i < n; ++i) {\r\n let currentRowHeight = rowHeight;\r\n\r\n // Add the detail row height to the already expanded rows.\r\n // This is useful for the table that goes through a filter or sort.\r\n if (rows[i] && rows[i].$$expanded === 1) {\r\n currentRowHeight += detailRowHeight;\r\n }\r\n\r\n this.update(i, currentRowHeight);\r\n }\r\n }\r\n\r\n /**\r\n * Given the ScrollY position i.e. sum, provide the rowIndex\r\n * that is present in the current view port. Below handles edge cases.\r\n *\r\n * @param scrollY - The scrollY position.\r\n * @returns {number} - Index representing the first row visible in the viewport\r\n */\r\n getRowIndex(scrollY: number): number {\r\n if(scrollY === 0) return 0;\r\n return this.calcRowIndex(scrollY);\r\n }\r\n\r\n /**\r\n * When a row is expanded or rowHeight is changed, update the height. This can\r\n * be utilized in future when Angular Data table supports dynamic row heights.\r\n *\r\n *\r\n * @param atRowIndex Update the data at this index row in the grid.\r\n * @param byRowHeight Update by the rowHeight provided.\r\n */\r\n update (atRowIndex: number, byRowHeight: number): void {\r\n if (!this.treeArray.length) {\r\n throw new Error(`Update at index ${atRowIndex} with value ${byRowHeight} failed:\r\n Row Height cache not initialized.`);\r\n }\r\n\r\n const n = this.treeArray.length;\r\n atRowIndex |= 0;\r\n\r\n while(atRowIndex < n) {\r\n this.treeArray[atRowIndex] += byRowHeight;\r\n atRowIndex |= (atRowIndex + 1);\r\n }\r\n }\r\n\r\n /**\r\n * Range Sum query from 1 to the rowIndex\r\n *\r\n * @param atIndex The row index until which the total height needs to be obtained.\r\n * @returns {number} The total height from row 1 to the rowIndex.\r\n */\r\n query(atIndex: number): number {\r\n if (!this.treeArray.length) {\r\n throw new Error(`query at index ${atIndex} failed: Fenwick tree array not initialized.`);\r\n }\r\n\r\n let sum = 0;\r\n atIndex |= 0;\r\n\r\n while(atIndex >= 0) {\r\n sum += this.treeArray[atIndex];\r\n atIndex = (atIndex & (atIndex + 1)) - 1;\r\n }\r\n\r\n return sum;\r\n }\r\n\r\n /**\r\n * Find the total height between 2 row indexes\r\n * @param atIndexA The row index from\r\n * @param atIndexB The row index to\r\n * @returns {number} total pixel height between 2 row indexes.\r\n */\r\n queryBetween(atIndexA: number, atIndexB: number): number {\r\n return this.query(atIndexB) - this.query(atIndexA - 1);\r\n }\r\n\r\n /**\r\n * Given the ScrollY position i.e. sum, provide the rowIndex\r\n * that is present in the current view port.\r\n *\r\n * @param sum - The scrollY position.\r\n * @returns {number} - Index representing the first row visible in the viewport\r\n */\r\n private calcRowIndex(sum: number): number {\r\n if(!this.treeArray.length) return 0;\r\n\r\n let pos = -1;\r\n const dataLength = this.treeArray.length;\r\n\r\n // Get the highest bit for the block size.\r\n const highestBit = Math.pow(2, dataLength.toString(2).length - 1);\r\n\r\n for (let blockSize = highestBit; blockSize !== 0; blockSize >>= 1) {\r\n let nextPos = pos + blockSize;\r\n if (nextPos < dataLength && sum >= this.treeArray[nextPos]) {\r\n sum -= this.treeArray[nextPos];\r\n pos = nextPos;\r\n }\r\n }\r\n\r\n return pos + 1;\r\n }\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/utils/row-height-cache.ts","/**\r\n * Gets the width of the scrollbar. Nesc for windows\r\n * http://stackoverflow.com/a/13382873/888165\r\n * @return {int} width\r\n */\r\nexport function getScrollBarWidth() {\r\n let outer = document.createElement('div');\r\n outer.style.visibility = 'hidden';\r\n outer.style.width = '100px';\r\n outer.style.msOverflowStyle = 'scrollbar';\r\n document.body.appendChild(outer);\r\n\r\n let widthNoScroll = outer.offsetWidth;\r\n outer.style.overflow = 'scroll';\r\n\r\n let inner = document.createElement('div');\r\n inner.style.width = '100%';\r\n outer.appendChild(inner);\r\n\r\n let widthWithScroll = inner.offsetWidth;\r\n outer.parentNode.removeChild(outer);\r\n\r\n return widthNoScroll - widthWithScroll;\r\n};\r\n\r\nexport const scrollbarWidth = getScrollBarWidth();\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/utils/scrollbar-width.ts","export function selectRows(selected: any[], row: any, comparefn: Function) {\n const selectedIndex = comparefn(row, selected);\n\n if(selectedIndex > -1) {\n selected.splice(selectedIndex, 1);\n } else {\n selected.push(row);\n }\n\n return selected;\n}\n\nexport function selectRowsBetween(\n selected: any[], \n rows: any[], \n index: number, \n prevIndex: number, \n comparefn: Function): any[] {\n\n const reverse = index < prevIndex;\n\n for(let i = 0, len = rows.length; i < len; i++) {\n const row = rows[i];\n const greater = i >= prevIndex && i <= index;\n const lesser = i <= prevIndex && i >= index;\n\n let range = { start: 0, end: 0 };\n if (reverse) {\n range = {\n start: index,\n end: (prevIndex - index)\n };\n } else {\n range = {\n start: prevIndex,\n end: index + 1\n };\n }\n\n if((reverse && lesser) || (!reverse && greater)) {\n const idx = comparefn(row, selected);\n\n // if reverse shift selection (unselect) and the\n // row is already selected, remove it from selected\n if (reverse && idx > -1) {\n selected.splice(idx, 1);\n continue;\n }\n\n // if in the positive range to be added to `selected`, and\n // not already in the selected array, add it\n if(i >= range.start && i < range.end) {\n if (idx === -1) {\n selected.push(row);\n }\n }\n }\n }\n\n return selected;\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/utils/selection.ts","import { SortType, SortDirection } from '../types';\r\nimport { deepValueGetter } from './deep-getter';\r\n/**\r\n * Gets the next sort direction\r\n * @param {SortType} sortType\r\n * @param {SortDirection} currentSort\r\n * @return {SortDirection}\r\n */\r\nexport function nextSortDir(sortType: SortType, current: SortDirection): SortDirection {\r\n if (sortType === SortType.single) {\r\n if(current === SortDirection.asc) {\r\n return SortDirection.desc;\r\n } else {\r\n return SortDirection.asc;\r\n }\r\n } else {\r\n if(!current) {\r\n return SortDirection.asc;\r\n } else if(current === SortDirection.asc) {\r\n return SortDirection.desc;\r\n } else if(current === SortDirection.desc) {\r\n return undefined;\r\n }\r\n }\r\n};\r\n\r\n/**\r\n * Adapted from fueld-ui on 6/216\r\n * https://github.com/FuelInteractive/fuel-ui/tree/master/src/pipes/OrderBy\r\n * @param {any} a\r\n * @param {any} b\r\n * @return {number} position\r\n */\r\nexport function orderByComparator(a: any, b: any): number {\r\n if (a === null || typeof a === 'undefined') a = 0;\r\n if (b === null || typeof b === 'undefined') b = 0;\r\n\r\n if ((isNaN(parseFloat(a)) || !isFinite(a)) || (isNaN(parseFloat(b)) || !isFinite(b))) {\r\n // Convert to string in case of a=0 or b=0\r\n a = String(a);\r\n b = String(b);\r\n // Isn't a number so lowercase the string to properly compare\r\n if (a.toLowerCase() < b.toLowerCase()) return -1;\r\n if (a.toLowerCase() > b.toLowerCase()) return 1;\r\n } else {\r\n // Parse strings as numbers to compare properly\r\n if (parseFloat(a) < parseFloat(b)) return -1;\r\n if (parseFloat(a) > parseFloat(b)) return 1;\r\n }\r\n\r\n // equal each other\r\n return 0;\r\n}\r\n\r\n/**\r\n * Sorts the rows\r\n * \r\n * @export\r\n * @param {any[]} rows\r\n * @param {any[]} columns\r\n * @param {any[]} dirs\r\n * @returns\r\n */\r\nexport function sortRows(rows: any[], columns: any[], dirs: any[]): any[] {\r\n if(!rows || !dirs || !dirs.length || !columns) return rows;\r\n\r\n let temp = [...rows];\r\n let cols = columns.reduce((obj, col) => {\r\n if(col.comparator && typeof col.comparator === 'function') {\r\n obj[col.prop] = col.comparator;\r\n }\r\n return obj;\r\n }, {});\r\n\r\n return temp.sort(function(a: any, b: any) {\r\n for(const { prop, dir } of dirs) {\r\n const propA = deepValueGetter(a, prop);\r\n const propB = deepValueGetter(b, prop);\r\n\r\n const compareFn = cols[prop] || orderByComparator;\r\n const comparison = dir !== SortDirection.desc ?\r\n compareFn(propA, propB) :\r\n -compareFn(propA, propB);\r\n\r\n // Don't return 0 yet in case of needing to sort by next property\r\n if (comparison !== 0) return comparison;\r\n }\r\n\r\n // equal each other\r\n return 0;\r\n });\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/utils/sort.ts","/**\r\n * Throttle a function\r\n * \r\n * @export\r\n * @param {*} func\r\n * @param {number} wait\r\n * @param {*} [options]\r\n * @returns\r\n */\r\nexport function throttle(func: any, wait: number, options?: any) {\r\n options = options || {};\r\n let context;\r\n let args;\r\n let result;\r\n let timeout = null;\r\n let previous = 0;\r\n\r\n function later() {\r\n previous = options.leading === false ? 0 : +new Date();\r\n timeout = null;\r\n result = func.apply(context, args);\r\n }\r\n\r\n return function() {\r\n let now = +new Date();\r\n\r\n if (!previous && options.leading === false) {\r\n previous = now;\r\n }\r\n\r\n let remaining = wait - (now - previous);\r\n context = this;\r\n args = arguments;\r\n\r\n if (remaining <= 0) {\r\n clearTimeout(timeout);\r\n timeout = null;\r\n previous = now;\r\n result = func.apply(context, args);\r\n } else if (!timeout && options.trailing !== false) {\r\n timeout = setTimeout(later, remaining);\r\n }\r\n\r\n return result;\r\n };\r\n}\r\n\r\n/**\r\n * Throttle decorator\r\n *\r\n * class MyClass {\r\n * throttleable(10)\r\n * myFn() { ... }\r\n * }\r\n * \r\n * @export\r\n * @param {number} duration\r\n * @param {*} [options]\r\n * @returns\r\n */\r\nexport function throttleable(duration: number, options?: any) {\r\n return function innerDecorator (target, key, descriptor) {\r\n return {\r\n configurable: true,\r\n enumerable: descriptor.enumerable,\r\n get: function getter () {\r\n Object.defineProperty(this, key, {\r\n configurable: true,\r\n enumerable: descriptor.enumerable,\r\n value: throttle(descriptor.value, duration, options)\r\n });\r\n\r\n return this[key];\r\n }\r\n };\r\n };\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/utils/throttle.ts","import { getVendorPrefixedName } from './prefixes';\r\nimport { camelCase } from './camel-case';\r\n\r\n// browser detection and prefixing tools\r\nconst transform = getVendorPrefixedName('transform');\r\nconst backfaceVisibility = getVendorPrefixedName('backfaceVisibility');\r\nconst hasCSSTransforms = !!getVendorPrefixedName('transform');\r\nconst hasCSS3DTransforms = !!getVendorPrefixedName('perspective');\r\nconst ua = window.navigator.userAgent;\r\nconst isSafari = (/Safari\\//).test(ua) && !(/Chrome\\//).test(ua);\r\n\r\nexport function translateXY(styles: any, x: number, y: number) {\r\n if (hasCSSTransforms) {\r\n if (!isSafari && hasCSS3DTransforms) {\r\n styles[transform] = `translate3d(${x}px, ${y}px, 0)`;\r\n styles[backfaceVisibility] = 'hidden';\r\n } else {\r\n styles[camelCase(transform)] = `translate(${x}px, ${y}px)`;\r\n }\r\n } else {\r\n styles.top = `${y}px`;\r\n styles.left = `${x}px`;\r\n }\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/utils/translate.ts","module.exports = __WEBPACK_EXTERNAL_MODULE_0__;\n\n\n//////////////////\n// WEBPACK FOOTER\n// external \"@angular/core\"\n// module id = 0\n// module chunks = 0","module.exports = __WEBPACK_EXTERNAL_MODULE_1__;\n\n\n//////////////////\n// WEBPACK FOOTER\n// external \"rxjs/Rx\"\n// module id = 1\n// module chunks = 0","module.exports = __WEBPACK_EXTERNAL_MODULE_2__;\n\n\n//////////////////\n// WEBPACK FOOTER\n// external \"@angular/common\"\n// module id = 2\n// module chunks = 0"],"sourceRoot":""} \ No newline at end of file +{"version":3,"sources":["webpack:///webpack/universalModuleDefinition","webpack:///webpack/bootstrap d2becb90e1c73009900f","webpack:///./~/rxjs/Observable.js","webpack:///./~/rxjs/Observer.js","webpack:///./~/rxjs/Subscriber.js","webpack:///./~/rxjs/Subscription.js","webpack:///./~/rxjs/add/observable/fromEvent.js","webpack:///./~/rxjs/observable/FromEventObservable.js","webpack:///./~/rxjs/observable/fromEvent.js","webpack:///./~/rxjs/symbol/observable.js","webpack:///./~/rxjs/symbol/rxSubscriber.js","webpack:///./~/rxjs/util/UnsubscriptionError.js","webpack:///./~/rxjs/util/errorObject.js","webpack:///./~/rxjs/util/isArray.js","webpack:///./~/rxjs/util/isFunction.js","webpack:///./~/rxjs/util/isObject.js","webpack:///./~/rxjs/util/root.js","webpack:///./~/rxjs/util/toSubscriber.js","webpack:///./~/rxjs/util/tryCatch.js","webpack:///(webpack)/buildin/global.js","webpack:///./src/components/body/body-cell.component.ts","webpack:///./src/components/body/body-row-wrapper.component.ts","webpack:///./src/components/body/body-row.component.ts","webpack:///./src/components/body/body.component.ts","webpack:///./src/components/body/index.ts","webpack:///./src/components/body/progress-bar.component.ts","webpack:///./src/components/body/scroller.component.ts","webpack:///./src/components/body/selection.component.ts","webpack:///./src/components/columns/column-cell.directive.ts","webpack:///./src/components/columns/column-header.directive.ts","webpack:///./src/components/columns/column.directive.ts","webpack:///./src/components/columns/index.ts","webpack:///./src/components/datatable.component.ts","webpack:///./src/components/footer/footer.component.ts","webpack:///./src/components/footer/index.ts","webpack:///./src/components/footer/pager.component.ts","webpack:///./src/components/header/header-cell.component.ts","webpack:///./src/components/header/header.component.ts","webpack:///./src/components/header/index.ts","webpack:///./src/components/index.ts","webpack:///./src/components/row-detail/index.ts","webpack:///./src/components/row-detail/row-detail-template.directive.ts","webpack:///./src/components/row-detail/row-detail.directive.ts","webpack:///./src/datatable.module.ts","webpack:///./src/directives/draggable.directive.ts","webpack:///./src/directives/index.ts","webpack:///./src/directives/long-press.directive.ts","webpack:///./src/directives/orderable.directive.ts","webpack:///./src/directives/resizeable.directive.ts","webpack:///./src/directives/visibility.directive.ts","webpack:///./src/index.ts","webpack:///./src/types/click.type.ts","webpack:///./src/types/column-mode.type.ts","webpack:///./src/types/index.ts","webpack:///./src/types/selection.type.ts","webpack:///./src/types/sort-direction.type.ts","webpack:///./src/types/sort.type.ts","webpack:///./src/utils/camel-case.ts","webpack:///./src/utils/column-helper.ts","webpack:///./src/utils/column.ts","webpack:///./src/utils/deep-getter.ts","webpack:///./src/utils/id.ts","webpack:///./src/utils/index.ts","webpack:///./src/utils/keys.ts","webpack:///./src/utils/math.ts","webpack:///./src/utils/prefixes.ts","webpack:///./src/utils/row-height-cache.ts","webpack:///./src/utils/scrollbar-width.ts","webpack:///./src/utils/selection.ts","webpack:///./src/utils/sort.ts","webpack:///./src/utils/throttle.ts","webpack:///./src/utils/translate.ts","webpack:///external \"@angular/core\"","webpack:///external \"@angular/common\""],"names":[],"mappings":";;;;;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD,O;ACVA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;;AAGA;AACA;;AAEA;AACA;;AAEA;AACA,mDAA2C,cAAc;;AAEzD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAK;AACL;AACA;;AAEA;AACA;AACA;AACA,mCAA2B,0BAA0B,EAAE;AACvD,yCAAiC,eAAe;AAChD;AACA;AACA;;AAEA;AACA,8DAAsD,+DAA+D;;AAErH;AACA;;AAEA;AACA;;;;;;;;;AChEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,SAAS;AACxB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,SAAS;AACxB,gBAAgB,WAAW;AAC3B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,SAAS;AACxB,eAAe,mBAAmB;AAClC,gBAAgB,QAAQ;AACxB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB,WAAW;AAC3B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,SAAS;AACxB,gBAAgB,WAAW;AAC3B;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA,sC;;;;;;;;AChIA;AACA;AACA;AACA,4BAA4B,EAAE;AAC9B,2BAA2B,WAAW,EAAE;AACxC,2BAA2B;AAC3B;AACA,oC;;;;;;;;ACPA;AACA;AACA;AACA,mBAAmB,sBAAsB;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,eAAe;AAClC,IAAI,mBAAmB,mBAAmB,eAAe;AACzD,+BAA+B,iBAAiB;AAChD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,kCAAkC;AACjD;AACA,eAAe,wBAAwB;AACvC;AACA,eAAe,iBAAiB;AAChC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uEAAuE,aAAa;AACpF;AACA;AACA;AACA,eAAe,sBAAsB;AACrC,eAAe,wBAAwB;AACvC;AACA,eAAe,iBAAiB;AAChC;AACA,gBAAgB,cAAc;AAC9B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY,eAAe;AAC3B;AACA;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY,eAAe;AAC3B,yCAAyC,YAAY;AACrD;AACA,eAAe,IAAI;AACnB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY,eAAe;AAC3B;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD,sC;;;;;;;;ACxPA;AACA;AACA;AACA,mBAAmB,sBAAsB;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,iBAAiB;AAChC;AACA;AACA;AACA;AACA;AACA,kBAAkB;AAClB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,cAAc;AAC7B;AACA,gBAAgB,aAAa;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,aAAa;AAC5B,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA,+CAA+C,mGAAmG,EAAE;AACpJ;AACA,wC;;;;;;;;ACjLA;AACA;AACA;AACA;AACA,qC;;;;;;;;ACJA;AACA;AACA;AACA,mBAAmB,sBAAsB;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb,aAAa;AACb;AACA,eAAe,gBAAgB;AAC/B;AACA,eAAe,OAAO;AACtB;AACA,eAAe,qBAAqB;AACpC,eAAe,2BAA2B;AAC1C;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mDAAmD,SAAS;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA,uCAAuC,yDAAyD;AAChG;AACA;AACA;AACA;AACA,uCAAuC,yCAAyC;AAChF;AACA;AACA;AACA;AACA,uCAAuC,oDAAoD;AAC3F;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4BAA4B,uBAAuB;AACnD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS,iBAAiB,2BAA2B;AACrD;AACA;AACA;AACA,CAAC;AACD;AACA,+C;;;;;;;;AC3IA;AACA;AACA;AACA,qC;;;;;;;;ACHA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sC;;;;;;;;ACrBA;AACA;AACA;AACA;AACA;AACA,wC;;;;;;;;ACLA;AACA;AACA;AACA,mBAAmB,sBAAsB;AACzC;AACA;AACA;AACA;AACA,uBAAuB,mBAAmB;AAC1C;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0GAA0G,0CAA0C,EAAE;AACtJ;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA,+C;;;;;;;;ACxBA;AACA;AACA,uBAAuB,MAAM;AAC7B,uC;;;;;;;;ACHA;AACA,kDAAkD,0CAA0C,EAAE;AAC9F,mC;;;;;;;;ACFA;AACA;AACA;AACA;AACA;AACA,sC;;;;;;;;ACLA;AACA;AACA;AACA;AACA;AACA,oC;;;;;;;;8CCLA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gC;;;;;;;;;ACZA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wC;;;;;;;;ACnBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oC;;;;;;;AClBA;;AAEA;AACA,iBAAiB,aAAa,EAAE;;AAEhC;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;;AAEA;AACA;AACA,4CAA4C;;AAE5C;;;;;;;;;;;;;;;;;;;AClBA,iCAGO,CAAe,CAAC;AAEvB,kCAAsC,sBAAa,CAAC;AACpD,kCAA8B,sBAAa,CAAC;AA8B5C;IAqEE,oCAAY,OAAmB;QArDrB,aAAQ,GAAsB,IAAI,mBAAY,EAAE,CAAC;QAU3D,cAAS,GAAY,KAAK,CAAC;QA4CzB,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC,aAAa,CAAC;IACvC,CAAC;IAhEQ,sBAAI,6CAAK;aAKlB;YACE,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC;QACrB,CAAC;aAPQ,UAAU,GAAU;YAC3B,IAAI,CAAC,MAAM,GAAG,GAAG,CAAC;YAClB,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;QAC3C,CAAC;;;OAAA;IASD,sBAAI,wDAAgB;aAApB;YACE,IAAI,GAAG,GAAG,qBAAqB,CAAC;YAChC,EAAE,EAAC,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC;gBAAC,GAAG,IAAI,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC;YAC/D,MAAM,CAAC,GAAG,CAAC;QACb,CAAC;;;OAAA;IAMD,sBAAI,oDAAY;aAAhB;YACE,MAAM,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC;QACvB,CAAC;;;OAAA;IAGD,sBAAI,uDAAe;aAAnB;YACE,MAAM,CAAC,IAAI,CAAC,OAAO,KAAK,qBAAa,CAAC,GAAG,CAAC;QAC5C,CAAC;;;OAAA;IAGD,sBAAI,wDAAgB;aAApB;YACE,MAAM,CAAC,IAAI,CAAC,OAAO,KAAK,qBAAa,CAAC,IAAI,CAAC;QAC7C,CAAC;;;OAAA;IAGD,sBAAI,6CAAK;aAAT;YACE,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC;QAC3B,CAAC;;;OAAA;IAGD,sBAAI,8CAAM;aAAV;YACE,IAAM,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC;YAC9B,EAAE,EAAC,KAAK,CAAC,MAAM,CAAC,CAAC;gBAAC,MAAM,CAAC,MAAM,CAAC;YAChC,MAAM,CAAC,MAAM,GAAG,IAAI,CAAC;QACvB,CAAC;;;OAAA;IAED,sBAAI,6CAAK;aAAT;YACE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC;gBAAC,MAAM,CAAC,EAAE,CAAC;YAC9D,IAAM,GAAG,GAAG,uBAAe,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;YACxD,IAAM,QAAQ,GAAkB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC;YAEjD,EAAE,EAAC,QAAQ,CAAC;gBAAC,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;YAC5C,EAAE,EAAC,GAAG,KAAK,SAAS,CAAC;gBAAC,MAAM,CAAC,GAAG,CAAC;YACjC,MAAM,CAAC,EAAE,CAAC;QACZ,CAAC;;;OAAA;IAWD,4CAAO,GAAP;QACE,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;IACxB,CAAC;IAGD,2CAAM,GAAN;QACE,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;IACzB,CAAC;IAGD,4CAAO,GAAP,UAAQ,KAAiB;QACvB,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC;YACjB,IAAI,EAAE,OAAO;YACb,YAAK;YACL,GAAG,EAAE,IAAI,CAAC,GAAG;YACb,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,WAAW,EAAE,IAAI,CAAC,OAAO;SAC1B,CAAC,CAAC;IACL,CAAC;IAGD,+CAAU,GAAV,UAAW,KAAiB;QAC1B,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC;YACjB,IAAI,EAAE,UAAU;YAChB,YAAK;YACL,GAAG,EAAE,IAAI,CAAC,GAAG;YACb,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,WAAW,EAAE,IAAI,CAAC,OAAO;SAC1B,CAAC,CAAC;IACL,CAAC;IAGD,8CAAS,GAAT,UAAU,KAAoB;QAC5B,IAAM,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC;QAC9B,IAAM,YAAY,GAAG,KAAK,CAAC,MAAM,KAAK,IAAI,CAAC,OAAO,CAAC;QAEnD,IAAM,QAAQ,GACZ,OAAO,KAAK,YAAI,CAAC,MAAM;YACvB,OAAO,KAAK,YAAI,CAAC,IAAI;YACrB,OAAO,KAAK,YAAI,CAAC,EAAE;YACnB,OAAO,KAAK,YAAI,CAAC,IAAI;YACrB,OAAO,KAAK,YAAI,CAAC,KAAK,CAAC;QAEzB,EAAE,EAAC,QAAQ,IAAI,YAAY,CAAC,CAAC,CAAC;YAC5B,KAAK,CAAC,cAAc,EAAE,CAAC;YACvB,KAAK,CAAC,eAAe,EAAE,CAAC;YAExB,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC;gBACjB,IAAI,EAAE,SAAS;gBACf,YAAK;gBACL,GAAG,EAAE,IAAI,CAAC,GAAG;gBACb,MAAM,EAAE,IAAI,CAAC,MAAM;gBACnB,KAAK,EAAE,IAAI,CAAC,KAAK;gBACjB,WAAW,EAAE,IAAI,CAAC,OAAO;aAC1B,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAED,qDAAgB,GAAhB,UAAiB,KAAK;QACpB,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC;YACjB,IAAI,EAAE,UAAU;YAChB,YAAK;YACL,GAAG,EAAE,IAAI,CAAC,GAAG;YACb,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,WAAW,EAAE,IAAI,CAAC,OAAO;SAC1B,CAAC,CAAC;IACL,CAAC;IAED,gDAAW,GAAX,UAAY,KAAY;QAAxB,iBAQC;QAPC,EAAE,EAAC,CAAC,KAAK,CAAC;YAAC,MAAM,CAAC;QAElB,IAAM,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC,UAAC,CAAM;YAC7B,MAAM,CAAC,CAAC,CAAC,IAAI,KAAK,KAAI,CAAC,MAAM,CAAC,IAAI,CAAC;QACrC,CAAC,CAAC,CAAC;QAEH,EAAE,EAAC,IAAI,CAAC;YAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC;IAC3B,CAAC;IAvJD;QAAC,YAAK,EAAE;;2DAAA;IACR;QAAC,YAAK,EAAE;;8DAAA;IACR;QAAC,YAAK,EAAE;;iEAAA;IACR;QAAC,YAAK,EAAE;;kEAAA;IAER;QAAC,YAAK,EAAE;;;2DAAA;IASR;QAAC,aAAM,EAAE;;gEAAA;IAER;QAAC,kBAAW,CAAC,OAAO,CAAC;;sEAAA;IAOtB;QAAC,kBAAW,CAAC,cAAc,CAAC;;iEAAA;IAG5B;QAAC,kBAAW,CAAC,mBAAmB,CAAC;;kEAAA;IAKjC;QAAC,kBAAW,CAAC,gBAAgB,CAAC;;qEAAA;IAK9B;QAAC,kBAAW,CAAC,iBAAiB,CAAC;;sEAAA;IAK/B;QAAC,kBAAW,CAAC,gBAAgB,CAAC;;2DAAA;IAK9B;QAAC,kBAAW,CAAC,cAAc,CAAC;;4DAAA;IAyB5B;QAAC,mBAAY,CAAC,OAAO,CAAC;;;;6DAAA;IAKtB;QAAC,mBAAY,CAAC,MAAM,CAAC;;;;4DAAA;IAKrB;QAAC,mBAAY,CAAC,OAAO,EAAE,CAAC,QAAQ,CAAC,CAAC;;;;6DAAA;IAYlC;QAAC,mBAAY,CAAC,UAAU,EAAE,CAAC,QAAQ,CAAC,CAAC;;;;gEAAA;IAYrC;QAAC,mBAAY,CAAC,SAAS,EAAE,CAAC,QAAQ,CAAC,CAAC;;;;+DAAA;IAvItC;QAAC,gBAAS,CAAC;YACT,QAAQ,EAAE,qBAAqB;YAC/B,QAAQ,EAAE,2mBAqBT;YACD,IAAI,EAAE;gBACJ,KAAK,EAAE,qBAAqB;aAC7B;SACF,CAAC;;kCAAA;IA4JF,iCAAC;AAAD,CAAC;AA3JY,kCAA0B,6BA2JtC;;;;;;;;;;;;;;;;;;;AC/LD,iCAEO,CAAe,CAAC;AAqBvB;IAAA;QAIW,aAAQ,GAAY,KAAK,CAAC;QAEzB,mBAAc,GAAG,IAAI,mBAAY,CAAgC,KAAK,CAAC,CAAC;IAMpF,CAAC;IAHC,oDAAa,GAAb,UAAc,MAAkB;QAC9B,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC;IAC7D,CAAC;IATD;QAAC,YAAK,EAAE;;2EAAA;IACR;QAAC,YAAK,EAAE;;yEAAA;IACR;QAAC,YAAK,EAAE;;kEAAA;IACR;QAAC,YAAK,EAAE;;6DAAA;IACR;QAAC,aAAM,EAAE;;wEAAA;IAET;QAAC,mBAAY,CAAC,aAAa,EAAE,CAAC,QAAQ,CAAC,CAAC;;;;qEAAA;IA3B1C;QAAC,gBAAS,CAAC;YACT,QAAQ,EAAE,uBAAuB;YACjC,QAAQ,EAAE,mVAYT;YACD,IAAI,EAAE;gBACJ,KAAK,EAAE,uBAAuB;aAC/B;SACF,CAAC;;oCAAA;IAaF,mCAAC;AAAD,CAAC;AAZY,oCAA4B,+BAYxC;;;;;;;;;;;;;;;;;;;ACnCD,iCAEO,CAAe,CAAC;AAEvB,kCAGO,sBAAa,CAAC;AAwBrB;IA+CE,mCAAY,OAAmB;QARrB,aAAQ,GAAsB,IAAI,mBAAY,EAAE,CAAC;QASzD,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC,aAAa,CAAC;IACvC,CAAC;IA/CQ,sBAAI,8CAAO;aAKpB;YACE,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC;QACvB,CAAC;aAPQ,UAAY,GAAU;YAC7B,IAAI,CAAC,QAAQ,GAAG,GAAG,CAAC;YACpB,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,CAAC;QAC/B,CAAC;;;OAAA;IAMQ,sBAAI,iDAAU;aAKvB;YACE,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC;QAC1B,CAAC;aAPQ,UAAe,GAAW;YACjC,IAAI,CAAC,WAAW,GAAG,GAAG,CAAC;YACvB,IAAI,CAAC,kBAAkB,EAAE,CAAC;QAC5B,CAAC;;;OAAA;IAgBD,sBAAI,gDAAS;aAAb;YACE,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,GAAG,CAAC,KAAK,CAAC,CAAC;QACpC,CAAC;;;OAAA;IAGD,sBAAI,+CAAQ;aAAZ;YACE,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,GAAG,CAAC,KAAK,CAAC,CAAC;QACpC,CAAC;;;OAAA;IAcD,iDAAa,GAAb,UAAc,KAAa,EAAE,QAAa;QACxC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC;IACvB,CAAC;IAED,oDAAgB,GAAhB,UAAiB,KAAa,EAAE,MAAW;QACzC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC;IACrB,CAAC;IAED,iDAAa,GAAb,UAAc,KAAa;QACzB,IAAM,MAAM,GAAG,IAAI,CAAC,iBAAiB,CAAC;QACtC,IAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC;QAE7B,IAAI,MAAM,GAAG;YACX,KAAK,EAAK,MAAM,CAAC,KAAK,CAAC,OAAI;SAC5B,CAAC;QAEF,EAAE,EAAC,KAAK,KAAK,MAAM,CAAC,CAAC,CAAC;YACpB,mBAAW,CAAC,MAAM,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC;QAClC,CAAC;QAAC,IAAI,CAAC,EAAE,EAAC,KAAK,KAAK,OAAO,CAAC,CAAC,CAAC;YAC5B,IAAM,SAAS,GAAG,QAAQ,CAAC,IAAI,CAAC,UAAU,GAAG,EAAE,EAAE,CAAC,CAAC,CAAC;YACpD,IAAM,SAAS,GAAG,MAAM,CAAC,KAAK,GAAG,SAAS,CAAC;YAC3C,IAAM,UAAU,GAAG,SAAS,GAAG,OAAO,CAAC;YACvC,IAAM,MAAM,GAAG,CAAC,UAAU,GAAG,sBAAc,CAAC,GAAG,CAAC,CAAC,CAAC;YAClD,mBAAW,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC;QACjC,CAAC;QAED,MAAM,CAAC,MAAM,CAAC;IAChB,CAAC;IAED,8CAAU,GAAV,UAAW,KAAU,EAAE,KAAa;QAClC,KAAK,CAAC,SAAS,GAAG,KAAK,CAAC;QACxB,KAAK,CAAC,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC;QAChC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAC5B,CAAC;IAGD,6CAAS,GAAT,UAAU,KAAoB;QAC5B,IAAM,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC;QAC9B,IAAM,WAAW,GAAG,KAAK,CAAC,MAAM,KAAK,IAAI,CAAC,OAAO,CAAC;QAElD,IAAM,QAAQ,GACZ,OAAO,KAAK,YAAI,CAAC,MAAM;YACvB,OAAO,KAAK,YAAI,CAAC,IAAI;YACrB,OAAO,KAAK,YAAI,CAAC,EAAE;YACnB,OAAO,KAAK,YAAI,CAAC,IAAI;YACrB,OAAO,KAAK,YAAI,CAAC,KAAK,CAAC;QAEzB,EAAE,EAAC,QAAQ,IAAI,WAAW,CAAC,CAAC,CAAC;YAC3B,KAAK,CAAC,cAAc,EAAE,CAAC;YACvB,KAAK,CAAC,eAAe,EAAE,CAAC;YAExB,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC;gBACjB,IAAI,EAAE,SAAS;gBACf,YAAK;gBACL,GAAG,EAAE,IAAI,CAAC,GAAG;gBACb,UAAU,EAAE,IAAI,CAAC,OAAO;aACzB,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAED,sDAAkB,GAAlB,UAAmB,GAAyB;QAAzB,mBAAyB,GAAzB,MAAa,IAAI,CAAC,OAAO;QAC1C,IAAM,SAAS,GAAG,oBAAY,CAAC,GAAG,CAAC,CAAC;QACpC,IAAI,CAAC,YAAY,GAAG,uBAAe,CAAC,GAAG,CAAC,CAAC;QACzC,IAAI,CAAC,iBAAiB,GAAG,yBAAiB,CAAC,SAAS,EAAE,GAAG,CAAC,CAAC;IAC7D,CAAC;IAjHD;QAAC,YAAK,EAAE;;;4DAAA;IASR;QAAC,YAAK,EAAE;;;+DAAA;IASR;QAAC,YAAK,EAAE;;0DAAA;IACR;QAAC,YAAK,EAAE;;8DAAA;IAER;QAAC,kBAAW,CAAC,iBAAiB,CAAC;QAC9B,YAAK,EAAE;;gEAAA;IAER;QAAC,kBAAW,CAAC,cAAc,CAAC;QAC3B,YAAK,EAAE;;iEAAA;IAER;QAAC,kBAAW,CAAC,0BAA0B,CAAC;;8DAAA;IAKxC;QAAC,kBAAW,CAAC,yBAAyB,CAAC;;6DAAA;IAKvC;QAAC,aAAM,EAAE;;+DAAA;IA+CT;QAAC,mBAAY,CAAC,SAAS,EAAE,CAAC,QAAQ,CAAC,CAAC;;;;8DAAA;IA5GtC;QAAC,gBAAS,CAAC;YACT,QAAQ,EAAE,oBAAoB;YAC9B,QAAQ,EAAE,ukBAeT;YACD,IAAI,EAAE;gBACJ,KAAK,EAAE,oBAAoB;aAC5B;SACF,CAAC;;iCAAA;IAsHF,gCAAC;AAAD,CAAC;AArHY,iCAAyB,4BAqHrC;;;;;;;;;;;;;;;;;;;ACpJD,iCAEO,CAAe,CAAC;AACvB,kCAA6E,sBAAa,CAAC;AAC3F,kCAA8B,sBAAa,CAAC;AAC5C,+CAAkC,6CAAsB,CAAC;AAwDzD;IA2IE;QAjIS,aAAQ,GAAU,EAAE,CAAC;QAgFpB,WAAM,GAAsB,IAAI,mBAAY,EAAE,CAAC;QAC/C,SAAI,GAAsB,IAAI,mBAAY,EAAE,CAAC;QAC7C,aAAQ,GAAsB,IAAI,mBAAY,EAAE,CAAC;QACjD,WAAM,GAAsB,IAAI,mBAAY,EAAE,CAAC;QAC/C,iBAAY,GAAsB,IAAI,mBAAY,EAAE,CAAC;QACrD,mBAAc,GAAG,IAAI,mBAAY,CAAgC,KAAK,CAAC,CAAC;QA8BlF,oBAAe,GAAmB,IAAI,sBAAc,EAAE,CAAC;QACvD,SAAI,GAAU,EAAE,CAAC;QACjB,YAAO,GAAW,CAAC,CAAC;QACpB,YAAO,GAAQ,EAAE,CAAC;QAYhB,8DAA8D;QAC9D,IAAI,CAAC,aAAa,GAAG,UAAS,KAAa,EAAE,GAAQ;YACnD,EAAE,EAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC;gBACpB,MAAM,CAAI,GAAG,CAAC,OAAO,SAAI,IAAI,CAAC,WAAa,CAAC;YAC9C,CAAC;YAAC,IAAI,CAAC,CAAC;gBACN,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC;YACrB,CAAC;QACH,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACf,CAAC;IApIQ,sBAAI,4CAAQ;aAKrB;YACE,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC;QACxB,CAAC;aAPQ,UAAa,GAAW;YAC/B,IAAI,CAAC,SAAS,GAAG,GAAG,CAAC;YACrB,IAAI,CAAC,YAAY,EAAE,CAAC;QACtB,CAAC;;;OAAA;IAMQ,sBAAI,wCAAI;aAKjB;YACE,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC;QACpB,CAAC;aAPQ,UAAS,GAAU;YAC1B,IAAI,CAAC,KAAK,GAAG,GAAG,CAAC;YACjB,IAAI,CAAC,YAAY,EAAE,CAAC;QACtB,CAAC;;;OAAA;IAMQ,sBAAI,2CAAO;aAOpB;YACE,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC;QACvB,CAAC;aATQ,UAAY,GAAU;YAC7B,IAAI,CAAC,QAAQ,GAAG,GAAG,CAAC;YAEpB,IAAM,SAAS,GAAG,oBAAY,CAAC,GAAG,CAAC,CAAC;YACpC,IAAI,CAAC,iBAAiB,GAAG,yBAAiB,CAAC,SAAS,EAAE,GAAG,CAAC,CAAC;QAC7D,CAAC;;;OAAA;IAMQ,sBAAI,0CAAM;aAKnB;YACE,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC;QACtB,CAAC;aAPQ,UAAW,GAAW;YAC7B,IAAI,CAAC,OAAO,GAAG,GAAG,CAAC;YACnB,IAAI,CAAC,YAAY,EAAE,CAAC;QACtB,CAAC;;;OAAA;IAMQ,sBAAI,4CAAQ;aAKrB;YACE,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC;QACxB,CAAC;aAPQ,UAAa,GAAW;YAC/B,IAAI,CAAC,SAAS,GAAG,GAAG,CAAC;YACrB,IAAI,CAAC,YAAY,EAAE,CAAC;QACtB,CAAC;;;OAAA;IASD,sBAAI,6CAAS;aAAb;YACE,EAAE,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC;gBACpB,MAAM,CAAC,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;YAChC,CAAC;YAAC,IAAI,CAAC,CAAC;gBACN,MAAM,CAAC,MAAM,CAAC;YAChB,CAAC;QACH,CAAC;;;OAAA;IAID,sBAAI,8CAAU;aAUd;YACE,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC;QAC1B,CAAC;aAZD,UAAe,GAAG;YAChB,EAAE,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC;gBACpB,IAAI,CAAC,WAAW,GAAG,GAAG,GAAG,IAAI,CAAC;YAChC,CAAC;YAAC,IAAI,CAAC,CAAC;gBACN,IAAI,CAAC,WAAW,GAAG,MAAM,CAAC;YAC5B,CAAC;YAED,IAAI,CAAC,YAAY,EAAE,CAAC;QACtB,CAAC;;;OAAA;IAsBD,sBAAI,iDAAa;QAPjB;;;;;;WAMG;aACH;YACE,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC;QAC9B,CAAC;;;OAAA;IAWD,sBAAI,gDAAY;QAThB;;;;;;;;WAQG;aACH;YACE,EAAE,EAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC;gBACnB,MAAM,CAAC,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,GAAG,CAAC,CAAC,CAAC;YACvD,CAAC;QACH,CAAC;;;OAAA;IA2BD;;;;;;OAMG;IACH,8CAAa,GAAb,UAAc,MAAe;QAC3B,EAAE,EAAC,IAAI,CAAC,UAAU,IAAI,MAAM,CAAC,CAAC,CAAC;YAC7B,mDAAmD;YACnD,IAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,GAAG,MAAM,CAAC;YACxC,MAAM,GAAG,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,QAAQ,GAAG,CAAC,CAAC,CAAC;QACpD,CAAC;QAED,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,MAAM,IAAI,CAAC,CAAC,CAAC;IACvC,CAAC;IAED;;;;;;;OAOG;IACH,6CAAY,GAAZ,UAAa,KAAU;QACrB,IAAM,UAAU,GAAW,KAAK,CAAC,UAAU,CAAC;QAC5C,IAAM,UAAU,GAAW,KAAK,CAAC,UAAU,CAAC;QAE5C,mCAAmC;QACnC,gDAAgD;QAChD,EAAE,EAAC,IAAI,CAAC,OAAO,KAAK,UAAU,IAAI,IAAI,CAAC,OAAO,KAAK,UAAU,CAAC,CAAC,CAAC;YAC9D,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC;gBACf,OAAO,EAAE,UAAU;gBACnB,OAAO,EAAE,UAAU;aACpB,CAAC,CAAC;QACL,CAAC;QAED,IAAI,CAAC,OAAO,GAAG,UAAU,CAAC;QAC1B,IAAI,CAAC,OAAO,GAAG,UAAU,CAAC;QAE1B,IAAI,CAAC,aAAa,EAAE,CAAC;QACrB,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;QACjC,IAAI,CAAC,UAAU,EAAE,CAAC;IACpB,CAAC;IAED;;;;;;OAMG;IACH,2CAAU,GAAV,UAAW,SAAiB;QAC1B,IAAI,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC;QAEhD,EAAE,EAAC,SAAS,KAAK,IAAI,CAAC,CAAC,CAAC;YACtB,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QAC9B,CAAC;QAAC,IAAI,CAAC,EAAE,EAAC,SAAS,KAAK,MAAM,CAAC,CAAC,CAAC;YAC/B,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAC7B,CAAC;QAED,EAAE,EAAC,SAAS,KAAK,SAAS,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;YAC7C,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,cAAM,EAAE,CAAC,CAAC;QAC7B,CAAC;IACH,CAAC;IAED;;;;OAIG;IACH,2CAAU,GAAV;QACE,qBAAoC,EAA5B,gBAAK,EAAE,cAAI,CAAkB;QACrC,IAAI,QAAQ,GAAG,KAAK,CAAC;QACrB,IAAI,GAAG,GAAG,CAAC,CAAC;QACZ,IAAI,IAAI,GAAU,EAAE,CAAC;QAErB,OAAO,QAAQ,GAAG,IAAI,IAAI,QAAQ,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC;YACnD,IAAI,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YAE9B,EAAE,EAAC,GAAG,CAAC,CAAC,CAAC;gBACP,GAAG,CAAC,OAAO,GAAG,QAAQ,CAAC;gBACvB,IAAI,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC;YAClB,CAAC;YAED,GAAG,EAAE,CAAC;YACN,QAAQ,EAAE,CAAC;QACb,CAAC;QAED,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;IACnB,CAAC;IAED;;;;;;;OAOG;IACH,6CAAY,GAAZ,UAAa,GAAQ;QACnB,4CAA4C;QAC5C,MAAM,CAAC,IAAI,CAAC,SAAS;YACnB,CAAC,GAAG,CAAC,UAAU,KAAK,CAAC,GAAG,IAAI,CAAC,eAAe,GAAG,CAAC,CAAC,CAAC;IACtD,CAAC;IAED;;;;;;;;;;;;;;;;;;;OAmBG;IACH,8CAAa,GAAb,UAAc,GAAQ;QACpB,IAAM,SAAS,GAAG,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC;QAEzC,IAAI,MAAM,GAAG;YACX,MAAM,EAAE,SAAS,GAAG,IAAI;SACzB,CAAC;QAEF,EAAE,EAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC;YACnB,IAAM,GAAG,GAAG,GAAG,GAAG,GAAG,CAAC,OAAO,GAAG,CAAC,CAAC;YAElC,+BAA+B;YAC/B,+DAA+D;YAC/D,mCAAmC;YACnC,IAAM,GAAG,GAAG,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC;YAEhD,mBAAW,CAAC,MAAM,EAAE,CAAC,EAAE,GAAG,CAAC,CAAC;QAC9B,CAAC;QAED,MAAM,CAAC,MAAM,CAAC;IAChB,CAAC;IAED;;;;;OAKG;IACH,8CAAa,GAAb;QAAA,iBAEC;QADC,UAAU,CAAC,cAAM,YAAI,CAAC,gBAAgB,GAAG,KAAK,EAA7B,CAA6B,EAAE,GAAG,CAAC,CAAC;IACvD,CAAC;IAED;;;;OAIG;IACH,8CAAa,GAAb;QACE,IAAI,KAAK,GAAG,CAAC,CAAC;QACd,IAAI,IAAI,GAAG,CAAC,CAAC;QAEb,EAAE,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC;YACpB,uEAAuE;YACvE,iEAAiE;YACjE,+CAA+C;YAC/C,IAAM,MAAM,GAAG,QAAQ,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC;YAC5C,KAAK,GAAG,IAAI,CAAC,eAAe,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YACvD,IAAI,GAAG,IAAI,CAAC,eAAe,CAAC,WAAW,CAAC,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QACrE,CAAC;QAAC,IAAI,CAAC,CAAC;YACN,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC;YACjD,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;QAC1D,CAAC;QAED,IAAI,CAAC,OAAO,GAAG,EAAE,YAAK,EAAE,UAAI,EAAE,CAAC;IACjC,CAAC;IAED;;;;;;;OAOG;IACH,sDAAqB,GAArB;QACE,EAAE,EAAC,CAAC,IAAI,CAAC,UAAU,CAAC;YAAC,MAAM,CAAC;QAE5B,0DAA0D;QAC1D,8DAA8D;QAC9D,yBAAyB;QACzB,IAAI,CAAC,eAAe,CAAC,UAAU,EAAE,CAAC;QAElC,8DAA8D;QAC9D,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;YAClC,IAAI,CAAC,eAAe,CAAC,SAAS,CAC5B,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,eAAe,CAAC,CAAC;QACrD,CAAC;IACH,CAAC;IAED;;;;;;OAMG;IACH,yDAAwB,GAAxB;QACE,0EAA0E;QAC1E,qFAAqF;QACrF,eAAe;QACf,IAAI,qBAAqB,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC;QAE/C,EAAE,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC;YACpB,IAAM,YAAY,GAAG,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,qBAAqB,GAAG,CAAC,CAAC,CAAC;YAC3E,MAAM,CAAC,YAAY,IAAI,IAAI,CAAC,OAAO,GAAG,qBAAqB,GAAG,CAAC,GAAG,qBAAqB,CAAC;QAC1F,CAAC;QAED,MAAM,CAAC,qBAAqB,CAAC;IAC/B,CAAC;IAED;;;;;;;;;OASG;IACH,mDAAkB,GAAlB,UAAmB,GAAQ;QACzB,0EAA0E;QAC1E,IAAI,qBAAqB,GAAG,IAAI,CAAC,wBAAwB,EAAE,CAAC;QAE5D,4EAA4E;QAC5E,EAAE,EAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC;YACnB,IAAM,eAAe,GAAG,IAAI,CAAC,eAAe,GAAG,CAAC,GAAG,CAAC,UAAU,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;YACzE,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,GAAG,CAAC,OAAO,EAAE,eAAe,CAAC,CAAC;QAC5D,CAAC;QAED,8DAA8D;QAC9D,GAAG,CAAC,UAAU,IAAI,CAAC,CAAC;QAEpB,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC;YACrB,IAAI,EAAE,CAAC,GAAG,CAAC;YACX,YAAY,EAAE,qBAAqB;SACpC,CAAC,CAAC;IACL,CAAC;IAED;;;;;;OAMG;IACH,8CAAa,GAAb,UAAc,QAAiB;QAC7B,IAAI,WAAW,GAAG,QAAQ,GAAG,CAAC,GAAG,CAAC,CAAC;QAEnC,0EAA0E;QAC1E,IAAI,qBAAqB,GAAG,IAAI,CAAC,wBAAwB,EAAE,CAAC;QAE5D,GAAG,EAAY,UAAS,EAAT,SAAI,CAAC,IAAI,EAAT,cAAS,EAAT,IAAS,CAAC;YAArB,IAAI,GAAG;YACT,GAAG,CAAC,UAAU,GAAG,WAAW,CAAC;SAC9B;QAED,EAAE,EAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC;YACnB,mEAAmE;YACnE,IAAI,CAAC,qBAAqB,EAAE,CAAC;QAC/B,CAAC;QAED,yCAAyC;QACzC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC;YACrB,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,YAAY,EAAE,qBAAqB;SACpC,CAAC,CAAC;IACL,CAAC;IAED;;;;OAIG;IACH,6CAAY,GAAZ;QACE,IAAI,CAAC,qBAAqB,EAAE,CAAC;QAC7B,IAAI,CAAC,aAAa,EAAE,CAAC;QACrB,IAAI,CAAC,UAAU,EAAE,CAAC;IACpB,CAAC;IAzbD;QAAC,YAAK,EAAE;;8DAAA;IACR;QAAC,YAAK,EAAE;;8DAAA;IACR;QAAC,YAAK,EAAE;;oEAAA;IACR;QAAC,YAAK,EAAE;;6DAAA;IACR;QAAC,YAAK,EAAE;;2DAAA;IACR;QAAC,YAAK,EAAE;;mEAAA;IACR;QAAC,YAAK,EAAE;;gEAAA;IACR;QAAC,YAAK,EAAE;;iEAAA;IACR;QAAC,YAAK,EAAE;;4DAAA;IACR;QAAC,YAAK,EAAE;;+DAAA;IACR;QAAC,YAAK,EAAE;;qEAAA;IACR;QAAC,YAAK,EAAE;;+DAAA;IACR;QAAC,YAAK,EAAE;;+DAAA;IAER;QAAC,YAAK,EAAE;;;0DAAA;IASR;QAAC,YAAK,EAAE;;;sDAAA;IASR;QAAC,YAAK,EAAE;;;yDAAA;IAWR;QAAC,YAAK,EAAE;;;wDAAA;IASR;QAAC,YAAK,EAAE;;;0DAAA;IASR;QAAC,YAAK,EAAE;;8DAAA;IAER;QAAC,kBAAW,CAAC,aAAa,CAAC;;2DAAA;IAS3B;QAAC,YAAK,EAAE;QACP,kBAAW,CAAC,cAAc,CAAC;;;4DAAA;IAe5B;QAAC,aAAM,EAAE;;0DAAA;IACT;QAAC,aAAM,EAAE;;wDAAA;IACT;QAAC,aAAM,EAAE;;4DAAA;IACT;QAAC,aAAM,EAAE;;0DAAA;IACT;QAAC,aAAM,EAAE;;gEAAA;IACT;QAAC,aAAM,EAAE;;kEAAA;IAET;QAAC,gBAAS,CAAC,sCAAiB,CAAC;;4DAAA;IAvJ/B;QAAC,gBAAS,CAAC;YACT,QAAQ,EAAE,gBAAgB;YAC1B,QAAQ,EAAE,sqDA+CT;YACD,IAAI,EAAE;gBACJ,KAAK,EAAE,gBAAgB;aACxB;SACF,CAAC;;8BAAA;IA8bF,6BAAC;AAAD,CAAC;AA7bY,8BAAsB,yBA6blC;;;;;;;;;;;;;AC1fD,6BAAc,yCAAkB,CAAC;AACjC,6BAAc,8CAAuB,CAAC;AACtC,6BAAc,6CAAsB,CAAC;AACrC,6BAAc,iDAA0B,CAAC;AACzC,6BAAc,6CAAsB,CAAC;AACrC,6BAAc,qDAA8B,CAAC;AAC7C,6BAAc,8CAAuB,CAAC;;;;;;;;;;;;;;;;;;;ACNtC,iCAAmD,CAAe,CAAC;AAanE;IAAA;IACA,CAAC;IAZD;QAAC,gBAAS,CAAC;YACT,QAAQ,EAAE,oBAAoB;YAC9B,QAAQ,EAAE,8JAMT;YACD,eAAe,EAAE,8BAAuB,CAAC,MAAM;SAChD,CAAC;;4BAAA;IAEF,2BAAC;AAAD,CAAC;AADY,4BAAoB,uBAChC;;;;;;;;;;;;;;;;;;;ACdD,iCAGO,CAAe,CAAC;AAWvB;IAqBE,2BAAY,OAAmB,EAAU,QAAkB;QAAlB,aAAQ,GAAR,QAAQ,CAAU;QAnBlD,eAAU,GAAY,KAAK,CAAC;QAC5B,eAAU,GAAY,KAAK,CAAC;QAQ3B,WAAM,GAAsB,IAAI,mBAAY,EAAE,CAAC;QAEzD,eAAU,GAAW,CAAC,CAAC;QACvB,eAAU,GAAW,CAAC,CAAC;QACvB,mBAAc,GAAW,CAAC,CAAC;QAC3B,mBAAc,GAAW,CAAC,CAAC;QAMzB,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC,aAAa,CAAC;IACvC,CAAC;IAED,oCAAQ,GAAR;QACE,wCAAwC;QACxC,EAAE,EAAC,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC;YACtC,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,aAAa,CAAC;YAC9D,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,CAC1C,IAAI,CAAC,aAAa,EAAE,QAAQ,EAAE,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QAC9D,CAAC;IACH,CAAC;IAED,uCAAW,GAAX;QACE,EAAE,EAAC,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC;YACtC,IAAI,CAAC,gBAAgB,EAAE,CAAC;QAC1B,CAAC;IACH,CAAC;IAED,qCAAS,GAAT,UAAU,OAAe;QACvB,EAAE,EAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC;YACtB,IAAI,CAAC,aAAa,CAAC,SAAS,GAAG,OAAO,CAAC;QACzC,CAAC;IACH,CAAC;IAED,sCAAU,GAAV,UAAW,KAAiB;QAC1B,IAAM,GAAG,GAAqB,KAAK,CAAC,aAAa,CAAC;QAClD,IAAI,CAAC,UAAU,GAAG,GAAG,CAAC,SAAS,CAAC;QAChC,IAAI,CAAC,UAAU,GAAG,GAAG,CAAC,UAAU,CAAC;QAEjC,qBAAqB,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;IACtD,CAAC;IAED,wCAAY,GAAZ;QACE,IAAI,SAAiB,CAAC;QACtB,EAAE,EAAC,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC;YACzC,SAAS,GAAG,MAAM,CAAC;QACrB,CAAC;QAAC,IAAI,CAAC,EAAE,EAAC,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC;YAChD,SAAS,GAAG,IAAI,CAAC;QACnB,CAAC;QAED,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC;YACf,oBAAS;YACT,UAAU,EAAE,IAAI,CAAC,UAAU;YAC3B,UAAU,EAAE,IAAI,CAAC,UAAU;SAC5B,CAAC,CAAC;QAEH,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,UAAU,CAAC;QACtC,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,UAAU,CAAC;IACxC,CAAC;IApED;QAAC,YAAK,EAAE;;yDAAA;IACR;QAAC,YAAK,EAAE;;yDAAA;IAER;QAAC,kBAAW,CAAC,iBAAiB,CAAC;QAC9B,YAAK,EAAE;;2DAAA;IAER;QAAC,kBAAW,CAAC,gBAAgB,CAAC;QAC7B,YAAK,EAAE;;0DAAA;IAER;QAAC,aAAM,EAAE;;qDAAA;IApBX;QAAC,gBAAS,CAAC;YACT,QAAQ,EAAE,oBAAoB;YAC9B,QAAQ,EAAE,qCAET;YACD,IAAI,EAAE;gBACJ,KAAK,EAAE,kBAAkB;aAC1B;SACF,CAAC;;yBAAA;IAyEF,wBAAC;AAAD,CAAC;AAxEY,yBAAiB,oBAwE7B;;;;;;;;;;;;;;;;;;;ACtFD,iCAAuD,CAAe,CAAC;AACvE,kCAAoD,sBAAa,CAAC;AAClE,kCAA8B,sBAAa,CAAC;AAiB5C;IAAA;QASY,aAAQ,GAAsB,IAAI,mBAAY,EAAE,CAAC;QACjD,WAAM,GAAsB,IAAI,mBAAY,EAAE,CAAC;IAuI3D,CAAC;IAnIC,+CAAS,GAAT,UAAU,KAAiC,EAAE,KAAa,EAAE,GAAQ;QAClE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC;YAAC,MAAM,CAAC;QAEhC,IAAM,MAAM,GAAG,IAAI,CAAC,aAAa,KAAK,qBAAa,CAAC,QAAQ,CAAC;QAC7D,IAAM,KAAK,GAAG,IAAI,CAAC,aAAa,KAAK,qBAAa,CAAC,KAAK,CAAC;QACzD,IAAM,UAAU,GAAG,IAAI,CAAC,aAAa,IAAI,qBAAa,CAAC,UAAU,CAAC;QAClE,IAAI,QAAQ,GAAU,EAAE,CAAC;QAEzB,EAAE,CAAC,CAAC,KAAK,IAAI,MAAM,IAAI,UAAU,CAAC,CAAC,CAAC;YAClC,EAAE,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC;gBACnB,QAAQ,GAAG,yBAAiB,CACtB,IAAI,CAAC,QAAQ,QAAC,EAClB,IAAI,CAAC,IAAI,EACT,KAAK,EACL,IAAI,CAAC,SAAS,EACd,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;YACvC,CAAC;YAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,IAAI,UAAU,IAAI,MAAM,CAAC,CAAC,CAAC;gBAC/C,QAAQ,GAAG,kBAAU,CAAK,IAAI,CAAC,QAAQ,QAAC,EAAE,GAAG,EAAE,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;YACtF,CAAC;YAAC,IAAI,CAAC,CAAC;gBACN,QAAQ,GAAG,kBAAU,CAAC,EAAE,EAAE,GAAG,EAAE,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;YACpE,CAAC;QACH,CAAC;QAAC,IAAI,CAAC,CAAC;YACN,QAAQ,GAAG,kBAAU,CAAC,EAAE,EAAE,GAAG,EAAE,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QACpE,CAAC;QAED,EAAE,EAAC,OAAO,IAAI,CAAC,WAAW,KAAK,UAAU,CAAC,CAAC,CAAC;YAC1C,QAAQ,GAAG,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QAC1D,CAAC;QAED,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,EAAE,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;QAC9C,UAAI,CAAC,QAAQ,EAAC,IAAI,WAAI,QAAQ,CAAC,CAAC;QAEhC,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;QAEvB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC;YACf,kBAAQ;SACT,CAAC,CAAC;;IACL,CAAC;IAED,gDAAU,GAAV,UAAW,KAAY,EAAE,KAAa;QAC5B,qBAAI,EAAE,mBAAK,EAAE,eAAG,CAAW;QACnC,IAAM,MAAM,GAAG,IAAI,CAAC,aAAa,KAAK,qBAAa,CAAC,QAAQ,CAAC;QAC7D,IAAM,MAAM,GAAG,CAAC,CAAC,MAAM,IAAI,CAAC,IAAI,KAAK,OAAO,IAAI,IAAI,KAAK,UAAU,CAAC,CAAC;YACnE,CAAC,MAAM,IAAI,IAAI,KAAK,UAAU,CAAC,CAAC;QAElC,EAAE,EAAC,MAAM,CAAC,CAAC,CAAC;YACV,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,KAAK,EAAE,GAAG,CAAC,CAAC;QACpC,CAAC;QAAC,IAAI,CAAC,EAAE,EAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC;YAC7B,EAAE,CAAC,CAAiB,KAAM,CAAC,OAAO,KAAK,YAAI,CAAC,MAAM,CAAC,CAAC,CAAC;gBACnD,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,KAAK,EAAE,GAAG,CAAC,CAAC;YACpC,CAAC;YAAC,IAAI,CAAC,CAAC;gBACN,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC;YAC9B,CAAC;QACH,CAAC;QACD,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAC5B,CAAC;IAED,qDAAe,GAAf,UAAgB,KAAY;QAClB,iCAAO,CAAgC;QAC/C,IAAM,WAAW,GACf,OAAO,KAAK,YAAI,CAAC,EAAE;YACnB,OAAO,KAAK,YAAI,CAAC,IAAI;YACrB,OAAO,KAAK,YAAI,CAAC,KAAK;YACtB,OAAO,KAAK,YAAI,CAAC,IAAI,CAAC;QAExB,EAAE,EAAC,WAAW,CAAC,CAAC,CAAC;YACf,IAAM,eAAe,GACnB,IAAI,CAAC,aAAa,KAAK,qBAAa,CAAC,IAAI,CAAC;YAE5C,EAAE,EAAC,CAAC,KAAK,CAAC,WAAW,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC;gBAC1C,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;YAC3C,CAAC;YAAC,IAAI,CAAC,EAAE,EAAC,eAAe,CAAC,CAAC,CAAC;gBAC1B,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,WAAW,EAAE,KAAK,CAAC,UAAU,EAAE,OAAO,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;YAChF,CAAC;QACH,CAAC;IACH,CAAC;IAED,8CAAQ,GAAR,UAAS,UAAe,EAAE,OAAe;QACvC,IAAM,cAAc,GAAG,IAAI,CAAC,cAAc,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;QAChE,EAAE,EAAC,cAAc,CAAC;YAAC,cAAc,CAAC,KAAK,EAAE,CAAC;IAC5C,CAAC;IAED,oDAAc,GAAd,UAAe,UAAe,EAAE,OAAe;QAC7C,IAAM,aAAa,GAAG,UAAU,CAAC,aAAa,CAAC;QAE/C,EAAE,EAAC,aAAa,CAAC,CAAC,CAAC;YACjB,IAAI,YAAY,SAAa,CAAC;YAC9B,EAAE,EAAC,OAAO,KAAK,YAAI,CAAC,EAAE,CAAC,CAAC,CAAC;gBACvB,YAAY,GAAG,aAAa,CAAC,sBAAsB,CAAC;YACtD,CAAC;YAAC,IAAI,CAAC,EAAE,EAAC,OAAO,KAAK,YAAI,CAAC,IAAI,CAAC,CAAC,CAAC;gBAChC,YAAY,GAAG,aAAa,CAAC,kBAAkB,CAAC;YAClD,CAAC;YAED,EAAE,EAAC,YAAY,IAAI,YAAY,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC;gBAChD,MAAM,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;YAClC,CAAC;QACH,CAAC;IACH,CAAC;IAED,+CAAS,GAAT,UAAU,WAAgB,EAAE,UAAe,EAAE,OAAe,EAAE,SAAiB;QAC7E,IAAI,eAA4B,CAAC;QAEjC,EAAE,EAAC,OAAO,KAAK,YAAI,CAAC,IAAI,CAAC,CAAC,CAAC;YACzB,eAAe,GAAG,WAAW,CAAC,sBAAsB,CAAC;QACvD,CAAC;QAAC,IAAI,CAAC,EAAE,EAAC,OAAO,KAAK,YAAI,CAAC,KAAK,CAAC,CAAC,CAAC;YACjC,eAAe,GAAG,WAAW,CAAC,kBAAkB,CAAC;QACnD,CAAC;QAAC,IAAI,CAAC,EAAE,EAAC,OAAO,KAAK,YAAI,CAAC,EAAE,IAAI,OAAO,KAAK,YAAI,CAAC,IAAI,CAAC,CAAC,CAAC;YACvD,IAAM,cAAc,GAAG,IAAI,CAAC,cAAc,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;YAChE,EAAE,EAAC,cAAc,CAAC,CAAC,CAAC;gBAClB,IAAM,QAAQ,GAAG,cAAc,CAAC,sBAAsB,CAAC,qBAAqB,CAAC,CAAC;gBAC9E,EAAE,EAAC,QAAQ,CAAC,MAAM,CAAC;oBAAC,eAAe,GAAG,QAAQ,CAAC,SAAS,CAAC,CAAC;YAC5D,CAAC;QACH,CAAC;QAED,EAAE,EAAC,eAAe,CAAC;YAAC,eAAe,CAAC,KAAK,EAAE,CAAC;IAC9C,CAAC;IAED,oDAAc,GAAd,UAAe,GAAQ;QACrB,MAAM,CAAC,IAAI,CAAC,iBAAiB,CAAC,GAAG,EAAE,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC;IACzD,CAAC;IAED,uDAAiB,GAAjB,UAAkB,GAAQ,EAAE,QAAe;QAA3C,iBAQC;QAPC,EAAE,EAAC,CAAC,QAAQ,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC;YAAC,MAAM,CAAC,CAAC,CAAC,CAAC;QAE5C,IAAM,KAAK,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;QACpC,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAC,UAAC,CAAC;YAC1B,IAAM,EAAE,GAAG,KAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;YAC/B,MAAM,CAAC,EAAE,KAAK,KAAK,CAAC;QACtB,CAAC,CAAC,CAAC;IACL,CAAC;IA7ID;QAAC,YAAK,EAAE;;6DAAA;IACR;QAAC,YAAK,EAAE;;iEAAA;IACR;QAAC,YAAK,EAAE;;sEAAA;IACR;QAAC,YAAK,EAAE;;sEAAA;IACR;QAAC,YAAK,EAAE;;oEAAA;IACR;QAAC,YAAK,EAAE;;oEAAA;IAER;QAAC,aAAM,EAAE;;iEAAA;IACT;QAAC,aAAM,EAAE;;+DAAA;IAhBX;QAAC,gBAAS,CAAC;YACT,QAAQ,EAAE,qBAAqB;YAC/B,QAAQ,EAAE,qCAET;SACF,CAAC;;mCAAA;IAkJF,kCAAC;AAAD,CAAC;AAjJY,mCAA2B,8BAiJvC;;;;;;;;;;;;;;;;;;;ACpKD,iCAAuC,CAAe,CAAC;AAGvD;IACE,sCAAmB,QAA0B;QAA1B,aAAQ,GAAR,QAAQ,CAAkB;IAAI,CAAC;;IAFpD;QAAC,gBAAS,CAAC,EAAE,QAAQ,EAAE,+BAA+B,EAAE,CAAC;;oCAAA;IAGzD,mCAAC;AAAD,CAAC;AAFY,oCAA4B,+BAExC;;;;;;;;;;;;;;;;;;;ACLD,iCAAuC,CAAe,CAAC;AAGvD;IACE,wCAAmB,QAA0B;QAA1B,aAAQ,GAAR,QAAQ,CAAkB;IAAI,CAAC;;IAFpD;QAAC,gBAAS,CAAC,EAAE,QAAQ,EAAE,iCAAiC,EAAE,CAAC;;sCAAA;IAG3D,qCAAC;AAAD,CAAC;AAFY,sCAA8B,iCAE1C;;;;;;;;;;;;;;;;;;;ACLD,iCAA4D,CAAe,CAAC;AAC5E,oDAA+C,qDAA2B,CAAC;AAC3E,kDAA6C,mDAAyB,CAAC;AAGvE;IAAA;IA2BA,CAAC;IAzBC;QAAC,YAAK,EAAE;;0DAAA;IACR;QAAC,YAAK,EAAE;;0DAAA;IACR;QAAC,YAAK,EAAE;;gEAAA;IACR;QAAC,YAAK,EAAE;;iEAAA;IACR;QAAC,YAAK,EAAE;;8DAAA;IACR;QAAC,YAAK,EAAE;;gEAAA;IACR;QAAC,YAAK,EAAE;;gEAAA;IACR;QAAC,YAAK,EAAE;;0DAAA;IACR;QAAC,YAAK,EAAE;;8DAAA;IACR;QAAC,YAAK,EAAE;;+DAAA;IACR;QAAC,YAAK,EAAE;;mEAAA;IACR;QAAC,YAAK,EAAE;;8DAAA;IACR;QAAC,YAAK,EAAE;;2DAAA;IACR;QAAC,YAAK,EAAE;;8DAAA;IACR;QAAC,YAAK,EAAE;;kEAAA;IACR;QAAC,YAAK,EAAE;;wEAAA;IAER;QAAC,YAAK,EAAE;QACP,mBAAY,CAAC,oDAA4B,EAAE,EAAE,IAAI,EAAE,kBAAW,EAAE,CAAC;;kEAAA;IAGlE;QAAC,YAAK,EAAE;QACP,mBAAY,CAAC,wDAA8B,EAAE,EAAE,IAAI,EAAE,kBAAW,EAAE,CAAC;;oEAAA;IAzBtE;QAAC,gBAAS,CAAC,EAAE,QAAQ,EAAE,sBAAsB,EAAE,CAAC;;gCAAA;IA4BhD,+BAAC;AAAD,CAAC;AA3BY,gCAAwB,2BA2BpC;;;;;;;;;;;;;AChCD,6BAAc,8CAAoB,CAAC;AACnC,6BAAc,qDAA2B,CAAC;AAC1C,6BAAc,mDAAyB,CAAC;;;;;;;;;;;;;;;;;;;ACFxC,iCAKO,CAAe,CAAC;AAEvB,kCAAoE,sBAAU,CAAC;AAC/E,kCAAoD,sBAAU,CAAC;AAC/D,iCAAuC,gCAAQ,CAAC;AAChD,oCAAyC,mCAAW,CAAC;AACrD,uCAA4C,sCAAc,CAAC;AAC3D,kCAAoF,sBAAU,CAAC;AA0E/F;IAulBE,4BAAY,OAAmB,EAAE,OAAwB;QAhiBzD;;;;;;;WAOG;QACM,aAAQ,GAAU,EAAE,CAAC;QAE9B;;;;;WAKG;QACM,eAAU,GAAY,KAAK,CAAC;QAErC;;;;;WAKG;QACM,eAAU,GAAY,KAAK,CAAC;QAErC;;;;;;WAMG;QACM,cAAS,GAAW,EAAE,CAAC;QAEhC;;;;;;WAMG;QACM,oBAAe,GAAW,CAAC,CAAC;QAErC;;;;;;WAMG;QACM,eAAU,GAAe,kBAAU,CAAC,QAAQ,CAAC;QAEtD;;;;;;WAMG;QACM,iBAAY,GAAQ,EAAE,CAAC;QAEhC;;;;;;WAMG;QACM,iBAAY,GAAW,CAAC,CAAC;QAElC;;;;;;WAMG;QACM,mBAAc,GAAY,KAAK,CAAC;QAEzC;;;;;;WAMG;QACM,oBAAe,GAAY,KAAK,CAAC;QAE1C;;;;;;WAMG;QACM,UAAK,GAAW,SAAS,CAAC;QA2BnC;;;;;;WAMG;QACM,WAAM,GAAW,CAAC,CAAC;QAE5B;;;;;;WAMG;QACM,qBAAgB,GAAY,KAAK,CAAC;QAkB3C;;;;;;WAMG;QACM,gBAAW,GAAY,IAAI,CAAC;QAErC;;;;;WAKG;QACM,aAAQ,GAAa,gBAAQ,CAAC,MAAM,CAAC;QAE9C;;;;;;WAMG;QACM,UAAK,GAAU,EAAE,CAAC;QAU3B;;;;;WAKG;QACM,eAAU,GAAQ;YACzB,aAAa,EAAE,WAAW;YAC1B,cAAc,EAAE,SAAS;YACzB,cAAc,EAAE,WAAW;YAC3B,eAAe,EAAE,YAAY;YAC7B,aAAa,EAAE,WAAW;YAC1B,SAAS,EAAE,WAAW;SACvB,CAAC;QAEF;;;;;WAKG;QACM,aAAQ,GAAQ;YACvB,0CAA0C;YAC1C,yBAAyB;YACzB,YAAY,EAAE,oBAAoB;YAElC,uBAAuB;YACvB,YAAY,EAAE,OAAO;SACtB,CAAC;QAEF;;;;;;;WAOG;QACM,gBAAW,GAAoB,CAAC,UAAC,CAAM,IAAK,QAAC,EAAD,CAAC,CAAC,CAAC;QAwBxD;;;;;WAKG;QACO,WAAM,GAAsB,IAAI,mBAAY,EAAE,CAAC;QAEzD;;;;;WAKG;QACO,aAAQ,GAAsB,IAAI,mBAAY,EAAE,CAAC;QAE3D;;;;;WAKG;QACO,WAAM,GAAsB,IAAI,mBAAY,EAAE,CAAC;QAEzD;;;;;WAKG;QACO,SAAI,GAAsB,IAAI,mBAAY,EAAE,CAAC;QAEvD;;;;;WAKG;QACO,SAAI,GAAsB,IAAI,mBAAY,EAAE,CAAC;QAEvD;;;;;WAKG;QACO,iBAAY,GAAsB,IAAI,mBAAY,EAAE,CAAC;QAE/D;;;;;WAKG;QACO,YAAO,GAAsB,IAAI,mBAAY,EAAE,CAAC;QAE1D;;;;;WAKG;QACO,WAAM,GAAsB,IAAI,mBAAY,EAAE,CAAC;QAEzD;;;;WAIG;QACO,mBAAc,GAAG,IAAI,mBAAY,CAAkC,KAAK,CAAC,CAAC;QAqNpF,YAAO,GAAW,CAAC,CAAC;QAEpB,WAAM,GAAW,CAAC,CAAC;QAQjB,+BAA+B;QAC/B,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC,aAAa,CAAC;QACrC,IAAI,CAAC,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IACjD,CAAC;IAplBQ,sBAAI,oCAAI;QAYjB;;;;;;WAMG;aACH;YACE,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC;QACpB,CAAC;QA1BD;;;;WAIG;aACM,UAAS,GAAQ;YACxB,2BAA2B;YAC3B,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC;gBAC1B,GAAG,GAAG,gBAAQ,CAAC,GAAG,EAAE,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;YAChD,CAAC;YAED,IAAI,CAAC,KAAK,GAAG,GAAG,CAAC;YAEjB,wBAAwB;YACxB,IAAI,CAAC,WAAW,EAAE,CAAC;QACrB,CAAC;;;OAAA;IAkBQ,sBAAI,uCAAO;QASpB;;;;;;WAMG;aACH;YACE,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC;QACvB,CAAC;QAvBD;;;;WAIG;aACM,UAAY,GAAU;YAC7B,EAAE,EAAC,GAAG,CAAC,CAAC,CAAC;gBACP,yBAAiB,CAAC,GAAG,CAAC,CAAC;gBACvB,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,CAAC;YAC/B,CAAC;YAED,IAAI,CAAC,QAAQ,GAAG,GAAG,CAAC;QACtB,CAAC;;;OAAA;IAsHQ,sBAAI,qCAAK;QAOlB;;;;;;WAMG;aACH;YACE,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC;QACrB,CAAC;QAvBD;;;;;;WAMG;aACM,UAAU,GAAW;YAC5B,IAAI,CAAC,MAAM,GAAG,GAAG,CAAC;YAElB,wBAAwB;YACxB,IAAI,CAAC,WAAW,EAAE,CAAC;QACrB,CAAC;;;OAAA;IA8ND,sBAAI,6CAAa;QARjB;;;;;;WAMG;aAEH;YACE,IAAM,YAAY,GAAkB,IAAI,CAAC,YAAY,CAAC;YACtD,MAAM,CAAC,CAAC,OAAO,YAAY,KAAK,QAAQ,CAAC;gBAC9B,YAAa,KAAK,MAAM,GAAG,IAAI,CAAC;QAC7C,CAAC;;;OAAA;IAWD,sBAAI,0CAAU;QATd;;;;;;;WAOG;aAEH;YACE,IAAM,SAAS,GAAkB,IAAI,CAAC,SAAS,CAAC;YAChD,MAAM,CAAC,CAAC,OAAO,SAAS,KAAK,QAAQ,CAAC;gBAC3B,SAAU,KAAK,MAAM,GAAG,IAAI,CAAC;QAC1C,CAAC;;;OAAA;IAWD,sBAAI,4CAAY;QAThB;;;;;;;WAOG;aAEH;YACE,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC;QACzB,CAAC;;;OAAA;IAWD,sBAAI,2CAAW;QATf;;;;;;;WAOG;aAEH;YACE,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC;QACzB,CAAC;;;OAAA;IAUD,sBAAI,4CAAY;QARhB;;;;;;WAMG;aAEH;YACE,MAAM,CAAC,IAAI,CAAC,aAAa,KAAK,SAAS,CAAC;QAC1C,CAAC;;;OAAA;IAUD,sBAAI,mDAAmB;QARvB;;;;;;WAMG;aAEH;YACE,MAAM,CAAC,IAAI,CAAC,aAAa,KAAK,qBAAa,CAAC,QAAQ,CAAC;QACvD,CAAC;;;OAAA;IAUD,sBAAI,+CAAe;QARnB;;;;;;WAMG;aAEH;YACE,MAAM,CAAC,IAAI,CAAC,aAAa,KAAK,qBAAa,CAAC,IAAI,CAAC;QACnD,CAAC;;;OAAA;IAUD,sBAAI,iDAAiB;QARrB;;;;;;WAMG;aAEH;YACE,MAAM,CAAC,IAAI,CAAC,aAAa,KAAK,qBAAa,CAAC,MAAM,CAAC;QACrD,CAAC;;;OAAA;IAUD,sBAAI,gDAAgB;QARpB;;;;;;WAMG;aAEH;YACE,MAAM,CAAC,IAAI,CAAC,aAAa,KAAK,qBAAa,CAAC,KAAK,CAAC;QACpD,CAAC;;;OAAA;IAUD,sBAAI,qDAAqB;QARzB;;;;;;WAMG;aAEH;YACE,MAAM,CAAC,IAAI,CAAC,aAAa,KAAK,qBAAa,CAAC,UAAU,CAAC;QACzD,CAAC;;;OAAA;IASD,sBAAI,+CAAe;QAcnB;;;;;;WAMG;aACH;YACE,MAAM,CAAC,IAAI,CAAC,gBAAgB,CAAC;QAC/B,CAAC;QA9BD;;;;;WAKG;aAEH,UAAoB,GAAwC;YAC1D,IAAI,CAAC,gBAAgB,GAAG,GAAG,CAAC;YAE5B,EAAE,EAAC,GAAG,CAAC,CAAC,CAAC;gBACP,6CAA6C;gBAC7C,IAAM,GAAG,GAAG,GAAG,CAAC,OAAO,EAAE,CAAC;gBAE1B,EAAE,EAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC;oBACd,mCAAmC;oBACnC,IAAI,CAAC,OAAO,GAAG,0BAAkB,CAAC,GAAG,CAAC,CAAC;gBACzC,CAAC;YACH,CAAC;QACH,CAAC;;;OAAA;IAmBD,sBAAI,sDAAsB;QAK1B;;;;;;WAMG;aACH;YACE,MAAM,CAAC,IAAI,CAAC,uBAAuB,CAAC;QACtC,CAAC;QApBD;;;;WAIG;aAEH,UAA2B,GAAgC;YACzD,IAAI,CAAC,uBAAuB,GAAG,GAAG,CAAC;YACnC,EAAE,EAAC,GAAG,CAAC;gBAAC,IAAI,CAAC,iBAAiB,GAAG,GAAG,CAAC,iBAAiB,CAAC;QACzD,CAAC;;;OAAA;IAgCD,sBAAI,+CAAe;QARnB;;;;;;;WAOG;aACH;YACE,MAAM,CAAC,IAAI,CAAC,QAAQ;gBAClB,IAAI,CAAC,IAAI;gBACT,IAAI,CAAC,QAAQ,CAAC,MAAM,KAAK,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC;QAC9C,CAAC;;;OAAA;IAsBD;;;;;OAKG;IACH,qCAAQ,GAAR;QACE,uCAAuC;QACvC,wCAAwC;QACxC,6CAA6C;QAC7C,IAAI,CAAC,WAAW,EAAE,CAAC;IACrB,CAAC;IAED;;;;;OAKG;IACH,4CAAe,GAAf;QAAA,iBAIC;QAHC,sDAAsD;QACtD,oDAAoD;QACpD,UAAU,CAAC,cAAM,YAAI,CAAC,WAAW,EAAE,EAAlB,CAAkB,CAAC,CAAC;IACvC,CAAC;IAED;;;;OAIG;IACH,sCAAS,GAAT;QACE,EAAE,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YACnC,IAAI,CAAC,gBAAgB,EAAE,CAAC;QAC1B,CAAC;IACH,CAAC;IAED;;;;OAIG;IACH,4CAAe,GAAf,UAAgB,GAAQ;QACtB,iCAAiC;QACjC,IAAI,CAAC,aAAa,CAAC,kBAAkB,CAAC,GAAG,CAAC,CAAC;IAC7C,CAAC;IAED;;;;OAIG;IACH,0CAAa,GAAb;QACE,IAAI,CAAC,aAAa,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;IACzC,CAAC;IAED;;;;OAIG;IACH,4CAAe,GAAf;QACE,IAAI,CAAC,aAAa,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;IAC1C,CAAC;IAED;;;;;;;;;;;;OAYG;IACH,wCAAW,GAAX;QACE,IAAI,CAAC,eAAe,EAAE,CAAC;QACvB,IAAI,CAAC,kBAAkB,EAAE,CAAC;IAC5B,CAAC;IAED;;;;OAIG;IAGH,2CAAc,GAAd;QACE,IAAI,CAAC,WAAW,EAAE,CAAC;IACrB,CAAC;IAED;;;;;;;;;;OAUG;IACH,+CAAkB,GAAlB,UACE,OAA6B,EAC7B,QAAqB,EACrB,UAAqC;QAFrC,uBAA6B,GAA7B,UAAiB,IAAI,CAAC,OAAO;QAC7B,wBAAqB,GAArB,YAAoB,CAAC;QACrB,0BAAqC,GAArC,aAAsB,IAAI,CAAC,UAAU;QAErC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC;YAAC,MAAM,CAAC;QAErB,IAAI,KAAK,GAAG,IAAI,CAAC,UAAU,CAAC;QAC5B,EAAE,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC;YACpB,KAAK,GAAG,KAAK,GAAG,sBAAc,CAAC;QACjC,CAAC;QAED,EAAE,CAAC,CAAC,IAAI,CAAC,UAAU,KAAK,kBAAU,CAAC,KAAK,CAAC,CAAC,CAAC;YACzC,6BAAqB,CAAC,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,UAAU,CAAC,CAAC;QAC9D,CAAC;QAAC,IAAI,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,UAAU,KAAK,kBAAU,CAAC,IAAI,CAAC,CAAC,CAAC;YAC/C,0BAAkB,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;QACrC,CAAC;QAED,MAAM,CAAC,OAAO,CAAC;IACjB,CAAC;IAED;;;;;OAKG;IACH,4CAAe,GAAf;QACE,6CAA4D,EAAtD,kBAAM,EAAE,gBAAK,CAA0C;QAC7D,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QAEpC,EAAE,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC;YACpB,EAAE,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC;gBAAC,MAAM,GAAG,MAAM,GAAG,IAAI,CAAC,YAAY,CAAC;YAC3D,EAAE,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC;gBAAC,MAAM,GAAG,MAAM,GAAG,IAAI,CAAC,YAAY,CAAC;YAC3D,IAAI,CAAC,UAAU,GAAG,MAAM,CAAC;QAC3B,CAAC;QAED,IAAI,CAAC,gBAAgB,EAAE,CAAC;IAC1B,CAAC;IAED;;;;;OAKG;IACH,6CAAgB,GAAhB;QACE,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,YAAY,EAAE,CAAC;QACpC,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,YAAY,EAAE,CAAC;IACtC,CAAC;IAED;;;;;;OAMG;IACH,uCAAU,GAAV,UAAW,EAAe;YAAb,kBAAM;QACjB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QAErB,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC;YACb,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,MAAM,EAAE,IAAI,CAAC,MAAM;SACpB,CAAC,CAAC;IACL,CAAC;IAED;;;;;;OAMG;IACH,yCAAY,GAAZ,UAAa,KAAiB;QAC5B,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC;QAC7B,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAC1B,CAAC;IAED;;;;;;OAMG;IACH,yCAAY,GAAZ,UAAa,KAAU;QACrB,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC,IAAI,GAAG,CAAC,CAAC;QAC7B,IAAI,CAAC,aAAa,CAAC,aAAa,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAE9C,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC;YACb,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,MAAM,EAAE,IAAI,CAAC,MAAM;SACpB,CAAC,CAAC;IACL,CAAC;IAED;;;;;;;OAOG;IACH,yCAAY,GAAZ,UAAa,GAAsB;QAAtB,mBAAsB,GAAtB,MAAa,IAAI,CAAC,IAAI;QACjC,iEAAiE;QACjE,uEAAuE;QACvE,iEAAiE;QACjE,EAAE,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC;YACpB,IAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC;YACzD,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;QAC3B,CAAC;QAED,oCAAoC;QACpC,EAAE,CAAC,CAAC,IAAI,CAAC,KAAK,KAAK,SAAS,CAAC;YAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC;QAEhD,2BAA2B;QAC3B,EAAE,EAAC,GAAG,CAAC;YAAC,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC;QAE1B,iBAAiB;QACjB,MAAM,CAAC,CAAC,CAAC;IACX,CAAC;IAED;;;;;;;OAOG;IACH,yCAAY,GAAZ,UAAa,GAAsB;QAAtB,mBAAsB,GAAtB,MAAa,IAAI,CAAC,IAAI;QACjC,EAAE,EAAC,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC;YACxB,EAAE,EAAC,CAAC,GAAG,CAAC;gBAAC,MAAM,CAAC,CAAC,CAAC;YAClB,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC;QACpB,CAAC;QAED,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC;IACpB,CAAC;IAED;;;;;;OAMG;IACH,2CAAc,GAAd,UAAe,EAAyB;YAAvB,kBAAM,EAAE,sBAAQ;QAC/B,IAAI,GAAW,CAAC;QAChB,IAAI,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,UAAC,CAAC,EAAE,CAAC;YAC/B,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;YAEzB,EAAE,EAAC,CAAC,CAAC,IAAI,KAAK,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;gBAC1B,GAAG,GAAG,CAAC,CAAC;gBACR,CAAC,CAAC,KAAK,GAAG,QAAQ,CAAC;gBAEnB,sCAAsC;gBACtC,yCAAyC;gBACzC,CAAC,CAAC,UAAU,GAAG,QAAQ,CAAC;YAC1B,CAAC;YAED,MAAM,CAAC,CAAC,CAAC;QACX,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,kBAAkB,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;QACnC,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;QAErB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC;YACf,cAAM;YACN,kBAAQ;SACT,CAAC,CAAC;IACL,CAAC;IAED;;;;;;OAMG;IACH,4CAAe,GAAf,UAAgB,EAAoC;YAAlC,kBAAM,EAAE,sBAAQ,EAAE,wBAAS;QAC3C,IAAI,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,WAAC;YAC3B,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;QAC9B,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC;QAC1B,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,EAAE,MAAM,CAAC,CAAC;QACjC,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;QAEpB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC;YAChB,cAAM;YACN,kBAAQ;YACR,oBAAS;SACV,CAAC,CAAC;IACL,CAAC;IAED;;;;;;OAMG;IACH,yCAAY,GAAZ,UAAa,KAAU;QACb,uBAAK,CAAW;QAExB,sDAAsD;QACtD,4CAA4C;QAC5C,EAAE,CAAC,CAAC,IAAI,CAAC,eAAe,KAAK,KAAK,CAAC,CAAC,CAAC;YACnC,6CAA6C;YAC7C,IAAI,CAAC,KAAK,GAAG,gBAAQ,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;QACxD,CAAC;QAED,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,IAAI,CAAC,aAAa,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC;QACpC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACxB,CAAC;IAED;;;;;;OAMG;IACH,2CAAc,GAAd,UAAe,KAAU;QACvB,0DAA0D;QAC1D,IAAM,WAAW,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,KAAK,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC;QAE9D,iCAAiC;QACjC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,EAAE,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;QAE9C,uBAAuB;QACvB,EAAE,EAAC,CAAC,WAAW,CAAC,CAAC,CAAC;YAChB,UAAI,CAAC,QAAQ,EAAC,IAAI,WAAI,IAAI,CAAC,IAAI,CAAC,CAAC;QACnC,CAAC;QAED,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC;YACf,QAAQ,EAAE,IAAI,CAAC,QAAQ;SACxB,CAAC,CAAC;;IACL,CAAC;IAED;;;;;;OAMG;IACH,yCAAY,GAAZ,UAAa,KAAU;QACrB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAC1B,CAAC;IA77BD;QAAC,YAAK,EAAE;;;kDAAA;IA4BR;QAAC,YAAK,EAAE;;;qDAAA;IA4BR;QAAC,YAAK,EAAE;;wDAAA;IAQR;QAAC,YAAK,EAAE;;0DAAA;IAQR;QAAC,YAAK,EAAE;;0DAAA;IASR;QAAC,YAAK,EAAE;;yDAAA;IASR;QAAC,YAAK,EAAE;;+DAAA;IASR;QAAC,YAAK,EAAE;;0DAAA;IASR;QAAC,YAAK,EAAE;;4DAAA;IASR;QAAC,YAAK,EAAE;;4DAAA;IASR;QAAC,YAAK,EAAE;;8DAAA;IASR;QAAC,YAAK,EAAE;;+DAAA;IASR;QAAC,YAAK,EAAE;;qDAAA;IASR;QAAC,YAAK,EAAE;;;mDAAA;IAyBR;QAAC,YAAK,EAAE;;sDAAA;IASR;QAAC,YAAK,EAAE;;gEAAA;IAgBR;QAAC,YAAK,EAAE;;6DAAA;IASR;QAAC,YAAK,EAAE;;2DAAA;IAQR;QAAC,YAAK,EAAE;;wDAAA;IASR;QAAC,YAAK,EAAE;;qDAAA;IAQR;QAAC,YAAK,EAAE;;iEAAA;IAQR;QAAC,YAAK,EAAE;;0DAAA;IAeR;QAAC,YAAK,EAAE;;wDAAA;IAiBR;QAAC,YAAK,EAAE;;2DAAA;IAaR;QAAC,YAAK,EAAE;;2DAAA;IASR;QAAC,YAAK,EAAE;;2DAAA;IAQR;QAAC,aAAM,EAAE;;sDAAA;IAQT;QAAC,aAAM,EAAE;;wDAAA;IAQT;QAAC,aAAM,EAAE;;sDAAA;IAQT;QAAC,aAAM,EAAE;;oDAAA;IAQT;QAAC,aAAM,EAAE;;oDAAA;IAQT;QAAC,aAAM,EAAE;;4DAAA;IAQT;QAAC,aAAM,EAAE;;uDAAA;IAQT;QAAC,aAAM,EAAE;;sDAAA;IAOT;QAAC,aAAM,EAAE;;8DAAA;IAST;QAAC,kBAAW,CAAC,oBAAoB,CAAC;;2DAAA;IAelC;QAAC,kBAAW,CAAC,iBAAiB,CAAC;;wDAAA;IAe/B;QAAC,kBAAW,CAAC,uBAAuB,CAAC;;0DAAA;IAarC;QAAC,kBAAW,CAAC,mBAAmB,CAAC;;yDAAA;IAYjC;QAAC,kBAAW,CAAC,kBAAkB,CAAC;;0DAAA;IAYhC;QAAC,kBAAW,CAAC,0BAA0B,CAAC;;iEAAA;IAYxC;QAAC,kBAAW,CAAC,sBAAsB,CAAC;;6DAAA;IAYpC;QAAC,kBAAW,CAAC,wBAAwB,CAAC;;+DAAA;IAYtC;QAAC,kBAAW,CAAC,uBAAuB,CAAC;;8DAAA;IAYrC;QAAC,kBAAW,CAAC,6BAA6B,CAAC;;mEAAA;IAW3C;QAAC,sBAAe,CAAC,kCAAwB,CAAC;;;6DAAA;IA+B1C;QAAC,mBAAY,CAAC,wCAA2B,CAAC;;;oEAAA;IAyB1C;QAAC,gBAAS,CAAC,6BAAsB,CAAC;;6DAAA;IA4HlC;QAAC,mBAAY,CAAC,eAAe,CAAC;QAC7B,oBAAY,CAAC,CAAC,CAAC;;;;4DAAA;IA7vBlB;QAAC,gBAAS,CAAC;YACT,QAAQ,EAAE,eAAe;YACzB,QAAQ,EAAE,m6EAiET;YACD,IAAI,EAAE;gBACJ,KAAK,EAAE,WAAW;aACnB;SACF,CAAC;;0BAAA;IAu8BF,yBAAC;AAAD,CAAC;AAt8BY,0BAAkB,qBAs8B9B;;;;;;;;;;;;;;;;;;;AC5hCD,iCAEO,CAAe,CAAC;AA0BvB;IAAA;QAYY,SAAI,GAAsB,IAAI,mBAAY,EAAE,CAAC;IAUzD,CAAC;IARC,sBAAI,+CAAS;aAAb;YACE,MAAM,CAAC,CAAC,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;QAC7C,CAAC;;;OAAA;IAED,sBAAI,6CAAO;aAAX;YACE,MAAM,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC;QACzB,CAAC;;;OAAA;IAlBD;QAAC,YAAK,EAAE;;kEAAA;IACR;QAAC,YAAK,EAAE;;8DAAA;IACR;QAAC,YAAK,EAAE;;8DAAA;IACR;QAAC,YAAK,EAAE;;4DAAA;IACR;QAAC,YAAK,EAAE;;wEAAA;IACR;QAAC,YAAK,EAAE;;yEAAA;IACR;QAAC,YAAK,EAAE;;uEAAA;IACR;QAAC,YAAK,EAAE;;mEAAA;IACR;QAAC,YAAK,EAAE;;kEAAA;IAER;QAAC,aAAM,EAAE;;0DAAA;IApCX;QAAC,gBAAS,CAAC;YACT,QAAQ,EAAE,kBAAkB;YAC5B,QAAQ,EAAE,4jBAgBT;YACD,IAAI,EAAE;gBACJ,KAAK,EAAE,kBAAkB;aAC1B;YACD,eAAe,EAAE,8BAAuB,CAAC,MAAM;SAChD,CAAC;;gCAAA;IAuBF,+BAAC;AAAD,CAAC;AAtBY,gCAAwB,2BAsBpC;;;;;;;;;;;;;AClDD,6BAAc,6CAAoB,CAAC;AACnC,6BAAc,4CAAmB,CAAC;;;;;;;;;;;;;;;;;;;ACDlC,iCAEO,CAAe,CAAC;AAmDvB;IAAA;QA0CY,WAAM,GAAsB,IAAI,mBAAY,EAAE,CAAC;QAEzD,WAAM,GAAW,CAAC,CAAC;QACnB,UAAK,GAAW,CAAC,CAAC;QAClB,UAAK,GAAW,CAAC,CAAC;IAqDpB,CAAC;IA3FC,sBAAI,yCAAI;aAKR;YACE,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC;QACpB,CAAC;aAPD,UAAS,GAAW;YAClB,IAAI,CAAC,KAAK,GAAG,GAAG,CAAC;YACjB,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC;QAChC,CAAC;;;OAAA;IAOD,sBAAI,0CAAK;aAKT;YACE,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC;QACrB,CAAC;aAPD,UAAU,GAAW;YACnB,IAAI,CAAC,MAAM,GAAG,GAAG,CAAC;YAClB,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC;QAChC,CAAC;;;OAAA;IAOD,sBAAI,yCAAI;aAKR;YACE,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC;QACpB,CAAC;aAPD,UAAS,GAAW;YAClB,IAAI,CAAC,KAAK,GAAG,GAAG,CAAC;YACjB,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC;QAChC,CAAC;;;OAAA;IAMD,sBAAI,+CAAU;aAAd;YACE,IAAM,KAAK,GAAG,IAAI,CAAC,IAAI,GAAG,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC;YACpE,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;QACjC,CAAC;;;OAAA;IASD,6CAAW,GAAX;QACE,MAAM,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,CAAC;IACvB,CAAC;IAED,yCAAO,GAAP;QACE,MAAM,CAAC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,UAAU,CAAC;IACrC,CAAC;IAED,0CAAQ,GAAR;QACE,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC;IACjC,CAAC;IAED,0CAAQ,GAAR;QACE,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC;IACjC,CAAC;IAED,4CAAU,GAAV,UAAW,IAAY;QACrB,EAAE,CAAC,CAAC,IAAI,GAAG,CAAC,IAAI,IAAI,IAAI,IAAI,CAAC,UAAU,IAAI,IAAI,KAAK,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;YAC9D,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;YAEjB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC;gBACf,UAAI;aACL,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAED,2CAAS,GAAT,UAAU,IAAa;QACrB,IAAI,KAAK,GAAG,EAAE,CAAC;QACf,IAAI,SAAS,GAAG,CAAC,CAAC;QAClB,IAAI,OAAO,GAAG,IAAI,CAAC,UAAU,CAAC;QAC9B,IAAI,OAAO,GAAG,CAAC,CAAC;QAChB,IAAM,UAAU,GAAG,OAAO,GAAG,IAAI,CAAC,UAAU,CAAC;QAE7C,IAAI,GAAG,IAAI,IAAI,IAAI,CAAC,IAAI,CAAC;QAEzB,EAAE,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC;YACf,SAAS,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC;YAC5D,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,SAAS,GAAG,OAAO,GAAG,CAAC,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;QAC/D,CAAC;QAED,GAAG,CAAC,CAAC,IAAI,GAAG,GAAG,SAAS,EAAE,GAAG,IAAI,OAAO,EAAE,GAAG,EAAE,EAAE,CAAC;YAChD,KAAK,CAAC,IAAI,CAAC;gBACT,MAAM,EAAE,GAAG;gBACX,IAAI,EAAe,GAAG;aACvB,CAAC,CAAC;QACL,CAAC;QAED,MAAM,CAAC,KAAK,CAAC;IACf,CAAC;IA/FD;QAAC,YAAK,EAAE;;uEAAA;IACR;QAAC,YAAK,EAAE;;wEAAA;IACR;QAAC,YAAK,EAAE;;sEAAA;IACR;QAAC,YAAK,EAAE;;kEAAA;IAER;QAAC,YAAK,EAAE;;;uDAAA;IAUR;QAAC,YAAK,EAAE;;;wDAAA;IAUR;QAAC,YAAK,EAAE;;;uDAAA;IAeR;QAAC,aAAM,EAAE;;2DAAA;IA3FX;QAAC,gBAAS,CAAC;YACT,QAAQ,EAAE,iBAAiB;YAC3B,QAAQ,EAAE,4oCAyCT;YACD,IAAI,EAAE;gBACJ,KAAK,EAAE,iBAAiB;aACzB;YACD,eAAe,EAAE,8BAAuB,CAAC,MAAM;SAChD,CAAC;;+BAAA;IAoGF,8BAAC;AAAD,CAAC;AAnGY,+BAAuB,0BAmGnC;;;;;;;;;;;;;;;;;;;ACxJD,iCAEO,CAAe,CAAC;AAEvB,kCAAuD,sBAAa,CAAC;AACrE,kCAA4B,sBAAa,CAAC;AAoC1C;IAAA;QAsBY,SAAI,GAAsB,IAAI,mBAAY,EAAE,CAAC;QAC7C,WAAM,GAAsB,IAAI,mBAAY,EAAE,CAAC;IA8E3D,CAAC;IAzFU,sBAAI,+CAAK;aAMlB;YACE,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC;QACrB,CAAC;aARQ,UAAU,GAAU;YAC3B,IAAI,CAAC,MAAM,GAAG,GAAG,CAAC;YAClB,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;YACrC,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACpD,CAAC;;;OAAA;IAUD,sBAAI,0DAAgB;aAApB;YACE,IAAI,GAAG,GAAG,uBAAuB,CAAC;YAElC,EAAE,EAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC;gBAAC,GAAG,IAAI,WAAW,CAAC;YAC5C,EAAE,EAAC,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC;gBAAC,GAAG,IAAI,aAAa,CAAC;YAChD,EAAE,EAAC,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC;gBAAC,GAAG,IAAI,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC;YAE/D,IAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC;YAC7B,EAAE,EAAC,OAAO,CAAC,CAAC,CAAC;gBACX,GAAG,IAAI,uBAAqB,OAAS,CAAC;YACxC,CAAC;YAED,MAAM,CAAC,GAAG,CAAC;QACb,CAAC;;;OAAA;IAGD,sBAAI,8CAAI;aAAR;YACE,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC;QAC9C,CAAC;;;OAAA;IAGD,sBAAI,kDAAQ;aAAZ;YACE,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC;QAC9B,CAAC;;;OAAA;IAGD,sBAAI,kDAAQ;aAAZ;YACE,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC;QAC9B,CAAC;;;OAAA;IAGD,sBAAI,+CAAK;aAAT;YACE,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC;QAC3B,CAAC;;;OAAA;IAED,sBAAI,wDAAc;aAAlB;YACE,MAAM;YACJ,IAAI,CAAC,MAAM,CAAC,YAAY;gBACxB,IAAI,CAAC,MAAM,CAAC,kBAAkB;gBAC9B,IAAI,CAAC,aAAa,KAAK,qBAAa,CAAC,QAAQ,CAAC;QAClD,CAAC;;;OAAA;IAMD,kDAAW,GAAX,UAAY,KAAY;QAAxB,iBAQC;QAPC,EAAE,EAAC,KAAK,IAAI,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;YACxB,IAAM,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC,UAAC,CAAM;gBAC7B,MAAM,CAAC,CAAC,CAAC,IAAI,KAAK,KAAI,CAAC,MAAM,CAAC,IAAI,CAAC;YACrC,CAAC,CAAC,CAAC;YAEH,EAAE,EAAC,IAAI,CAAC;gBAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC;QAC3B,CAAC;IACH,CAAC;IAED,6CAAM,GAAN;QACE,EAAE,EAAC,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC;YAAC,MAAM,CAAC;QAEjC,IAAM,QAAQ,GAAG,mBAAW,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;QAC1D,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC;YACb,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,SAAS,EAAE,IAAI,CAAC,OAAO;YACvB,kBAAQ;SACT,CAAC,CAAC;IACL,CAAC;IAED,oDAAa,GAAb,UAAc,OAAO;QACnB,EAAE,EAAC,OAAO,KAAK,qBAAa,CAAC,GAAG,CAAC,CAAC,CAAC;YACjC,MAAM,CAAC,cAAY,IAAI,CAAC,iBAAmB,CAAC;QAC9C,CAAC;QAAC,IAAI,CAAC,EAAE,EAAC,OAAO,KAAK,qBAAa,CAAC,IAAI,CAAC,CAAC,CAAC;YACzC,MAAM,CAAC,eAAa,IAAI,CAAC,kBAAoB,CAAC;QAChD,CAAC;IACH,CAAC;IAjGD;QAAC,YAAK,EAAE;;kEAAA;IACR;QAAC,YAAK,EAAE;;gEAAA;IACR;QAAC,YAAK,EAAE;;2EAAA;IACR;QAAC,YAAK,EAAE;;4EAAA;IACR;QAAC,YAAK,EAAE;;yEAAA;IACR;QAAC,YAAK,EAAE;;uEAAA;IAER;QAAC,kBAAW,CAAC,iBAAiB,CAAC;QAC9B,YAAK,EAAE;;sEAAA;IAER;QAAC,YAAK,EAAE;;;6DAAA;IAUR;QAAC,aAAM,EAAE;;8DAAA;IACT;QAAC,aAAM,EAAE;;gEAAA;IAET;QAAC,kBAAW,CAAC,OAAO,CAAC;;wEAAA;IAgBrB;QAAC,kBAAW,CAAC,YAAY,CAAC;;4DAAA;IAK1B;QAAC,kBAAW,CAAC,mBAAmB,CAAC;;gEAAA;IAKjC;QAAC,kBAAW,CAAC,mBAAmB,CAAC;;gEAAA;IAKjC;QAAC,kBAAW,CAAC,gBAAgB,CAAC;;6DAAA;IA1FhC;QAAC,gBAAS,CAAC;YACT,QAAQ,EAAE,uBAAuB;YACjC,QAAQ,EAAE,iyBA8BT;SACF,CAAC;;oCAAA;IAsGF,mCAAC;AAAD,CAAC;AArGY,oCAA4B,+BAqGxC;;;;;;;;;;;;;;;;;;;AC9ID,iCAEO,CAAe,CAAC;AACvB,kCAAwC,sBAAa,CAAC;AACtD,kCAA8E,sBAAa,CAAC;AA4C5F;IAAA;QAsCY,SAAI,GAAsB,IAAI,mBAAY,EAAE,CAAC;QAC7C,YAAO,GAAsB,IAAI,mBAAY,EAAE,CAAC;QAChD,WAAM,GAAsB,IAAI,mBAAY,EAAE,CAAC;QAC/C,WAAM,GAAsB,IAAI,mBAAY,EAAE,CAAC;IAmG3D,CAAC;IA9HU,sBAAI,kDAAY;aAQzB;YACE,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC;QAC5B,CAAC;aAVQ,UAAiB,GAAQ;YAChC,EAAE,EAAC,GAAG,KAAK,MAAM,CAAC,CAAC,CAAC;gBAClB,IAAI,CAAC,aAAa,GAAM,GAAG,OAAI,CAAC;YAClC,CAAC;YAAC,IAAI,CAAC,CAAC;gBACN,IAAI,CAAC,aAAa,GAAG,GAAG,CAAC;YAC3B,CAAC;QACH,CAAC;;;OAAA;IAMQ,sBAAI,6CAAO;aAQpB;YACE,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC;QACvB,CAAC;aAVQ,UAAY,GAAU;YAC7B,IAAI,CAAC,QAAQ,GAAG,GAAG,CAAC;YAEpB,IAAM,SAAS,GAAG,oBAAY,CAAC,GAAG,CAAC,CAAC;YACpC,IAAI,CAAC,YAAY,GAAG,uBAAe,CAAC,GAAG,CAAC,CAAC;YACzC,IAAI,CAAC,iBAAiB,GAAG,yBAAiB,CAAC,SAAS,EAAE,GAAG,CAAC,CAAC;QAC7D,CAAC;;;OAAA;IAiBD,sBAAI,iDAAW;aAAf;YACE,EAAE,EAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC;gBACnB,MAAM,CAAC,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;YAChC,CAAC;YAED,MAAM,CAAC,MAAM,CAAC;QAChB,CAAC;;;OAAA;IAED,gDAAa,GAAb,UAAc,KAAa,EAAE,QAAa;QACxC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC;IACvB,CAAC;IAED,mDAAgB,GAAhB,UAAiB,KAAa,EAAE,MAAW;QACzC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC;IACrB,CAAC;IAED,kDAAe,GAAf,UAAgB,KAAa,EAAE,MAAgC;QAC7D,EAAE,CAAC,CAAC,KAAK,IAAI,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC;YAC7B,KAAK,GAAG,MAAM,CAAC,QAAQ,CAAC;QAC1B,CAAC;QAAC,IAAI,CAAC,EAAE,EAAC,KAAK,IAAI,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC;YACnC,KAAK,GAAG,MAAM,CAAC,QAAQ,CAAC;QAC1B,CAAC;QAED,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC;YACf,cAAM;YACN,SAAS,EAAE,MAAM,CAAC,KAAK;YACvB,QAAQ,EAAE,KAAK;SAChB,CAAC,CAAC;IACL,CAAC;IAED,oDAAiB,GAAjB,UAAkB,EAAmC;YAAjC,wBAAS,EAAE,sBAAQ,EAAE,gBAAK;QAC5C,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC;YAChB,MAAM,EAAE,KAAK;YACb,SAAS,EAAE,SAAS;YACpB,QAAQ,EAAE,QAAQ;SACnB,CAAC,CAAC;IACL,CAAC;IAED,yCAAM,GAAN,UAAO,EAAoC;YAAlC,kBAAM,EAAE,wBAAS,EAAE,sBAAQ;QAClC,IAAM,KAAK,GAAG,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE,SAAS,EAAE,QAAQ,CAAC,CAAC;QAC7D,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC;YACb,YAAK;YACL,cAAM;YACN,oBAAS;YACT,kBAAQ;SACT,CAAC,CAAC;IACL,CAAC;IAED,+CAAY,GAAZ,UAAa,MAAW,EAAE,SAAiB,EAAE,QAAgB;QAC3D,IAAI,GAAG,GAAG,CAAC,CAAC;QAEZ,IAAI,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,UAAC,CAAC,EAAE,CAAC;YAC9B,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;YACzB,EAAE,EAAC,CAAC,CAAC,IAAI,KAAK,MAAM,CAAC,IAAI,CAAC;gBAAC,GAAG,GAAG,CAAC,CAAC;YACnC,MAAM,CAAC,CAAC,CAAC;QACX,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC;YAC3B,KAAK,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;QACvB,CAAC;QAAC,IAAI,CAAC,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC;YACrB,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,GAAG,QAAQ,CAAC;QAC5B,CAAC;QAAC,IAAI,CAAC,CAAC;YACN,EAAE,CAAC,CAAC,IAAI,CAAC,QAAQ,KAAK,gBAAQ,CAAC,MAAM,CAAC,CAAC,CAAC;gBACtC,KAAK,CAAC,MAAM,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;YACrC,CAAC;YAED,KAAK,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC;QACnD,CAAC;QAED,MAAM,CAAC,KAAK,CAAC;IACf,CAAC;IAED,gDAAa,GAAb,UAAc,KAAa;QACzB,IAAM,MAAM,GAAG,IAAI,CAAC,iBAAiB,CAAC;QACtC,IAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC;QAE7B,IAAI,MAAM,GAAG;YACX,KAAK,EAAK,MAAM,CAAC,KAAK,CAAC,OAAI;SAC5B,CAAC;QAEF,EAAE,EAAC,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC;YACtB,mBAAW,CAAC,MAAM,EAAE,OAAO,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QACvC,CAAC;QAAC,IAAI,CAAC,EAAE,EAAC,KAAK,KAAK,OAAO,CAAC,CAAC,CAAC;YAC5B,IAAM,SAAS,GAAG,MAAM,CAAC,KAAK,GAAG,IAAI,CAAC,UAAU,CAAC;YACjD,IAAM,MAAM,GAAG,SAAS,GAAG,CAAC,CAAC,CAAC;YAC9B,mBAAW,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC;QACjC,CAAC;QAED,MAAM,CAAC,MAAM,CAAC;IAChB,CAAC;IAxID;QAAC,YAAK,EAAE;;uEAAA;IACR;QAAC,YAAK,EAAE;;wEAAA;IACR;QAAC,YAAK,EAAE;;gEAAA;IACR;QAAC,YAAK,EAAE;;gEAAA;IACR;QAAC,YAAK,EAAE;;6DAAA;IACR;QAAC,YAAK,EAAE;;2DAAA;IACR;QAAC,YAAK,EAAE;;8DAAA;IACR;QAAC,YAAK,EAAE;;qEAAA;IACR;QAAC,YAAK,EAAE;;mEAAA;IACR;QAAC,YAAK,EAAE;;iEAAA;IAER;QAAC,kBAAW,CAAC,cAAc,CAAC;QAC3B,YAAK,EAAE;;;gEAAA;IAYR;QAAC,YAAK,EAAE;;;2DAAA;IAYR;QAAC,aAAM,EAAE;;0DAAA;IACT;QAAC,aAAM,EAAE;;6DAAA;IACT;QAAC,aAAM,EAAE;;4DAAA;IACT;QAAC,aAAM,EAAE;;4DAAA;IAOT;QAAC,kBAAW,CAAC,aAAa,CAAC;;+DAAA;IAzF7B;QAAC,gBAAS,CAAC;YACT,QAAQ,EAAE,kBAAkB;YAC5B,QAAQ,EAAE,wwCAkCT;YACD,IAAI,EAAE;gBACJ,KAAK,EAAE,kBAAkB;aAC1B;SACF,CAAC;;gCAAA;IA6IF,+BAAC;AAAD,CAAC;AA5IY,gCAAwB,2BA4IpC;;;;;;;;;;;;;AC5LD,6BAAc,6CAAoB,CAAC;AACnC,6BAAc,kDAAyB,CAAC;;;;;;;;;;;;;ACDxC,6BAAc,yCAAuB,CAAC;AAEtC,6BAAc,kCAAU,CAAC;AACzB,6BAAc,gCAAQ,CAAC;AACvB,6BAAc,kCAAU,CAAC;AAEzB,6BAAc,mCAAW,CAAC;AAC1B,6BAAc,sCAAc,CAAC;;;;;;;;;;;;;ACP7B,6BAAc,qDAAwB,CAAC;AACvC,6BAAc,8DAAiC,CAAC;;;;;;;;;;;;;;;;;;;ACDhD,iCAAuC,CAAe,CAAC;AAKvD;IACE,6CAAmB,QAA0B;QAA1B,aAAQ,GAAR,QAAQ,CAAkB;IAAI,CAAC;;IAJpD;QAAC,gBAAS,CAAC;YACT,QAAQ,EAAE,qCAAqC;SAChD,CAAC;;2CAAA;IAGF,0CAAC;AAAD,CAAC;AAFY,2CAAmC,sCAE/C;;;;;;;;;;;;;;;;;;;ACPD,iCAAqD,CAAe,CAAC;AACrE,0DAAoD,8DAAiC,CAAC;AAGtF;IAAA;IASA,CAAC;IAJC,sBAAI,0DAAiB;aAArB;YACE,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC;QACvB,CAAC;;;OAAA;IALD;QAAC,mBAAY,CAAC,mEAAmC,EAAE,EAAE,IAAI,EAAE,kBAAW,EAAE,CAAC;;iEAAA;IAH3E;QAAC,gBAAS,CAAC,EAAE,QAAQ,EAAE,0BAA0B,EAAE,CAAC;;mCAAA;IAUpD,kCAAC;AAAD,CAAC;AATY,mCAA2B,8BASvC;;;;;;;;;;;;;;;;;;;ACbD,iCAAyB,CAAe,CAAC;AACzC,mCAA6B,CAAiB,CAAC;AAC/C,oBAAO,iDAA+B,CAAC;AAEvC,uCAkBO,2BAAc,CAAC;AAEtB,uCAMO,2BAAc,CAAC;AAuCtB;IAAA;IAAkC,CAAC;IArCnC;QAAC,eAAQ,CAAC;YACR,OAAO,EAAE;gBACP,qBAAY;aACb;YACD,YAAY,EAAE;gBACZ,gCAAmB;gBACnB,+BAAkB;gBAClB,gCAAmB;gBACnB,+BAAkB;gBAClB,+BAAkB;gBAClB,8BAAiB;gBACjB,+BAAkB;gBAClB,qCAAwB;gBACxB,qCAAwB;gBACxB,yCAA4B;gBAC5B,mCAAsB;gBACtB,qCAAwB;gBACxB,oCAAuB;gBACvB,iCAAoB;gBACpB,sCAAyB;gBACzB,yCAA4B;gBAC5B,wCAA2B;gBAC3B,gDAAmC;gBACnC,uCAA0B;gBAC1B,wCAA2B;gBAC3B,2CAA8B;gBAC9B,yCAA4B;aAC7B;YACD,OAAO,EAAE;gBACP,+BAAkB;gBAClB,wCAA2B;gBAC3B,gDAAmC;gBACnC,qCAAwB;gBACxB,2CAA8B;gBAC9B,yCAA4B;aAC7B;SACF,CAAC;;0BAAA;IACgC,yBAAC;AAAD,CAAC;AAAtB,0BAAkB,qBAAI;;;;;;;;;;;;;;;;;;;ACrEnC,iCAEO,CAAe,CAAC;AACvB,uCAA2B,mCAAiB,CAAC;AAG7C;;;;;;;GAOG;AAEH;IAcE,4BAAY,OAAmB;QAXtB,UAAK,GAAY,IAAI,CAAC;QACtB,UAAK,GAAY,IAAI,CAAC;QAErB,cAAS,GAAsB,IAAI,mBAAY,EAAE,CAAC;QAClD,aAAQ,GAAsB,IAAI,mBAAY,EAAE,CAAC;QACjD,YAAO,GAAsB,IAAI,mBAAY,EAAE,CAAC;QAG1D,eAAU,GAAY,KAAK,CAAC;QAI1B,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC,aAAa,CAAC;IACvC,CAAC;IAED,wCAAW,GAAX;QACE,EAAE,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC;YACtB,IAAI,CAAC,YAAY,CAAC,WAAW,EAAE,CAAC;QAClC,CAAC;IACH,CAAC;IAGD,sCAAS,GAAT,UAAU,KAAiB;QACzB,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC;QACxB,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;QAE1C,EAAE,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC;YACtB,IAAI,CAAC,YAAY,CAAC,WAAW,EAAE,CAAC;YAChC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC;gBAChB,YAAK;gBACL,OAAO,EAAE,IAAI,CAAC,OAAO;gBACrB,KAAK,EAAE,IAAI,CAAC,SAAS;aACtB,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAGD,wCAAW,GAAX,UAAY,KAAiB;QAA7B,iBAeC;QAdC,EAAE,CAAC,CAAgB,KAAK,CAAC,MAAO,CAAC,SAAS,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;YACjE,KAAK,CAAC,cAAc,EAAE,CAAC;YACvB,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;YAEvB,IAAM,cAAY,GAAG,EAAE,CAAC,EAAE,KAAK,CAAC,OAAO,EAAE,CAAC,EAAE,KAAK,CAAC,OAAO,EAAE,CAAC;YAC5D,IAAI,CAAC,YAAY,GAAG,uBAAU,CAAC,SAAS,CAAC,QAAQ,EAAE,WAAW,CAAC;iBAC5D,SAAS,CAAC,UAAC,EAAc,IAAK,YAAI,CAAC,IAAI,CAAC,EAAE,EAAE,cAAY,CAAC,EAA3B,CAA2B,CAAC,CAAC;YAE9D,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC;gBAClB,YAAK;gBACL,OAAO,EAAE,IAAI,CAAC,OAAO;gBACrB,KAAK,EAAE,IAAI,CAAC,SAAS;aACtB,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAED,iCAAI,GAAJ,UAAK,KAAiB,EAAE,YAAqC;QAC3D,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC;YAAC,MAAM,CAAC;QAE3B,IAAM,CAAC,GAAG,KAAK,CAAC,OAAO,GAAG,YAAY,CAAC,CAAC,CAAC;QACzC,IAAM,CAAC,GAAG,KAAK,CAAC,OAAO,GAAG,YAAY,CAAC,CAAC,CAAC;QAEzC,EAAE,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC;YAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,GAAM,CAAC,OAAI,CAAC;QACnD,EAAE,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC;YAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,GAAM,CAAC,OAAI,CAAC;QAElD,EAAE,CAAC,CAAC,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;YAC7B,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;YAEvC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC;gBACjB,YAAK;gBACL,OAAO,EAAE,IAAI,CAAC,OAAO;gBACrB,KAAK,EAAE,IAAI,CAAC,SAAS;aACtB,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAzED;QAAC,YAAK,EAAE;;yDAAA;IACR;QAAC,YAAK,EAAE;;qDAAA;IACR;QAAC,YAAK,EAAE;;qDAAA;IAER;QAAC,aAAM,EAAE;;yDAAA;IACT;QAAC,aAAM,EAAE;;wDAAA;IACT;QAAC,aAAM,EAAE;;uDAAA;IAgBT;QAAC,mBAAY,CAAC,kBAAkB,EAAE,CAAC,QAAQ,CAAC,CAAC;;;;uDAAA;IAe7C;QAAC,mBAAY,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,CAAC;;;;yDAAA;IAxCxC;QAAC,gBAAS,CAAC,EAAE,QAAQ,EAAE,aAAa,EAAE,CAAC;;0BAAA;IA8EvC,yBAAC;AAAD,CAAC;AA7EY,0BAAkB,qBA6E9B;;;;;;;;;;;;;AC5FD,6BAAc,yCAAuB,CAAC;AACtC,6BAAc,0CAAwB,CAAC;AACvC,6BAAc,yCAAuB,CAAC;AACtC,6BAAc,0CAAwB,CAAC;AACvC,6BAAc,0CAAwB,CAAC;;;;;;;;;;;;;;;;;;;ACJvC,iCAOO,CAAe,CAAC;AAGvB;IAAA;QAEW,aAAQ,GAAW,GAAG,CAAC;QAEtB,cAAS,GAAsB,IAAI,mBAAY,EAAE,CAAC;QAClD,iBAAY,GAAsB,IAAI,mBAAY,EAAE,CAAC;QACrD,iBAAY,GAAsB,IAAI,mBAAY,EAAE,CAAC;QAK/D,WAAM,GAAW,CAAC,CAAC;QACnB,WAAM,GAAW,CAAC,CAAC;IA2DrB,CAAC;IAxDC,sBAAI,qCAAK;aAAT,cAAuB,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC;;;OAAA;IAG9C,sBAAI,2CAAW;aAAf,cAA6B,MAAM,CAAC,IAAI,CAAC,cAAc,EAAC,CAAC;;;OAAA;IAGzD,wCAAW,GAAX,UAAY,KAAiB;QAA7B,iBAiBC;QAhBC,+BAA+B;QAC/B,EAAE,EAAC,KAAK,CAAC,KAAK,KAAK,CAAC,CAAC;YAAC,MAAM,CAAC;QAE7B,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC,OAAO,CAAC;QAC5B,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC,OAAO,CAAC;QAE5B,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;QACrB,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC;QAE5B,IAAI,CAAC,OAAO,GAAG,UAAU,CAAC;YACxB,KAAI,CAAC,cAAc,GAAG,IAAI,CAAC;YAC3B,KAAI,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YAC3B,KAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACnB,CAAC,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;QAElB,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACnB,CAAC;IAGD,wCAAW,GAAX,UAAY,KAAiB;QAC3B,EAAE,EAAC,IAAI,CAAC,QAAQ,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC;YACzC,IAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,OAAO,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC;YAC1D,IAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,OAAO,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC;YAE1D,EAAE,EAAC,MAAM,IAAI,MAAM,CAAC,CAAC,CAAC;gBACpB,IAAI,CAAC,QAAQ,EAAE,CAAC;YAClB,CAAC;QACH,CAAC;IACH,CAAC;IAED,iCAAI,GAAJ,UAAK,KAAY;QAAjB,iBAOC;QANC,EAAE,EAAC,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC;YACvB,IAAI,CAAC,OAAO,GAAG,UAAU,CAAC;gBACxB,KAAI,CAAC,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;gBAC9B,KAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YACnB,CAAC,EAAE,EAAE,CAAC,CAAC;QACT,CAAC;IACH,CAAC;IAED,qCAAQ,GAAR;QACE,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAC3B,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC;QAC5B,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;QACtB,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC/B,CAAC;IAGD,sCAAS,GAAT,cAAoB,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC;IAnEtC;QAAC,YAAK,EAAE;;wDAAA;IAER;QAAC,aAAM,EAAE;;yDAAA;IACT;QAAC,aAAM,EAAE;;4DAAA;IACT;QAAC,aAAM,EAAE;;4DAAA;IAQT;QAAC,kBAAW,CAAC,aAAa,CAAC;;mDAAA;IAG3B;QAAC,kBAAW,CAAC,iBAAiB,CAAC;;yDAAA;IAG/B;QAAC,mBAAY,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,CAAC;;;;yDAAA;IAoBtC;QAAC,mBAAY,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,CAAC;;;;yDAAA;IA4BtC;QAAC,mBAAY,CAAC,SAAS,CAAC;;;;uDAAA;IArE1B;QAAC,gBAAS,CAAC,EAAE,QAAQ,EAAE,cAAc,EAAE,CAAC;;0BAAA;IAwExC,yBAAC;AAAD,CAAC;AAvEY,0BAAkB,qBAuE9B;;;;;;;;;;;;;;;;;;;ACjFD,iCAGO,CAAe,CAAC;AAEvB,gDAAmC,yCAAuB,CAAC;AAG3D;IAUE,4BAAY,OAAwB;QAR1B,YAAO,GAAsB,IAAI,mBAAY,EAAE,CAAC;QASxD,IAAI,CAAC,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IAC9C,CAAC;IAED,+CAAkB,GAAlB;QACE,+BAA+B;QAC/B,IAAI,CAAC,mBAAmB,EAAE,CAAC;QAC3B,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,SAAS,CAC7B,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;IAC3C,CAAC;IAED,wCAAW,GAAX;QACE,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,WAAC;YACvB,CAAC,CAAC,SAAS,CAAC,WAAW,EAAE,CAAC;YAC1B,CAAC,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC;QAC1B,CAAC,CAAC,CAAC;IACL,CAAC;IAED,gDAAmB,GAAnB;QAAA,iBAwBC;QAvBC,IAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE,CAAC,CAAC;QAE1D,EAAE,EAAC,KAAK,CAAC,CAAC,CAAC;YACT,IAAM,SAAS,GAAG,UAAC,EAAoC;oBAAlC,8BAAY,EAAE,gCAAa;gBAC9C,aAAW,CAAC,EAAE,4BAAa,EAAE,CAAC,CAAC;gBAE/B,EAAE,EAAC,YAAY,CAAC,CAAC,CAAC;oBAChB,YAAY,CAAC,SAAS,CAAC,SAAS,CAAC,KAAI,CAAC,WAAW,CAAC,IAAI,CAAC,KAAI,CAAC,CAAC,CAAC;oBAC9D,YAAY,CAAC,OAAO,CAAC,SAAS,CAAC,KAAI,CAAC,SAAS,CAAC,IAAI,CAAC,KAAI,CAAC,CAAC,CAAC;gBAC5D,CAAC;YACH,CAAC,CAAC;YAEF,IAAM,aAAW,GAAG,UAAC,EAAsB;oBAApB,gCAAa;gBAClC,EAAE,EAAC,aAAa,CAAC,CAAC,CAAC;oBACjB,aAAa,CAAC,SAAS,CAAC,WAAW,EAAE,CAAC;oBACtC,aAAa,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC;gBACtC,CAAC;YACH,CAAC,CAAC;YAEF,KAAK,CAAC,gBAAgB,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;YAC7C,KAAK,CAAC,kBAAkB,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;YAC/C,KAAK,CAAC,kBAAkB,CAAC,aAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QACnD,CAAC;IACH,CAAC;IAED,wCAAW,GAAX;QACE,IAAI,CAAC,SAAS,GAAG,EAAE,CAAC;QAEpB,IAAI,CAAC,GAAG,CAAC,CAAC;QACV,GAAG,EAAgB,UAAyB,EAAzB,SAAI,CAAC,UAAU,CAAC,OAAO,EAAE,EAAzB,cAAyB,EAAzB,IAAyB,CAAC;YAAzC,IAAI,OAAO;YACb,IAAI,GAAG,GAAG,OAAO,CAAC,OAAO,CAAC;YAC1B,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,GAAI;gBACxC,IAAI,EAAE,QAAQ,CAAC,GAAG,CAAC,UAAU,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;gBAC5C,KAAK,EAAE,CAAC,EAAE;aACX,CAAC;SACH;IACH,CAAC;IAED,sCAAS,GAAT,UAAU,EAAuB;YAArB,oBAAO,EAAE,gBAAK;QACxB,IAAM,MAAM,GAAG,QAAQ,CAAC,OAAO,CAAC,UAAU,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,CAAC;QAC1D,IAAM,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAE3C,IAAI,CAAC,GAAG,CAAC,CAAC;QACV,GAAG,EAAC,IAAI,IAAI,IAAI,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC;YAC/B,IAAI,GAAG,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;YAE/B,IAAI,SAAS,GAAG,MAAM,GAAG,GAAG,CAAC,IAAI,IAAI,OAAO,CAAC,IAAI,GAAG,GAAG,CAAC,IAAI,CAAC;YAC7D,IAAI,UAAU,GAAG,MAAM,GAAG,GAAG,CAAC,IAAI,IAAI,OAAO,CAAC,IAAI,GAAG,GAAG,CAAC,IAAI,CAAC;YAE9D,EAAE,EAAC,SAAS,IAAI,UAAU,CAAC,CAAC,CAAC;gBAC3B,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC;oBAChB,SAAS,EAAE,OAAO,CAAC,KAAK;oBACxB,QAAQ,EAAE,CAAC;oBACX,YAAK;iBACN,CAAC,CAAC;YACL,CAAC;YAED,CAAC,EAAE,CAAC;QACN,CAAC;QAED,OAAO,CAAC,KAAK,CAAC,IAAI,GAAG,MAAM,CAAC;IAC9B,CAAC;IAxFD;QAAC,aAAM,EAAE;;uDAAA;IAET;QAAC,sBAAe,CAAC,wCAAkB,EAAE,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC;;0DAAA;IAL7D;QAAC,gBAAS,CAAC,EAAE,QAAQ,EAAE,aAAa,EAAE,CAAC;;0BAAA;IA6FvC,yBAAC;AAAD,CAAC;AA5FY,0BAAkB,qBA4F9B;;;;;;;;;;;;;;;;;;;ACpGD,iCAEO,CAAe,CAAC;AACvB,uCAA2B,mCAAiB,CAAC;AAS7C;IAYE,6BAAY,OAAmB;QAVtB,kBAAa,GAAY,IAAI,CAAC;QAI7B,WAAM,GAAsB,IAAI,mBAAY,EAAE,CAAC;QAIzD,aAAQ,GAAY,KAAK,CAAC;QAGxB,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC,aAAa,CAAC;QAErC,EAAE,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC;YACvB,IAAM,IAAI,GAAG,QAAQ,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;YAC5C,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC;YACpC,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;QACjC,CAAC;IACH,CAAC;IAED,yCAAW,GAAX;QACE,EAAE,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC;YACtB,IAAI,CAAC,YAAY,CAAC,WAAW,EAAE,CAAC;QAClC,CAAC;IACH,CAAC;IAGD,uCAAS,GAAT;QACE,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;QAEtB,EAAE,CAAC,CAAC,IAAI,CAAC,YAAY,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC;YACnD,IAAI,CAAC,YAAY,CAAC,WAAW,EAAE,CAAC;YAChC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;QAC7C,CAAC;IACH,CAAC;IAGD,yCAAW,GAAX,UAAY,KAAiB;QAA7B,iBAYC;QAXC,IAAM,QAAQ,GAAiB,CAAC,KAAK,CAAC,MAAM,CAAE,CAAC,SAAS,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC;QACnF,IAAM,YAAY,GAAG,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC;QAC9C,IAAM,gBAAgB,GAAG,KAAK,CAAC,OAAO,CAAC;QAEvC,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC;YACb,KAAK,CAAC,eAAe,EAAE,CAAC;YACxB,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;YAErB,IAAI,CAAC,YAAY,GAAG,uBAAU,CAAC,SAAS,CAAC,QAAQ,EAAE,WAAW,CAAC;iBAC5D,SAAS,CAAC,UAAC,CAAa,IAAK,YAAI,CAAC,IAAI,CAAC,CAAC,EAAE,YAAY,EAAE,gBAAgB,CAAC,EAA5C,CAA4C,CAAC,CAAC;QAChF,CAAC;IACH,CAAC;IAED,kCAAI,GAAJ,UAAK,KAAiB,EAAE,YAAoB,EAAE,gBAAwB;QACpE,IAAM,SAAS,GAAG,KAAK,CAAC,OAAO,GAAG,gBAAgB,CAAC;QACnD,IAAM,QAAQ,GAAG,YAAY,GAAG,SAAS,CAAC;QAE1C,IAAM,YAAY,GAAG,CAAC,IAAI,CAAC,QAAQ,IAAI,QAAQ,IAAI,IAAI,CAAC,QAAQ,CAAC;QACjE,IAAM,aAAa,GAAG,CAAC,IAAI,CAAC,QAAQ,IAAI,QAAQ,IAAI,IAAI,CAAC,QAAQ,CAAC;QAElE,EAAE,CAAC,CAAC,YAAY,IAAI,aAAa,CAAC,CAAC,CAAC;YAClC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,GAAM,QAAQ,OAAI,CAAC;QAC7C,CAAC;IACH,CAAC;IA7DD;QAAC,YAAK,EAAE;;8DAAA;IACR;QAAC,YAAK,EAAE;;yDAAA;IACR;QAAC,YAAK,EAAE;;yDAAA;IAER;QAAC,aAAM,EAAE;;uDAAA;IAsBT;QAAC,mBAAY,CAAC,kBAAkB,CAAC;;;;wDAAA;IAUjC;QAAC,mBAAY,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,CAAC;;;;0DAAA;IA5CxC;QAAC,gBAAS,CAAC;YACT,QAAQ,EAAE,cAAc;YACxB,IAAI,EAAE;gBACJ,oBAAoB,EAAE,eAAe;aACtC;SACF,CAAC;;2BAAA;IAkEF,0BAAC;AAAD,CAAC;AAjEY,2BAAmB,sBAiE/B;;;;;;;;;;;;;;;;;;;AC7ED,iCAEO,CAAe,CAAC;AAEvB;;;;;;;;;;GAUG;AAEH;IASE,6BAAoB,OAAmB,EAAU,IAAY;QAAzC,YAAO,GAAP,OAAO,CAAY;QAAU,SAAI,GAAJ,IAAI,CAAQ;QAN7D,cAAS,GAAY,KAAK,CAAC;QAEjB,YAAO,GAAsB,IAAI,mBAAY,EAAE,CAAC;IAIO,CAAC;IAElE,sCAAQ,GAAR;QACE,IAAI,CAAC,QAAQ,EAAE,CAAC;IAClB,CAAC;IAED,yCAAW,GAAX;QACE,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IAC7B,CAAC;IAED,gDAAkB,GAAlB;QAAA,iBAMC;QALC,kCAAkC;QAClC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC;YACZ,KAAI,CAAC,SAAS,GAAG,IAAI,CAAC;YACtB,KAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC1B,CAAC,CAAC,CAAC;IACL,CAAC;IAED,sCAAQ,GAAR;QAAA,iBAiBC;QAhBC,IAAM,KAAK,GAAG;YACZ,kDAAkD;YAClD,oCAAgE,EAAxD,8BAAY,EAAE,4BAAW,CAAgC;YAEjE,EAAE,CAAC,CAAC,YAAY,IAAI,WAAW,CAAC,CAAC,CAAC;gBAChC,YAAY,CAAC,KAAI,CAAC,OAAO,CAAC,CAAC;gBAC3B,KAAI,CAAC,kBAAkB,EAAE,CAAC;YAC5B,CAAC;YAAC,IAAI,CAAC,CAAC;gBACN,YAAY,CAAC,KAAI,CAAC,OAAO,CAAC,CAAC;gBAC3B,KAAI,CAAC,IAAI,CAAC,iBAAiB,CAAC;oBAC1B,KAAI,CAAC,OAAO,GAAG,UAAU,CAAC,cAAM,YAAK,EAAE,EAAP,CAAO,EAAE,EAAE,CAAC,CAAC;gBAC/C,CAAC,CAAC,CAAC;YACL,CAAC;QACH,CAAC,CAAC;QAEF,UAAU,CAAC,cAAM,YAAK,EAAE,EAAP,CAAO,CAAC,CAAC;IAC5B,CAAC;IA1CD;QAAC,kBAAW,CAAC,eAAe,CAAC;;0DAAA;IAG7B;QAAC,aAAM,EAAE;;wDAAA;IANX;QAAC,gBAAS,CAAC,EAAE,QAAQ,EAAE,uBAAuB,EAAE,CAAC;;2BAAA;IA+CjD,0BAAC;AAAD,CAAC;AA9CY,2BAAmB,sBA8C/B;;;;;;;;;;;;;AC9DD,6BAAc,2BACd,CAAC,EADiC;AAClC,6BAAc,sBAAS,CAAC;AACxB,6BAAc,2BAAc,CAAC;;;;;;;;;;ACF7B,WAAY,SAAS;IACnB,gCAAS,QAAe;IACxB,gCAAS,QAAe;AAC1B,CAAC,EAHW,iBAAS,KAAT,iBAAS,QAGpB;AAHD,IAAY,SAAS,GAAT,iBAGX;;;;;;;;;;ACHD,WAAY,UAAU;IACpB,oCAAW,UAAiB;IAC5B,gCAAO,MAAa;IACpB,iCAAQ,OAAc;AACxB,CAAC,EAJW,kBAAU,KAAV,kBAAU,QAIrB;AAJD,IAAY,UAAU,GAAV,kBAIX;;;;;;;;;;;;;ACJD,6BAAc,iCAAoB,CAAC;AACnC,6BAAc,0BAAa,CAAC;AAC5B,6BAAc,oCAAuB,CAAC;AACtC,6BAAc,+BAAkB,CAAC;AACjC,6BAAc,2BAAc,CAAC;;;;;;;;;;ACJ7B,WAAY,aAAa;IACvB,wCAAS,QAAe;IACxB,uCAAQ,OAAc;IACtB,4CAAa,YAAmB;IAChC,sCAAO,MAAa;IACpB,0CAAW,UAAiB;AAC9B,CAAC,EANW,qBAAa,KAAb,qBAAa,QAMxB;AAND,IAAY,aAAa,GAAb,qBAMX;;;;;;;;;;ACND,WAAY,aAAa;IACvB,qCAAM,KAAY;IAClB,sCAAO,MAAa;AACtB,CAAC,EAHW,qBAAa,KAAb,qBAAa,QAGxB;AAHD,IAAY,aAAa,GAAb,qBAGX;;;;;;;;;;ACHD,WAAY,QAAQ;IAClB,8BAAS,QAAe;IACxB,6BAAQ,OAAc;AACxB,CAAC,EAHW,gBAAQ,KAAR,gBAAQ,QAGnB;AAHD,IAAY,QAAQ,GAAR,gBAGX;;;;;;;;;;ACHD;;;;;GAKG;AACH,mBAA0B,GAAW;IACnC,0CAA0C;IAC1C,GAAG,GAAG,GAAG,CAAC,OAAO,CAAC,gBAAgB,EAAE,GAAG,CAAC,CAAC;IACzC,yCAAyC;IACzC,GAAG,GAAG,GAAG,CAAC,OAAO,CAAC,mBAAmB,EAAE,KAAK,CAAC,CAAC;IAE9C,kDAAkD;IAClD,GAAG,GAAG,GAAG,CAAC,OAAO,CAAC,0BAA0B,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IAEvE,qDAAqD;IACrD,GAAG,GAAG,GAAG,CAAC,OAAO,CAAC,sBAAsB,EAAE,UAAS,CAAC,EAAE,CAAC,EAAE,CAAC;QACxD,MAAM,CAAC,CAAC,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC,WAAW,EAAE,CAAC;IACpC,CAAC,CAAC,CAAC;IAEH,MAAM,CAAC,GAAG,CAAC;AACb,CAAC;AAfe,iBAAS,YAexB;AAED;;;;;;;GAOG;AACH,qBAA4B,GAAW;IACrC,MAAM,CAAC,GAAG;SACP,OAAO,CAAC,UAAU,EAAE,UAAC,KAAK,IAAK,cAAI,KAAK,CAAE,EAAX,CAAW,CAAC;SAC3C,OAAO,CAAC,IAAI,EAAE,UAAC,KAAK,IAAK,YAAK,CAAC,WAAW,EAAE,EAAnB,CAAmB,CAAC,CAAC;AACnD,CAAC;AAJe,mBAAW,cAI1B;;;;;;;;;;AClCD,kCAA2C,sBAAU,CAAC;AAEtD;;;;;;GAMG;AACH,2BAAkC,OAAc;IAC9C,EAAE,EAAC,CAAC,OAAO,CAAC;QAAC,MAAM,CAAC;IAEpB,GAAG,EAAe,UAAO,EAAP,mBAAO,EAAP,qBAAO,EAAP,IAAO,CAAC;QAAtB,IAAI,MAAM;QACZ,EAAE,EAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;YAChB,MAAM,CAAC,IAAI,GAAG,UAAE,EAAE,CAAC;QACrB,CAAC;QAED,yBAAyB;QACzB,EAAE,EAAC,CAAC,MAAM,CAAC,IAAI,IAAI,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;YAC/B,MAAM,CAAC,IAAI,GAAG,iBAAS,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QACvC,CAAC;QAED,iCAAiC;QACjC,EAAE,EAAC,MAAM,CAAC,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;YAC/B,MAAM,CAAC,IAAI,GAAG,mBAAW,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QACzC,CAAC;QAED,EAAE,EAAC,CAAC,MAAM,CAAC,cAAc,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;YACxC,MAAM,CAAC,UAAU,GAAG,IAAI,CAAC;QAC3B,CAAC;QAED,EAAE,EAAC,CAAC,MAAM,CAAC,cAAc,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;YACtC,MAAM,CAAC,QAAQ,GAAG,IAAI,CAAC;QACzB,CAAC;QAED,EAAE,EAAC,CAAC,MAAM,CAAC,cAAc,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;YACvC,MAAM,CAAC,SAAS,GAAG,IAAI,CAAC;QAC1B,CAAC;QAED,EAAE,EAAC,CAAC,MAAM,CAAC,cAAc,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC;YAC3C,MAAM,CAAC,aAAa,GAAG,IAAI,CAAC;QAC9B,CAAC;QAED,EAAE,EAAC,CAAC,MAAM,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;YACnC,MAAM,CAAC,KAAK,GAAG,GAAG,CAAC;QACrB,CAAC;KACF;AACH,CAAC;AAtCe,yBAAiB,oBAsChC;AAED;;;;;;GAMG;AACH,4BAAmC,SAAqC;IACtE,IAAI,MAAM,GAAU,EAAE,CAAC;IAEvB,GAAG,EAAe,UAAS,EAAT,uBAAS,EAAT,uBAAS,EAAT,IAAS,CAAC;QAAxB,IAAM,IAAI;QACZ,IAAI,GAAG,GAAQ,EAAE,CAAC;QAElB,IAAM,KAAK,GAAG,MAAM,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAAC;QAC/C,GAAG,EAAe,UAAK,EAAL,eAAK,EAAL,mBAAK,EAAL,IAAK,CAAC;YAApB,IAAM,IAAI;YACZ,GAAG,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC;SACxB;QAED,EAAE,EAAC,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC;YACvB,GAAG,CAAC,cAAc,GAAG,IAAI,CAAC,cAAc,CAAC;QAC3C,CAAC;QAED,EAAE,EAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC;YACrB,GAAG,CAAC,YAAY,GAAG,IAAI,CAAC,YAAY,CAAC;QACvC,CAAC;QAED,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;KAClB;IAED,MAAM,CAAC,MAAM,CAAC;AAChB,CAAC;AAvBe,0BAAkB,qBAuBjC;;;;;;;;;;AChFD;;;GAGG;AACH,sBAA6B,IAAW;IACtC,IAAI,GAAG,GAAyC;QAC9C,IAAI,EAAE,EAAE;QACR,MAAM,EAAE,EAAE;QACV,KAAK,EAAE,EAAE;KACV,CAAC;IAEF,EAAE,EAAC,IAAI,CAAC,CAAC,CAAC;QACR,GAAG,EAAY,UAAI,EAAJ,aAAI,EAAJ,kBAAI,EAAJ,IAAI,CAAC;YAAhB,IAAI,GAAG;YACT,EAAE,EAAC,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC;gBAClB,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YACrB,CAAC;YAAC,IAAI,CAAC,EAAE,EAAC,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC;gBAC1B,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YACtB,CAAC;YAAC,IAAI,CAAC,CAAC;gBACN,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YACvB,CAAC;SACF;IACH,CAAC;IAED,MAAM,CAAC,GAAG,CAAC;AACb,CAAC;AApBe,oBAAY,eAoB3B;AAED;;;;GAIG;AACH,2BAAkC,MAAW,EAAE,GAAQ;IACrD,MAAM,CAAC;QACL,IAAI,EAAE,gBAAgB,CAAC,MAAM,CAAC,IAAI,CAAC;QACnC,MAAM,EAAE,gBAAgB,CAAC,MAAM,CAAC,MAAM,CAAC;QACvC,KAAK,EAAE,gBAAgB,CAAC,MAAM,CAAC,KAAK,CAAC;QACrC,KAAK,EAAE,gBAAgB,CAAC,GAAG,CAAC;KAC7B,CAAC;AACJ,CAAC;AAPe,yBAAiB,oBAOhC;AAED;;;;GAIG;AACH,0BAAiC,OAAc,EAAE,IAAa;IAC5D,IAAI,UAAU,GAAG,CAAC,CAAC;IAEnB,EAAE,EAAC,OAAO,CAAC,CAAC,CAAC;QACX,GAAG,EAAU,UAAO,EAAP,mBAAO,EAAP,qBAAO,EAAP,IAAO,CAAC;YAAjB,IAAI,CAAC;YACP,IAAM,GAAG,GAAG,IAAI,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC;YAC5B,IAAM,KAAK,GAAG,GAAG,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC;YACtC,UAAU,GAAG,UAAU,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC;SAC7C;IACH,CAAC;IAED,MAAM,CAAC,UAAU,CAAC;AACpB,CAAC;AAZe,wBAAgB,mBAY/B;AAED;;;;GAIG;AACH,2BAAkC,OAAY,EAAE,IAAU;IACxD,IAAI,UAAU,GAAG,CAAC,CAAC;IAEnB,GAAG,EAAe,UAAO,EAAP,mBAAO,EAAP,qBAAO,EAAP,IAAO,CAAC;QAAtB,IAAI,MAAM;QACZ,IAAM,GAAG,GAAG,IAAI,IAAI,MAAM,CAAC,IAAI,CAAC,CAAC;QACjC,UAAU,GAAG,UAAU,GAAG,CAAC,GAAG,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;KAC/D;IAED,MAAM,CAAC,UAAU,CAAC;AACpB,CAAC;AATe,yBAAiB,oBAShC;AAED,yBAAgC,GAAQ;IACtC,IAAI,YAAY,GAAG,EAAE,CAAC;IACtB,IAAM,SAAS,GAAG,YAAY,CAAC,GAAG,CAAC,CAAC;IAEpC,YAAY,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;IAChE,YAAY,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,SAAS,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;IACpE,YAAY,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,SAAS,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;IAElE,MAAM,CAAC,YAAY,CAAC;AACtB,CAAC;AATe,uBAAe,kBAS9B;;;;;;;;;;ACpFD;;;;GAIG;AACH,yBAAgC,GAAW,EAAE,IAAY;IACvD,EAAE,EAAC,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC;QAAC,MAAM,CAAC,GAAG,CAAC;IAE7B,IAAI,OAAO,GAAG,GAAG,CAAC;IAClB,IAAI,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAE5B,EAAE,EAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC;QAChB,GAAG,EAAC,IAAI,CAAC,GAAG,CAAC,EAAE,GAAG,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,GAAG,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC;YAChD,OAAO,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;YAE5B,0CAA0C;YAC1C,EAAE,EAAC,OAAO,KAAK,SAAS,IAAI,OAAO,KAAK,IAAI,CAAC;gBAAC,MAAM,CAAC,EAAE,CAAC;QAC1D,CAAC;IACH,CAAC;IAED,MAAM,CAAC,OAAO,CAAC;AACjB,CAAC;AAhBe,uBAAe,kBAgB9B;;;;;;;;;;ACrBD;;;GAGG;AACH;IACE,MAAM,CAAC,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;AAClF,CAAC;AAFe,UAAE,KAEjB;;;;;;;;;;;;;ACND,6BAAc,mBAAM,CAAC;AACrB,6BAAc,uBAAU,CAAC;AACzB,6BAAc,4BAAe,CAAC;AAC9B,6BAAc,2BAAc,CAAC;AAC7B,6BAAc,qBAAQ,CAAC;AACvB,6BAAc,qBAAQ,CAAC;AACvB,6BAAc,yBAAY,CAAC;AAC3B,6BAAc,gCAAmB,CAAC;AAClC,6BAAc,0BAAa,CAAC;AAC5B,6BAAc,0BAAa,CAAC;AAC5B,6BAAc,yBAAY,CAAC;AAC3B,6BAAc,qBAAQ,CAAC;AACvB,6BAAc,iCAAoB,CAAC;AACnC,6BAAc,8BAAiB,CAAC;;;;;;;;;;ACbhC,WAAY,IAAI;IACd,4BAAO;IACP,gCAAS;IACT,oCAAW;IACX,oCAAW;IACX,gCAAS;IACT,kCAAU;AACZ,CAAC,EAPW,YAAI,KAAJ,YAAI,QAOf;AAPD,IAAY,IAAI,GAAJ,YAOX;;;;;;;;;;ACPD,mCAAgD,uBAAU,CAAC;AAE3D;;;GAGG;AACH,0BAAiC,OAAc;IAC7C,IAAI,aAAa,GAAG,CAAC,CAAC;IAEtB,GAAG,CAAC,CAAU,UAAO,EAAP,mBAAO,EAAP,qBAAO,EAAP,IAAO,CAAC;QAAjB,IAAI,CAAC;QACR,aAAa,IAAI,CAAC,CAAC,QAAQ,IAAI,CAAC,CAAC;KAClC;IAED,MAAM,CAAC,aAAa,CAAC;AACvB,CAAC;AARe,wBAAgB,mBAQ/B;AAED;;;;;GAKG;AACH,4BAAmC,UAAe,EAAE,aAAkB;IACpE,IAAI,YAAY,GAAG,0BAAiB,CAAC,UAAU,CAAC,CAAC;IACjD,IAAI,aAAa,GAAG,gBAAgB,CAAC,UAAU,CAAC,CAAC;IACjD,IAAI,WAAW,GAAG,qBAAY,CAAC,UAAU,CAAC,CAAC;IAE3C,EAAE,CAAC,CAAC,YAAY,KAAK,aAAa,CAAC,CAAC,CAAC;QACnC,YAAY,CAAC,WAAW,EAAE,aAAa,EAAE,aAAa,CAAC,CAAC;IAC1D,CAAC;AACH,CAAC;AARe,0BAAkB,qBAQjC;AAED;;;;;GAKG;AACH,sBAAsB,WAAgB,EAAE,QAAa,EAAE,aAAkB;IACvE,6EAA6E;IAC7E,GAAG,EAAC,IAAI,IAAI,IAAI,WAAW,CAAC,CAAC,CAAC;QAC5B,GAAG,EAAe,UAAiB,EAAjB,gBAAW,CAAC,IAAI,CAAC,EAAjB,cAAiB,EAAjB,IAAiB,CAAC;YAAhC,IAAI,MAAM;YACZ,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC,CAAC;gBAC1B,QAAQ,IAAI,MAAM,CAAC,KAAK,CAAC;gBACzB,aAAa,IAAI,MAAM,CAAC,QAAQ,CAAC;YACnC,CAAC;YAAC,IAAI,CAAC,CAAC;gBACN,MAAM,CAAC,KAAK,GAAG,CAAC,CAAC;YACnB,CAAC;SACF;IACH,CAAC;IAED,IAAI,WAAW,GAAG,EAAE,CAAC;IACrB,IAAI,cAAc,GAAG,QAAQ,CAAC;IAE9B,0DAA0D;IAC1D,GAAG,CAAC;QACF,IAAI,iBAAiB,GAAG,cAAc,GAAG,aAAa,CAAC;QACvD,cAAc,GAAG,CAAC,CAAC;QAEnB,GAAG,EAAC,IAAI,IAAI,IAAI,WAAW,CAAC,CAAC,CAAC;YAC5B,GAAG,EAAe,UAAiB,EAAjB,gBAAW,CAAC,IAAI,CAAC,EAAjB,cAAiB,EAAjB,IAAiB,CAAC;gBAAhC,IAAI,MAAM;gBACZ,0EAA0E;gBAC1E,EAAE,CAAC,CAAC,MAAM,CAAC,aAAa,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;oBACtD,IAAI,QAAQ,GAAG,MAAM,CAAC,KAAK,GAAI,MAAM,CAAC,QAAQ,GAAG,iBAAiB,CAAC;oBACnE,EAAE,CAAC,CAAC,MAAM,CAAC,QAAQ,KAAK,SAAS,IAAI,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC;wBAChE,cAAc,IAAI,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC;wBAC7C,MAAM,CAAC,KAAK,GAAG,MAAM,CAAC,QAAQ,CAAC;wBAC/B,WAAW,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;oBAClC,CAAC;oBAAC,IAAI,CAAC,CAAC;wBACN,MAAM,CAAC,KAAK,GAAG,QAAQ,CAAC;oBAC1B,CAAC;gBACH,CAAC;aACF;QACH,CAAC;IACH,CAAC,QAAQ,cAAc,KAAK,CAAC,EAAE;AACjC,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,+BACE,UAAiB,EACjB,aAAqB,EACrB,QAAgB,EAChB,UAAmB,EACnB,eAA6B;IAA7B,+BAA6B,GAA7B,qBAA6B;IAE7B,IAAI,eAAe,GAAG,UAAU;SAC7B,KAAK,CAAC,QAAQ,GAAG,CAAC,EAAE,UAAU,CAAC,MAAM,CAAC;SACtC,MAAM,CAAC,UAAC,CAAC;QACR,MAAM,CAAC,CAAC,CAAC,aAAa,KAAK,KAAK,CAAC;IACnC,CAAC,CAAC,CAAC;IAEL,GAAG,CAAC,CAAe,UAAe,EAAf,mCAAe,EAAf,6BAAe,EAAf,IAAe,CAAC;QAA9B,IAAI,MAAM;QACb,EAAE,EAAC,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC;YACtB,MAAM,CAAC,UAAU,GAAG,MAAM,CAAC,KAAK,CAAC;QACnC,CAAC;KACF;IAED,IAAI,sBAAsB,GAAG,CAAC,CAAC;IAC/B,IAAI,aAAa,GAAG,KAAK,CAAC;IAC1B,IAAI,YAAY,GAAG,eAAe,CAAC,UAAU,EAAE,eAAe,CAAC,CAAC;IAChE,IAAI,cAAc,GAAG,aAAa,GAAG,YAAY,CAAC;IAClD,IAAI,gBAAgB,GAAU,EAAE,CAAC;IAEjC,8BAA8B;IAC9B,GAAG,CAAC;QACF,sBAAsB,GAAG,cAAc,GAAG,eAAe,CAAC,MAAM,CAAC;QACjE,aAAa,GAAG,YAAY,IAAI,aAAa,CAAC;QAE9C,GAAG,CAAC,CAAe,UAAe,EAAf,mCAAe,EAAf,6BAAe,EAAf,IAAe,CAAC;YAA9B,IAAI,MAAM;YACb,EAAE,CAAC,CAAC,aAAa,IAAI,UAAU,CAAC,CAAC,CAAC;gBAChC,MAAM,CAAC,KAAK,GAAG,MAAM,CAAC,UAAU,IAAI,MAAM,CAAC,KAAK,IAAI,eAAe,CAAC;YACtE,CAAC;YAAC,IAAI,CAAC,CAAC;gBACN,IAAM,OAAO,GAAG,CAAC,MAAM,CAAC,KAAK,IAAI,eAAe,CAAC,GAAG,sBAAsB,CAAC;gBAE3E,EAAE,CAAC,CAAC,MAAM,CAAC,QAAQ,IAAI,OAAO,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC;oBACjD,MAAM,CAAC,KAAK,GAAG,MAAM,CAAC,QAAQ,CAAC;oBAC/B,gBAAgB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;gBAChC,CAAC;gBAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,QAAQ,IAAI,OAAO,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC;oBACxD,MAAM,CAAC,KAAK,GAAG,MAAM,CAAC,QAAQ,CAAC;oBAC/B,gBAAgB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;gBAChC,CAAC;gBAAC,IAAI,CAAC,CAAC;oBACN,MAAM,CAAC,KAAK,GAAG,OAAO,CAAC;gBACzB,CAAC;YACH,CAAC;YAED,MAAM,CAAC,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC;SAC1C;QAED,YAAY,GAAG,eAAe,CAAC,UAAU,CAAC,CAAC;QAC3C,cAAc,GAAG,aAAa,GAAG,YAAY,CAAC;QAC9C,sBAAsB,CAAC,eAAe,EAAE,gBAAgB,CAAC,CAAC;IAC5D,CAAC,QAAQ,cAAc,GAAG,CAAC,IAAI,eAAe,CAAC,MAAM,KAAK,CAAC,EAAE;AAC/D,CAAC;AAtDe,6BAAqB,wBAsDpC;AAED;;;;;GAKG;AACH,gCAAkC,eAAsB,EAAE,gBAAuB;IAC/E,GAAG,EAAe,UAAgB,EAAhB,qCAAgB,EAAhB,8BAAgB,EAAhB,IAAgB,CAAC;QAA/B,IAAI,MAAM;QACZ,IAAM,KAAK,GAAG,eAAe,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QAC9C,eAAe,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;KAClC;AACH,CAAC;AAED;;;;;;GAMG;AACH,yBAAyB,UAAe,EAAE,eAA6B;IAA7B,+BAA6B,GAA7B,qBAA6B;IACrE,IAAI,YAAY,GAAG,CAAC,CAAC;IAErB,GAAG,EAAe,UAAU,EAAV,yBAAU,EAAV,wBAAU,EAAV,IAAU,CAAC;QAAzB,IAAI,MAAM;QACV,YAAY,IAAI,CAAC,MAAM,CAAC,KAAK,IAAI,eAAe,CAAC,CAAC;KACrD;IAED,MAAM,CAAC,YAAY,CAAC;AACtB,CAAC;;;;;;;;;;ACvLD,uCAA0B,2BAAc,CAAC;AAEzC,IAAI,KAAK,GAAG,EAAE,CAAC;AACf,IAAI,SAAS,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC;AAEpD,aAAa;AACb,uCAAuC;AACvC,IAAM,MAAM,GAAG,CAAC;IACd,IAAM,MAAM,GAAG,MAAM,CAAC,gBAAgB,CAAC,QAAQ,CAAC,eAAe,EAAE,EAAE,CAAC,CAAC;IACrE,IAAM,GAAG,GAAG,CAAC,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACxF,IAAM,GAAG,GAAG,CAAC,iBAAiB,CAAC,CAAC,KAAK,CAAC,IAAI,MAAM,CAAC,GAAG,GAAG,GAAG,GAAG,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAE3E,MAAM,CAAC;QACL,QAAG;QACH,SAAS,EAAE,GAAG;QACd,GAAG,EAAE,MAAI,GAAG,MAAG;QACf,EAAE,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC;KACzC,CAAC;AACJ,CAAC,CAAC,EAAE,CAAC;AAEL,+BAAsC,QAAgB;IACpD,IAAM,IAAI,GAAG,sBAAS,CAAC,QAAQ,CAAC,CAAC;IAEjC,EAAE,EAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAChB,EAAE,EAAC,SAAS,CAAC,MAAM,CAAC,GAAG,GAAG,QAAQ,CAAC,KAAK,SAAS,CAAC,CAAC,CAAC;YAClD,KAAK,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,GAAG,GAAG,QAAQ,CAAC;QACtC,CAAC;QAAC,IAAI,CAAC,EAAE,EAAC,SAAS,CAAC,QAAQ,CAAC,KAAK,SAAS,CAAC,CAAC,CAAC;YAC5C,KAAK,CAAC,IAAI,CAAC,GAAG,QAAQ,CAAC;QACzB,CAAC;IACH,CAAC;IAED,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;AACrB,CAAC;AAZe,6BAAqB,wBAYpC;;;;;;;;;;AChCD;;;;;;;;GAQG;AACH;IAAA;QAEE;;;;WAIG;QACK,cAAS,GAAa,EAAE,CAAC;IA8InC,CAAC;IA5IC;;OAEG;IACH,mCAAU,GAAV;QACE,IAAI,CAAC,SAAS,GAAG,EAAE,CAAC;IACtB,CAAC;IAED;;;;;;OAMG;IACH,kCAAS,GAAT,UAAU,IAAW,EAAE,SAAiB,EAAE,eAAuB;QAC/D,EAAE,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;YACrB,MAAM,IAAI,KAAK,CAAC,+GACS,SAAS,oCAAiC,CAAC,CAAC;QACvE,CAAC;QAED,sFAAsF;QACtF,EAAE,CAAC,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC;YAC3B,MAAM,IAAI,KAAK,CAAC,qHACS,eAAe,oCAAiC,CAAC,CAAC;QAC7E,CAAC;QAED,IAAM,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC;QACtB,IAAI,CAAC,SAAS,GAAG,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC;QAE9B,GAAG,EAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC;YAC1B,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;QACxB,CAAC;QAED,GAAG,EAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC;YAC1B,IAAI,gBAAgB,GAAG,SAAS,CAAC;YAEjC,0DAA0D;YAC1D,mEAAmE;YACnE,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,UAAU,KAAK,CAAC,CAAC,CAAC,CAAC;gBACxC,gBAAgB,IAAI,eAAe,CAAC;YACtC,CAAC;YAED,IAAI,CAAC,MAAM,CAAC,CAAC,EAAE,gBAAgB,CAAC,CAAC;QACnC,CAAC;IACH,CAAC;IAED;;;;;;OAMG;IACH,oCAAW,GAAX,UAAY,OAAe;QACzB,EAAE,EAAC,OAAO,KAAK,CAAC,CAAC;YAAC,MAAM,CAAC,CAAC,CAAC;QAC3B,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC;IACpC,CAAC;IAED;;;;;;;OAOG;IACH,+BAAM,GAAN,UAAQ,UAAkB,EAAE,WAAmB;QAC7C,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC;YAC3B,MAAM,IAAI,KAAK,CAAC,qBAAmB,UAAU,oBAAe,WAAW,wDACnC,CAAC,CAAC;QACxC,CAAC;QAED,IAAM,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC;QAChC,UAAU,IAAI,CAAC,CAAC;QAEhB,OAAM,UAAU,GAAG,CAAC,EAAE,CAAC;YACrB,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,IAAI,WAAW,CAAC;YAC1C,UAAU,IAAI,CAAC,UAAU,GAAG,CAAC,CAAC,CAAC;QACjC,CAAC;IACH,CAAC;IAED;;;;;OAKG;IACH,8BAAK,GAAL,UAAM,OAAe;QACnB,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC;YAC3B,MAAM,IAAI,KAAK,CAAC,oBAAkB,OAAO,iDAA8C,CAAC,CAAC;QAC3F,CAAC;QAED,IAAI,GAAG,GAAG,CAAC,CAAC;QACZ,OAAO,IAAI,CAAC,CAAC;QAEb,OAAM,OAAO,IAAI,CAAC,EAAE,CAAC;YACnB,GAAG,IAAI,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;YAC/B,OAAO,GAAG,CAAC,OAAO,GAAG,CAAC,OAAO,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;QAC1C,CAAC;QAED,MAAM,CAAC,GAAG,CAAC;IACb,CAAC;IAED;;;;;OAKG;IACH,qCAAY,GAAZ,UAAa,QAAgB,EAAE,QAAgB;QAC7C,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,GAAG,CAAC,CAAC,CAAC;IACzD,CAAC;IAED;;;;;;OAMG;IACK,qCAAY,GAApB,UAAqB,GAAW;QAC9B,EAAE,EAAC,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC;YAAC,MAAM,CAAC,CAAC,CAAC;QAEpC,IAAI,GAAG,GAAG,CAAC,CAAC,CAAC;QACb,IAAM,UAAU,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC;QAEzC,0CAA0C;QAC1C,IAAM,UAAU,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QAElE,GAAG,CAAC,CAAC,IAAI,SAAS,GAAG,UAAU,EAAE,SAAS,KAAK,CAAC,EAAE,SAAS,KAAK,CAAC,EAAE,CAAC;YAClE,IAAI,OAAO,GAAG,GAAG,GAAG,SAAS,CAAC;YAC9B,EAAE,CAAC,CAAC,OAAO,GAAG,UAAU,IAAI,GAAG,IAAI,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;gBAC3D,GAAG,IAAI,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;gBAC/B,GAAG,GAAG,OAAO,CAAC;YAChB,CAAC;QACH,CAAC;QAED,MAAM,CAAC,GAAG,GAAG,CAAC,CAAC;IACjB,CAAC;IAEH,qBAAC;AAAD,CAAC;AArJY,sBAAc,iBAqJ1B;;;;;;;;;;AC9JD;;;;GAIG;AACH;IACE,IAAI,KAAK,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;IAC1C,KAAK,CAAC,KAAK,CAAC,UAAU,GAAG,QAAQ,CAAC;IAClC,KAAK,CAAC,KAAK,CAAC,KAAK,GAAG,OAAO,CAAC;IAC5B,KAAK,CAAC,KAAK,CAAC,eAAe,GAAG,WAAW,CAAC;IAC1C,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;IAEjC,IAAI,aAAa,GAAG,KAAK,CAAC,WAAW,CAAC;IACtC,KAAK,CAAC,KAAK,CAAC,QAAQ,GAAG,QAAQ,CAAC;IAEhC,IAAI,KAAK,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;IAC1C,KAAK,CAAC,KAAK,CAAC,KAAK,GAAG,MAAM,CAAC;IAC3B,KAAK,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;IAEzB,IAAI,eAAe,GAAG,KAAK,CAAC,WAAW,CAAC;IACxC,KAAK,CAAC,UAAU,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;IAEpC,MAAM,CAAC,aAAa,GAAG,eAAe,CAAC;AACzC,CAAC;AAlBe,yBAAiB,oBAkBhC;AAAA,CAAC;AAEW,sBAAc,GAAG,iBAAiB,EAAE,CAAC;;;;;;;;;;ACzBlD,oBAA2B,QAAe,EAAE,GAAQ,EAAE,SAAmB;IACvE,IAAM,aAAa,GAAG,SAAS,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;IAE/C,EAAE,EAAC,aAAa,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;QACtB,QAAQ,CAAC,MAAM,CAAC,aAAa,EAAE,CAAC,CAAC,CAAC;IACpC,CAAC;IAAC,IAAI,CAAC,CAAC;QACN,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACrB,CAAC;IAED,MAAM,CAAC,QAAQ,CAAC;AAClB,CAAC;AAVe,kBAAU,aAUzB;AAED,2BACE,QAAe,EACf,IAAW,EACX,KAAa,EACb,SAAiB,EACjB,SAAmB;IAEnB,IAAM,OAAO,GAAG,KAAK,GAAG,SAAS,CAAC;IAElC,GAAG,EAAC,IAAI,CAAC,GAAG,CAAC,EAAE,GAAG,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,GAAG,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC;QAC/C,IAAM,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;QACpB,IAAM,OAAO,GAAG,CAAC,IAAI,SAAS,IAAI,CAAC,IAAI,KAAK,CAAC;QAC7C,IAAM,MAAM,GAAG,CAAC,IAAI,SAAS,IAAI,CAAC,IAAI,KAAK,CAAC;QAE5C,IAAI,KAAK,GAAG,EAAE,KAAK,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC;QACjC,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;YACZ,KAAK,GAAG;gBACN,KAAK,EAAE,KAAK;gBACZ,GAAG,EAAE,CAAC,SAAS,GAAG,KAAK,CAAC;aACzB,CAAC;QACJ,CAAC;QAAC,IAAI,CAAC,CAAC;YACN,KAAK,GAAG;gBACN,KAAK,EAAE,SAAS;gBAChB,GAAG,EAAE,KAAK,GAAG,CAAC;aACf,CAAC;QACJ,CAAC;QAED,EAAE,EAAC,CAAC,OAAO,IAAI,MAAM,CAAC,IAAI,CAAC,CAAC,OAAO,IAAI,OAAO,CAAC,CAAC,CAAC,CAAC;YAChD,IAAM,GAAG,GAAG,SAAS,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;YAErC,gDAAgD;YAChD,mDAAmD;YACnD,EAAE,CAAC,CAAC,OAAO,IAAI,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;gBACxB,QAAQ,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;gBACxB,QAAQ,CAAC;YACX,CAAC;YAED,0DAA0D;YAC1D,4CAA4C;YAC5C,EAAE,EAAC,CAAC,IAAI,KAAK,CAAC,KAAK,IAAI,CAAC,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC;gBACrC,EAAE,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;oBACf,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;gBACrB,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;IAED,MAAM,CAAC,QAAQ,CAAC;AAClB,CAAC;AAhDe,yBAAiB,oBAgDhC;;;;;;;;;;AC5DD,kCAAwC,sBAAU,CAAC;AACnD,wCAAgC,4BAAe,CAAC;AAChD;;;;;GAKG;AACH,qBAA4B,QAAkB,EAAE,OAAsB;IACpE,EAAE,CAAC,CAAC,QAAQ,KAAK,gBAAQ,CAAC,MAAM,CAAC,CAAC,CAAC;QACjC,EAAE,EAAC,OAAO,KAAK,qBAAa,CAAC,GAAG,CAAC,CAAC,CAAC;YACjC,MAAM,CAAC,qBAAa,CAAC,IAAI,CAAC;QAC5B,CAAC;QAAC,IAAI,CAAC,CAAC;YACN,MAAM,CAAC,qBAAa,CAAC,GAAG,CAAC;QAC3B,CAAC;IACH,CAAC;IAAC,IAAI,CAAC,CAAC;QACN,EAAE,EAAC,CAAC,OAAO,CAAC,CAAC,CAAC;YACZ,MAAM,CAAC,qBAAa,CAAC,GAAG,CAAC;QAC3B,CAAC;QAAC,IAAI,CAAC,EAAE,EAAC,OAAO,KAAK,qBAAa,CAAC,GAAG,CAAC,CAAC,CAAC;YACxC,MAAM,CAAC,qBAAa,CAAC,IAAI,CAAC;QAC5B,CAAC;QAAC,IAAI,CAAC,EAAE,EAAC,OAAO,KAAK,qBAAa,CAAC,IAAI,CAAC,CAAC,CAAC;YACzC,MAAM,CAAC,SAAS,CAAC;QACnB,CAAC;IACH,CAAC;AACH,CAAC;AAhBe,mBAAW,cAgB1B;AAAA,CAAC;AAEF;;;;;;GAMG;AACH,2BAAkC,CAAM,EAAE,CAAM;IAC9C,EAAE,CAAC,CAAC,CAAC,KAAK,IAAI,IAAI,OAAO,CAAC,KAAK,WAAW,CAAC;QAAC,CAAC,GAAG,CAAC,CAAC;IAClD,EAAE,CAAC,CAAC,CAAC,KAAK,IAAI,IAAI,OAAO,CAAC,KAAK,WAAW,CAAC;QAAC,CAAC,GAAG,CAAC,CAAC;IAElD,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACrF,0CAA0C;QAC1C,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;QACd,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;QACd,6DAA6D;QAC7D,EAAE,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC,WAAW,EAAE,CAAC;YAAC,MAAM,CAAC,CAAC,CAAC,CAAC;QACjD,EAAE,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC,WAAW,EAAE,CAAC;YAAC,MAAM,CAAC,CAAC,CAAC;IAClD,CAAC;IAAC,IAAI,CAAC,CAAC;QACN,+CAA+C;QAC/C,EAAE,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC;YAAC,MAAM,CAAC,CAAC,CAAC,CAAC;QAC7C,EAAE,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC;YAAC,MAAM,CAAC,CAAC,CAAC;IAC9C,CAAC;IAED,mBAAmB;IACnB,MAAM,CAAC,CAAC,CAAC;AACX,CAAC;AAnBe,yBAAiB,oBAmBhC;AAED;;;;;;;;GAQG;AACH,kBAAyB,IAAW,EAAE,OAAc,EAAE,IAAW;IAC/D,EAAE,EAAC,CAAC,IAAI,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,MAAM,IAAI,CAAC,OAAO,CAAC;QAAC,MAAM,CAAC,IAAI,CAAC;IAE3D,IAAI,IAAI,GAAO,IAAI,QAAC,CAAC;IACrB,IAAI,IAAI,GAAG,OAAO,CAAC,MAAM,CAAC,UAAC,GAAG,EAAE,GAAG;QACjC,EAAE,EAAC,GAAG,CAAC,UAAU,IAAI,OAAO,GAAG,CAAC,UAAU,KAAK,UAAU,CAAC,CAAC,CAAC;YAC1D,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,GAAG,CAAC,UAAU,CAAC;QACjC,CAAC;QACD,MAAM,CAAC,GAAG,CAAC;IACb,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,UAAS,CAAM,EAAE,CAAM;QACtC,GAAG,EAAwB,UAAI,EAAJ,aAAI,EAAJ,kBAAI,EAAJ,IAAI,CAAC;YAA5B,mBAAmB,EAAX,cAAI,EAAE,YAAG;YACnB,IAAM,KAAK,GAAG,6BAAe,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC;YACvC,IAAM,KAAK,GAAG,6BAAe,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC;YAEvC,IAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,iBAAiB,CAAC;YAClD,IAAM,UAAU,GAAG,GAAG,KAAK,qBAAa,CAAC,IAAI;gBAC3C,SAAS,CAAC,KAAK,EAAE,KAAK,CAAC;gBACvB,CAAC,SAAS,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;YAE3B,iEAAiE;YACjE,EAAE,CAAC,CAAC,UAAU,KAAK,CAAC,CAAC;gBAAC,MAAM,CAAC,UAAU,CAAC;SACzC;QAED,mBAAmB;QACnB,MAAM,CAAC,CAAC,CAAC;IACX,CAAC,CAAC,CAAC;AACL,CAAC;AA5Be,gBAAQ,WA4BvB;;;;;;;;;;AC3FD;;;;;;;;GAQG;AACH,kBAAyB,IAAS,EAAE,IAAY,EAAE,OAAa;IAC7D,OAAO,GAAG,OAAO,IAAI,EAAE,CAAC;IACxB,IAAI,OAAO,CAAC;IACZ,IAAI,IAAI,CAAC;IACT,IAAI,MAAM,CAAC;IACX,IAAI,OAAO,GAAG,IAAI,CAAC;IACnB,IAAI,QAAQ,GAAG,CAAC,CAAC;IAEjB;QACE,QAAQ,GAAG,OAAO,CAAC,OAAO,KAAK,KAAK,GAAG,CAAC,GAAG,CAAC,IAAI,IAAI,EAAE,CAAC;QACvD,OAAO,GAAG,IAAI,CAAC;QACf,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;IACrC,CAAC;IAED,MAAM,CAAC;QACL,IAAI,GAAG,GAAG,CAAC,IAAI,IAAI,EAAE,CAAC;QAEtB,EAAE,CAAC,CAAC,CAAC,QAAQ,IAAI,OAAO,CAAC,OAAO,KAAK,KAAK,CAAC,CAAC,CAAC;YAC3C,QAAQ,GAAG,GAAG,CAAC;QACjB,CAAC;QAED,IAAI,SAAS,GAAG,IAAI,GAAG,CAAC,GAAG,GAAG,QAAQ,CAAC,CAAC;QACxC,OAAO,GAAG,IAAI,CAAC;QACf,IAAI,GAAG,SAAS,CAAC;QAEjB,EAAE,CAAC,CAAC,SAAS,IAAI,CAAC,CAAC,CAAC,CAAC;YACnB,YAAY,CAAC,OAAO,CAAC,CAAC;YACtB,OAAO,GAAG,IAAI,CAAC;YACf,QAAQ,GAAG,GAAG,CAAC;YACf,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;QACrC,CAAC;QAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,IAAI,OAAO,CAAC,QAAQ,KAAK,KAAK,CAAC,CAAC,CAAC;YAClD,OAAO,GAAG,UAAU,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;QACzC,CAAC;QAED,MAAM,CAAC,MAAM,CAAC;IAChB,CAAC,CAAC;AACJ,CAAC;AApCe,gBAAQ,WAoCvB;AAED;;;;;;;;;;;;GAYG;AACH,sBAA6B,QAAgB,EAAE,OAAa;IAC1D,MAAM,CAAC,wBAAyB,MAAM,EAAE,GAAG,EAAE,UAAU;QACrD,MAAM,CAAC;YACL,YAAY,EAAE,IAAI;YAClB,UAAU,EAAE,UAAU,CAAC,UAAU;YACjC,GAAG,EAAE;gBACH,MAAM,CAAC,cAAc,CAAC,IAAI,EAAE,GAAG,EAAE;oBAC/B,YAAY,EAAE,IAAI;oBAClB,UAAU,EAAE,UAAU,CAAC,UAAU;oBACjC,KAAK,EAAE,QAAQ,CAAC,UAAU,CAAC,KAAK,EAAE,QAAQ,EAAE,OAAO,CAAC;iBACrD,CAAC,CAAC;gBAEH,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YACnB,CAAC;SACF,CAAC;IACJ,CAAC,CAAC;AACJ,CAAC;AAhBe,oBAAY,eAgB3B;;;;;;;;;;AC5ED,qCAAsC,yBAAY,CAAC;AACnD,uCAA0B,2BAAc,CAAC;AAEzC,wCAAwC;AACxC,IAAM,SAAS,GAAG,gCAAqB,CAAC,WAAW,CAAC,CAAC;AACrD,IAAM,kBAAkB,GAAG,gCAAqB,CAAC,oBAAoB,CAAC,CAAC;AACvE,IAAM,gBAAgB,GAAG,CAAC,CAAC,gCAAqB,CAAC,WAAW,CAAC,CAAC;AAC9D,IAAM,kBAAkB,GAAG,CAAC,CAAC,gCAAqB,CAAC,aAAa,CAAC,CAAC;AAClE,IAAM,EAAE,GAAG,MAAM,CAAC,SAAS,CAAC,SAAS,CAAC;AACtC,IAAM,QAAQ,GAAG,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;AAEjE,qBAA4B,MAAW,EAAE,CAAS,EAAE,CAAS;IAC3D,EAAE,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC;QACrB,EAAE,CAAC,CAAC,CAAC,QAAQ,IAAI,kBAAkB,CAAC,CAAC,CAAC;YACpC,MAAM,CAAC,SAAS,CAAC,GAAG,iBAAe,CAAC,YAAO,CAAC,WAAQ,CAAC;YACrD,MAAM,CAAC,kBAAkB,CAAC,GAAG,QAAQ,CAAC;QACxC,CAAC;QAAC,IAAI,CAAC,CAAC;YACN,MAAM,CAAC,sBAAS,CAAC,SAAS,CAAC,CAAC,GAAG,eAAa,CAAC,YAAO,CAAC,QAAK,CAAC;QAC7D,CAAC;IACH,CAAC;IAAC,IAAI,CAAC,CAAC;QACN,MAAM,CAAC,GAAG,GAAM,CAAC,OAAI,CAAC;QACtB,MAAM,CAAC,IAAI,GAAM,CAAC,OAAI,CAAC;IACzB,CAAC;AACH,CAAC;AAZe,mBAAW,cAY1B;;;;;;;;ACvBD,+C;;;;;;;ACAA,+C","file":"index.js","sourcesContent":["(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory(require(\"@angular/core\"), require(\"@angular/common\"));\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine(\"angular2-data-table\", [\"@angular/core\", \"@angular/common\"], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"angular2-data-table\"] = factory(require(\"@angular/core\"), require(\"@angular/common\"));\n\telse\n\t\troot[\"angular2-data-table\"] = factory(root[\"@angular/core\"], root[\"@angular/common\"]);\n})(this, function(__WEBPACK_EXTERNAL_MODULE_0__, __WEBPACK_EXTERNAL_MODULE_1__) {\nreturn \n\n\n// WEBPACK FOOTER //\n// webpack/universalModuleDefinition"," \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId])\n \t\t\treturn installedModules[moduleId].exports;\n\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// identity function for calling harmony imports with the correct context\n \t__webpack_require__.i = function(value) { return value; };\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, {\n \t\t\t\tconfigurable: false,\n \t\t\t\tenumerable: true,\n \t\t\t\tget: getter\n \t\t\t});\n \t\t}\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = \"./src/index.ts\");\n\n\n\n// WEBPACK FOOTER //\n// webpack/bootstrap d2becb90e1c73009900f","\"use strict\";\nvar root_1 = require('./util/root');\nvar toSubscriber_1 = require('./util/toSubscriber');\nvar observable_1 = require('./symbol/observable');\n/**\n * A representation of any set of values over any amount of time. This the most basic building block\n * of RxJS.\n *\n * @class Observable\n */\nvar Observable = (function () {\n /**\n * @constructor\n * @param {Function} subscribe the function that is called when the Observable is\n * initially subscribed to. This function is given a Subscriber, to which new values\n * can be `next`ed, or an `error` method can be called to raise an error, or\n * `complete` can be called to notify of a successful completion.\n */\n function Observable(subscribe) {\n this._isScalar = false;\n if (subscribe) {\n this._subscribe = subscribe;\n }\n }\n /**\n * Creates a new Observable, with this Observable as the source, and the passed\n * operator defined as the new observable's operator.\n * @method lift\n * @param {Operator} operator the operator defining the operation to take on the observable\n * @return {Observable} a new observable with the Operator applied\n */\n Observable.prototype.lift = function (operator) {\n var observable = new Observable();\n observable.source = this;\n observable.operator = operator;\n return observable;\n };\n Observable.prototype.subscribe = function (observerOrNext, error, complete) {\n var operator = this.operator;\n var sink = toSubscriber_1.toSubscriber(observerOrNext, error, complete);\n if (operator) {\n operator.call(sink, this.source);\n }\n else {\n sink.add(this._subscribe(sink));\n }\n if (sink.syncErrorThrowable) {\n sink.syncErrorThrowable = false;\n if (sink.syncErrorThrown) {\n throw sink.syncErrorValue;\n }\n }\n return sink;\n };\n /**\n * @method forEach\n * @param {Function} next a handler for each value emitted by the observable\n * @param {PromiseConstructor} [PromiseCtor] a constructor function used to instantiate the Promise\n * @return {Promise} a promise that either resolves on observable completion or\n * rejects with the handled error\n */\n Observable.prototype.forEach = function (next, PromiseCtor) {\n var _this = this;\n if (!PromiseCtor) {\n if (root_1.root.Rx && root_1.root.Rx.config && root_1.root.Rx.config.Promise) {\n PromiseCtor = root_1.root.Rx.config.Promise;\n }\n else if (root_1.root.Promise) {\n PromiseCtor = root_1.root.Promise;\n }\n }\n if (!PromiseCtor) {\n throw new Error('no Promise impl found');\n }\n return new PromiseCtor(function (resolve, reject) {\n var subscription = _this.subscribe(function (value) {\n if (subscription) {\n // if there is a subscription, then we can surmise\n // the next handling is asynchronous. Any errors thrown\n // need to be rejected explicitly and unsubscribe must be\n // called manually\n try {\n next(value);\n }\n catch (err) {\n reject(err);\n subscription.unsubscribe();\n }\n }\n else {\n // if there is NO subscription, then we're getting a nexted\n // value synchronously during subscription. We can just call it.\n // If it errors, Observable's `subscribe` will ensure the\n // unsubscription logic is called, then synchronously rethrow the error.\n // After that, Promise will trap the error and send it\n // down the rejection path.\n next(value);\n }\n }, reject, resolve);\n });\n };\n Observable.prototype._subscribe = function (subscriber) {\n return this.source.subscribe(subscriber);\n };\n /**\n * An interop point defined by the es7-observable spec https://github.com/zenparsing/es-observable\n * @method Symbol.observable\n * @return {Observable} this instance of the observable\n */\n Observable.prototype[observable_1.$$observable] = function () {\n return this;\n };\n // HACK: Since TypeScript inherits static properties too, we have to\n // fight against TypeScript here so Subject can have a different static create signature\n /**\n * Creates a new cold Observable by calling the Observable constructor\n * @static true\n * @owner Observable\n * @method create\n * @param {Function} subscribe? the subscriber function to be passed to the Observable constructor\n * @return {Observable} a new cold observable\n */\n Observable.create = function (subscribe) {\n return new Observable(subscribe);\n };\n return Observable;\n}());\nexports.Observable = Observable;\n//# sourceMappingURL=Observable.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/rxjs/Observable.js\n// module id = ./node_modules/rxjs/Observable.js\n// module chunks = 0","\"use strict\";\nexports.empty = {\n closed: true,\n next: function (value) { },\n error: function (err) { throw err; },\n complete: function () { }\n};\n//# sourceMappingURL=Observer.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/rxjs/Observer.js\n// module id = ./node_modules/rxjs/Observer.js\n// module chunks = 0","\"use strict\";\nvar __extends = (this && this.__extends) || function (d, b) {\n for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n};\nvar isFunction_1 = require('./util/isFunction');\nvar Subscription_1 = require('./Subscription');\nvar Observer_1 = require('./Observer');\nvar rxSubscriber_1 = require('./symbol/rxSubscriber');\n/**\n * Implements the {@link Observer} interface and extends the\n * {@link Subscription} class. While the {@link Observer} is the public API for\n * consuming the values of an {@link Observable}, all Observers get converted to\n * a Subscriber, in order to provide Subscription-like capabilities such as\n * `unsubscribe`. Subscriber is a common type in RxJS, and crucial for\n * implementing operators, but it is rarely used as a public API.\n *\n * @class Subscriber\n */\nvar Subscriber = (function (_super) {\n __extends(Subscriber, _super);\n /**\n * @param {Observer|function(value: T): void} [destinationOrNext] A partially\n * defined Observer or a `next` callback function.\n * @param {function(e: ?any): void} [error] The `error` callback of an\n * Observer.\n * @param {function(): void} [complete] The `complete` callback of an\n * Observer.\n */\n function Subscriber(destinationOrNext, error, complete) {\n _super.call(this);\n this.syncErrorValue = null;\n this.syncErrorThrown = false;\n this.syncErrorThrowable = false;\n this.isStopped = false;\n switch (arguments.length) {\n case 0:\n this.destination = Observer_1.empty;\n break;\n case 1:\n if (!destinationOrNext) {\n this.destination = Observer_1.empty;\n break;\n }\n if (typeof destinationOrNext === 'object') {\n if (destinationOrNext instanceof Subscriber) {\n this.destination = destinationOrNext;\n this.destination.add(this);\n }\n else {\n this.syncErrorThrowable = true;\n this.destination = new SafeSubscriber(this, destinationOrNext);\n }\n break;\n }\n default:\n this.syncErrorThrowable = true;\n this.destination = new SafeSubscriber(this, destinationOrNext, error, complete);\n break;\n }\n }\n Subscriber.prototype[rxSubscriber_1.$$rxSubscriber] = function () { return this; };\n /**\n * A static factory for a Subscriber, given a (potentially partial) definition\n * of an Observer.\n * @param {function(x: ?T): void} [next] The `next` callback of an Observer.\n * @param {function(e: ?any): void} [error] The `error` callback of an\n * Observer.\n * @param {function(): void} [complete] The `complete` callback of an\n * Observer.\n * @return {Subscriber} A Subscriber wrapping the (partially defined)\n * Observer represented by the given arguments.\n */\n Subscriber.create = function (next, error, complete) {\n var subscriber = new Subscriber(next, error, complete);\n subscriber.syncErrorThrowable = false;\n return subscriber;\n };\n /**\n * The {@link Observer} callback to receive notifications of type `next` from\n * the Observable, with a value. The Observable may call this method 0 or more\n * times.\n * @param {T} [value] The `next` value.\n * @return {void}\n */\n Subscriber.prototype.next = function (value) {\n if (!this.isStopped) {\n this._next(value);\n }\n };\n /**\n * The {@link Observer} callback to receive notifications of type `error` from\n * the Observable, with an attached {@link Error}. Notifies the Observer that\n * the Observable has experienced an error condition.\n * @param {any} [err] The `error` exception.\n * @return {void}\n */\n Subscriber.prototype.error = function (err) {\n if (!this.isStopped) {\n this.isStopped = true;\n this._error(err);\n }\n };\n /**\n * The {@link Observer} callback to receive a valueless notification of type\n * `complete` from the Observable. Notifies the Observer that the Observable\n * has finished sending push-based notifications.\n * @return {void}\n */\n Subscriber.prototype.complete = function () {\n if (!this.isStopped) {\n this.isStopped = true;\n this._complete();\n }\n };\n Subscriber.prototype.unsubscribe = function () {\n if (this.closed) {\n return;\n }\n this.isStopped = true;\n _super.prototype.unsubscribe.call(this);\n };\n Subscriber.prototype._next = function (value) {\n this.destination.next(value);\n };\n Subscriber.prototype._error = function (err) {\n this.destination.error(err);\n this.unsubscribe();\n };\n Subscriber.prototype._complete = function () {\n this.destination.complete();\n this.unsubscribe();\n };\n return Subscriber;\n}(Subscription_1.Subscription));\nexports.Subscriber = Subscriber;\n/**\n * We need this JSDoc comment for affecting ESDoc.\n * @ignore\n * @extends {Ignored}\n */\nvar SafeSubscriber = (function (_super) {\n __extends(SafeSubscriber, _super);\n function SafeSubscriber(_parent, observerOrNext, error, complete) {\n _super.call(this);\n this._parent = _parent;\n var next;\n var context = this;\n if (isFunction_1.isFunction(observerOrNext)) {\n next = observerOrNext;\n }\n else if (observerOrNext) {\n context = observerOrNext;\n next = observerOrNext.next;\n error = observerOrNext.error;\n complete = observerOrNext.complete;\n if (isFunction_1.isFunction(context.unsubscribe)) {\n this.add(context.unsubscribe.bind(context));\n }\n context.unsubscribe = this.unsubscribe.bind(this);\n }\n this._context = context;\n this._next = next;\n this._error = error;\n this._complete = complete;\n }\n SafeSubscriber.prototype.next = function (value) {\n if (!this.isStopped && this._next) {\n var _parent = this._parent;\n if (!_parent.syncErrorThrowable) {\n this.__tryOrUnsub(this._next, value);\n }\n else if (this.__tryOrSetError(_parent, this._next, value)) {\n this.unsubscribe();\n }\n }\n };\n SafeSubscriber.prototype.error = function (err) {\n if (!this.isStopped) {\n var _parent = this._parent;\n if (this._error) {\n if (!_parent.syncErrorThrowable) {\n this.__tryOrUnsub(this._error, err);\n this.unsubscribe();\n }\n else {\n this.__tryOrSetError(_parent, this._error, err);\n this.unsubscribe();\n }\n }\n else if (!_parent.syncErrorThrowable) {\n this.unsubscribe();\n throw err;\n }\n else {\n _parent.syncErrorValue = err;\n _parent.syncErrorThrown = true;\n this.unsubscribe();\n }\n }\n };\n SafeSubscriber.prototype.complete = function () {\n if (!this.isStopped) {\n var _parent = this._parent;\n if (this._complete) {\n if (!_parent.syncErrorThrowable) {\n this.__tryOrUnsub(this._complete);\n this.unsubscribe();\n }\n else {\n this.__tryOrSetError(_parent, this._complete);\n this.unsubscribe();\n }\n }\n else {\n this.unsubscribe();\n }\n }\n };\n SafeSubscriber.prototype.__tryOrUnsub = function (fn, value) {\n try {\n fn.call(this._context, value);\n }\n catch (err) {\n this.unsubscribe();\n throw err;\n }\n };\n SafeSubscriber.prototype.__tryOrSetError = function (parent, fn, value) {\n try {\n fn.call(this._context, value);\n }\n catch (err) {\n parent.syncErrorValue = err;\n parent.syncErrorThrown = true;\n return true;\n }\n return false;\n };\n SafeSubscriber.prototype._unsubscribe = function () {\n var _parent = this._parent;\n this._context = null;\n this._parent = null;\n _parent.unsubscribe();\n };\n return SafeSubscriber;\n}(Subscriber));\n//# sourceMappingURL=Subscriber.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/rxjs/Subscriber.js\n// module id = ./node_modules/rxjs/Subscriber.js\n// module chunks = 0","\"use strict\";\nvar __extends = (this && this.__extends) || function (d, b) {\n for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n};\nvar isArray_1 = require('./util/isArray');\nvar isObject_1 = require('./util/isObject');\nvar isFunction_1 = require('./util/isFunction');\nvar tryCatch_1 = require('./util/tryCatch');\nvar errorObject_1 = require('./util/errorObject');\nvar UnsubscriptionError_1 = require('./util/UnsubscriptionError');\n/**\n * Represents a disposable resource, such as the execution of an Observable. A\n * Subscription has one important method, `unsubscribe`, that takes no argument\n * and just disposes the resource held by the subscription.\n *\n * Additionally, subscriptions may be grouped together through the `add()`\n * method, which will attach a child Subscription to the current Subscription.\n * When a Subscription is unsubscribed, all its children (and its grandchildren)\n * will be unsubscribed as well.\n *\n * @class Subscription\n */\nvar Subscription = (function () {\n /**\n * @param {function(): void} [unsubscribe] A function describing how to\n * perform the disposal of resources when the `unsubscribe` method is called.\n */\n function Subscription(unsubscribe) {\n /**\n * A flag to indicate whether this Subscription has already been unsubscribed.\n * @type {boolean}\n */\n this.closed = false;\n if (unsubscribe) {\n this._unsubscribe = unsubscribe;\n }\n }\n /**\n * Disposes the resources held by the subscription. May, for instance, cancel\n * an ongoing Observable execution or cancel any other type of work that\n * started when the Subscription was created.\n * @return {void}\n */\n Subscription.prototype.unsubscribe = function () {\n var hasErrors = false;\n var errors;\n if (this.closed) {\n return;\n }\n this.closed = true;\n var _a = this, _unsubscribe = _a._unsubscribe, _subscriptions = _a._subscriptions;\n this._subscriptions = null;\n if (isFunction_1.isFunction(_unsubscribe)) {\n var trial = tryCatch_1.tryCatch(_unsubscribe).call(this);\n if (trial === errorObject_1.errorObject) {\n hasErrors = true;\n errors = errors || (errorObject_1.errorObject.e instanceof UnsubscriptionError_1.UnsubscriptionError ?\n flattenUnsubscriptionErrors(errorObject_1.errorObject.e.errors) : [errorObject_1.errorObject.e]);\n }\n }\n if (isArray_1.isArray(_subscriptions)) {\n var index = -1;\n var len = _subscriptions.length;\n while (++index < len) {\n var sub = _subscriptions[index];\n if (isObject_1.isObject(sub)) {\n var trial = tryCatch_1.tryCatch(sub.unsubscribe).call(sub);\n if (trial === errorObject_1.errorObject) {\n hasErrors = true;\n errors = errors || [];\n var err = errorObject_1.errorObject.e;\n if (err instanceof UnsubscriptionError_1.UnsubscriptionError) {\n errors = errors.concat(flattenUnsubscriptionErrors(err.errors));\n }\n else {\n errors.push(err);\n }\n }\n }\n }\n }\n if (hasErrors) {\n throw new UnsubscriptionError_1.UnsubscriptionError(errors);\n }\n };\n /**\n * Adds a tear down to be called during the unsubscribe() of this\n * Subscription.\n *\n * If the tear down being added is a subscription that is already\n * unsubscribed, is the same reference `add` is being called on, or is\n * `Subscription.EMPTY`, it will not be added.\n *\n * If this subscription is already in an `closed` state, the passed\n * tear down logic will be executed immediately.\n *\n * @param {TeardownLogic} teardown The additional logic to execute on\n * teardown.\n * @return {Subscription} Returns the Subscription used or created to be\n * added to the inner subscriptions list. This Subscription can be used with\n * `remove()` to remove the passed teardown logic from the inner subscriptions\n * list.\n */\n Subscription.prototype.add = function (teardown) {\n if (!teardown || (teardown === Subscription.EMPTY)) {\n return Subscription.EMPTY;\n }\n if (teardown === this) {\n return this;\n }\n var sub = teardown;\n switch (typeof teardown) {\n case 'function':\n sub = new Subscription(teardown);\n case 'object':\n if (sub.closed || typeof sub.unsubscribe !== 'function') {\n return sub;\n }\n else if (this.closed) {\n sub.unsubscribe();\n return sub;\n }\n break;\n default:\n throw new Error('unrecognized teardown ' + teardown + ' added to Subscription.');\n }\n var childSub = new ChildSubscription(sub, this);\n this._subscriptions = this._subscriptions || [];\n this._subscriptions.push(childSub);\n return childSub;\n };\n /**\n * Removes a Subscription from the internal list of subscriptions that will\n * unsubscribe during the unsubscribe process of this Subscription.\n * @param {Subscription} subscription The subscription to remove.\n * @return {void}\n */\n Subscription.prototype.remove = function (subscription) {\n // HACK: This might be redundant because of the logic in `add()`\n if (subscription == null || (subscription === this) || (subscription === Subscription.EMPTY)) {\n return;\n }\n var subscriptions = this._subscriptions;\n if (subscriptions) {\n var subscriptionIndex = subscriptions.indexOf(subscription);\n if (subscriptionIndex !== -1) {\n subscriptions.splice(subscriptionIndex, 1);\n }\n }\n };\n Subscription.EMPTY = (function (empty) {\n empty.closed = true;\n return empty;\n }(new Subscription()));\n return Subscription;\n}());\nexports.Subscription = Subscription;\nvar ChildSubscription = (function (_super) {\n __extends(ChildSubscription, _super);\n function ChildSubscription(_innerSub, _parent) {\n _super.call(this);\n this._innerSub = _innerSub;\n this._parent = _parent;\n }\n ChildSubscription.prototype._unsubscribe = function () {\n var _a = this, _innerSub = _a._innerSub, _parent = _a._parent;\n _parent.remove(this);\n _innerSub.unsubscribe();\n };\n return ChildSubscription;\n}(Subscription));\nexports.ChildSubscription = ChildSubscription;\nfunction flattenUnsubscriptionErrors(errors) {\n return errors.reduce(function (errs, err) { return errs.concat((err instanceof UnsubscriptionError_1.UnsubscriptionError) ? err.errors : err); }, []);\n}\n//# sourceMappingURL=Subscription.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/rxjs/Subscription.js\n// module id = ./node_modules/rxjs/Subscription.js\n// module chunks = 0","\"use strict\";\nvar Observable_1 = require('../../Observable');\nvar fromEvent_1 = require('../../observable/fromEvent');\nObservable_1.Observable.fromEvent = fromEvent_1.fromEvent;\n//# sourceMappingURL=fromEvent.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/rxjs/add/observable/fromEvent.js\n// module id = ./node_modules/rxjs/add/observable/fromEvent.js\n// module chunks = 0","\"use strict\";\nvar __extends = (this && this.__extends) || function (d, b) {\n for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n};\nvar Observable_1 = require('../Observable');\nvar tryCatch_1 = require('../util/tryCatch');\nvar isFunction_1 = require('../util/isFunction');\nvar errorObject_1 = require('../util/errorObject');\nvar Subscription_1 = require('../Subscription');\nvar toString = Object.prototype.toString;\nfunction isNodeStyleEventEmmitter(sourceObj) {\n return !!sourceObj && typeof sourceObj.addListener === 'function' && typeof sourceObj.removeListener === 'function';\n}\nfunction isJQueryStyleEventEmitter(sourceObj) {\n return !!sourceObj && typeof sourceObj.on === 'function' && typeof sourceObj.off === 'function';\n}\nfunction isNodeList(sourceObj) {\n return !!sourceObj && toString.call(sourceObj) === '[object NodeList]';\n}\nfunction isHTMLCollection(sourceObj) {\n return !!sourceObj && toString.call(sourceObj) === '[object HTMLCollection]';\n}\nfunction isEventTarget(sourceObj) {\n return !!sourceObj && typeof sourceObj.addEventListener === 'function' && typeof sourceObj.removeEventListener === 'function';\n}\n/**\n * We need this JSDoc comment for affecting ESDoc.\n * @extends {Ignored}\n * @hide true\n */\nvar FromEventObservable = (function (_super) {\n __extends(FromEventObservable, _super);\n function FromEventObservable(sourceObj, eventName, selector, options) {\n _super.call(this);\n this.sourceObj = sourceObj;\n this.eventName = eventName;\n this.selector = selector;\n this.options = options;\n }\n /* tslint:enable:max-line-length */\n /**\n * Creates an Observable that emits events of a specific type coming from the\n * given event target.\n *\n * Creates an Observable from DOM events, or Node\n * EventEmitter events or others.\n *\n * \n *\n * Creates an Observable by attaching an event listener to an \"event target\",\n * which may be an object with `addEventListener` and `removeEventListener`,\n * a Node.js EventEmitter, a jQuery style EventEmitter, a NodeList from the\n * DOM, or an HTMLCollection from the DOM. The event handler is attached when\n * the output Observable is subscribed, and removed when the Subscription is\n * unsubscribed.\n *\n * @example Emits clicks happening on the DOM document\n * var clicks = Rx.Observable.fromEvent(document, 'click');\n * clicks.subscribe(x => console.log(x));\n *\n * // Results in:\n * // MouseEvent object logged to console everytime a click\n * // occurs on the document.\n *\n * @see {@link from}\n * @see {@link fromEventPattern}\n *\n * @param {EventTargetLike} target The DOMElement, event target, Node.js\n * EventEmitter, NodeList or HTMLCollection to attach the event handler to.\n * @param {string} eventName The event name of interest, being emitted by the\n * `target`.\n * @param {EventListenerOptions} [options] Options to pass through to addEventListener\n * @param {SelectorMethodSignature} [selector] An optional function to\n * post-process results. It takes the arguments from the event handler and\n * should return a single value.\n * @return {Observable}\n * @static true\n * @name fromEvent\n * @owner Observable\n */\n FromEventObservable.create = function (target, eventName, options, selector) {\n if (isFunction_1.isFunction(options)) {\n selector = options;\n options = undefined;\n }\n return new FromEventObservable(target, eventName, selector, options);\n };\n FromEventObservable.setupSubscription = function (sourceObj, eventName, handler, subscriber, options) {\n var unsubscribe;\n if (isNodeList(sourceObj) || isHTMLCollection(sourceObj)) {\n for (var i = 0, len = sourceObj.length; i < len; i++) {\n FromEventObservable.setupSubscription(sourceObj[i], eventName, handler, subscriber, options);\n }\n }\n else if (isEventTarget(sourceObj)) {\n var source_1 = sourceObj;\n sourceObj.addEventListener(eventName, handler, options);\n unsubscribe = function () { return source_1.removeEventListener(eventName, handler); };\n }\n else if (isJQueryStyleEventEmitter(sourceObj)) {\n var source_2 = sourceObj;\n sourceObj.on(eventName, handler);\n unsubscribe = function () { return source_2.off(eventName, handler); };\n }\n else if (isNodeStyleEventEmmitter(sourceObj)) {\n var source_3 = sourceObj;\n sourceObj.addListener(eventName, handler);\n unsubscribe = function () { return source_3.removeListener(eventName, handler); };\n }\n else {\n throw new TypeError('Invalid event target');\n }\n subscriber.add(new Subscription_1.Subscription(unsubscribe));\n };\n FromEventObservable.prototype._subscribe = function (subscriber) {\n var sourceObj = this.sourceObj;\n var eventName = this.eventName;\n var options = this.options;\n var selector = this.selector;\n var handler = selector ? function () {\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i - 0] = arguments[_i];\n }\n var result = tryCatch_1.tryCatch(selector).apply(void 0, args);\n if (result === errorObject_1.errorObject) {\n subscriber.error(errorObject_1.errorObject.e);\n }\n else {\n subscriber.next(result);\n }\n } : function (e) { return subscriber.next(e); };\n FromEventObservable.setupSubscription(sourceObj, eventName, handler, subscriber, options);\n };\n return FromEventObservable;\n}(Observable_1.Observable));\nexports.FromEventObservable = FromEventObservable;\n//# sourceMappingURL=FromEventObservable.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/rxjs/observable/FromEventObservable.js\n// module id = ./node_modules/rxjs/observable/FromEventObservable.js\n// module chunks = 0","\"use strict\";\nvar FromEventObservable_1 = require('./FromEventObservable');\nexports.fromEvent = FromEventObservable_1.FromEventObservable.create;\n//# sourceMappingURL=fromEvent.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/rxjs/observable/fromEvent.js\n// module id = ./node_modules/rxjs/observable/fromEvent.js\n// module chunks = 0","\"use strict\";\nvar root_1 = require('../util/root');\nfunction getSymbolObservable(context) {\n var $$observable;\n var Symbol = context.Symbol;\n if (typeof Symbol === 'function') {\n if (Symbol.observable) {\n $$observable = Symbol.observable;\n }\n else {\n $$observable = Symbol('observable');\n Symbol.observable = $$observable;\n }\n }\n else {\n $$observable = '@@observable';\n }\n return $$observable;\n}\nexports.getSymbolObservable = getSymbolObservable;\nexports.$$observable = getSymbolObservable(root_1.root);\n//# sourceMappingURL=observable.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/rxjs/symbol/observable.js\n// module id = ./node_modules/rxjs/symbol/observable.js\n// module chunks = 0","\"use strict\";\nvar root_1 = require('../util/root');\nvar Symbol = root_1.root.Symbol;\nexports.$$rxSubscriber = (typeof Symbol === 'function' && typeof Symbol.for === 'function') ?\n Symbol.for('rxSubscriber') : '@@rxSubscriber';\n//# sourceMappingURL=rxSubscriber.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/rxjs/symbol/rxSubscriber.js\n// module id = ./node_modules/rxjs/symbol/rxSubscriber.js\n// module chunks = 0","\"use strict\";\nvar __extends = (this && this.__extends) || function (d, b) {\n for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n};\n/**\n * An error thrown when one or more errors have occurred during the\n * `unsubscribe` of a {@link Subscription}.\n */\nvar UnsubscriptionError = (function (_super) {\n __extends(UnsubscriptionError, _super);\n function UnsubscriptionError(errors) {\n _super.call(this);\n this.errors = errors;\n var err = Error.call(this, errors ?\n errors.length + \" errors occurred during unsubscription:\\n \" + errors.map(function (err, i) { return ((i + 1) + \") \" + err.toString()); }).join('\\n ') : '');\n this.name = err.name = 'UnsubscriptionError';\n this.stack = err.stack;\n this.message = err.message;\n }\n return UnsubscriptionError;\n}(Error));\nexports.UnsubscriptionError = UnsubscriptionError;\n//# sourceMappingURL=UnsubscriptionError.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/rxjs/util/UnsubscriptionError.js\n// module id = ./node_modules/rxjs/util/UnsubscriptionError.js\n// module chunks = 0","\"use strict\";\n// typeof any so that it we don't have to cast when comparing a result to the error object\nexports.errorObject = { e: {} };\n//# sourceMappingURL=errorObject.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/rxjs/util/errorObject.js\n// module id = ./node_modules/rxjs/util/errorObject.js\n// module chunks = 0","\"use strict\";\nexports.isArray = Array.isArray || (function (x) { return x && typeof x.length === 'number'; });\n//# sourceMappingURL=isArray.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/rxjs/util/isArray.js\n// module id = ./node_modules/rxjs/util/isArray.js\n// module chunks = 0","\"use strict\";\nfunction isFunction(x) {\n return typeof x === 'function';\n}\nexports.isFunction = isFunction;\n//# sourceMappingURL=isFunction.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/rxjs/util/isFunction.js\n// module id = ./node_modules/rxjs/util/isFunction.js\n// module chunks = 0","\"use strict\";\nfunction isObject(x) {\n return x != null && typeof x === 'object';\n}\nexports.isObject = isObject;\n//# sourceMappingURL=isObject.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/rxjs/util/isObject.js\n// module id = ./node_modules/rxjs/util/isObject.js\n// module chunks = 0","\"use strict\";\n/**\n * window: browser in DOM main thread\n * self: browser in WebWorker\n * global: Node.js/other\n */\nexports.root = (typeof window == 'object' && window.window === window && window\n || typeof self == 'object' && self.self === self && self\n || typeof global == 'object' && global.global === global && global);\nif (!exports.root) {\n throw new Error('RxJS could not find any global context (window, self, global)');\n}\n//# sourceMappingURL=root.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/rxjs/util/root.js\n// module id = ./node_modules/rxjs/util/root.js\n// module chunks = 0","\"use strict\";\nvar Subscriber_1 = require('../Subscriber');\nvar rxSubscriber_1 = require('../symbol/rxSubscriber');\nvar Observer_1 = require('../Observer');\nfunction toSubscriber(nextOrObserver, error, complete) {\n if (nextOrObserver) {\n if (nextOrObserver instanceof Subscriber_1.Subscriber) {\n return nextOrObserver;\n }\n if (nextOrObserver[rxSubscriber_1.$$rxSubscriber]) {\n return nextOrObserver[rxSubscriber_1.$$rxSubscriber]();\n }\n }\n if (!nextOrObserver && !error && !complete) {\n return new Subscriber_1.Subscriber(Observer_1.empty);\n }\n return new Subscriber_1.Subscriber(nextOrObserver, error, complete);\n}\nexports.toSubscriber = toSubscriber;\n//# sourceMappingURL=toSubscriber.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/rxjs/util/toSubscriber.js\n// module id = ./node_modules/rxjs/util/toSubscriber.js\n// module chunks = 0","\"use strict\";\nvar errorObject_1 = require('./errorObject');\nvar tryCatchTarget;\nfunction tryCatcher() {\n try {\n return tryCatchTarget.apply(this, arguments);\n }\n catch (e) {\n errorObject_1.errorObject.e = e;\n return errorObject_1.errorObject;\n }\n}\nfunction tryCatch(fn) {\n tryCatchTarget = fn;\n return tryCatcher;\n}\nexports.tryCatch = tryCatch;\n;\n//# sourceMappingURL=tryCatch.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/rxjs/util/tryCatch.js\n// module id = ./node_modules/rxjs/util/tryCatch.js\n// module chunks = 0","var g;\r\n\r\n// This works in non-strict mode\r\ng = (function() { return this; })();\r\n\r\ntry {\r\n\t// This works if eval is allowed (see CSP)\r\n\tg = g || Function(\"return this\")() || (1,eval)(\"this\");\r\n} catch(e) {\r\n\t// This works if the window reference is available\r\n\tif(typeof window === \"object\")\r\n\t\tg = window;\r\n}\r\n\r\n// g can still be undefined, but nothing to do about it...\r\n// We return undefined, instead of nothing here, so it's\r\n// easier to handle this case. if(!global) { ...}\r\n\r\nmodule.exports = g;\r\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// (webpack)/buildin/global.js\n// module id = ./node_modules/webpack/buildin/global.js\n// module chunks = 0","import {\r\n Component, Input, PipeTransform, HostBinding, \r\n Output, EventEmitter, HostListener, ElementRef\r\n} from '@angular/core';\r\n\r\nimport { deepValueGetter, Keys } from '../../utils';\r\nimport { SortDirection } from '../../types';\r\n\r\n@Component({\r\n selector: 'datatable-body-cell',\r\n template: `\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n `,\r\n host: {\r\n class: 'datatable-body-cell'\r\n }\r\n})\r\nexport class DataTableBodyCellComponent {\r\n\r\n @Input() row: any;\r\n @Input() column: any;\r\n @Input() rowHeight: number;\r\n @Input() isSelected: boolean;\r\n\r\n @Input() set sorts(val: any[]) {\r\n this._sorts = val;\r\n this.calcSortDir = this.calcSortDir(val);\r\n }\r\n\r\n get sorts(): any[] {\r\n return this._sorts;\r\n }\r\n\r\n @Output() activate: EventEmitter = new EventEmitter();\r\n \r\n @HostBinding('class')\r\n get columnCssClasses(): any {\r\n let cls = 'datatable-body-cell';\r\n if(this.column.cssClasses) cls += ' ' + this.column.cssClasses;\r\n return cls;\r\n }\r\n\r\n @HostBinding('class.active')\r\n isFocused: boolean = false;\r\n\r\n @HostBinding('class.sort-active')\r\n get isSortActive(): boolean {\r\n return !this.sortDir;\r\n }\r\n\r\n @HostBinding('class.sort-asc')\r\n get isSortAscending(): boolean {\r\n return this.sortDir === SortDirection.asc;\r\n }\r\n\r\n @HostBinding('class.sort-desc')\r\n get isSortDescending(): boolean {\r\n return this.sortDir === SortDirection.desc;\r\n }\r\n\r\n @HostBinding('style.width.px')\r\n get width(): number {\r\n return this.column.width;\r\n }\r\n\r\n @HostBinding('style.height')\r\n get height(): string|number {\r\n const height = this.rowHeight;\r\n if(isNaN(height)) return height;\r\n return height + 'px';\r\n }\r\n\r\n get value(): any {\r\n if (!this.row || !this.column || !this.column.prop) return '';\r\n const val = deepValueGetter(this.row, this.column.prop);\r\n const userPipe: PipeTransform = this.column.pipe;\r\n\r\n if(userPipe) return userPipe.transform(val);\r\n if(val !== undefined) return val;\r\n return '';\r\n }\r\n\r\n sortDir: SortDirection;\r\n element: any;\r\n _sorts: any[];\r\n\r\n constructor(element: ElementRef) {\r\n this.element = element.nativeElement;\r\n }\r\n\r\n @HostListener('focus')\r\n onFocus(): void {\r\n this.isFocused = true;\r\n }\r\n\r\n @HostListener('blur')\r\n onBlur(): void {\r\n this.isFocused = false;\r\n }\r\n\r\n @HostListener('click', ['$event'])\r\n onClick(event: MouseEvent): void {\r\n this.activate.emit({\r\n type: 'click',\r\n event,\r\n row: this.row,\r\n column: this.column,\r\n value: this.value,\r\n cellElement: this.element\r\n });\r\n }\r\n\r\n @HostListener('dblclick', ['$event'])\r\n onDblClick(event: MouseEvent): void {\r\n this.activate.emit({\r\n type: 'dblclick',\r\n event,\r\n row: this.row,\r\n column: this.column,\r\n value: this.value,\r\n cellElement: this.element\r\n });\r\n }\r\n\r\n @HostListener('keydown', ['$event'])\r\n onKeyDown(event: KeyboardEvent): void {\r\n const keyCode = event.keyCode;\r\n const isTargetCell = event.target === this.element;\r\n\r\n const isAction =\r\n keyCode === Keys.return ||\r\n keyCode === Keys.down ||\r\n keyCode === Keys.up ||\r\n keyCode === Keys.left ||\r\n keyCode === Keys.right;\r\n\r\n if(isAction && isTargetCell) {\r\n event.preventDefault();\r\n event.stopPropagation();\r\n\r\n this.activate.emit({\r\n type: 'keydown',\r\n event,\r\n row: this.row,\r\n column: this.column,\r\n value: this.value,\r\n cellElement: this.element\r\n });\r\n }\r\n }\r\n\r\n onCheckboxChange(event): void {\r\n this.activate.emit({\r\n type: 'checkbox',\r\n event,\r\n row: this.row,\r\n column: this.column,\r\n value: this.value,\r\n cellElement: this.element\r\n });\r\n }\r\n\r\n calcSortDir(sorts: any[]): any {\r\n if(!sorts) return;\r\n\r\n const sort = sorts.find((s: any) => {\r\n return s.prop === this.column.prop;\r\n });\r\n\r\n if(sort) return sort.dir;\r\n }\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/components/body/body-cell.component.ts","import { \r\n Component, Input, Output, EventEmitter, HostListener \r\n} from '@angular/core';\r\n\r\n@Component({\r\n selector: 'datatable-row-wrapper',\r\n template: `\r\n \r\n
\r\n \r\n \r\n
\r\n `,\r\n host: {\r\n class: 'datatable-row-wrapper'\r\n }\r\n})\r\nexport class DataTableRowWrapperComponent {\r\n\r\n @Input() rowDetailTemplate: any;\r\n @Input() detailRowHeight: any;\r\n @Input() expanded: boolean = false;\r\n @Input() row: any;\r\n @Output() rowContextmenu = new EventEmitter<{event: MouseEvent, row: any}>(false);\r\n\r\n @HostListener('contextmenu', ['$event'])\r\n onContextmenu($event: MouseEvent): void {\r\n this.rowContextmenu.emit({ event: $event, row: this.row });\r\n }\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/components/body/body-row-wrapper.component.ts","import {\n Component, Input, HostBinding, ElementRef, Output, EventEmitter, HostListener\n} from '@angular/core';\n\nimport {\n columnsByPin, columnGroupWidths, columnsByPinArr,\n translateXY, Keys, scrollbarWidth\n} from '../../utils';\n\n@Component({\n selector: 'datatable-body-row',\n template: `\n \n \n \n \n `,\n host: {\n class: 'datatable-body-row'\n }\n})\nexport class DataTableBodyRowComponent {\n\n @Input() set columns(val: any[]) {\n this._columns = val;\n this.recalculateColumns(val);\n }\n\n get columns(): any[] {\n return this._columns;\n }\n\n @Input() set innerWidth(val: number) {\n this._innerWidth = val;\n this.recalculateColumns();\n }\n\n get innerWidth(): number {\n return this._innerWidth;\n }\n\n @Input() row: any;\n @Input() offsetX: number;\n\n @HostBinding('style.height.px')\n @Input() rowHeight: number;\n\n @HostBinding('class.active')\n @Input() isSelected: boolean;\n\n @HostBinding('class.datatable-row-even')\n get isEvenRow(): boolean {\n return this.row.$$index % 2 === 0;\n }\n\n @HostBinding('class.datatable-row-odd')\n get isOddRow(): boolean {\n return this.row.$$index % 2 !== 0;\n }\n\n @Output() activate: EventEmitter = new EventEmitter();\n\n element: any;\n columnGroupWidths: any;\n columnsByPin: any;\n _columns: any[];\n _innerWidth: number;\n\n constructor(element: ElementRef) {\n this.element = element.nativeElement;\n }\n\n trackByGroups(index: number, colGroup: any): any {\n return colGroup.type;\n }\n\n columnTrackingFn(index: number, column: any): any {\n return column.$$id;\n }\n\n stylesByGroup(group: string) {\n const widths = this.columnGroupWidths;\n const offsetX = this.offsetX;\n\n let styles = {\n width: `${widths[group]}px`\n };\n\n if(group === 'left') {\n translateXY(styles, offsetX, 0);\n } else if(group === 'right') {\n const bodyWidth = parseInt(this.innerWidth + '', 0);\n const totalDiff = widths.total - bodyWidth;\n const offsetDiff = totalDiff - offsetX;\n const offset = (offsetDiff + scrollbarWidth) * -1;\n translateXY(styles, offset, 0);\n }\n\n return styles;\n }\n\n onActivate(event: any, index: number) {\n event.cellIndex = index;\n event.rowElement = this.element;\n this.activate.emit(event);\n }\n\n @HostListener('keydown', ['$event'])\n onKeyDown(event: KeyboardEvent): void {\n const keyCode = event.keyCode;\n const isTargetRow = event.target === this.element;\n\n const isAction =\n keyCode === Keys.return ||\n keyCode === Keys.down ||\n keyCode === Keys.up ||\n keyCode === Keys.left ||\n keyCode === Keys.right;\n\n if(isAction && isTargetRow) {\n event.preventDefault();\n event.stopPropagation();\n\n this.activate.emit({\n type: 'keydown',\n event,\n row: this.row,\n rowElement: this.element\n });\n }\n }\n\n recalculateColumns(val: any[] = this.columns): void {\n const colsByPin = columnsByPin(val);\n this.columnsByPin = columnsByPinArr(val);\n this.columnGroupWidths = columnGroupWidths(colsByPin, val);\n }\n\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/components/body/body-row.component.ts","import {\r\n Component, Output, EventEmitter, Input, HostBinding, ViewChild\r\n} from '@angular/core';\r\nimport { translateXY, columnsByPin, columnGroupWidths, RowHeightCache } from '../../utils';\r\nimport { SelectionType } from '../../types';\r\nimport { ScrollerComponent } from './scroller.component';\r\n\r\n@Component({\r\n selector: 'datatable-body',\r\n template: `\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n `,\r\n host: {\r\n class: 'datatable-body'\r\n }\r\n})\r\nexport class DataTableBodyComponent {\r\n\r\n @Input() scrollbarV: boolean;\r\n @Input() scrollbarH: boolean;\r\n @Input() loadingIndicator: boolean;\r\n @Input() rowHeight: number;\r\n @Input() offsetX: number;\r\n @Input() detailRowHeight: any;\r\n @Input() emptyMessage: string;\r\n @Input() selectionType: SelectionType;\r\n @Input() selected: any[] = [];\r\n @Input() rowIdentity: any;\r\n @Input() rowDetailTemplate: any;\r\n @Input() selectCheck: any;\r\n @Input() trackByProp: string;\r\n\r\n @Input() set pageSize(val: number) {\r\n this._pageSize = val;\r\n this.recalcLayout();\r\n }\r\n\r\n get pageSize(): number {\r\n return this._pageSize;\r\n }\r\n\r\n @Input() set rows(val: any[]) {\r\n this._rows = val;\r\n this.recalcLayout();\r\n }\r\n\r\n get rows(): any[] {\r\n return this._rows;\r\n }\r\n\r\n @Input() set columns(val: any[]) {\r\n this._columns = val;\r\n\r\n const colsByPin = columnsByPin(val);\r\n this.columnGroupWidths = columnGroupWidths(colsByPin, val);\r\n }\r\n\r\n get columns(): any[] {\r\n return this._columns;\r\n }\r\n\r\n @Input() set offset(val: number) {\r\n this._offset = val;\r\n this.recalcLayout();\r\n }\r\n\r\n get offset(): number {\r\n return this._offset;\r\n }\r\n\r\n @Input() set rowCount(val: number) {\r\n this._rowCount = val;\r\n this.recalcLayout();\r\n }\r\n\r\n get rowCount(): number {\r\n return this._rowCount;\r\n }\r\n\r\n @Input() innerWidth: number;\r\n\r\n @HostBinding('style.width')\r\n get bodyWidth(): string {\r\n if (this.scrollbarH) {\r\n return this.innerWidth + 'px';\r\n } else {\r\n return '100%';\r\n }\r\n }\r\n\r\n @Input()\r\n @HostBinding('style.height')\r\n set bodyHeight(val) {\r\n if (this.scrollbarV) {\r\n this._bodyHeight = val + 'px';\r\n } else {\r\n this._bodyHeight = 'auto';\r\n }\r\n\r\n this.recalcLayout();\r\n }\r\n\r\n get bodyHeight() {\r\n return this._bodyHeight;\r\n }\r\n\r\n @Output() scroll: EventEmitter = new EventEmitter();\r\n @Output() page: EventEmitter = new EventEmitter();\r\n @Output() activate: EventEmitter = new EventEmitter();\r\n @Output() select: EventEmitter = new EventEmitter();\r\n @Output() detailToggle: EventEmitter = new EventEmitter();\r\n @Output() rowContextmenu = new EventEmitter<{event: MouseEvent, row: any}>(false);\r\n\r\n @ViewChild(ScrollerComponent) scroller: ScrollerComponent;\r\n\r\n /**\r\n * Returns if selection is enabled.\r\n * \r\n * @readonly\r\n * @type {boolean}\r\n * @memberOf DataTableBodyComponent\r\n */\r\n get selectEnabled(): boolean {\r\n return !!this.selectionType;\r\n }\r\n\r\n /**\r\n * Property that would calculate the height of scroll bar\r\n * based on the row heights cache for virtual scroll. Other scenarios\r\n * calculate scroll height automatically (as height will be undefined).\r\n * \r\n * @readonly\r\n * @type {number}\r\n * @memberOf DataTableBodyComponent\r\n */\r\n get scrollHeight(): number {\r\n if(this.scrollbarV) {\r\n return this.rowHeightsCache.query(this.rowCount - 1);\r\n }\r\n }\r\n\r\n rowHeightsCache: RowHeightCache = new RowHeightCache();\r\n temp: any[] = [];\r\n offsetY: number = 0;\r\n indexes: any = {};\r\n columnGroupWidths: any;\r\n rowTrackingFn: any;\r\n\r\n _rows: any[];\r\n _bodyHeight: any;\r\n _columns: any[];\r\n _rowCount: number;\r\n _offset: number;\r\n _pageSize: number;\r\n\r\n constructor() {\r\n // declare fn here so we can get access to the `this` property\r\n this.rowTrackingFn = function(index: number, row: any): any {\r\n if(this.trackByProp) {\r\n return `${row.$$index}-${this.trackByProp}`;\r\n } else {\r\n return row.$$index;\r\n }\r\n }.bind(this);\r\n }\r\n\r\n /**\r\n * Updates the Y offset given a new offset.\r\n * \r\n * @param {number} [offset]\r\n * \r\n * @memberOf DataTableBodyComponent\r\n */\r\n updateOffsetY(offset?: number): void {\r\n if(this.scrollbarV && offset) {\r\n // First get the row Index that we need to move to.\r\n const rowIndex = this.pageSize * offset;\r\n offset = this.rowHeightsCache.query(rowIndex - 1);\r\n }\r\n\r\n this.scroller.setOffset(offset || 0);\r\n }\r\n\r\n /**\r\n * Body was scrolled, this is mainly useful for\r\n * when a user is server-side pagination via virtual scroll.\r\n * \r\n * @param {*} event\r\n * \r\n * @memberOf DataTableBodyComponent\r\n */\r\n onBodyScroll(event: any): void {\r\n const scrollYPos: number = event.scrollYPos;\r\n const scrollXPos: number = event.scrollXPos;\r\n\r\n // if scroll change, trigger update\r\n // this is mainly used for header cell positions\r\n if(this.offsetY !== scrollYPos || this.offsetX !== scrollXPos) {\r\n this.scroll.emit({\r\n offsetY: scrollYPos,\r\n offsetX: scrollXPos\r\n });\r\n }\r\n\r\n this.offsetY = scrollYPos;\r\n this.offsetX = scrollXPos;\r\n\r\n this.updateIndexes();\r\n this.updatePage(event.direction);\r\n this.updateRows();\r\n }\r\n\r\n /**\r\n * Updates the page given a direction.\r\n * \r\n * @param {string} direction\r\n * \r\n * @memberOf DataTableBodyComponent\r\n */\r\n updatePage(direction: string): void {\r\n let offset = this.indexes.first / this.pageSize;\r\n\r\n if(direction === 'up') {\r\n offset = Math.floor(offset);\r\n } else if(direction === 'down') {\r\n offset = Math.ceil(offset);\r\n }\r\n\r\n if(direction !== undefined && !isNaN(offset)) {\r\n this.page.emit({ offset });\r\n }\r\n }\r\n\r\n /**\r\n * Updates the rows in the view port\r\n * \r\n * @memberOf DataTableBodyComponent\r\n */\r\n updateRows(): void {\r\n const { first, last } = this.indexes;\r\n let rowIndex = first;\r\n let idx = 0;\r\n let temp: any[] = [];\r\n\r\n while (rowIndex < last && rowIndex < this.rowCount) {\r\n let row = this.rows[rowIndex];\r\n\r\n if(row) {\r\n row.$$index = rowIndex;\r\n temp[idx] = row;\r\n }\r\n\r\n idx++;\r\n rowIndex++;\r\n }\r\n\r\n this.temp = temp;\r\n }\r\n\r\n /**\r\n * Calculate row height based on the expanded state of the row.\r\n * \r\n * @param {*} row the row for which the height need to be calculated.\r\n * @returns {number} height of the row.\r\n * \r\n * @memberOf DataTableBodyComponent\r\n */\r\n getRowHeight(row: any): number {\r\n // Adding detail row height if its expanded.\r\n return this.rowHeight +\r\n (row.$$expanded === 1 ? this.detailRowHeight : 0);\r\n }\r\n\r\n /**\r\n * Calculates the styles for the row so that the rows can be moved in 2D space\r\n * during virtual scroll inside the DOM. In the below case the Y position is\r\n * manipulated. As an example, if the height of row 0 is 30 px and row 1 is\r\n * 100 px then following styles are generated:\r\n *\r\n * transform: translate3d(0px, 0px, 0px); -> row0\r\n * transform: translate3d(0px, 30px, 0px); -> row1\r\n * transform: translate3d(0px, 130px, 0px); -> row2\r\n *\r\n * Row heights have to be calculated based on the row heights cache as we wont\r\n * be able to determine which row is of what height before hand. In the above\r\n * case the positionY of the translate3d for row2 would be the sum of all the\r\n * heights of the rows before it (i.e. row0 and row1).\r\n * \r\n * @param {*} row The row that needs to be placed in the 2D space.\r\n * @returns {*} Returns the CSS3 style to be applied\r\n * \r\n * @memberOf DataTableBodyComponent\r\n */\r\n getRowsStyles(row: any): any {\r\n const rowHeight = this.getRowHeight(row);\r\n\r\n let styles = {\r\n height: rowHeight + 'px'\r\n };\r\n\r\n if(this.scrollbarV) {\r\n const idx = row ? row.$$index : 0;\r\n\r\n // const pos = idx * rowHeight;\r\n // The position of this row would be the sum of all row heights\r\n // until the previous row position.\r\n const pos = this.rowHeightsCache.query(idx - 1);\r\n\r\n translateXY(styles, 0, pos);\r\n }\r\n\r\n return styles;\r\n }\r\n\r\n /**\r\n * Hides the loading indicator\r\n * \r\n * \r\n * @memberOf DataTableBodyComponent\r\n */\r\n hideIndicator(): void {\r\n setTimeout(() => this.loadingIndicator = false, 500);\r\n }\r\n\r\n /**\r\n * Updates the index of the rows in the viewport\r\n * \r\n * @memberOf DataTableBodyComponent\r\n */\r\n updateIndexes(): void {\r\n let first = 0;\r\n let last = 0;\r\n\r\n if (this.scrollbarV) {\r\n // Calculation of the first and last indexes will be based on where the\r\n // scrollY position would be at. The last index would be the one\r\n // that shows up inside the view port the last.\r\n const height = parseInt(this.bodyHeight, 0);\r\n first = this.rowHeightsCache.getRowIndex(this.offsetY);\r\n last = this.rowHeightsCache.getRowIndex(height + this.offsetY) + 1;\r\n } else {\r\n first = Math.max(this.offset * this.pageSize, 0);\r\n last = Math.min((first + this.pageSize), this.rowCount);\r\n }\r\n\r\n this.indexes = { first, last };\r\n }\r\n\r\n /**\r\n * Refreshes the full Row Height cache. Should be used\r\n * when the entire row array state has changed.\r\n * \r\n * @returns {void}\r\n * \r\n * @memberOf DataTableBodyComponent\r\n */\r\n refreshRowHeightCache(): void {\r\n if(!this.scrollbarV) return;\r\n\r\n // clear the previous row height cache if already present.\r\n // this is useful during sorts, filters where the state of the\r\n // rows array is changed.\r\n this.rowHeightsCache.clearCache();\r\n\r\n // Initialize the tree only if there are rows inside the tree.\r\n if (this.rows && this.rows.length) {\r\n this.rowHeightsCache.initCache(\r\n this.rows, this.rowHeight, this.detailRowHeight);\r\n }\r\n }\r\n\r\n /**\r\n * Gets the index for the view port\r\n * \r\n * @returns {number}\r\n * \r\n * @memberOf DataTableBodyComponent\r\n */\r\n getAdjustedViewPortIndex(): number {\r\n // Capture the row index of the first row that is visible on the viewport.\r\n // If the scroll bar is just below the row which is highlighted then make that as the\r\n // first index.\r\n let viewPortFirstRowIndex = this.indexes.first;\r\n\r\n if (this.scrollbarV) {\r\n const offsetScroll = this.rowHeightsCache.query(viewPortFirstRowIndex - 1);\r\n return offsetScroll <= this.offsetY ? viewPortFirstRowIndex - 1 : viewPortFirstRowIndex;\r\n }\r\n\r\n return viewPortFirstRowIndex;\r\n }\r\n\r\n /**\r\n * Toggle the Expansion of the row i.e. if the row is expanded then it will\r\n * collapse and vice versa. Note that the expanded status is stored as\r\n * a part of the row object itself as we have to preserve the expanded row\r\n * status in case of sorting and filtering of the row set.\r\n * \r\n * @param {*} row The row for which the expansion needs to be toggled.\r\n * \r\n * @memberOf DataTableBodyComponent\r\n */\r\n toggleRowExpansion(row: any): void {\r\n // Capture the row index of the first row that is visible on the viewport.\r\n let viewPortFirstRowIndex = this.getAdjustedViewPortIndex();\r\n\r\n // If the detailRowHeight is auto --> only in case of non-virtualized scroll\r\n if(this.scrollbarV) {\r\n const detailRowHeight = this.detailRowHeight * (row.$$expanded ? -1 : 1);\r\n this.rowHeightsCache.update(row.$$index, detailRowHeight);\r\n }\r\n\r\n // Update the toggled row and update the heights in the cache.\r\n row.$$expanded ^= 1;\r\n\r\n this.detailToggle.emit({\r\n rows: [row],\r\n currentIndex: viewPortFirstRowIndex\r\n });\r\n }\r\n\r\n /**\r\n * Expand/Collapse all the rows no matter what their state is.\r\n * \r\n * @param {boolean} expanded When true, all rows are expanded and when false, all rows will be collapsed.\r\n * \r\n * @memberOf DataTableBodyComponent\r\n */\r\n toggleAllRows(expanded: boolean): void {\r\n let rowExpanded = expanded ? 1 : 0;\r\n\r\n // Capture the row index of the first row that is visible on the viewport.\r\n let viewPortFirstRowIndex = this.getAdjustedViewPortIndex();\r\n\r\n for(let row of this.rows) {\r\n row.$$expanded = rowExpanded;\r\n }\r\n\r\n if(this.scrollbarV) {\r\n // Refresh the full row heights cache since every row was affected.\r\n this.refreshRowHeightCache();\r\n }\r\n\r\n // Emit all rows that have been expanded.\r\n this.detailToggle.emit({\r\n rows: this.rows,\r\n currentIndex: viewPortFirstRowIndex\r\n });\r\n }\r\n\r\n /**\r\n * Recalculates the table\r\n * \r\n * @memberOf DataTableBodyComponent\r\n */\r\n recalcLayout(): void {\r\n this.refreshRowHeightCache();\r\n this.updateIndexes();\r\n this.updateRows();\r\n }\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/components/body/body.component.ts","export * from './body.component';\r\nexport * from './body-cell.component';\r\nexport * from './body-row.component';\r\nexport * from './progress-bar.component';\r\nexport * from './scroller.component';\r\nexport * from './body-row-wrapper.component';\r\nexport * from './selection.component';\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/components/body/index.ts","import { Component, ChangeDetectionStrategy } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'datatable-progress',\r\n template: `\r\n
\r\n
\r\n
\r\n
\r\n
\r\n `,\r\n changeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\nexport class ProgressBarComponent {\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/components/body/progress-bar.component.ts","import {\r\n Component, Input, ElementRef, Output, EventEmitter, Renderer,\r\n OnInit, OnDestroy, HostBinding\r\n} from '@angular/core';\r\n\r\n@Component({\r\n selector: 'datatable-scroller',\r\n template: `\r\n \r\n `,\r\n host: {\r\n class: 'datatable-scroll'\r\n }\r\n})\r\nexport class ScrollerComponent implements OnInit, OnDestroy {\r\n\r\n @Input() scrollbarV: boolean = false;\r\n @Input() scrollbarH: boolean = false;\r\n\r\n @HostBinding('style.height.px')\r\n @Input() scrollHeight: number;\r\n\r\n @HostBinding('style.width.px')\r\n @Input() scrollWidth: number;\r\n\r\n @Output() scroll: EventEmitter = new EventEmitter();\r\n\r\n scrollYPos: number = 0;\r\n scrollXPos: number = 0;\r\n prevScrollYPos: number = 0;\r\n prevScrollXPos: number = 0;\r\n element: any;\r\n parentElement: any;\r\n onScrollListener: Function;\r\n\r\n constructor(element: ElementRef, private renderer: Renderer) {\r\n this.element = element.nativeElement;\r\n }\r\n\r\n ngOnInit(): void {\r\n // manual bind so we don't always listen\r\n if(this.scrollbarV || this.scrollbarH) {\r\n this.parentElement = this.element.parentElement.parentElement;\r\n this.onScrollListener = this.renderer.listen(\r\n this.parentElement, 'scroll', this.onScrolled.bind(this));\r\n }\r\n }\r\n\r\n ngOnDestroy(): void {\r\n if(this.scrollbarV || this.scrollbarH) {\r\n this.onScrollListener();\r\n }\r\n }\r\n\r\n setOffset(offsetY: number): void {\r\n if(this.parentElement) {\r\n this.parentElement.scrollTop = offsetY;\r\n }\r\n }\r\n\r\n onScrolled(event: MouseEvent): void {\r\n const dom: Element = event.currentTarget;\r\n this.scrollYPos = dom.scrollTop;\r\n this.scrollXPos = dom.scrollLeft;\r\n\r\n requestAnimationFrame(this.updateOffset.bind(this));\r\n }\r\n\r\n updateOffset(): void {\r\n let direction: string;\r\n if(this.scrollYPos < this.prevScrollYPos) {\r\n direction = 'down';\r\n } else if(this.scrollYPos > this.prevScrollYPos) {\r\n direction = 'up';\r\n }\r\n\r\n this.scroll.emit({\r\n direction,\r\n scrollYPos: this.scrollYPos,\r\n scrollXPos: this.scrollXPos\r\n });\r\n\r\n this.prevScrollYPos = this.scrollYPos;\r\n this.prevScrollXPos = this.scrollXPos;\r\n }\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/components/body/scroller.component.ts","import { Component, Input, Output, EventEmitter } from '@angular/core';\nimport { Keys, selectRows, selectRowsBetween } from '../../utils';\nimport { SelectionType } from '../../types';\n\nexport interface Model {\n type: string;\n event: MouseEvent | KeyboardEvent;\n row: any;\n rowElement: any;\n cellElement: any;\n cellIndex: number;\n}\n\n@Component({\n selector: 'datatable-selection',\n template: `\n \n `\n})\nexport class DataTableSelectionComponent {\n\n @Input() rows: any[];\n @Input() selected: any[];\n @Input() selectEnabled: boolean;\n @Input() selectionType: SelectionType;\n @Input() rowIdentity: any;\n @Input() selectCheck: any;\n\n @Output() activate: EventEmitter = new EventEmitter();\n @Output() select: EventEmitter = new EventEmitter();\n\n prevIndex: number;\n\n selectRow(event: KeyboardEvent | MouseEvent, index: number, row: any): void {\n if (!this.selectEnabled) return;\n\n const chkbox = this.selectionType === SelectionType.checkbox;\n const multi = this.selectionType === SelectionType.multi;\n const multiClick = this.selectionType == SelectionType.multiClick;\n let selected: any[] = [];\n\n if (multi || chkbox || multiClick) {\n if (event.shiftKey) {\n selected = selectRowsBetween(\n [...this.selected], \n this.rows, \n index, \n this.prevIndex, \n this.getRowSelectedIdx.bind(this));\n } else if (event.ctrlKey || multiClick || chkbox) {\n selected = selectRows([...this.selected], row, this.getRowSelectedIdx.bind(this));\n } else {\n selected = selectRows([], row, this.getRowSelectedIdx.bind(this));\n }\n } else {\n selected = selectRows([], row, this.getRowSelectedIdx.bind(this));\n }\n\n if(typeof this.selectCheck === 'function') {\n selected = selected.filter(this.selectCheck.bind(this));\n }\n\n this.selected.splice(0, this.selected.length);\n this.selected.push(...selected);\n \n this.prevIndex = index;\n\n this.select.emit({\n selected\n });\n }\n\n onActivate(model: Model, index: number): void {\n const { type, event, row } = model;\n const chkbox = this.selectionType === SelectionType.checkbox;\n const select = (!chkbox && (type === 'click' || type === 'dblclick')) || \n (chkbox && type === 'checkbox');\n\n if(select) {\n this.selectRow(event, index, row);\n } else if(type === 'keydown') {\n if ((event).keyCode === Keys.return) {\n this.selectRow(event, index, row);\n } else {\n this.onKeyboardFocus(model);\n }\n }\n this.activate.emit(model);\n }\n\n onKeyboardFocus(model: Model): void {\n const { keyCode } = model.event;\n const shouldFocus =\n keyCode === Keys.up ||\n keyCode === Keys.down ||\n keyCode === Keys.right ||\n keyCode === Keys.left;\n\n if(shouldFocus) {\n const isCellSelection =\n this.selectionType === SelectionType.cell;\n\n if(!model.cellElement || !isCellSelection) {\n this.focusRow(model.rowElement, keyCode);\n } else if(isCellSelection) {\n this.focusCell(model.cellElement, model.rowElement, keyCode, model.cellIndex);\n }\n }\n }\n\n focusRow(rowElement: any, keyCode: number): void {\n const nextRowElement = this.getPrevNextRow(rowElement, keyCode);\n if(nextRowElement) nextRowElement.focus();\n }\n\n getPrevNextRow(rowElement: any, keyCode: number): any {\n const parentElement = rowElement.parentElement;\n\n if(parentElement) {\n let focusElement: HTMLElement;\n if(keyCode === Keys.up) {\n focusElement = parentElement.previousElementSibling;\n } else if(keyCode === Keys.down) {\n focusElement = parentElement.nextElementSibling;\n }\n\n if(focusElement && focusElement.children.length) {\n return focusElement.children[0];\n }\n }\n }\n\n focusCell(cellElement: any, rowElement: any, keyCode: number, cellIndex: number): void {\n let nextCellElement: HTMLElement;\n\n if(keyCode === Keys.left) {\n nextCellElement = cellElement.previousElementSibling;\n } else if(keyCode === Keys.right) {\n nextCellElement = cellElement.nextElementSibling;\n } else if(keyCode === Keys.up || keyCode === Keys.down) {\n const nextRowElement = this.getPrevNextRow(rowElement, keyCode);\n if(nextRowElement) {\n const children = nextRowElement.getElementsByClassName('datatable-body-cell');\n if(children.length) nextCellElement = children[cellIndex];\n }\n }\n\n if(nextCellElement) nextCellElement.focus();\n }\n\n getRowSelected(row: any): boolean {\n return this.getRowSelectedIdx(row, this.selected) > -1;\n }\n\n getRowSelectedIdx(row: any, selected: any[]): number {\n if(!selected || !selected.length) return -1;\n\n const rowId = this.rowIdentity(row);\n return selected.findIndex((r) => {\n const id = this.rowIdentity(r);\n return id === rowId;\n });\n }\n\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/components/body/selection.component.ts","import { Directive, TemplateRef } from '@angular/core';\r\n\r\n@Directive({ selector: '[ngx-datatable-cell-template]' })\r\nexport class DataTableColumnCellDirective {\r\n constructor(public template: TemplateRef) { };\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/components/columns/column-cell.directive.ts","import { Directive, TemplateRef } from '@angular/core';\r\n\r\n@Directive({ selector: '[ngx-datatable-header-template]' })\r\nexport class DataTableColumnHeaderDirective {\r\n constructor(public template: TemplateRef) { };\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/components/columns/column-header.directive.ts","import { Directive, TemplateRef, ContentChild, Input } from '@angular/core';\r\nimport { DataTableColumnHeaderDirective } from './column-header.directive';\r\nimport { DataTableColumnCellDirective } from './column-cell.directive';\r\n\r\n@Directive({ selector: 'ngx-datatable-column' })\r\nexport class DataTableColumnDirective {\r\n\r\n @Input() name: string;\r\n @Input() prop: string;\r\n @Input() frozenLeft: any;\r\n @Input() frozenRight: any;\r\n @Input() flexGrow: number;\r\n @Input() resizeable: boolean;\r\n @Input() comparator: Function;\r\n @Input() pipe: any;\r\n @Input() sortable: boolean;\r\n @Input() draggable: boolean;\r\n @Input() canAutoResize: boolean;\r\n @Input() minWidth: number;\r\n @Input() width: number;\r\n @Input() maxWidth: number;\r\n @Input() checkboxable: boolean;\r\n @Input() headerCheckboxable: boolean;\r\n\r\n @Input()\r\n @ContentChild(DataTableColumnCellDirective, { read: TemplateRef }) \r\n cellTemplate: TemplateRef;\r\n\r\n @Input()\r\n @ContentChild(DataTableColumnHeaderDirective, { read: TemplateRef }) \r\n headerTemplate: TemplateRef;\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/components/columns/column.directive.ts","export * from './column.directive';\r\nexport * from './column-header.directive';\r\nexport * from './column-cell.directive';\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/components/columns/index.ts","import {\n Component, Input, Output, ElementRef, EventEmitter, ViewChild,\n HostListener, ContentChildren, OnInit, QueryList, AfterViewInit,\n HostBinding, ContentChild, TemplateRef, IterableDiffer,\n DoCheck, KeyValueDiffers\n} from '@angular/core';\n\nimport { forceFillColumnWidths, adjustColumnWidths, sortRows } from '../utils';\nimport { ColumnMode, SortType, SelectionType } from '../types';\nimport { DataTableBodyComponent } from './body';\nimport { DataTableColumnDirective } from './columns';\nimport { DatatableRowDetailDirective } from './row-detail';\nimport { scrollbarWidth, setColumnDefaults, throttleable, translateTemplates } from '../utils';\n\n@Component({\n selector: 'ngx-datatable',\n template: `\n \n \n \n \n \n \n \n \n `,\n host: {\n class: 'datatable'\n }\n})\nexport class DatatableComponent implements OnInit, AfterViewInit, DoCheck {\n\n /**\n * Rows that are displayed in the table.\n * \n * @memberOf DatatableComponent\n */\n @Input() set rows(val: any) {\n // auto sort on new updates\n if (!this.externalSorting) {\n val = sortRows(val, this.columns, this.sorts);\n }\n\n this._rows = val;\n\n // recalculate sizes/etc\n this.recalculate();\n }\n\n /**\n * Gets the rows.\n * \n * @readonly\n * @type {*}\n * @memberOf DatatableComponent\n */\n get rows(): any {\n return this._rows;\n }\n\n /**\n * Columns to be displayed.\n * \n * @memberOf DatatableComponent\n */\n @Input() set columns(val: any[]) {\n if(val) {\n setColumnDefaults(val);\n this.recalculateColumns(val);\n }\n\n this._columns = val;\n }\n\n /**\n * Get the columns.\n * \n * @readonly\n * @type {any[]}\n * @memberOf DatatableComponent\n */\n get columns(): any[] {\n return this._columns;\n }\n\n /**\n * List of row objects that should be \n * represented as selected in the grid. \n * Default value: `[]`\n * \n * @type {any[]}\n * @memberOf DatatableComponent\n */\n @Input() selected: any[] = [];\n\n /**\n * Enable vertical scrollbars\n * \n * @type {boolean}\n * @memberOf DatatableComponent\n */\n @Input() scrollbarV: boolean = false;\n\n /**\n * Enable horz scrollbars\n * \n * @type {boolean}\n * @memberOf DatatableComponent\n */\n @Input() scrollbarH: boolean = false;\n\n /**\n * The row height; which is necessary\n * to calculate the height for the lazy rendering.\n * \n * @type {number}\n * @memberOf DatatableComponent\n */\n @Input() rowHeight: number = 30;\n\n /**\n * The detail row height is required especially \n * when virtual scroll is enabled.\n * \n * @type {number}\n * @memberOf DatatableComponent\n */\n @Input() detailRowHeight: number = 0;\n\n /**\n * Type of column width distribution formula.\n * Example: flex, force, standard\n * \n * @type {ColumnMode}\n * @memberOf DatatableComponent\n */\n @Input() columnMode: ColumnMode = ColumnMode.standard;\n\n /**\n * The minimum header height in pixels.\n * Pass a falsey for no header\n * \n * @type {*}\n * @memberOf DatatableComponent\n */\n @Input() headerHeight: any = 30;\n\n /**\n * The minimum footer height in pixels.\n * Pass falsey for no footer\n * \n * @type {number}\n * @memberOf DatatableComponent\n */\n @Input() footerHeight: number = 0;\n\n /**\n * If the table should use external paging\n * otherwise its assumed that all data is preloaded.\n * \n * @type {boolean}\n * @memberOf DatatableComponent\n */\n @Input() externalPaging: boolean = false;\n\n /**\n * If the table should use external sorting or\n * the built-in basic sorting.\n * \n * @type {boolean}\n * @memberOf DatatableComponent\n */\n @Input() externalSorting: boolean = false;\n\n /**\n * The page size to be shown. \n * Default value: `undefined`\n * \n * @type {number}\n * @memberOf DatatableComponent\n */\n @Input() limit: number = undefined;\n\n /**\n * The total count of all rows. \n * Default value: `0`\n * \n * @type {number}\n * @memberOf DatatableComponent\n */\n @Input() set count(val: number) {\n this._count = val;\n\n // recalculate sizes/etc\n this.recalculate();\n }\n\n /**\n * Gets the count.\n * \n * @readonly\n * @type {number}\n * @memberOf DatatableComponent\n */\n get count(): number {\n return this._count;\n }\n\n /**\n * The current offset ( page - 1 ) shown. \n * Default value: `0`\n * \n * @type {number}\n * @memberOf DatatableComponent\n */\n @Input() offset: number = 0;\n\n /**\n * Show the linear loading bar. \n * Default value: `false`\n * \n * @type {boolean}\n * @memberOf DatatableComponent\n */\n @Input() loadingIndicator: boolean = false;\n\n /**\n * Type of row selection. Options are: \n * \n * - `single`\n * - `multi`\n * - `chkbox`\n * - `multiClick`\n * \n * For no selection pass a `falsey`. \n * Default value: `undefined`\n * \n * @type {SelectionType}\n * @memberOf DatatableComponent\n */\n @Input() selectionType: SelectionType;\n\n /**\n * Enable/Disable ability to re-order columns\n * by dragging them.\n * \n * @type {boolean}\n * @memberOf DatatableComponent\n */\n @Input() reorderable: boolean = true;\n\n /**\n * The type of sorting\n * \n * @type {SortType}\n * @memberOf DatatableComponent\n */\n @Input() sortType: SortType = SortType.single;\n\n /**\n * Array of sorted columns by property and type. \n * Default value: `[]`\n * \n * @type {any[]}\n * @memberOf DatatableComponent\n */\n @Input() sorts: any[] = [];\n\n /**\n * Row detail template\n * \n * @type {TemplateRef}\n * @memberOf DatatableComponent\n */\n @Input() rowDetailTemplate: TemplateRef;\n\n /**\n * Css class overrides\n * \n * @type {*}\n * @memberOf DatatableComponent\n */\n @Input() cssClasses: any = {\n sortAscending: 'icon-down',\n sortDescending: 'icon-up',\n pagerLeftArrow: 'icon-left',\n pagerRightArrow: 'icon-right',\n pagerPrevious: 'icon-prev',\n pagerNext: 'icon-skip'\n };\n\n /**\n * Message overrides for localization\n * \n * @type {*}\n * @memberOf DatatableComponent\n */\n @Input() messages: any = {\n // Message to show when array is presented\n // but contains no values\n emptyMessage: 'No data to display',\n\n // Footer total message\n totalMessage: 'total'\n };\n\n /**\n * This will be used when displaying or selecting rows.\n * when tracking/comparing them, we'll use the value of this fn,\n * \n * (`fn(x) === fn(y)` instead of `x === y`)\n * \n * @memberOf DatatableComponent\n */\n @Input() rowIdentity: (x: any) => any = ((x: any) => x);\n\n /**\n * A boolean/function you can use to check whether you want\n * to select a particular row based on a criteria. Example:\n * \n * (selection) => { \n * return selection !== 'Ethel Price'; \n * }\n * \n * @type {*}\n * @memberOf DatatableComponent\n */\n @Input() selectCheck: any;\n\n /**\n * Property to which you can use for custom tracking of rows.\n * Example: 'name'\n * \n * @type {string}\n * @memberOf DatatableComponent\n */\n @Input() trackByProp: string;\n\n /**\n * Body was scrolled typically in a `scrollbarV:true` scenario.\n * \n * @type {EventEmitter}\n * @memberOf DatatableComponent\n */\n @Output() scroll: EventEmitter = new EventEmitter();\n\n /**\n * A cell or row was focused via keyboard or mouse click.\n * \n * @type {EventEmitter}\n * @memberOf DatatableComponent\n */\n @Output() activate: EventEmitter = new EventEmitter();\n\n /**\n * A cell or row was selected.\n * \n * @type {EventEmitter}\n * @memberOf DatatableComponent\n */\n @Output() select: EventEmitter = new EventEmitter();\n\n /**\n * Column sort was invoked.\n * \n * @type {EventEmitter}\n * @memberOf DatatableComponent\n */\n @Output() sort: EventEmitter = new EventEmitter();\n\n /**\n * The table was paged either triggered by the pager or the body scroll.\n * \n * @type {EventEmitter}\n * @memberOf DatatableComponent\n */\n @Output() page: EventEmitter = new EventEmitter();\n\n /**\n * Row detail row visbility was toggled.\n * \n * @type {EventEmitter}\n * @memberOf DatatableComponent\n */\n @Output() detailToggle: EventEmitter = new EventEmitter();\n\n /**\n * Columns were re-ordered.\n * \n * @type {EventEmitter}\n * @memberOf DatatableComponent\n */\n @Output() reorder: EventEmitter = new EventEmitter();\n\n /**\n * Column was resized.\n * \n * @type {EventEmitter}\n * @memberOf DatatableComponent\n */\n @Output() resize: EventEmitter = new EventEmitter();\n\n /**\n * The context menu was invoked on a row.\n * \n * @memberOf DatatableComponent\n */\n @Output() rowContextmenu = new EventEmitter<{ event: MouseEvent, row: any }>(false);\n\n /**\n * CSS class applied if the header height if fixed height.\n * \n * @readonly\n * @type {boolean}\n * @memberOf DatatableComponent\n */\n @HostBinding('class.fixed-header')\n get isFixedHeader(): boolean {\n const headerHeight: number|string = this.headerHeight;\n return (typeof headerHeight === 'string') ?\n (headerHeight) !== 'auto' : true;\n }\n\n /**\n * CSS class applied to the root element if\n * the row heights are fixed heights.\n * \n * @readonly\n * @type {boolean}\n * @memberOf DatatableComponent\n */\n @HostBinding('class.fixed-row')\n get isFixedRow(): boolean {\n const rowHeight: number|string = this.rowHeight;\n return (typeof rowHeight === 'string') ?\n (rowHeight) !== 'auto' : true;\n }\n\n /**\n * CSS class applied to root element if\n * vertical scrolling is enabled.\n * \n * @readonly\n * @type {boolean}\n * @memberOf DatatableComponent\n */\n @HostBinding('class.scroll-vertical')\n get isVertScroll(): boolean {\n return this.scrollbarV;\n }\n\n /**\n * CSS class applied to the root element\n * if the horziontal scrolling is enabled.\n * \n * @readonly\n * @type {boolean}\n * @memberOf DatatableComponent\n */\n @HostBinding('class.scroll-horz')\n get isHorScroll(): boolean {\n return this.scrollbarH;\n }\n\n /**\n * CSS class applied to root element is selectable.\n * \n * @readonly\n * @type {boolean}\n * @memberOf DatatableComponent\n */\n @HostBinding('class.selectable')\n get isSelectable(): boolean {\n return this.selectionType !== undefined;\n }\n\n /**\n * CSS class applied to root is checkbox selection.\n * \n * @readonly\n * @type {boolean}\n * @memberOf DatatableComponent\n */\n @HostBinding('class.checkbox-selection')\n get isCheckboxSelection(): boolean {\n return this.selectionType === SelectionType.checkbox;\n }\n\n /**\n * CSS class applied to root if cell selection.\n * \n * @readonly\n * @type {boolean}\n * @memberOf DatatableComponent\n */\n @HostBinding('class.cell-selection')\n get isCellSelection(): boolean {\n return this.selectionType === SelectionType.cell;\n }\n\n /**\n * CSS class applied to root if single select.\n * \n * @readonly\n * @type {boolean}\n * @memberOf DatatableComponent\n */\n @HostBinding('class.single-selection')\n get isSingleSelection(): boolean {\n return this.selectionType === SelectionType.single;\n }\n \n /**\n * CSS class added to root element if mulit select\n * \n * @readonly\n * @type {boolean}\n * @memberOf DatatableComponent\n */\n @HostBinding('class.multi-selection')\n get isMultiSelection(): boolean {\n return this.selectionType === SelectionType.multi;\n }\n\n /**\n * CSS class added to root element if mulit click select\n * \n * @readonly\n * @type {boolean}\n * @memberOf DatatableComponent\n */\n @HostBinding('class.multi-click-selection')\n get isMultiClickSelection(): boolean {\n return this.selectionType === SelectionType.multiClick;\n }\n\n /**\n * Column templates gathered from `ContentChildren`\n * if described in your markup.\n * \n * @memberOf DatatableComponent\n */\n @ContentChildren(DataTableColumnDirective)\n set columnTemplates(val: QueryList) {\n this._columnTemplates = val;\n\n if(val) {\n // only set this if results were brought back\n const arr = val.toArray();\n\n if(arr.length) {\n // translate them to normal objects\n this.columns = translateTemplates(arr);\n }\n }\n }\n\n /**\n * Returns the column templates.\n * \n * @readonly\n * @type {QueryList}\n * @memberOf DatatableComponent\n */\n get columnTemplates(): QueryList {\n return this._columnTemplates;\n }\n\n /**\n * Row Detail templates gathered from the ContentChild\n * \n * @memberOf DatatableComponent\n */\n @ContentChild(DatatableRowDetailDirective)\n set rowDetailTemplateChild(val: DatatableRowDetailDirective) {\n this._rowDetailTemplateChild = val;\n if(val) this.rowDetailTemplate = val.rowDetailTemplate;\n }\n\n /**\n * Returns the row templates.\n * \n * @readonly\n * @type {DatatableRowDetailDirective}\n * @memberOf DatatableComponent\n */\n get rowDetailTemplateChild(): DatatableRowDetailDirective {\n return this._rowDetailTemplateChild;\n }\n\n /**\n * Reference to the body component for manually\n * invoking functions on the body.\n * \n * @private\n * @type {DataTableBodyComponent}\n * @memberOf DatatableComponent\n */\n @ViewChild(DataTableBodyComponent)\n bodyComponent: DataTableBodyComponent;\n\n /**\n * Returns if all rows are selected.\n * \n * @readonly\n * @private\n * @type {boolean}\n * @memberOf DatatableComponent\n */\n get allRowsSelected(): boolean {\n return this.selected &&\n this.rows &&\n this.selected.length === this.rows.length;\n }\n\n element: HTMLElement;\n innerWidth: number;\n pageSize: number;\n bodyHeight: number;\n rowCount: number;\n offsetX: number = 0;\n rowDiffer: IterableDiffer;\n _count: number = 0;\n\n _rows: any[];\n _columns: any[];\n _columnTemplates: QueryList;\n _rowDetailTemplateChild: DatatableRowDetailDirective;\n\n constructor(element: ElementRef, differs: KeyValueDiffers) {\n // get ref to elm for measuring\n this.element = element.nativeElement;\n this.rowDiffer = differs.find({}).create(null);\n }\n\n /**\n * Lifecycle hook that is called after data-bound \n * properties of a directive are initialized.\n * \n * @memberOf DatatableComponent\n */\n ngOnInit(): void {\n // need to call this immediatly to size\n // if the table is hidden the visibility\n // listener will invoke this itself upon show\n this.recalculate();\n }\n\n /**\n * Lifecycle hook that is called after a component's \n * view has been fully initialized.\n * \n * @memberOf DatatableComponent\n */\n ngAfterViewInit(): void {\n // this has to be done to prevent the change detection\n // tree from freaking out because we are readjusting\n setTimeout(() => this.recalculate());\n }\n\n /**\n * Lifecycle hook that is called when Angular dirty checks a directive.\n * \n * @memberOf DatatableComponent\n */\n ngDoCheck(): void {\n if (this.rowDiffer.diff(this.rows)) {\n this.recalculatePages();\n }\n }\n\n /**\n * Toggle the expansion of the row\n *\n * @param rowIndex\n */\n toggleExpandRow(row: any): void {\n // Should we write a guard here??\n this.bodyComponent.toggleRowExpansion(row);\n }\n\n /**\n * API method to expand all the rows.\n * \n * @memberOf DatatableComponent\n */\n expandAllRows(): void {\n this.bodyComponent.toggleAllRows(true);\n }\n\n /**\n * API method to collapse all the rows.\n * \n * @memberOf DatatableComponent\n */\n collapseAllRows(): void {\n this.bodyComponent.toggleAllRows(false);\n }\n\n /**\n * Recalc's the sizes of the grid.\n * \n * Updated automatically on changes to:\n * \n * - Columns\n * - Rows\n * - Paging related\n * \n * Also can be manually invoked or upon window resize.\n * \n * @memberOf DatatableComponent\n */\n recalculate(): void {\n this.recalculateDims();\n this.recalculateColumns();\n }\n\n /**\n * Window resize handler to update sizes.\n * \n * @memberOf DatatableComponent\n */\n @HostListener('window:resize')\n @throttleable(5)\n onWindowResize(): void {\n this.recalculate();\n }\n\n /**\n * Recalulcates the column widths based on column width\n * distribution mode and scrollbar offsets.\n * \n * @param {any[]} [columns=this.columns]\n * @param {number} [forceIdx=false]\n * @param {boolean} [allowBleed=this.scrollH]\n * @returns {any[]}\n * \n * @memberOf DatatableComponent\n */\n recalculateColumns(\n columns: any[] = this.columns, \n forceIdx: number = -1, \n allowBleed: boolean = this.scrollbarH): any[] {\n\n if (!columns) return;\n\n let width = this.innerWidth;\n if (this.scrollbarV) {\n width = width - scrollbarWidth;\n }\n\n if (this.columnMode === ColumnMode.force) {\n forceFillColumnWidths(columns, width, forceIdx, allowBleed);\n } else if (this.columnMode === ColumnMode.flex) {\n adjustColumnWidths(columns, width);\n }\n\n return columns;\n }\n\n /**\n * Recalculates the dimensions of the table size.\n * Internally calls the page size and row count calcs too.\n * \n * @memberOf DatatableComponent\n */\n recalculateDims(): void {\n let { height, width } = this.element.getBoundingClientRect();\n this.innerWidth = Math.floor(width);\n\n if (this.scrollbarV) {\n if (this.headerHeight) height = height - this.headerHeight;\n if (this.footerHeight) height = height - this.footerHeight;\n this.bodyHeight = height;\n }\n\n this.recalculatePages();\n }\n\n /**\n * Recalculates the pages after a update.\n * \n * \n * @memberOf DatatableComponent\n */\n recalculatePages(): void {\n this.pageSize = this.calcPageSize();\n this.rowCount = this.calcRowCount();\n }\n\n /**\n * Body triggered a page event.\n * \n * @param {*} { offset }\n * \n * @memberOf DatatableComponent\n */\n onBodyPage({ offset }: any): void {\n this.offset = offset;\n\n this.page.emit({\n count: this.count,\n pageSize: this.pageSize,\n limit: this.limit,\n offset: this.offset\n });\n }\n\n /**\n * The body triggered a scroll event.\n * \n * @param {MouseEvent} event\n * \n * @memberOf DatatableComponent\n */\n onBodyScroll(event: MouseEvent): void {\n this.offsetX = event.offsetX;\n this.scroll.emit(event);\n }\n\n /**\n * The footer triggered a page event.\n * \n * @param {*} event\n * \n * @memberOf DatatableComponent\n */\n onFooterPage(event: any) {\n this.offset = event.page - 1;\n this.bodyComponent.updateOffsetY(this.offset);\n\n this.page.emit({\n count: this.count,\n pageSize: this.pageSize,\n limit: this.limit,\n offset: this.offset\n });\n }\n\n /**\n * Recalculates the sizes of the page\n * \n * @param {any[]} [val=this.rows]\n * @returns {number}\n * \n * @memberOf DatatableComponent\n */\n calcPageSize(val: any[] = this.rows): number {\n // Keep the page size constant even if the row has been expanded.\n // This is because an expanded row is still considered to be a child of\n // the original row. Hence calculation would use rowHeight only.\n if (this.scrollbarV) {\n const size = Math.ceil(this.bodyHeight / this.rowHeight);\n return Math.max(size, 0);\n }\n\n // if limit is passed, we are paging\n if (this.limit !== undefined) return this.limit;\n\n // otherwise use row length\n if(val) return val.length;\n\n // other empty :(\n return 0;\n }\n\n /**\n * Calculates the row count.\n * \n * @param {any[]} [val=this.rows]\n * @returns {number}\n * \n * @memberOf DatatableComponent\n */\n calcRowCount(val: any[] = this.rows): number {\n if(!this.externalPaging) {\n if(!val) return 0;\n return val.length;\n }\n\n return this.count;\n }\n\n /**\n * The header triggered a column resize event.\n * \n * @param {*} { column, newValue }\n * \n * @memberOf DatatableComponent\n */\n onColumnResize({ column, newValue }: any): void {\n let idx: number;\n let cols = this.columns.map((c, i) => {\n c = Object.assign({}, c);\n\n if(c.$$id === column.$$id) {\n idx = i;\n c.width = newValue;\n\n // set this so we can force the column\n // width distribution to be to this value\n c.$$oldWidth = newValue;\n }\n\n return c;\n });\n\n this.recalculateColumns(cols, idx);\n this._columns = cols;\n\n this.resize.emit({\n column,\n newValue\n });\n }\n\n /**\n * The header triggered a column re-order event.\n * \n * @param {*} { column, newValue, prevValue }\n * \n * @memberOf DatatableComponent\n */\n onColumnReorder({ column, newValue, prevValue }: any): void {\n let cols = this.columns.map(c => {\n return Object.assign({}, c);\n });\n\n cols.splice(prevValue, 1);\n cols.splice(newValue, 0, column);\n this.columns = cols;\n\n this.reorder.emit({\n column,\n newValue,\n prevValue\n });\n }\n\n /**\n * The header triggered a column sort event.\n * \n * @param {*} event\n * \n * @memberOf DatatableComponent\n */\n onColumnSort(event: any): void {\n const { sorts } = event;\n\n // this could be optimized better since it will resort\n // the rows again on the 'push' detection...\n if (this.externalSorting === false) {\n // don't use normal setter so we don't resort\n this._rows = sortRows(this.rows, this.columns, sorts);\n }\n\n this.sorts = sorts;\n this.bodyComponent.updateOffsetY(0);\n this.sort.emit(event);\n }\n\n /**\n * Toggle all row selection\n * \n * @param {*} event\n * \n * @memberOf DatatableComponent\n */\n onHeaderSelect(event: any): void {\n // before we splice, chk if we currently have all selected\n const allSelected = this.selected.length === this.rows.length;\n\n // remove all existing either way\n this.selected.splice(0, this.selected.length);\n\n // do the opposite here\n if(!allSelected) {\n this.selected.push(...this.rows);\n }\n\n this.select.emit({\n selected: this.selected\n });\n }\n\n /**\n * A row was selected from body\n * \n * @param {*} event\n * \n * @memberOf DatatableComponent\n */\n onBodySelect(event: any): void {\n this.select.emit(event);\n }\n\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/components/datatable.component.ts","import {\r\n Component, Output, EventEmitter, ChangeDetectionStrategy, Input\r\n} from '@angular/core';\r\n\r\n@Component({\r\n selector: 'datatable-footer',\r\n template: `\r\n \r\n
{{rowCount.toLocaleString()}} {{totalMessage}}
\r\n \r\n \r\n \r\n `,\r\n host: {\r\n class: 'datatable-footer'\r\n },\r\n changeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\nexport class DataTableFooterComponent {\r\n\r\n @Input() footerHeight: number;\r\n @Input() rowCount: number;\r\n @Input() pageSize: number;\r\n @Input() offset: number;\r\n @Input() pagerLeftArrowIcon: string;\r\n @Input() pagerRightArrowIcon: string;\r\n @Input() pagerPreviousIcon: string;\r\n @Input() pagerNextIcon: string;\r\n @Input() totalMessage: string;\r\n\r\n @Output() page: EventEmitter = new EventEmitter();\r\n\r\n get isVisible(): boolean {\r\n return (this.rowCount / this.pageSize) > 1;\r\n }\r\n\r\n get curPage(): number {\r\n return this.offset + 1;\r\n }\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/components/footer/footer.component.ts","export * from './footer.component';\r\nexport * from './pager.component';\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/components/footer/index.ts","import {\r\n Component, Input, Output, EventEmitter, ChangeDetectionStrategy\r\n} from '@angular/core';\r\n\r\n@Component({\r\n selector: 'datatable-pager',\r\n template: `\r\n
    \r\n
  • \r\n \r\n \r\n \r\n
  • \r\n
  • \r\n \r\n \r\n \r\n
  • \r\n \r\n \r\n {{pg.text}}\r\n \r\n \r\n
  • \r\n \r\n \r\n \r\n
  • \r\n
  • \r\n \r\n \r\n \r\n
  • \r\n
\r\n `,\r\n host: {\r\n class: 'datatable-pager'\r\n },\r\n changeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\nexport class DataTablePagerComponent {\r\n\r\n @Input() pagerLeftArrowIcon: string;\r\n @Input() pagerRightArrowIcon: string;\r\n @Input() pagerPreviousIcon: string;\r\n @Input() pagerNextIcon: string;\r\n\r\n @Input()\r\n set size(val: number) {\r\n this._size = val;\r\n this.pages = this.calcPages();\r\n }\r\n\r\n get size(): number {\r\n return this._size;\r\n }\r\n\r\n @Input()\r\n set count(val: number) {\r\n this._count = val;\r\n this.pages = this.calcPages();\r\n }\r\n\r\n get count(): number {\r\n return this._count;\r\n }\r\n\r\n @Input()\r\n set page(val: number) {\r\n this._page = val;\r\n this.pages = this.calcPages();\r\n }\r\n\r\n get page(): number {\r\n return this._page;\r\n }\r\n\r\n get totalPages(): number {\r\n const count = this.size < 1 ? 1 : Math.ceil(this.count / this.size);\r\n return Math.max(count || 0, 1);\r\n }\r\n\r\n @Output() change: EventEmitter = new EventEmitter();\r\n\r\n _count: number = 0;\r\n _page: number = 1;\r\n _size: number = 0;\r\n pages: any;\r\n\r\n canPrevious(): boolean {\r\n return this.page > 1;\r\n }\r\n\r\n canNext(): boolean {\r\n return this.page < this.totalPages;\r\n }\r\n\r\n prevPage(): void {\r\n this.selectPage(this.page - 1);\r\n }\r\n\r\n nextPage(): void {\r\n this.selectPage(this.page + 1);\r\n }\r\n\r\n selectPage(page: number): void {\r\n if (page > 0 && page <= this.totalPages && page !== this.page) {\r\n this.page = page;\r\n\r\n this.change.emit({\r\n page\r\n });\r\n }\r\n }\r\n\r\n calcPages(page?: number): any[] {\r\n let pages = [];\r\n let startPage = 1;\r\n let endPage = this.totalPages;\r\n let maxSize = 5;\r\n const isMaxSized = maxSize < this.totalPages;\r\n\r\n page = page || this.page;\r\n\r\n if (isMaxSized) {\r\n startPage = ((Math.ceil(page / maxSize) - 1) * maxSize) + 1;\r\n endPage = Math.min(startPage + maxSize - 1, this.totalPages);\r\n }\r\n\r\n for (let num = startPage; num <= endPage; num++) {\r\n pages.push({\r\n number: num,\r\n text: num\r\n });\r\n }\r\n\r\n return pages;\r\n }\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/components/footer/pager.component.ts","import {\r\n Component, Input, EventEmitter, Output, HostBinding\r\n} from '@angular/core';\r\n\r\nimport { SortDirection, SortType, SelectionType } from '../../types';\r\nimport { nextSortDir } from '../../utils';\r\n\r\n@Component({\r\n selector: 'datatable-header-cell',\r\n template: `\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n `\r\n})\r\nexport class DataTableHeaderCellComponent {\r\n\r\n @Input() sortType: SortType;\r\n @Input() column: any;\r\n @Input() sortAscendingIcon: string;\r\n @Input() sortDescendingIcon: string;\r\n @Input() allRowsSelected: boolean;\r\n @Input() selectionType: SelectionType;\r\n\r\n @HostBinding('style.height.px')\r\n @Input() headerHeight: number;\r\n\r\n @Input() set sorts(val: any[]) {\r\n this._sorts = val;\r\n this.sortDir = this.calcSortDir(val);\r\n this.sortClass = this.calcSortClass(this.sortDir);\r\n }\r\n\r\n get sorts(): any[] {\r\n return this._sorts;\r\n }\r\n\r\n @Output() sort: EventEmitter = new EventEmitter();\r\n @Output() select: EventEmitter = new EventEmitter();\r\n\r\n @HostBinding('class')\r\n get columnCssClasses(): any {\r\n let cls = 'datatable-header-cell';\r\n\r\n if(this.column.sortable) cls += ' sortable';\r\n if(this.column.resizeable) cls += ' resizeable';\r\n if(this.column.cssClasses) cls += ' ' + this.column.cssClasses;\r\n\r\n const sortDir = this.sortDir;\r\n if(sortDir) {\r\n cls += ` sort-active sort-${sortDir}`;\r\n }\r\n\r\n return cls;\r\n }\r\n\r\n @HostBinding('attr.title')\r\n get name(): string {\r\n return this.column.name || this.column.prop;\r\n }\r\n\r\n @HostBinding('style.minWidth.px')\r\n get minWidth(): number {\r\n return this.column.minWidth;\r\n }\r\n\r\n @HostBinding('style.maxWidth.px')\r\n get maxWidth(): number {\r\n return this.column.maxWidth;\r\n }\r\n\r\n @HostBinding('style.width.px')\r\n get width(): number {\r\n return this.column.width;\r\n }\r\n\r\n get isCheckboxable(): boolean {\r\n return \r\n this.column.checkboxable && \r\n this.column.headerCheckboxable && \r\n this.selectionType === SelectionType.checkbox;\r\n }\r\n\r\n sortClass: string;\r\n sortDir: SortDirection;\r\n _sorts: any[];\r\n\r\n calcSortDir(sorts: any[]): any {\r\n if(sorts && this.column) {\r\n const sort = sorts.find((s: any) => {\r\n return s.prop === this.column.prop;\r\n });\r\n\r\n if(sort) return sort.dir;\r\n }\r\n }\r\n\r\n onSort(): void {\r\n if(!this.column.sortable) return;\r\n\r\n const newValue = nextSortDir(this.sortType, this.sortDir);\r\n this.sort.emit({\r\n column: this.column,\r\n prevValue: this.sortDir,\r\n newValue\r\n });\r\n }\r\n\r\n calcSortClass(sortDir): string {\r\n if(sortDir === SortDirection.asc) {\r\n return `sort-asc ${this.sortAscendingIcon}`;\r\n } else if(sortDir === SortDirection.desc) {\r\n return `sort-desc ${this.sortDescendingIcon}`;\r\n }\r\n }\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/components/header/header-cell.component.ts","import {\n Component, Output, EventEmitter, Input, HostBinding\n} from '@angular/core';\nimport { SortType, SelectionType } from '../../types';\nimport { columnsByPin, columnGroupWidths, columnsByPinArr, translateXY } from '../../utils';\nimport { DataTableColumnDirective } from '../columns';\n\n@Component({\n selector: 'datatable-header',\n template: `\n \n \n \n \n \n \n `,\n host: {\n class: 'datatable-header'\n }\n})\nexport class DataTableHeaderComponent {\n\n @Input() sortAscendingIcon: any;\n @Input() sortDescendingIcon: any;\n @Input() scrollbarH: boolean;\n @Input() innerWidth: number;\n @Input() offsetX: number;\n @Input() sorts: any[];\n @Input() sortType: SortType;\n @Input() allRowsSelected: boolean;\n @Input() selectionType: SelectionType;\n @Input() reorderable: boolean;\n\n @HostBinding('style.height')\n @Input() set headerHeight(val: any) {\n if(val !== 'auto') { \n this._headerHeight = `${val}px`;\n } else {\n this._headerHeight = val;\n }\n }\n\n get headerHeight() {\n return this._headerHeight;\n }\n\n @Input() set columns(val: any[]) {\n this._columns = val;\n\n const colsByPin = columnsByPin(val);\n this.columnsByPin = columnsByPinArr(val);\n this.columnGroupWidths = columnGroupWidths(colsByPin, val);\n }\n\n get columns(): any[] { \n return this._columns; \n }\n\n @Output() sort: EventEmitter = new EventEmitter();\n @Output() reorder: EventEmitter = new EventEmitter();\n @Output() resize: EventEmitter = new EventEmitter();\n @Output() select: EventEmitter = new EventEmitter();\n\n columnsByPin: any;\n columnGroupWidths: any;\n _columns: any[];\n _headerHeight: string;\n\n @HostBinding('style.width')\n get headerWidth(): string {\n if(this.scrollbarH) {\n return this.innerWidth + 'px';\n }\n\n return '100%';\n }\n\n trackByGroups(index: number, colGroup: any): any {\n return colGroup.type;\n }\n\n columnTrackingFn(index: number, column: any): any {\n return column.$$id;\n }\n\n onColumnResized(width: number, column: DataTableColumnDirective): void {\n if (width <= column.minWidth) {\n width = column.minWidth;\n } else if(width >= column.maxWidth) {\n width = column.maxWidth;\n }\n\n this.resize.emit({\n column,\n prevValue: column.width,\n newValue: width\n });\n }\n\n onColumnReordered({ prevIndex, newIndex, model }: any): void {\n this.reorder.emit({\n column: model,\n prevValue: prevIndex,\n newValue: newIndex\n });\n }\n\n onSort({ column, prevValue, newValue }: any): void {\n const sorts = this.calcNewSorts(column, prevValue, newValue);\n this.sort.emit({\n sorts,\n column,\n prevValue,\n newValue\n });\n }\n\n calcNewSorts(column: any, prevValue: number, newValue: number): any[] {\n let idx = 0;\n\n let sorts = this.sorts.map((s, i) => {\n s = Object.assign({}, s);\n if(s.prop === column.prop) idx = i;\n return s;\n });\n\n if (newValue === undefined) {\n sorts.splice(idx, 1);\n } else if (prevValue) {\n sorts[idx].dir = newValue;\n } else {\n if (this.sortType === SortType.single) {\n sorts.splice(0, this.sorts.length);\n }\n\n sorts.push({ dir: newValue, prop: column.prop });\n }\n\n return sorts;\n }\n\n stylesByGroup(group: string): any {\n const widths = this.columnGroupWidths;\n const offsetX = this.offsetX;\n\n let styles = {\n width: `${widths[group]}px`\n };\n\n if(group === 'center') {\n translateXY(styles, offsetX * -1, 0);\n } else if(group === 'right') {\n const totalDiff = widths.total - this.innerWidth;\n const offset = totalDiff * -1;\n translateXY(styles, offset, 0);\n }\n\n return styles;\n }\n\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/components/header/header.component.ts","export * from './header.component';\r\nexport * from './header-cell.component';\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/components/header/index.ts","export * from './datatable.component';\r\n\r\nexport * from './header';\r\nexport * from './body';\r\nexport * from './footer';\r\n\r\nexport * from './columns';\r\nexport * from './row-detail';\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/components/index.ts","export * from './row-detail.directive';\r\nexport * from './row-detail-template.directive';\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/components/row-detail/index.ts","import { Directive, TemplateRef } from '@angular/core';\r\n\r\n@Directive({\r\n selector: '[ngx-datatable-row-detail-template]'\r\n})\r\nexport class DatatableRowDetailTemplateDirective {\r\n constructor(public template: TemplateRef) { };\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/components/row-detail/row-detail-template.directive.ts","import { Directive, TemplateRef, ContentChild } from '@angular/core';\r\nimport { DatatableRowDetailTemplateDirective } from './row-detail-template.directive';\r\n\r\n@Directive({ selector: 'ngx-datatable-row-detail' })\r\nexport class DatatableRowDetailDirective {\r\n\r\n @ContentChild(DatatableRowDetailTemplateDirective, { read: TemplateRef }) \r\n template: TemplateRef;\r\n\r\n get rowDetailTemplate(): TemplateRef {\r\n return this.template;\r\n }\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/components/row-detail/row-detail.directive.ts","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport 'rxjs/add/observable/fromEvent';\r\n\r\nimport {\r\n DatatableComponent,\r\n DataTableColumnDirective,\r\n DataTableHeaderComponent,\r\n DataTableBodyComponent,\r\n DataTableFooterComponent,\r\n DataTableHeaderCellComponent,\r\n DataTablePagerComponent,\r\n DataTableBodyRowComponent,\r\n DataTableRowWrapperComponent,\r\n ProgressBarComponent,\r\n DataTableBodyCellComponent,\r\n DatatableRowDetailDirective,\r\n ScrollerComponent,\r\n DataTableSelectionComponent,\r\n DataTableColumnHeaderDirective,\r\n DataTableColumnCellDirective,\r\n DatatableRowDetailTemplateDirective\r\n} from './components';\r\n\r\nimport {\r\n VisibilityDirective,\r\n LongPressDirective,\r\n ResizeableDirective,\r\n OrderableDirective,\r\n DraggableDirective\r\n} from './directives';\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule\r\n ],\r\n declarations: [\r\n VisibilityDirective,\r\n DraggableDirective,\r\n ResizeableDirective,\r\n OrderableDirective,\r\n LongPressDirective,\r\n ScrollerComponent,\r\n DatatableComponent,\r\n DataTableColumnDirective,\r\n DataTableHeaderComponent,\r\n DataTableHeaderCellComponent,\r\n DataTableBodyComponent,\r\n DataTableFooterComponent,\r\n DataTablePagerComponent,\r\n ProgressBarComponent,\r\n DataTableBodyRowComponent,\r\n DataTableRowWrapperComponent,\r\n DatatableRowDetailDirective,\r\n DatatableRowDetailTemplateDirective,\r\n DataTableBodyCellComponent,\r\n DataTableSelectionComponent,\r\n DataTableColumnHeaderDirective,\r\n DataTableColumnCellDirective\r\n ],\r\n exports: [\r\n DatatableComponent,\r\n DatatableRowDetailDirective,\r\n DatatableRowDetailTemplateDirective,\r\n DataTableColumnDirective,\r\n DataTableColumnHeaderDirective,\r\n DataTableColumnCellDirective\r\n ]\r\n})\r\nexport class NgxDatatableModule { }\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/datatable.module.ts","import {\r\n Directive, ElementRef, HostListener, Input, Output, EventEmitter, OnDestroy\r\n} from '@angular/core';\r\nimport { Observable } from 'rxjs/Observable';\r\nimport { Subscription } from 'rxjs/Subscription';\r\n\r\n/**\r\n * Draggable Directive for Angular2\r\n *\r\n * Inspiration:\r\n * https://github.com/AngularClass/angular2-examples/blob/master/rx-draggable/directives/draggable.ts\r\n * http://stackoverflow.com/questions/35662530/how-to-implement-drag-and-drop-in-angular2\r\n *\r\n */\r\n@Directive({ selector: '[draggable]' })\r\nexport class DraggableDirective implements OnDestroy {\r\n\r\n @Input() dragModel: any;\r\n @Input() dragX: boolean = true;\r\n @Input() dragY: boolean = true;\r\n\r\n @Output() dragStart: EventEmitter = new EventEmitter();\r\n @Output() dragging: EventEmitter = new EventEmitter();\r\n @Output() dragEnd: EventEmitter = new EventEmitter();\r\n\r\n element: HTMLElement;\r\n isDragging: boolean = false;\r\n subscription: Subscription;\r\n\r\n constructor(element: ElementRef) {\r\n this.element = element.nativeElement;\r\n }\r\n\r\n ngOnDestroy(): void {\r\n if (this.subscription) {\r\n this.subscription.unsubscribe();\r\n }\r\n }\r\n\r\n @HostListener('document:mouseup', ['$event'])\r\n onMouseup(event: MouseEvent): void {\r\n this.isDragging = false;\r\n this.element.classList.remove('dragging');\r\n\r\n if (this.subscription) {\r\n this.subscription.unsubscribe();\r\n this.dragEnd.emit({\r\n event,\r\n element: this.element,\r\n model: this.dragModel\r\n });\r\n }\r\n }\r\n\r\n @HostListener('mousedown', ['$event'])\r\n onMousedown(event: MouseEvent): void {\r\n if ( (event.target).classList.contains('draggable')) {\r\n event.preventDefault();\r\n this.isDragging = true;\r\n\r\n const mouseDownPos = { x: event.clientX, y: event.clientY };\r\n this.subscription = Observable.fromEvent(document, 'mousemove')\r\n .subscribe((ev: MouseEvent) => this.move(ev, mouseDownPos));\r\n\r\n this.dragStart.emit({\r\n event,\r\n element: this.element,\r\n model: this.dragModel\r\n });\r\n }\r\n }\r\n\r\n move(event: MouseEvent, mouseDownPos: {x: number, y: number }): void {\r\n if (!this.dragging) return;\r\n\r\n const x = event.clientX - mouseDownPos.x;\r\n const y = event.clientY - mouseDownPos.y;\r\n\r\n if (this.dragX) this.element.style.left = `${x}px`;\r\n if (this.dragY) this.element.style.top = `${y}px`;\r\n\r\n if (this.dragX || this.dragY) {\r\n this.element.classList.add('dragging');\r\n\r\n this.dragging.emit({\r\n event,\r\n element: this.element,\r\n model: this.dragModel\r\n });\r\n }\r\n }\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/directives/draggable.directive.ts","export * from './draggable.directive';\r\nexport * from './long-press.directive';\r\nexport * from './orderable.directive';\r\nexport * from './resizeable.directive';\r\nexport * from './visibility.directive';\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/directives/index.ts","import {\r\n Directive,\r\n Input,\r\n Output,\r\n EventEmitter,\r\n HostBinding,\r\n HostListener\r\n} from '@angular/core';\r\n\r\n@Directive({ selector: '[long-press]' })\r\nexport class LongPressDirective {\r\n\r\n @Input() duration: number = 500;\r\n\r\n @Output() longPress: EventEmitter = new EventEmitter();\r\n @Output() longPressing: EventEmitter = new EventEmitter();\r\n @Output() longPressEnd: EventEmitter = new EventEmitter();\r\n\r\n pressing: boolean;\r\n isLongPressing: boolean;\r\n timeout: any;\r\n mouseX: number = 0;\r\n mouseY: number = 0;\r\n\r\n @HostBinding('class.press')\r\n get press(): boolean { return this.pressing; }\r\n\r\n @HostBinding('class.longpress')\r\n get isLongPress(): boolean { return this.isLongPressing }\r\n\r\n @HostListener('mousedown', ['$event'])\r\n onMouseDown(event: MouseEvent): void {\r\n // don't do right/middle clicks\r\n if(event.which !== 1) return;\r\n\r\n this.mouseX = event.clientX;\r\n this.mouseY = event.clientY;\r\n\r\n this.pressing = true;\r\n this.isLongPressing = false;\r\n\r\n this.timeout = setTimeout(() => {\r\n this.isLongPressing = true;\r\n this.longPress.emit(event);\r\n this.loop(event);\r\n }, this.duration);\r\n\r\n this.loop(event);\r\n }\r\n\r\n @HostListener('mousemove', ['$event'])\r\n onMouseMove(event: MouseEvent): void {\r\n if(this.pressing && !this.isLongPressing) {\r\n const xThres = Math.abs(event.clientX - this.mouseX) > 10;\r\n const yThres = Math.abs(event.clientY - this.mouseY) > 10;\r\n\r\n if(xThres || yThres) {\r\n this.endPress();\r\n }\r\n }\r\n }\r\n\r\n loop(event: Event): void {\r\n if(this.isLongPressing) {\r\n this.timeout = setTimeout(() => {\r\n this.longPressing.emit(event);\r\n this.loop(event);\r\n }, 50);\r\n }\r\n }\r\n\r\n endPress(): void {\r\n clearTimeout(this.timeout);\r\n this.isLongPressing = false;\r\n this.pressing = false;\r\n this.longPressEnd.emit(true);\r\n }\r\n\r\n @HostListener('mouseup')\r\n onMouseUp(): void { this.endPress(); }\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/directives/long-press.directive.ts","import {\r\n Directive, Output, EventEmitter, ContentChildren,\r\n QueryList, KeyValueDiffers, AfterContentInit, OnDestroy\r\n} from '@angular/core';\r\n\r\nimport { DraggableDirective } from './draggable.directive';\r\n\r\n@Directive({ selector: '[orderable]' })\r\nexport class OrderableDirective implements AfterContentInit, OnDestroy {\r\n\r\n @Output() reorder: EventEmitter = new EventEmitter();\r\n\r\n @ContentChildren(DraggableDirective, { descendants: true })\r\n draggables: QueryList;\r\n\r\n positions: any;\r\n differ: any;\r\n\r\n constructor(differs: KeyValueDiffers) {\r\n this.differ = differs.find({}).create(null);\r\n }\r\n\r\n ngAfterContentInit(): void {\r\n // HACK: Investigate Better Way\r\n this.updateSubscriptions();\r\n this.draggables.changes.subscribe(\r\n this.updateSubscriptions.bind(this));\r\n }\r\n\r\n ngOnDestroy(): void {\r\n this.draggables.forEach(d => {\r\n d.dragStart.unsubscribe();\r\n d.dragEnd.unsubscribe();\r\n });\r\n }\r\n\r\n updateSubscriptions(): void {\r\n const diffs = this.differ.diff(this.draggables.toArray());\r\n\r\n if(diffs) {\r\n const subscribe = ({ currentValue, previousValue }: any) => {\r\n unsubscribe({ previousValue });\r\n\r\n if(currentValue) {\r\n currentValue.dragStart.subscribe(this.onDragStart.bind(this));\r\n currentValue.dragEnd.subscribe(this.onDragEnd.bind(this));\r\n }\r\n };\r\n\r\n const unsubscribe = ({ previousValue }: any) => {\r\n if(previousValue) {\r\n previousValue.dragStart.unsubscribe();\r\n previousValue.dragEnd.unsubscribe();\r\n }\r\n };\r\n\r\n diffs.forEachAddedItem(subscribe.bind(this));\r\n diffs.forEachChangedItem(subscribe.bind(this));\r\n diffs.forEachRemovedItem(unsubscribe.bind(this));\r\n }\r\n }\r\n\r\n onDragStart(): void {\r\n this.positions = {};\r\n\r\n let i = 0;\r\n for(let dragger of this.draggables.toArray()) {\r\n let elm = dragger.element;\r\n this.positions[dragger.dragModel.prop] = {\r\n left: parseInt(elm.offsetLeft.toString(), 0),\r\n index: i++\r\n };\r\n }\r\n }\r\n\r\n onDragEnd({ element, model }: any) {\r\n const newPos = parseInt(element.offsetLeft.toString(), 0);\r\n const prevPos = this.positions[model.prop];\r\n\r\n let i = 0;\r\n for(let prop in this.positions) {\r\n let pos = this.positions[prop];\r\n\r\n let movedLeft = newPos < pos.left && prevPos.left > pos.left;\r\n let movedRight = newPos > pos.left && prevPos.left < pos.left;\r\n\r\n if(movedLeft || movedRight) {\r\n this.reorder.emit({\r\n prevIndex: prevPos.index,\r\n newIndex: i,\r\n model\r\n });\r\n }\r\n\r\n i++;\r\n }\r\n\r\n element.style.left = 'auto';\r\n }\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/directives/orderable.directive.ts","import {\r\n Directive, ElementRef, HostListener, Input, Output, EventEmitter, OnDestroy\r\n} from '@angular/core';\r\nimport { Observable } from 'rxjs/Observable';\r\nimport { Subscription } from 'rxjs/Subscription';\r\n\r\n@Directive({\r\n selector: '[resizeable]',\r\n host: {\r\n '[class.resizeable]': 'resizeEnabled'\r\n }\r\n})\r\nexport class ResizeableDirective implements OnDestroy {\r\n\r\n @Input() resizeEnabled: boolean = true;\r\n @Input() minWidth: number;\r\n @Input() maxWidth: number;\r\n\r\n @Output() resize: EventEmitter = new EventEmitter();\r\n\r\n element: HTMLElement;\r\n subscription: Subscription;\r\n resizing: boolean = false;\r\n\r\n constructor(element: ElementRef) {\r\n this.element = element.nativeElement;\r\n\r\n if (this.resizeEnabled) {\r\n const node = document.createElement('span');\r\n node.classList.add('resize-handle');\r\n this.element.appendChild(node);\r\n }\r\n }\r\n\r\n ngOnDestroy(): void {\r\n if (this.subscription) {\r\n this.subscription.unsubscribe();\r\n }\r\n }\r\n\r\n @HostListener('document:mouseup')\r\n onMouseup(): void {\r\n this.resizing = false;\r\n\r\n if (this.subscription && !this.subscription.closed) {\r\n this.subscription.unsubscribe();\r\n this.resize.emit(this.element.clientWidth);\r\n }\r\n }\r\n\r\n @HostListener('mousedown', ['$event'])\r\n onMousedown(event: MouseEvent): void {\r\n const isHandle = ((event.target)).classList.contains('resize-handle');\r\n const initialWidth = this.element.clientWidth;\r\n const mouseDownScreenX = event.screenX;\r\n\r\n if (isHandle) {\r\n event.stopPropagation();\r\n this.resizing = true;\r\n\r\n this.subscription = Observable.fromEvent(document, 'mousemove')\r\n .subscribe((e: MouseEvent) => this.move(e, initialWidth, mouseDownScreenX));\r\n }\r\n }\r\n\r\n move(event: MouseEvent, initialWidth: number, mouseDownScreenX: number): void {\r\n const movementX = event.screenX - mouseDownScreenX;\r\n const newWidth = initialWidth + movementX;\r\n\r\n const overMinWidth = !this.minWidth || newWidth >= this.minWidth;\r\n const underMaxWidth = !this.maxWidth || newWidth <= this.maxWidth;\r\n\r\n if (overMinWidth && underMaxWidth) {\r\n this.element.style.width = `${newWidth}px`;\r\n }\r\n }\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/directives/resizeable.directive.ts","import {\r\n Directive, Output, EventEmitter, ElementRef, HostBinding, NgZone, OnInit, OnDestroy\r\n} from '@angular/core';\r\n\r\n/**\r\n * Visibility Observer Directive\r\n *\r\n * Usage:\r\n *\r\n * \t\t\r\n * \t\t\r\n *\r\n */\r\n@Directive({ selector: '[visibility-observer]' })\r\nexport class VisibilityDirective implements OnInit, OnDestroy {\r\n\r\n @HostBinding('class.visible') \r\n isVisible: boolean = false;\r\n\r\n @Output() visible: EventEmitter = new EventEmitter();\r\n\r\n timeout: any;\r\n\r\n constructor(private element: ElementRef, private zone: NgZone) { }\r\n\r\n ngOnInit(): void {\r\n this.runCheck();\r\n }\r\n\r\n ngOnDestroy(): void {\r\n clearTimeout(this.timeout);\r\n }\r\n\r\n onVisibilityChange(): void {\r\n // trigger zone recalc for columns\r\n this.zone.run(() => {\r\n this.isVisible = true;\r\n this.visible.emit(true);\r\n });\r\n }\r\n\r\n runCheck(): void {\r\n const check = () => {\r\n // https://davidwalsh.name/offsetheight-visibility\r\n const { offsetHeight, offsetWidth } = this.element.nativeElement;\r\n\r\n if (offsetHeight && offsetWidth) {\r\n clearTimeout(this.timeout);\r\n this.onVisibilityChange();\r\n } else {\r\n clearTimeout(this.timeout);\r\n this.zone.runOutsideAngular(() => {\r\n this.timeout = setTimeout(() => check(), 50);\r\n });\r\n }\r\n };\r\n\r\n setTimeout(() => check());\r\n }\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/directives/visibility.directive.ts","export * from './datatable.module'\r\nexport * from './types';\r\nexport * from './components';\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/index.ts","export enum ClickType {\r\n single = 'single' as any,\r\n double = 'double' as any \r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/types/click.type.ts","export enum ColumnMode {\r\n standard = 'standard' as any,\r\n flex = 'flex' as any,\r\n force = 'force' as any\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/types/column-mode.type.ts","export * from './column-mode.type';\r\nexport * from './sort.type';\r\nexport * from './sort-direction.type';\r\nexport * from './selection.type';\r\nexport * from './click.type';\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/types/index.ts","export enum SelectionType {\n single = 'single' as any,\n multi = 'multi' as any,\n multiClick = 'multiClick' as any,\n cell = 'cell' as any,\n checkbox = 'checkbox' as any\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/types/selection.type.ts","export enum SortDirection {\r\n asc = 'asc' as any,\r\n desc = 'desc' as any\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/types/sort-direction.type.ts","export enum SortType {\r\n single = 'single' as any,\r\n multi = 'multi' as any\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/types/sort.type.ts","/**\r\n * Converts strings from something to camel case\r\n * http://stackoverflow.com/questions/10425287/convert-dash-separated-string-to-camelcase\r\n * @param {string} str\r\n * @return {string} camel case string\r\n */\r\nexport function camelCase(str: string): string {\r\n // Replace special characters with a space\r\n str = str.replace(/[^a-zA-Z0-9 ]/g, ' ');\r\n // put a space before an uppercase letter\r\n str = str.replace(/([a-z](?=[A-Z]))/g, '$1 ');\r\n\r\n // Lower case first character and some other stuff\r\n str = str.replace(/([^a-zA-Z0-9 ])|^[0-9]+/g, '').trim().toLowerCase();\r\n\r\n // uppercase characters preceded by a space or number\r\n str = str.replace(/([ 0-9]+)([a-zA-Z])/g, function(a, b, c) {\r\n return b.trim() + c.toUpperCase();\r\n });\r\n\r\n return str;\r\n}\r\n\r\n/**\r\n * Converts strings from camel case to words\r\n * http://stackoverflow.com/questions/7225407/convert-camelcasetext-to-camel-case-text\r\n *\r\n * @export\r\n * @param {any} str\r\n * @returns string\r\n */\r\nexport function deCamelCase(str: string): string {\r\n return str\r\n .replace(/([A-Z])/g, (match) => ` ${match}`)\r\n .replace(/^./, (match) => match.toUpperCase());\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/utils/camel-case.ts","import { DataTableColumnDirective } from '../components/columns';\r\nimport { camelCase, deCamelCase, id } from '../utils';\r\n\r\n/**\r\n * Sets the column defaults\r\n * \r\n * @export\r\n * @param {any[]} columns\r\n * @returns\r\n */\r\nexport function setColumnDefaults(columns: any[]) {\r\n if(!columns) return;\r\n\r\n for(let column of columns) {\r\n if(!column.$$id) {\r\n column.$$id = id();\r\n }\r\n\r\n // translate name => prop\r\n if(!column.prop && column.name) {\r\n column.prop = camelCase(column.name);\r\n }\r\n\r\n // format props if no name passed\r\n if(column.prop && !column.name) {\r\n column.name = deCamelCase(column.prop);\r\n }\r\n\r\n if(!column.hasOwnProperty('resizeable')) {\r\n column.resizeable = true;\r\n }\r\n\r\n if(!column.hasOwnProperty('sortable')) {\r\n column.sortable = true;\r\n }\r\n\r\n if(!column.hasOwnProperty('draggable')) {\r\n column.draggable = true;\r\n }\r\n\r\n if(!column.hasOwnProperty('canAutoResize')) {\r\n column.canAutoResize = true;\r\n }\r\n\r\n if(!column.hasOwnProperty('width')) {\r\n column.width = 150;\r\n }\r\n }\r\n}\r\n\r\n/**\r\n * Translates templates definitions to objects\r\n * \r\n * @export\r\n * @param {DataTableColumnDirective[]} templates\r\n * @returns {any[]}\r\n */\r\nexport function translateTemplates(templates: DataTableColumnDirective[]): any[] {\r\n let result: any[] = [];\r\n\r\n for(const temp of templates) {\r\n let col: any = {};\r\n\r\n const props = Object.getOwnPropertyNames(temp);\r\n for(const prop of props) {\r\n col[prop] = temp[prop];\r\n }\r\n\r\n if(temp.headerTemplate) {\r\n col.headerTemplate = temp.headerTemplate;\r\n }\r\n\r\n if(temp.cellTemplate) {\r\n col.cellTemplate = temp.cellTemplate;\r\n }\r\n\r\n result.push(col);\r\n }\r\n\r\n return result;\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/utils/column-helper.ts","/**\r\n * Returns the columns by pin.\r\n * @param {array} cols\r\n */\r\nexport function columnsByPin(cols: any[]) {\r\n let ret: {left: any, center: any, right: any} = {\r\n left: [],\r\n center: [],\r\n right: []\r\n };\r\n\r\n if(cols) {\r\n for(let col of cols) {\r\n if(col.frozenLeft) {\r\n ret.left.push(col);\r\n } else if(col.frozenRight) {\r\n ret.right.push(col);\r\n } else {\r\n ret.center.push(col);\r\n }\r\n }\r\n }\r\n\r\n return ret;\r\n}\r\n\r\n/**\r\n * Returns the widths of all group sets of a column\r\n * @param {object} groups\r\n * @param {array} all\r\n */\r\nexport function columnGroupWidths(groups: any, all: any) {\r\n return {\r\n left: columnTotalWidth(groups.left),\r\n center: columnTotalWidth(groups.center),\r\n right: columnTotalWidth(groups.right),\r\n total: columnTotalWidth(all)\r\n };\r\n}\r\n\r\n/**\r\n * Calculates the total width of all columns and their groups\r\n * @param {array} columns\r\n * @param {string} prop width to get\r\n */\r\nexport function columnTotalWidth(columns: any[], prop?: string) {\r\n let totalWidth = 0;\r\n\r\n if(columns) {\r\n for(let c of columns) {\r\n const has = prop && c[prop];\r\n const width = has ? c[prop] : c.width;\r\n totalWidth = totalWidth + parseFloat(width);\r\n }\r\n }\r\n\r\n return totalWidth;\r\n}\r\n\r\n/**\r\n * Calculates the total width of all columns and their groups\r\n * @param {array} columns\r\n * @param {string} property width to get\r\n */\r\nexport function columnsTotalWidth(columns: any, prop?: any) {\r\n let totalWidth = 0;\r\n\r\n for(let column of columns) {\r\n const has = prop && column[prop];\r\n totalWidth = totalWidth + (has ? column[prop] : column.width);\r\n }\r\n\r\n return totalWidth;\r\n}\r\n\r\nexport function columnsByPinArr(val: any) {\r\n let colsByPinArr = [];\r\n const colsByPin = columnsByPin(val);\r\n\r\n colsByPinArr.push({ type: 'left', columns: colsByPin['left'] });\r\n colsByPinArr.push({ type: 'center', columns: colsByPin['center'] });\r\n colsByPinArr.push({ type: 'right', columns: colsByPin['right'] });\r\n\r\n return colsByPinArr;\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/utils/column.ts","/**\r\n * Returns a deep object given a string. zoo['animal.type']\r\n * @param {object} obj\r\n * @param {string} path\r\n */\r\nexport function deepValueGetter(obj: Object, path: string) {\r\n if(!obj || !path) return obj;\r\n\r\n let current = obj;\r\n let split = path.split('.');\r\n\r\n if(split.length) {\r\n for(let i = 0, len = split.length; i < len; i++) {\r\n current = current[split[i]];\r\n\r\n // if found undefined, return empty string\r\n if(current === undefined || current === null) return '';\r\n }\r\n }\r\n\r\n return current;\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/utils/deep-getter.ts","/**\r\n * Creates a unique object id.\r\n * http://stackoverflow.com/questions/6248666/how-to-generate-short-uid-like-ax4j9z-in-js\r\n */\r\nexport function id() {\r\n return ('0000' + (Math.random() * Math.pow(36, 4) << 0).toString(36)).slice(-4);\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/utils/id.ts","export * from './id';\r\nexport * from './column';\r\nexport * from './deep-getter';\r\nexport * from './camel-case';\r\nexport * from './keys';\r\nexport * from './math';\r\nexport * from './prefixes';\r\nexport * from './scrollbar-width';\r\nexport * from './selection';\r\nexport * from './translate';\r\nexport * from './throttle';\r\nexport * from './sort';\r\nexport * from './row-height-cache';\r\nexport * from './column-helper';\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/utils/index.ts","export enum Keys {\r\n up = 38,\r\n down = 40,\r\n return = 13,\r\n escape = 27,\r\n left = 37,\r\n right = 39\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/utils/keys.ts","import { columnsByPin, columnsTotalWidth } from './column';\r\n\r\n/**\r\n * Calculates the Total Flex Grow\r\n * @param {array}\r\n */\r\nexport function getTotalFlexGrow(columns: any[]) {\r\n let totalFlexGrow = 0;\r\n\r\n for (let c of columns) {\r\n totalFlexGrow += c.flexGrow || 0;\r\n }\r\n\r\n return totalFlexGrow;\r\n}\r\n\r\n/**\r\n * Adjusts the column widths.\r\n * Inspired by: https://github.com/facebook/fixed-data-table/blob/master/src/FixedDataTableWidthHelper.js\r\n * @param {array} all columns\r\n * @param {int} width\r\n */\r\nexport function adjustColumnWidths(allColumns: any, expectedWidth: any) {\r\n let columnsWidth = columnsTotalWidth(allColumns);\r\n let totalFlexGrow = getTotalFlexGrow(allColumns);\r\n let colsByGroup = columnsByPin(allColumns);\r\n\r\n if (columnsWidth !== expectedWidth) {\r\n scaleColumns(colsByGroup, expectedWidth, totalFlexGrow);\r\n }\r\n}\r\n\r\n/**\r\n * Resizes columns based on the flexGrow property, while respecting manually set widths\r\n * @param {array} colsByGroup\r\n * @param {int} maxWidth\r\n * @param {int} totalFlexGrow\r\n */\r\nfunction scaleColumns(colsByGroup: any, maxWidth: any, totalFlexGrow: any) {\r\n // calculate total width and flexgrow points for coulumns that can be resized\r\n for(let attr in colsByGroup) {\r\n for(let column of colsByGroup[attr]) {\r\n if (!column.canAutoResize) {\r\n maxWidth -= column.width;\r\n totalFlexGrow -= column.flexGrow;\r\n } else {\r\n column.width = 0;\r\n }\r\n }\r\n }\r\n\r\n let hasMinWidth = {};\r\n let remainingWidth = maxWidth;\r\n\r\n // resize columns until no width is left to be distributed\r\n do {\r\n let widthPerFlexPoint = remainingWidth / totalFlexGrow;\r\n remainingWidth = 0;\r\n\r\n for(let attr in colsByGroup) {\r\n for(let column of colsByGroup[attr]) {\r\n // if the column can be resize and it hasn't reached its minimum width yet\r\n if (column.canAutoResize && !hasMinWidth[column.prop]) {\r\n let newWidth = column.width + column.flexGrow * widthPerFlexPoint;\r\n if (column.minWidth !== undefined && newWidth < column.minWidth) {\r\n remainingWidth += newWidth - column.minWidth;\r\n column.width = column.minWidth;\r\n hasMinWidth[column.prop] = true;\r\n } else {\r\n column.width = newWidth;\r\n }\r\n }\r\n }\r\n }\r\n } while (remainingWidth !== 0);\r\n}\r\n\r\n/**\r\n * Forces the width of the columns to\r\n * distribute equally but overflowing when nesc.\r\n *\r\n * Rules:\r\n *\r\n * - If combined withs are less than the total width of the grid,\r\n * proporation the widths given the min / max / noraml widths to fill the width.\r\n *\r\n * - If the combined widths, exceed the total width of the grid,\r\n * use the standard widths.\r\n *\r\n * - If a column is resized, it should always use that width\r\n *\r\n * - The proporational widths should never fall below min size if specified.\r\n *\r\n * - If the grid starts off small but then becomes greater than the size ( + / - )\r\n * the width should use the orginial width; not the newly proporatied widths.\r\n *\r\n * @param {array} allColumns\r\n * @param {int} expectedWidth\r\n */\r\nexport function forceFillColumnWidths(\r\n allColumns: any[],\r\n expectedWidth: number,\r\n startIdx: number,\r\n allowBleed: boolean,\r\n defaultColWidth: number = 300) {\r\n \r\n let columnsToResize = allColumns\r\n .slice(startIdx + 1, allColumns.length)\r\n .filter((c) => { \r\n return c.canAutoResize !== false; \r\n });\r\n\r\n for (let column of columnsToResize) {\r\n if(!column.$$oldWidth) {\r\n column.$$oldWidth = column.width;\r\n }\r\n }\r\n\r\n let additionWidthPerColumn = 0;\r\n let exceedsWindow = false;\r\n let contentWidth = getContentWidth(allColumns, defaultColWidth);\r\n let remainingWidth = expectedWidth - contentWidth;\r\n let columnsProcessed: any[] = [];\r\n\r\n // This loop takes care of the\r\n do {\r\n additionWidthPerColumn = remainingWidth / columnsToResize.length;\r\n exceedsWindow = contentWidth >= expectedWidth;\r\n\r\n for (let column of columnsToResize) {\r\n if (exceedsWindow && allowBleed) {\r\n column.width = column.$$oldWidth || column.width || defaultColWidth;\r\n } else {\r\n const newSize = (column.width || defaultColWidth) + additionWidthPerColumn;\r\n\r\n if (column.minWidth && newSize < column.minWidth) {\r\n column.width = column.minWidth;\r\n columnsProcessed.push(column);\r\n } else if (column.maxWidth && newSize > column.maxWidth) {\r\n column.width = column.maxWidth;\r\n columnsProcessed.push(column);\r\n } else {\r\n column.width = newSize;\r\n }\r\n }\r\n\r\n column.width = Math.max(0, column.width);\r\n }\r\n\r\n contentWidth = getContentWidth(allColumns);\r\n remainingWidth = expectedWidth - contentWidth;\r\n removeProcessedColumns(columnsToResize, columnsProcessed);\r\n } while (remainingWidth > 0 && columnsToResize.length !== 0);\r\n}\r\n\r\n/**\r\n * Remove the processed columns from the current active columns.\r\n *\r\n * @param columnsToResize Array containing the columns that need to be resized.\r\n * @param columnsProcessed Array containing the columns that have already been processed.\r\n */\r\nfunction removeProcessedColumns ( columnsToResize: any[], columnsProcessed: any[]) {\r\n for(let column of columnsProcessed) {\r\n const index = columnsToResize.indexOf(column);\r\n columnsToResize.splice(index, 1);\r\n }\r\n}\r\n\r\n/**\r\n * Gets the width of the columns\r\n *\r\n * @param {array} allColumns\r\n * @param {number} [defaultColWidth=300]\r\n * @returns {number}\r\n */\r\nfunction getContentWidth(allColumns: any, defaultColWidth: number = 300): number {\r\n let contentWidth = 0;\r\n\r\n for(let column of allColumns) {\r\n contentWidth += (column.width || defaultColWidth);\r\n }\r\n\r\n return contentWidth;\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/utils/math.ts","import { camelCase } from './camel-case';\r\n\r\nlet cache = {};\r\nlet testStyle = document.createElement('div').style;\r\n\r\n// Get Prefix\r\n// http://davidwalsh.name/vendor-prefix\r\nconst prefix = (function () {\r\n const styles = window.getComputedStyle(document.documentElement, '');\r\n const pre = (Array.prototype.slice.call(styles).join('').match(/-(moz|webkit|ms)-/))[1];\r\n const dom = ('WebKit|Moz|MS|O').match(new RegExp('(' + pre + ')', 'i'))[1];\r\n\r\n return {\r\n dom,\r\n lowercase: pre,\r\n css: `-${pre}-`,\r\n js: pre[0].toUpperCase() + pre.substr(1)\r\n };\r\n})();\r\n\r\nexport function getVendorPrefixedName(property: string) {\r\n const name = camelCase(property);\r\n\r\n if(!cache[name]) {\r\n if(testStyle[prefix.css + property] !== undefined) {\r\n cache[name] = prefix.css + property;\r\n } else if(testStyle[property] !== undefined) {\r\n cache[name] = property;\r\n }\r\n }\r\n\r\n return cache[name];\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/utils/prefixes.ts","/**\r\n * This object contains the cache of the various row heights that are present inside\r\n * the data table. Its based on Fenwick tree data structure that helps with\r\n * querying sums that have time complexity of log n.\r\n *\r\n * Fenwick Tree Credits: http://petr-mitrichev.blogspot.com/2013/05/fenwick-tree-range-updates.html\r\n * https://github.com/mikolalysenko/fenwick-tree\r\n *\r\n */\r\nexport class RowHeightCache {\r\n\r\n /**\r\n * Tree Array stores the cumulative information of the row heights to perform efficient\r\n * range queries and updates. Currently the tree is initialized to the base row\r\n * height instead of the detail row height.\r\n */\r\n private treeArray: number[] = [];\r\n\r\n /**\r\n * Clear the Tree array.\r\n */\r\n clearCache(): void {\r\n this.treeArray = [];\r\n }\r\n\r\n /**\r\n * Initialize the Fenwick tree with row Heights.\r\n *\r\n * @param rows The array of rows which contain the expanded status.\r\n * @param rowHeight The row height.\r\n * @param detailRowHeight The detail row height.\r\n */\r\n initCache(rows: any[], rowHeight: number, detailRowHeight: number): void {\r\n if (isNaN(rowHeight)) {\r\n throw new Error(`Row Height cache initialization failed. Please ensure that 'rowHeight' is a\r\n valid number value: (${rowHeight}) when 'scrollbarV' is enabled.`);\r\n }\r\n\r\n // Add this additional guard in case detailRowHeight is set to 'auto' as it wont work.\r\n if (isNaN(detailRowHeight)) {\r\n throw new Error(`Row Height cache initialization failed. Please ensure that 'detailRowHeight' is a\r\n valid number value: (${detailRowHeight}) when 'scrollbarV' is enabled.`);\r\n }\r\n\r\n const n = rows.length;\r\n this.treeArray = new Array(n);\r\n\r\n for(let i = 0; i < n; ++i) {\r\n this.treeArray[i] = 0;\r\n }\r\n\r\n for(let i = 0; i < n; ++i) {\r\n let currentRowHeight = rowHeight;\r\n\r\n // Add the detail row height to the already expanded rows.\r\n // This is useful for the table that goes through a filter or sort.\r\n if (rows[i] && rows[i].$$expanded === 1) {\r\n currentRowHeight += detailRowHeight;\r\n }\r\n\r\n this.update(i, currentRowHeight);\r\n }\r\n }\r\n\r\n /**\r\n * Given the ScrollY position i.e. sum, provide the rowIndex\r\n * that is present in the current view port. Below handles edge cases.\r\n *\r\n * @param scrollY - The scrollY position.\r\n * @returns {number} - Index representing the first row visible in the viewport\r\n */\r\n getRowIndex(scrollY: number): number {\r\n if(scrollY === 0) return 0;\r\n return this.calcRowIndex(scrollY);\r\n }\r\n\r\n /**\r\n * When a row is expanded or rowHeight is changed, update the height. This can\r\n * be utilized in future when Angular Data table supports dynamic row heights.\r\n *\r\n *\r\n * @param atRowIndex Update the data at this index row in the grid.\r\n * @param byRowHeight Update by the rowHeight provided.\r\n */\r\n update (atRowIndex: number, byRowHeight: number): void {\r\n if (!this.treeArray.length) {\r\n throw new Error(`Update at index ${atRowIndex} with value ${byRowHeight} failed:\r\n Row Height cache not initialized.`);\r\n }\r\n\r\n const n = this.treeArray.length;\r\n atRowIndex |= 0;\r\n\r\n while(atRowIndex < n) {\r\n this.treeArray[atRowIndex] += byRowHeight;\r\n atRowIndex |= (atRowIndex + 1);\r\n }\r\n }\r\n\r\n /**\r\n * Range Sum query from 1 to the rowIndex\r\n *\r\n * @param atIndex The row index until which the total height needs to be obtained.\r\n * @returns {number} The total height from row 1 to the rowIndex.\r\n */\r\n query(atIndex: number): number {\r\n if (!this.treeArray.length) {\r\n throw new Error(`query at index ${atIndex} failed: Fenwick tree array not initialized.`);\r\n }\r\n\r\n let sum = 0;\r\n atIndex |= 0;\r\n\r\n while(atIndex >= 0) {\r\n sum += this.treeArray[atIndex];\r\n atIndex = (atIndex & (atIndex + 1)) - 1;\r\n }\r\n\r\n return sum;\r\n }\r\n\r\n /**\r\n * Find the total height between 2 row indexes\r\n * @param atIndexA The row index from\r\n * @param atIndexB The row index to\r\n * @returns {number} total pixel height between 2 row indexes.\r\n */\r\n queryBetween(atIndexA: number, atIndexB: number): number {\r\n return this.query(atIndexB) - this.query(atIndexA - 1);\r\n }\r\n\r\n /**\r\n * Given the ScrollY position i.e. sum, provide the rowIndex\r\n * that is present in the current view port.\r\n *\r\n * @param sum - The scrollY position.\r\n * @returns {number} - Index representing the first row visible in the viewport\r\n */\r\n private calcRowIndex(sum: number): number {\r\n if(!this.treeArray.length) return 0;\r\n\r\n let pos = -1;\r\n const dataLength = this.treeArray.length;\r\n\r\n // Get the highest bit for the block size.\r\n const highestBit = Math.pow(2, dataLength.toString(2).length - 1);\r\n\r\n for (let blockSize = highestBit; blockSize !== 0; blockSize >>= 1) {\r\n let nextPos = pos + blockSize;\r\n if (nextPos < dataLength && sum >= this.treeArray[nextPos]) {\r\n sum -= this.treeArray[nextPos];\r\n pos = nextPos;\r\n }\r\n }\r\n\r\n return pos + 1;\r\n }\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/utils/row-height-cache.ts","/**\r\n * Gets the width of the scrollbar. Nesc for windows\r\n * http://stackoverflow.com/a/13382873/888165\r\n * @return {int} width\r\n */\r\nexport function getScrollBarWidth() {\r\n let outer = document.createElement('div');\r\n outer.style.visibility = 'hidden';\r\n outer.style.width = '100px';\r\n outer.style.msOverflowStyle = 'scrollbar';\r\n document.body.appendChild(outer);\r\n\r\n let widthNoScroll = outer.offsetWidth;\r\n outer.style.overflow = 'scroll';\r\n\r\n let inner = document.createElement('div');\r\n inner.style.width = '100%';\r\n outer.appendChild(inner);\r\n\r\n let widthWithScroll = inner.offsetWidth;\r\n outer.parentNode.removeChild(outer);\r\n\r\n return widthNoScroll - widthWithScroll;\r\n};\r\n\r\nexport const scrollbarWidth = getScrollBarWidth();\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/utils/scrollbar-width.ts","export function selectRows(selected: any[], row: any, comparefn: Function) {\n const selectedIndex = comparefn(row, selected);\n\n if(selectedIndex > -1) {\n selected.splice(selectedIndex, 1);\n } else {\n selected.push(row);\n }\n\n return selected;\n}\n\nexport function selectRowsBetween(\n selected: any[], \n rows: any[], \n index: number, \n prevIndex: number, \n comparefn: Function): any[] {\n\n const reverse = index < prevIndex;\n\n for(let i = 0, len = rows.length; i < len; i++) {\n const row = rows[i];\n const greater = i >= prevIndex && i <= index;\n const lesser = i <= prevIndex && i >= index;\n\n let range = { start: 0, end: 0 };\n if (reverse) {\n range = {\n start: index,\n end: (prevIndex - index)\n };\n } else {\n range = {\n start: prevIndex,\n end: index + 1\n };\n }\n\n if((reverse && lesser) || (!reverse && greater)) {\n const idx = comparefn(row, selected);\n\n // if reverse shift selection (unselect) and the\n // row is already selected, remove it from selected\n if (reverse && idx > -1) {\n selected.splice(idx, 1);\n continue;\n }\n\n // if in the positive range to be added to `selected`, and\n // not already in the selected array, add it\n if(i >= range.start && i < range.end) {\n if (idx === -1) {\n selected.push(row);\n }\n }\n }\n }\n\n return selected;\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/utils/selection.ts","import { SortType, SortDirection } from '../types';\r\nimport { deepValueGetter } from './deep-getter';\r\n/**\r\n * Gets the next sort direction\r\n * @param {SortType} sortType\r\n * @param {SortDirection} currentSort\r\n * @return {SortDirection}\r\n */\r\nexport function nextSortDir(sortType: SortType, current: SortDirection): SortDirection {\r\n if (sortType === SortType.single) {\r\n if(current === SortDirection.asc) {\r\n return SortDirection.desc;\r\n } else {\r\n return SortDirection.asc;\r\n }\r\n } else {\r\n if(!current) {\r\n return SortDirection.asc;\r\n } else if(current === SortDirection.asc) {\r\n return SortDirection.desc;\r\n } else if(current === SortDirection.desc) {\r\n return undefined;\r\n }\r\n }\r\n};\r\n\r\n/**\r\n * Adapted from fueld-ui on 6/216\r\n * https://github.com/FuelInteractive/fuel-ui/tree/master/src/pipes/OrderBy\r\n * @param {any} a\r\n * @param {any} b\r\n * @return {number} position\r\n */\r\nexport function orderByComparator(a: any, b: any): number {\r\n if (a === null || typeof a === 'undefined') a = 0;\r\n if (b === null || typeof b === 'undefined') b = 0;\r\n\r\n if ((isNaN(parseFloat(a)) || !isFinite(a)) || (isNaN(parseFloat(b)) || !isFinite(b))) {\r\n // Convert to string in case of a=0 or b=0\r\n a = String(a);\r\n b = String(b);\r\n // Isn't a number so lowercase the string to properly compare\r\n if (a.toLowerCase() < b.toLowerCase()) return -1;\r\n if (a.toLowerCase() > b.toLowerCase()) return 1;\r\n } else {\r\n // Parse strings as numbers to compare properly\r\n if (parseFloat(a) < parseFloat(b)) return -1;\r\n if (parseFloat(a) > parseFloat(b)) return 1;\r\n }\r\n\r\n // equal each other\r\n return 0;\r\n}\r\n\r\n/**\r\n * Sorts the rows\r\n * \r\n * @export\r\n * @param {any[]} rows\r\n * @param {any[]} columns\r\n * @param {any[]} dirs\r\n * @returns\r\n */\r\nexport function sortRows(rows: any[], columns: any[], dirs: any[]): any[] {\r\n if(!rows || !dirs || !dirs.length || !columns) return rows;\r\n\r\n let temp = [...rows];\r\n let cols = columns.reduce((obj, col) => {\r\n if(col.comparator && typeof col.comparator === 'function') {\r\n obj[col.prop] = col.comparator;\r\n }\r\n return obj;\r\n }, {});\r\n\r\n return temp.sort(function(a: any, b: any) {\r\n for(const { prop, dir } of dirs) {\r\n const propA = deepValueGetter(a, prop);\r\n const propB = deepValueGetter(b, prop);\r\n\r\n const compareFn = cols[prop] || orderByComparator;\r\n const comparison = dir !== SortDirection.desc ?\r\n compareFn(propA, propB) :\r\n -compareFn(propA, propB);\r\n\r\n // Don't return 0 yet in case of needing to sort by next property\r\n if (comparison !== 0) return comparison;\r\n }\r\n\r\n // equal each other\r\n return 0;\r\n });\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/utils/sort.ts","/**\r\n * Throttle a function\r\n * \r\n * @export\r\n * @param {*} func\r\n * @param {number} wait\r\n * @param {*} [options]\r\n * @returns\r\n */\r\nexport function throttle(func: any, wait: number, options?: any) {\r\n options = options || {};\r\n let context;\r\n let args;\r\n let result;\r\n let timeout = null;\r\n let previous = 0;\r\n\r\n function later() {\r\n previous = options.leading === false ? 0 : +new Date();\r\n timeout = null;\r\n result = func.apply(context, args);\r\n }\r\n\r\n return function() {\r\n let now = +new Date();\r\n\r\n if (!previous && options.leading === false) {\r\n previous = now;\r\n }\r\n\r\n let remaining = wait - (now - previous);\r\n context = this;\r\n args = arguments;\r\n\r\n if (remaining <= 0) {\r\n clearTimeout(timeout);\r\n timeout = null;\r\n previous = now;\r\n result = func.apply(context, args);\r\n } else if (!timeout && options.trailing !== false) {\r\n timeout = setTimeout(later, remaining);\r\n }\r\n\r\n return result;\r\n };\r\n}\r\n\r\n/**\r\n * Throttle decorator\r\n *\r\n * class MyClass {\r\n * throttleable(10)\r\n * myFn() { ... }\r\n * }\r\n * \r\n * @export\r\n * @param {number} duration\r\n * @param {*} [options]\r\n * @returns\r\n */\r\nexport function throttleable(duration: number, options?: any) {\r\n return function innerDecorator (target, key, descriptor) {\r\n return {\r\n configurable: true,\r\n enumerable: descriptor.enumerable,\r\n get: function getter () {\r\n Object.defineProperty(this, key, {\r\n configurable: true,\r\n enumerable: descriptor.enumerable,\r\n value: throttle(descriptor.value, duration, options)\r\n });\r\n\r\n return this[key];\r\n }\r\n };\r\n };\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/utils/throttle.ts","import { getVendorPrefixedName } from './prefixes';\r\nimport { camelCase } from './camel-case';\r\n\r\n// browser detection and prefixing tools\r\nconst transform = getVendorPrefixedName('transform');\r\nconst backfaceVisibility = getVendorPrefixedName('backfaceVisibility');\r\nconst hasCSSTransforms = !!getVendorPrefixedName('transform');\r\nconst hasCSS3DTransforms = !!getVendorPrefixedName('perspective');\r\nconst ua = window.navigator.userAgent;\r\nconst isSafari = (/Safari\\//).test(ua) && !(/Chrome\\//).test(ua);\r\n\r\nexport function translateXY(styles: any, x: number, y: number) {\r\n if (hasCSSTransforms) {\r\n if (!isSafari && hasCSS3DTransforms) {\r\n styles[transform] = `translate3d(${x}px, ${y}px, 0)`;\r\n styles[backfaceVisibility] = 'hidden';\r\n } else {\r\n styles[camelCase(transform)] = `translate(${x}px, ${y}px)`;\r\n }\r\n } else {\r\n styles.top = `${y}px`;\r\n styles.left = `${x}px`;\r\n }\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/utils/translate.ts","module.exports = __WEBPACK_EXTERNAL_MODULE_0__;\n\n\n//////////////////\n// WEBPACK FOOTER\n// external \"@angular/core\"\n// module id = 0\n// module chunks = 0","module.exports = __WEBPACK_EXTERNAL_MODULE_1__;\n\n\n//////////////////\n// WEBPACK FOOTER\n// external \"@angular/common\"\n// module id = 1\n// module chunks = 0"],"sourceRoot":""} \ No newline at end of file diff --git a/release/index.min.js b/release/index.min.js index 16b1f7825..a557b55ec 100644 --- a/release/index.min.js +++ b/release/index.min.js @@ -1,4 +1,5 @@ -!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t(require("@angular/core"),require("rxjs/Rx"),require("@angular/common")):"function"==typeof define&&define.amd?define("angular2-data-table",["@angular/core","rxjs/Rx","@angular/common"],t):"object"==typeof exports?exports["angular2-data-table"]=t(require("@angular/core"),require("rxjs/Rx"),require("@angular/common")):e["angular2-data-table"]=t(e["@angular/core"],e["rxjs/Rx"],e["@angular/common"])}(this,function(e,t,n){return function(e){function t(o){if(n[o])return n[o].exports;var i=n[o]={i:o,l:!1,exports:{}};return e[o].call(i.exports,i,i.exports,t),i.l=!0,i.exports}var n={};return t.m=e,t.c=n,t.i=function(e){return e},t.d=function(e,n,o){t.o(e,n)||Object.defineProperty(e,n,{configurable:!1,enumerable:!0,get:o})},t.n=function(e){var n=e&&e.__esModule?function(){return e.default}:function(){return e};return t.d(n,"a",n),n},t.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},t.p="",t(t.s="./src/index.ts")}({"./src/components/body/body-cell.component.ts":function(e,t,n){"use strict";var o=this&&this.__decorate||function(e,t,n,o){var i,r=arguments.length,s=r<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,n):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,n,o);else for(var a=e.length-1;a>=0;a--)(i=e[a])&&(s=(r<3?i(s):r>3?i(t,n,s):i(t,n))||s);return r>3&&s&&Object.defineProperty(t,n,s),s},i=this&&this.__metadata||function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)},r=n(0),s=n("./src/utils/index.ts"),a=n("./src/types/index.ts"),c=function(){function e(e){this.activate=new r.EventEmitter,this.isFocused=!1,this.element=e.nativeElement}return Object.defineProperty(e.prototype,"sorts",{get:function(){return this._sorts},set:function(e){this._sorts=e,this.calcSortDir=this.calcSortDir(e)},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"isSortActive",{get:function(){return!this.sortDir},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"isSortAscending",{get:function(){return this.sortDir===a.SortDirection.asc},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"isSortDescending",{get:function(){return this.sortDir===a.SortDirection.desc},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"width",{get:function(){return this.column.width},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"height",{get:function(){var e=this.rowHeight;return isNaN(e)?e:e+"px"},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"value",{get:function(){if(!this.row||!this.column||!this.column.prop)return"";var e=s.deepValueGetter(this.row,this.column.prop),t=this.column.pipe;return t?t.transform(e):void 0!==e?e:""},enumerable:!0,configurable:!0}),e.prototype.onFocus=function(){this.isFocused=!0},e.prototype.onBlur=function(){this.isFocused=!1},e.prototype.onClick=function(e){this.activate.emit({type:"click",event:e,row:this.row,column:this.column,value:this.value,cellElement:this.element})},e.prototype.onDblClick=function(e){this.activate.emit({type:"dblclick",event:e,row:this.row,column:this.column,value:this.value,cellElement:this.element})},e.prototype.onKeyDown=function(e){var t=e.keyCode,n=e.target===this.element,o=t===s.Keys.return||t===s.Keys.down||t===s.Keys.up||t===s.Keys.left||t===s.Keys.right;o&&n&&(e.preventDefault(),e.stopPropagation(),this.activate.emit({type:"keydown",event:e,row:this.row,column:this.column,value:this.value,cellElement:this.element}))},e.prototype.onCheckboxChange=function(e){this.activate.emit({type:"checkbox",event:e,row:this.row,column:this.column,value:this.value,cellElement:this.element})},e.prototype.calcSortDir=function(e){var t=this;if(e){var n=e.find(function(e){return e.prop===t.column.prop});return n?n.dir:void 0}},o([r.Input(),i("design:type",Object)],e.prototype,"row",void 0),o([r.Input(),i("design:type",Object)],e.prototype,"column",void 0),o([r.Input(),i("design:type",Number)],e.prototype,"rowHeight",void 0),o([r.Input(),i("design:type",Boolean)],e.prototype,"isSelected",void 0),o([r.Input(),i("design:type",Array),i("design:paramtypes",[Array])],e.prototype,"sorts",null),o([r.Output(),i("design:type",r.EventEmitter)],e.prototype,"activate",void 0),o([r.HostBinding("class.active"),i("design:type",Boolean)],e.prototype,"isFocused",void 0),o([r.HostBinding("class.sort-active"),i("design:type",Boolean)],e.prototype,"isSortActive",null),o([r.HostBinding("class.sort-asc"),i("design:type",Boolean)],e.prototype,"isSortAscending",null),o([r.HostBinding("class.sort-desc"),i("design:type",Boolean)],e.prototype,"isSortDescending",null),o([r.HostBinding("style.width.px"),i("design:type",Number)],e.prototype,"width",null),o([r.HostBinding("style.height"),i("design:type",Object)],e.prototype,"height",null),o([r.HostListener("focus"),i("design:type",Function),i("design:paramtypes",[]),i("design:returntype",void 0)],e.prototype,"onFocus",null),o([r.HostListener("blur"),i("design:type",Function),i("design:paramtypes",[]),i("design:returntype",void 0)],e.prototype,"onBlur",null),o([r.HostListener("click",["$event"]),i("design:type",Function),i("design:paramtypes",[MouseEvent]),i("design:returntype",void 0)],e.prototype,"onClick",null),o([r.HostListener("dblclick",["$event"]),i("design:type",Function),i("design:paramtypes",[MouseEvent]),i("design:returntype",void 0)],e.prototype,"onDblClick",null),o([r.HostListener("keydown",["$event"]),i("design:type",Function),i("design:paramtypes",[KeyboardEvent]),i("design:returntype",void 0)],e.prototype,"onKeyDown",null),e=o([r.Component({selector:"datatable-body-cell",template:'\n
\n \n \n \n \n \n \n \n
\n ',host:{class:"datatable-body-cell"}}),i("design:paramtypes",[r.ElementRef])],e)}();t.DataTableBodyCellComponent=c},"./src/components/body/body-row-wrapper.component.ts":function(e,t,n){"use strict";var o=this&&this.__decorate||function(e,t,n,o){var i,r=arguments.length,s=r<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,n):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,n,o);else for(var a=e.length-1;a>=0;a--)(i=e[a])&&(s=(r<3?i(s):r>3?i(t,n,s):i(t,n))||s);return r>3&&s&&Object.defineProperty(t,n,s),s},i=this&&this.__metadata||function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)},r=n(0),s=function(){function e(){this.expanded=!1,this.rowContextmenu=new r.EventEmitter(!1)}return e.prototype.onContextmenu=function(e){this.rowContextmenu.emit({event:e,row:this.row})},o([r.Input(),i("design:type",Object)],e.prototype,"rowDetailTemplate",void 0),o([r.Input(),i("design:type",Object)],e.prototype,"detailRowHeight",void 0),o([r.Input(),i("design:type",Boolean)],e.prototype,"expanded",void 0),o([r.Input(),i("design:type",Object)],e.prototype,"row",void 0),o([r.Output(),i("design:type",Object)],e.prototype,"rowContextmenu",void 0),o([r.HostListener("contextmenu",["$event"]),i("design:type",Function),i("design:paramtypes",[MouseEvent]),i("design:returntype",void 0)],e.prototype,"onContextmenu",null),e=o([r.Component({selector:"datatable-row-wrapper",template:'\n \n
\n \n \n
\n ',host:{class:"datatable-row-wrapper"}}),i("design:paramtypes",[])],e)}();t.DataTableRowWrapperComponent=s},"./src/components/body/body-row.component.ts":function(e,t,n){"use strict";var o=this&&this.__decorate||function(e,t,n,o){var i,r=arguments.length,s=r<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,n):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,n,o);else for(var a=e.length-1;a>=0;a--)(i=e[a])&&(s=(r<3?i(s):r>3?i(t,n,s):i(t,n))||s);return r>3&&s&&Object.defineProperty(t,n,s),s},i=this&&this.__metadata||function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)},r=n(0),s=n("./src/utils/index.ts"),a=function(){function e(e){this.activate=new r.EventEmitter,this.element=e.nativeElement}return Object.defineProperty(e.prototype,"columns",{get:function(){return this._columns},set:function(e){this._columns=e,this.recalculateColumns(e)},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"innerWidth",{get:function(){return this._innerWidth},set:function(e){this._innerWidth=e,this.recalculateColumns()},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"isEvenRow",{get:function(){return this.row.$$index%2===0},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"isOddRow",{get:function(){return this.row.$$index%2!==0},enumerable:!0,configurable:!0}),e.prototype.trackByGroups=function(e,t){return t.type},e.prototype.columnTrackingFn=function(e,t){return t.$$id},e.prototype.stylesByGroup=function(e){var t=this.columnGroupWidths,n=this.offsetX,o={width:t[e]+"px"};if("left"===e)s.translateXY(o,n,0);else if("right"===e){var i=parseInt(this.innerWidth+"",0),r=t.total-i,a=r-n,c=(a+s.scrollbarWidth)*-1;s.translateXY(o,c,0)}return o},e.prototype.onActivate=function(e,t){e.cellIndex=t,e.rowElement=this.element,this.activate.emit(e)},e.prototype.onKeyDown=function(e){var t=e.keyCode,n=e.target===this.element,o=t===s.Keys.return||t===s.Keys.down||t===s.Keys.up||t===s.Keys.left||t===s.Keys.right;o&&n&&(e.preventDefault(),e.stopPropagation(),this.activate.emit({type:"keydown",event:e,row:this.row,rowElement:this.element}))},e.prototype.recalculateColumns=function(e){void 0===e&&(e=this.columns);var t=s.columnsByPin(e);this.columnsByPin=s.columnsByPinArr(e),this.columnGroupWidths=s.columnGroupWidths(t,e)},o([r.Input(),i("design:type",Array),i("design:paramtypes",[Array])],e.prototype,"columns",null),o([r.Input(),i("design:type",Number),i("design:paramtypes",[Number])],e.prototype,"innerWidth",null),o([r.Input(),i("design:type",Object)],e.prototype,"row",void 0),o([r.Input(),i("design:type",Number)],e.prototype,"offsetX",void 0),o([r.HostBinding("style.height.px"),r.Input(),i("design:type",Number)],e.prototype,"rowHeight",void 0),o([r.HostBinding("class.active"),r.Input(),i("design:type",Boolean)],e.prototype,"isSelected",void 0),o([r.HostBinding("class.datatable-row-even"),i("design:type",Boolean)],e.prototype,"isEvenRow",null),o([r.HostBinding("class.datatable-row-odd"),i("design:type",Boolean)],e.prototype,"isOddRow",null),o([r.Output(),i("design:type",r.EventEmitter)],e.prototype,"activate",void 0),o([r.HostListener("keydown",["$event"]),i("design:type",Function),i("design:paramtypes",[KeyboardEvent]),i("design:returntype",void 0)],e.prototype,"onKeyDown",null),e=o([r.Component({selector:"datatable-body-row",template:'\n \n \n \n \n ',host:{class:"datatable-body-row"}}),i("design:paramtypes",[r.ElementRef])],e)}();t.DataTableBodyRowComponent=a},"./src/components/body/body.component.ts":function(e,t,n){"use strict";var o=this&&this.__decorate||function(e,t,n,o){var i,r=arguments.length,s=r<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,n):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,n,o);else for(var a=e.length-1;a>=0;a--)(i=e[a])&&(s=(r<3?i(s):r>3?i(t,n,s):i(t,n))||s);return r>3&&s&&Object.defineProperty(t,n,s),s},i=this&&this.__metadata||function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)},r=n(0),s=n("./src/utils/index.ts"),a=(n("./src/types/index.ts"),n("./src/components/body/scroller.component.ts")),c=function(){function e(){this.selected=[],this.scroll=new r.EventEmitter,this.page=new r.EventEmitter,this.activate=new r.EventEmitter,this.select=new r.EventEmitter,this.detailToggle=new r.EventEmitter,this.rowContextmenu=new r.EventEmitter(!1),this.rowHeightsCache=new s.RowHeightCache,this.temp=[],this.offsetY=0,this.indexes={},this.rowTrackingFn=function(e,t){return this.trackByProp?t.$$index+"-"+this.trackByProp:t.$$index}.bind(this)}return Object.defineProperty(e.prototype,"pageSize",{get:function(){return this._pageSize},set:function(e){this._pageSize=e,this.recalcLayout()},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"rows",{get:function(){return this._rows},set:function(e){this._rows=e,this.recalcLayout()},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"columns",{get:function(){return this._columns},set:function(e){this._columns=e;var t=s.columnsByPin(e);this.columnGroupWidths=s.columnGroupWidths(t,e)},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"offset",{get:function(){return this._offset},set:function(e){this._offset=e,this.recalcLayout()},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"rowCount",{get:function(){return this._rowCount},set:function(e){this._rowCount=e,this.recalcLayout()},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"bodyWidth",{get:function(){return this.scrollbarH?this.innerWidth+"px":"100%"},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"bodyHeight",{get:function(){return this._bodyHeight},set:function(e){this.scrollbarV?this._bodyHeight=e+"px":this._bodyHeight="auto",this.recalcLayout()},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"selectEnabled",{get:function(){return!!this.selectionType},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"scrollHeight",{get:function(){if(this.scrollbarV)return this.rowHeightsCache.query(this.rowCount-1)},enumerable:!0,configurable:!0}),e.prototype.updateOffsetY=function(e){if(this.scrollbarV&&e){var t=this.pageSize*e;e=this.rowHeightsCache.query(t-1)}this.scroller.setOffset(e||0)},e.prototype.onBodyScroll=function(e){var t=e.scrollYPos,n=e.scrollXPos;this.offsetY===t&&this.offsetX===n||this.scroll.emit({offsetY:t,offsetX:n}),this.offsetY=t,this.offsetX=n,this.updateIndexes(),this.updatePage(e.direction),this.updateRows()},e.prototype.updatePage=function(e){var t=this.indexes.first/this.pageSize;"up"===e?t=Math.floor(t):"down"===e&&(t=Math.ceil(t)),void 0===e||isNaN(t)||this.page.emit({offset:t})},e.prototype.updateRows=function(){for(var e=this.indexes,t=e.first,n=e.last,o=t,i=0,r=[];o\n \n \n \n \n \n \n \n \n \n \n \n ',host:{class:"datatable-body"}}),i("design:paramtypes",[])],e)}();t.DataTableBodyComponent=c},"./src/components/body/index.ts":function(e,t,n){"use strict";function o(e){for(var n in e)t.hasOwnProperty(n)||(t[n]=e[n])}o(n("./src/components/body/body.component.ts")),o(n("./src/components/body/body-cell.component.ts")),o(n("./src/components/body/body-row.component.ts")),o(n("./src/components/body/progress-bar.component.ts")),o(n("./src/components/body/scroller.component.ts")),o(n("./src/components/body/body-row-wrapper.component.ts")),o(n("./src/components/body/selection.component.ts"))},"./src/components/body/progress-bar.component.ts":function(e,t,n){"use strict";var o=this&&this.__decorate||function(e,t,n,o){var i,r=arguments.length,s=r<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,n):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,n,o);else for(var a=e.length-1;a>=0;a--)(i=e[a])&&(s=(r<3?i(s):r>3?i(t,n,s):i(t,n))||s);return r>3&&s&&Object.defineProperty(t,n,s),s},i=this&&this.__metadata||function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)},r=n(0),s=function(){function e(){}return e=o([r.Component({selector:"datatable-progress",template:'\n
\n
\n
\n
\n
\n ',changeDetection:r.ChangeDetectionStrategy.OnPush}),i("design:paramtypes",[])],e)}();t.ProgressBarComponent=s},"./src/components/body/scroller.component.ts":function(e,t,n){"use strict";var o=this&&this.__decorate||function(e,t,n,o){var i,r=arguments.length,s=r<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,n):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,n,o);else for(var a=e.length-1;a>=0;a--)(i=e[a])&&(s=(r<3?i(s):r>3?i(t,n,s):i(t,n))||s);return r>3&&s&&Object.defineProperty(t,n,s),s},i=this&&this.__metadata||function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)},r=n(0),s=function(){function e(e,t){this.renderer=t,this.scrollbarV=!1,this.scrollbarH=!1,this.scroll=new r.EventEmitter,this.scrollYPos=0,this.scrollXPos=0,this.prevScrollYPos=0,this.prevScrollXPos=0,this.element=e.nativeElement}return e.prototype.ngOnInit=function(){(this.scrollbarV||this.scrollbarH)&&(this.parentElement=this.element.parentElement.parentElement,this.onScrollListener=this.renderer.listen(this.parentElement,"scroll",this.onScrolled.bind(this)))},e.prototype.ngOnDestroy=function(){(this.scrollbarV||this.scrollbarH)&&this.onScrollListener()},e.prototype.setOffset=function(e){this.parentElement&&(this.parentElement.scrollTop=e)},e.prototype.onScrolled=function(e){var t=e.currentTarget;this.scrollYPos=t.scrollTop,this.scrollXPos=t.scrollLeft,requestAnimationFrame(this.updateOffset.bind(this))},e.prototype.updateOffset=function(){var e;this.scrollYPosthis.prevScrollYPos&&(e="up"),this.scroll.emit({direction:e,scrollYPos:this.scrollYPos,scrollXPos:this.scrollXPos}),this.prevScrollYPos=this.scrollYPos,this.prevScrollXPos=this.scrollXPos},o([r.Input(),i("design:type",Boolean)],e.prototype,"scrollbarV",void 0),o([r.Input(),i("design:type",Boolean)],e.prototype,"scrollbarH",void 0),o([r.HostBinding("style.height.px"),r.Input(),i("design:type",Number)],e.prototype,"scrollHeight",void 0),o([r.HostBinding("style.width.px"),r.Input(),i("design:type",Number)],e.prototype,"scrollWidth",void 0),o([r.Output(),i("design:type",r.EventEmitter)],e.prototype,"scroll",void 0),e=o([r.Component({selector:"datatable-scroller",template:"\n \n ",host:{class:"datatable-scroll"}}),i("design:paramtypes",[r.ElementRef,r.Renderer])],e)}();t.ScrollerComponent=s},"./src/components/body/selection.component.ts":function(e,t,n){"use strict";var o=this&&this.__decorate||function(e,t,n,o){var i,r=arguments.length,s=r<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,n):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,n,o);else for(var a=e.length-1;a>=0;a--)(i=e[a])&&(s=(r<3?i(s):r>3?i(t,n,s):i(t,n))||s);return r>3&&s&&Object.defineProperty(t,n,s),s},i=this&&this.__metadata||function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)},r=n(0),s=n("./src/utils/index.ts"),a=n("./src/types/index.ts"),c=function(){function e(){this.activate=new r.EventEmitter,this.select=new r.EventEmitter}return e.prototype.selectRow=function(e,t,n){if(this.selectEnabled){var o=this.selectionType===a.SelectionType.checkbox,i=this.selectionType===a.SelectionType.multi,r=this.selectionType==a.SelectionType.multiClick,c=[];c=i||o||r?e.shiftKey?s.selectRowsBetween(this.selected.slice(),this.rows,t,this.prevIndex,this.getRowSelectedIdx.bind(this)):e.ctrlKey||r||o?s.selectRows(this.selected.slice(),n,this.getRowSelectedIdx.bind(this)):s.selectRows([],n,this.getRowSelectedIdx.bind(this)):s.selectRows([],n,this.getRowSelectedIdx.bind(this)),"function"==typeof this.selectCheck&&(c=c.filter(this.selectCheck.bind(this))),this.selected.splice(0,this.selected.length),(l=this.selected).push.apply(l,c),this.prevIndex=t,this.select.emit({selected:c});var l}},e.prototype.onActivate=function(e,t){var n=e.type,o=e.event,i=e.row,r=this.selectionType===a.SelectionType.checkbox,c=!r&&("click"===n||"dblclick"===n)||r&&"checkbox"===n;c?this.selectRow(o,t,i):"keydown"===n&&(o.keyCode===s.Keys.return?this.selectRow(o,t,i):this.onKeyboardFocus(e)),this.activate.emit(e)},e.prototype.onKeyboardFocus=function(e){var t=e.event.keyCode,n=t===s.Keys.up||t===s.Keys.down||t===s.Keys.right||t===s.Keys.left;if(n){var o=this.selectionType===a.SelectionType.cell;e.cellElement&&o?o&&this.focusCell(e.cellElement,e.rowElement,t,e.cellIndex):this.focusRow(e.rowElement,t)}},e.prototype.focusRow=function(e,t){var n=this.getPrevNextRow(e,t);n&&n.focus()},e.prototype.getPrevNextRow=function(e,t){var n=e.parentElement;if(n){var o=void 0;if(t===s.Keys.up?o=n.previousElementSibling:t===s.Keys.down&&(o=n.nextElementSibling),o&&o.children.length)return o.children[0]}},e.prototype.focusCell=function(e,t,n,o){var i;if(n===s.Keys.left)i=e.previousElementSibling;else if(n===s.Keys.right)i=e.nextElementSibling;else if(n===s.Keys.up||n===s.Keys.down){var r=this.getPrevNextRow(t,n);if(r){var a=r.getElementsByClassName("datatable-body-cell");a.length&&(i=a[o])}}i&&i.focus()},e.prototype.getRowSelected=function(e){return this.getRowSelectedIdx(e,this.selected)>-1},e.prototype.getRowSelectedIdx=function(e,t){var n=this;if(!t||!t.length)return-1;var o=this.rowIdentity(e);return t.findIndex(function(e){var t=n.rowIdentity(e);return t===o})},o([r.Input(),i("design:type",Array)],e.prototype,"rows",void 0),o([r.Input(),i("design:type",Array)],e.prototype,"selected",void 0),o([r.Input(),i("design:type",Boolean)],e.prototype,"selectEnabled",void 0),o([r.Input(),i("design:type",Number)],e.prototype,"selectionType",void 0),o([r.Input(),i("design:type",Object)],e.prototype,"rowIdentity",void 0),o([r.Input(),i("design:type",Object)],e.prototype,"selectCheck",void 0),o([r.Output(),i("design:type",r.EventEmitter)],e.prototype,"activate",void 0),o([r.Output(),i("design:type",r.EventEmitter)],e.prototype,"select",void 0),e=o([r.Component({selector:"datatable-selection",template:"\n \n "}),i("design:paramtypes",[])],e)}();t.DataTableSelectionComponent=c},"./src/components/columns/column-cell.directive.ts":function(e,t,n){"use strict";var o=this&&this.__decorate||function(e,t,n,o){var i,r=arguments.length,s=r<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,n):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,n,o);else for(var a=e.length-1;a>=0;a--)(i=e[a])&&(s=(r<3?i(s):r>3?i(t,n,s):i(t,n))||s);return r>3&&s&&Object.defineProperty(t,n,s),s},i=this&&this.__metadata||function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)},r=n(0),s=function(){function e(e){this.template=e}return e=o([r.Directive({selector:"[ngx-datatable-cell-template]"}),i("design:paramtypes",[r.TemplateRef])],e)}();t.DataTableColumnCellDirective=s},"./src/components/columns/column-header.directive.ts":function(e,t,n){"use strict";var o=this&&this.__decorate||function(e,t,n,o){var i,r=arguments.length,s=r<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,n):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,n,o);else for(var a=e.length-1;a>=0;a--)(i=e[a])&&(s=(r<3?i(s):r>3?i(t,n,s):i(t,n))||s);return r>3&&s&&Object.defineProperty(t,n,s),s},i=this&&this.__metadata||function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)},r=n(0),s=function(){function e(e){this.template=e}return e=o([r.Directive({selector:"[ngx-datatable-header-template]"}),i("design:paramtypes",[r.TemplateRef])],e)}();t.DataTableColumnHeaderDirective=s},"./src/components/columns/column.directive.ts":function(e,t,n){"use strict";var o=this&&this.__decorate||function(e,t,n,o){var i,r=arguments.length,s=r<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,n):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,n,o);else for(var a=e.length-1;a>=0;a--)(i=e[a])&&(s=(r<3?i(s):r>3?i(t,n,s):i(t,n))||s);return r>3&&s&&Object.defineProperty(t,n,s),s},i=this&&this.__metadata||function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)},r=n(0),s=n("./src/components/columns/column-header.directive.ts"),a=n("./src/components/columns/column-cell.directive.ts"),c=function(){function e(){}return o([r.Input(),i("design:type",String)],e.prototype,"name",void 0),o([r.Input(),i("design:type",String)],e.prototype,"prop",void 0),o([r.Input(),i("design:type",Object)],e.prototype,"frozenLeft",void 0),o([r.Input(),i("design:type",Object)],e.prototype,"frozenRight",void 0),o([r.Input(),i("design:type",Number)],e.prototype,"flexGrow",void 0),o([r.Input(),i("design:type",Boolean)],e.prototype,"resizeable",void 0),o([r.Input(),i("design:type",Function)],e.prototype,"comparator",void 0),o([r.Input(),i("design:type",Object)],e.prototype,"pipe",void 0),o([r.Input(),i("design:type",Boolean)],e.prototype,"sortable",void 0),o([r.Input(),i("design:type",Boolean)],e.prototype,"draggable",void 0),o([r.Input(),i("design:type",Boolean)],e.prototype,"canAutoResize",void 0),o([r.Input(),i("design:type",Number)],e.prototype,"minWidth",void 0),o([r.Input(),i("design:type",Number)],e.prototype,"width",void 0),o([r.Input(),i("design:type",Number)],e.prototype,"maxWidth",void 0),o([r.Input(),i("design:type",Boolean)],e.prototype,"checkboxable",void 0), -o([r.Input(),i("design:type",Boolean)],e.prototype,"headerCheckboxable",void 0),o([r.Input(),r.ContentChild(a.DataTableColumnCellDirective,{read:r.TemplateRef}),i("design:type",r.TemplateRef)],e.prototype,"cellTemplate",void 0),o([r.Input(),r.ContentChild(s.DataTableColumnHeaderDirective,{read:r.TemplateRef}),i("design:type",r.TemplateRef)],e.prototype,"headerTemplate",void 0),e=o([r.Directive({selector:"ngx-datatable-column"}),i("design:paramtypes",[])],e)}();t.DataTableColumnDirective=c},"./src/components/columns/index.ts":function(e,t,n){"use strict";function o(e){for(var n in e)t.hasOwnProperty(n)||(t[n]=e[n])}o(n("./src/components/columns/column.directive.ts")),o(n("./src/components/columns/column-header.directive.ts")),o(n("./src/components/columns/column-cell.directive.ts"))},"./src/components/datatable.component.ts":function(e,t,n){"use strict";var o=this&&this.__decorate||function(e,t,n,o){var i,r=arguments.length,s=r<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,n):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,n,o);else for(var a=e.length-1;a>=0;a--)(i=e[a])&&(s=(r<3?i(s):r>3?i(t,n,s):i(t,n))||s);return r>3&&s&&Object.defineProperty(t,n,s),s},i=this&&this.__metadata||function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)},r=n(0),s=n("./src/utils/index.ts"),a=n("./src/types/index.ts"),c=n("./src/components/body/index.ts"),l=n("./src/components/columns/index.ts"),p=n("./src/components/row-detail/index.ts"),u=n("./src/utils/index.ts"),d=function(){function e(e,t){this.selected=[],this.scrollbarV=!1,this.scrollbarH=!1,this.rowHeight=30,this.detailRowHeight=0,this.columnMode=a.ColumnMode.standard,this.headerHeight=30,this.footerHeight=0,this.externalPaging=!1,this.externalSorting=!1,this.limit=void 0,this.offset=0,this.loadingIndicator=!1,this.reorderable=!0,this.sortType=a.SortType.single,this.sorts=[],this.cssClasses={sortAscending:"icon-down",sortDescending:"icon-up",pagerLeftArrow:"icon-left",pagerRightArrow:"icon-right",pagerPrevious:"icon-prev",pagerNext:"icon-skip"},this.messages={emptyMessage:"No data to display",totalMessage:"total"},this.rowIdentity=function(e){return e},this.scroll=new r.EventEmitter,this.activate=new r.EventEmitter,this.select=new r.EventEmitter,this.sort=new r.EventEmitter,this.page=new r.EventEmitter,this.detailToggle=new r.EventEmitter,this.reorder=new r.EventEmitter,this.resize=new r.EventEmitter,this.rowContextmenu=new r.EventEmitter(!1),this.offsetX=0,this._count=0,this.element=e.nativeElement,this.rowDiffer=t.find({}).create(null)}return Object.defineProperty(e.prototype,"rows",{get:function(){return this._rows},set:function(e){this.externalSorting||(e=s.sortRows(e,this.columns,this.sorts)),this._rows=e,this.recalculate()},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"columns",{get:function(){return this._columns},set:function(e){e&&(u.setColumnDefaults(e),this.recalculateColumns(e)),this._columns=e},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"count",{get:function(){return this._count},set:function(e){this._count=e,this.recalculate()},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"isFixedHeader",{get:function(){var e=this.headerHeight;return"string"!=typeof e||"auto"!==e},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"isFixedRow",{get:function(){var e=this.rowHeight;return"string"!=typeof e||"auto"!==e},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"isVertScroll",{get:function(){return this.scrollbarV},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"isHorScroll",{get:function(){return this.scrollbarH},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"isSelectable",{get:function(){return void 0!==this.selectionType},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"isCheckboxSelection",{get:function(){return this.selectionType===a.SelectionType.checkbox},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"isCellSelection",{get:function(){return this.selectionType===a.SelectionType.cell},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"isSingleSelection",{get:function(){return this.selectionType===a.SelectionType.single},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"isMultiSelection",{get:function(){return this.selectionType===a.SelectionType.multi},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"isMultiClickSelection",{get:function(){return this.selectionType===a.SelectionType.multiClick},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"columnTemplates",{get:function(){return this._columnTemplates},set:function(e){if(this._columnTemplates=e,e){var t=e.toArray();t.length&&(this.columns=u.translateTemplates(t))}},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"rowDetailTemplateChild",{get:function(){return this._rowDetailTemplateChild},set:function(e){this._rowDetailTemplateChild=e,e&&(this.rowDetailTemplate=e.rowDetailTemplate)},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"allRowsSelected",{get:function(){return this.selected&&this.rows&&this.selected.length===this.rows.length},enumerable:!0,configurable:!0}),e.prototype.ngOnInit=function(){this.recalculate()},e.prototype.ngAfterViewInit=function(){var e=this;setTimeout(function(){return e.recalculate()})},e.prototype.ngDoCheck=function(){this.rowDiffer.diff(this.rows)&&this.recalculatePages()},e.prototype.toggleExpandRow=function(e){this.bodyComponent.toggleRowExpansion(e)},e.prototype.expandAllRows=function(){this.bodyComponent.toggleAllRows(!0)},e.prototype.collapseAllRows=function(){this.bodyComponent.toggleAllRows(!1)},e.prototype.recalculate=function(){this.recalculateDims(),this.recalculateColumns()},e.prototype.onWindowResize=function(){this.recalculate()},e.prototype.recalculateColumns=function(e,t,n){if(void 0===e&&(e=this.columns),void 0===t&&(t=-1),void 0===n&&(n=this.scrollbarH),e){var o=this.innerWidth;return this.scrollbarV&&(o-=u.scrollbarWidth),this.columnMode===a.ColumnMode.force?s.forceFillColumnWidths(e,o,t,n):this.columnMode===a.ColumnMode.flex&&s.adjustColumnWidths(e,o),e}},e.prototype.recalculateDims=function(){var e=this.element.getBoundingClientRect(),t=e.height,n=e.width;this.innerWidth=Math.floor(n),this.scrollbarV&&(this.headerHeight&&(t-=this.headerHeight),this.footerHeight&&(t-=this.footerHeight),this.bodyHeight=t),this.recalculatePages()},e.prototype.recalculatePages=function(){this.pageSize=this.calcPageSize(),this.rowCount=this.calcRowCount()},e.prototype.onBodyPage=function(e){var t=e.offset;this.offset=t,this.page.emit({count:this.count,pageSize:this.pageSize,limit:this.limit,offset:this.offset})},e.prototype.onBodyScroll=function(e){this.offsetX=e.offsetX,this.scroll.emit(e)},e.prototype.onFooterPage=function(e){this.offset=e.page-1,this.bodyComponent.updateOffsetY(this.offset),this.page.emit({count:this.count,pageSize:this.pageSize,limit:this.limit,offset:this.offset})},e.prototype.calcPageSize=function(e){if(void 0===e&&(e=this.rows),this.scrollbarV){var t=Math.ceil(this.bodyHeight/this.rowHeight);return Math.max(t,0)}return void 0!==this.limit?this.limit:e?e.length:0},e.prototype.calcRowCount=function(e){return void 0===e&&(e=this.rows),this.externalPaging?this.count:e?e.length:0},e.prototype.onColumnResize=function(e){var t,n=e.column,o=e.newValue,i=this.columns.map(function(e,i){return e=Object.assign({},e),e.$$id===n.$$id&&(t=i,e.width=o,e.$$oldWidth=o),e});this.recalculateColumns(i,t),this._columns=i,this.resize.emit({column:n,newValue:o})},e.prototype.onColumnReorder=function(e){var t=e.column,n=e.newValue,o=e.prevValue,i=this.columns.map(function(e){return Object.assign({},e)});i.splice(o,1),i.splice(n,0,t),this.columns=i,this.reorder.emit({column:t,newValue:n,prevValue:o})},e.prototype.onColumnSort=function(e){var t=e.sorts;this.externalSorting===!1&&(this._rows=s.sortRows(this.rows,this.columns,t)),this.sorts=t,this.bodyComponent.updateOffsetY(0),this.sort.emit(e)},e.prototype.onHeaderSelect=function(e){var t=this.selected.length===this.rows.length;this.selected.splice(0,this.selected.length),t||(n=this.selected).push.apply(n,this.rows),this.select.emit({selected:this.selected});var n},e.prototype.onBodySelect=function(e){this.select.emit(e)},o([r.Input(),i("design:type",Object),i("design:paramtypes",[Object])],e.prototype,"rows",null),o([r.Input(),i("design:type",Array),i("design:paramtypes",[Array])],e.prototype,"columns",null),o([r.Input(),i("design:type",Array)],e.prototype,"selected",void 0),o([r.Input(),i("design:type",Boolean)],e.prototype,"scrollbarV",void 0),o([r.Input(),i("design:type",Boolean)],e.prototype,"scrollbarH",void 0),o([r.Input(),i("design:type",Number)],e.prototype,"rowHeight",void 0),o([r.Input(),i("design:type",Number)],e.prototype,"detailRowHeight",void 0),o([r.Input(),i("design:type",Number)],e.prototype,"columnMode",void 0),o([r.Input(),i("design:type",Object)],e.prototype,"headerHeight",void 0),o([r.Input(),i("design:type",Number)],e.prototype,"footerHeight",void 0),o([r.Input(),i("design:type",Boolean)],e.prototype,"externalPaging",void 0),o([r.Input(),i("design:type",Boolean)],e.prototype,"externalSorting",void 0),o([r.Input(),i("design:type",Number)],e.prototype,"limit",void 0),o([r.Input(),i("design:type",Number),i("design:paramtypes",[Number])],e.prototype,"count",null),o([r.Input(),i("design:type",Number)],e.prototype,"offset",void 0),o([r.Input(),i("design:type",Boolean)],e.prototype,"loadingIndicator",void 0),o([r.Input(),i("design:type",Number)],e.prototype,"selectionType",void 0),o([r.Input(),i("design:type",Boolean)],e.prototype,"reorderable",void 0),o([r.Input(),i("design:type",Number)],e.prototype,"sortType",void 0),o([r.Input(),i("design:type",Array)],e.prototype,"sorts",void 0),o([r.Input(),i("design:type",r.TemplateRef)],e.prototype,"rowDetailTemplate",void 0),o([r.Input(),i("design:type",Object)],e.prototype,"cssClasses",void 0),o([r.Input(),i("design:type",Object)],e.prototype,"messages",void 0),o([r.Input(),i("design:type",Function)],e.prototype,"rowIdentity",void 0),o([r.Input(),i("design:type",Object)],e.prototype,"selectCheck",void 0),o([r.Input(),i("design:type",String)],e.prototype,"trackByProp",void 0),o([r.Output(),i("design:type",r.EventEmitter)],e.prototype,"scroll",void 0),o([r.Output(),i("design:type",r.EventEmitter)],e.prototype,"activate",void 0),o([r.Output(),i("design:type",r.EventEmitter)],e.prototype,"select",void 0),o([r.Output(),i("design:type",r.EventEmitter)],e.prototype,"sort",void 0),o([r.Output(),i("design:type",r.EventEmitter)],e.prototype,"page",void 0),o([r.Output(),i("design:type",r.EventEmitter)],e.prototype,"detailToggle",void 0),o([r.Output(),i("design:type",r.EventEmitter)],e.prototype,"reorder",void 0),o([r.Output(),i("design:type",r.EventEmitter)],e.prototype,"resize",void 0),o([r.Output(),i("design:type",Object)],e.prototype,"rowContextmenu",void 0),o([r.HostBinding("class.fixed-header"),i("design:type",Boolean)],e.prototype,"isFixedHeader",null),o([r.HostBinding("class.fixed-row"),i("design:type",Boolean)],e.prototype,"isFixedRow",null),o([r.HostBinding("class.scroll-vertical"),i("design:type",Boolean)],e.prototype,"isVertScroll",null),o([r.HostBinding("class.scroll-horz"),i("design:type",Boolean)],e.prototype,"isHorScroll",null),o([r.HostBinding("class.selectable"),i("design:type",Boolean)],e.prototype,"isSelectable",null),o([r.HostBinding("class.checkbox-selection"),i("design:type",Boolean)],e.prototype,"isCheckboxSelection",null),o([r.HostBinding("class.cell-selection"),i("design:type",Boolean)],e.prototype,"isCellSelection",null),o([r.HostBinding("class.single-selection"),i("design:type",Boolean)],e.prototype,"isSingleSelection",null),o([r.HostBinding("class.multi-selection"),i("design:type",Boolean)],e.prototype,"isMultiSelection",null),o([r.HostBinding("class.multi-click-selection"),i("design:type",Boolean)],e.prototype,"isMultiClickSelection",null),o([r.ContentChildren(l.DataTableColumnDirective),i("design:type",r.QueryList),i("design:paramtypes",[r.QueryList])],e.prototype,"columnTemplates",null),o([r.ContentChild(p.DatatableRowDetailDirective),i("design:type",p.DatatableRowDetailDirective),i("design:paramtypes",[p.DatatableRowDetailDirective])],e.prototype,"rowDetailTemplateChild",null),o([r.ViewChild(c.DataTableBodyComponent),i("design:type",c.DataTableBodyComponent)],e.prototype,"bodyComponent",void 0),o([r.HostListener("window:resize"),u.throttleable(5),i("design:type",Function),i("design:paramtypes",[]),i("design:returntype",void 0)],e.prototype,"onWindowResize",null),e=o([r.Component({selector:"ngx-datatable",template:'\n \n \n \n \n \n \n \n \n ',host:{class:"datatable"}}),i("design:paramtypes",[r.ElementRef,r.KeyValueDiffers])],e)}();t.DatatableComponent=d},"./src/components/footer/footer.component.ts":function(e,t,n){"use strict";var o=this&&this.__decorate||function(e,t,n,o){var i,r=arguments.length,s=r<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,n):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,n,o);else for(var a=e.length-1;a>=0;a--)(i=e[a])&&(s=(r<3?i(s):r>3?i(t,n,s):i(t,n))||s);return r>3&&s&&Object.defineProperty(t,n,s),s},i=this&&this.__metadata||function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)},r=n(0),s=function(){function e(){this.page=new r.EventEmitter}return Object.defineProperty(e.prototype,"isVisible",{get:function(){return this.rowCount/this.pageSize>1},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"curPage",{get:function(){return this.offset+1},enumerable:!0,configurable:!0}),o([r.Input(),i("design:type",Number)],e.prototype,"footerHeight",void 0),o([r.Input(),i("design:type",Number)],e.prototype,"rowCount",void 0),o([r.Input(),i("design:type",Number)],e.prototype,"pageSize",void 0),o([r.Input(),i("design:type",Number)],e.prototype,"offset",void 0),o([r.Input(),i("design:type",String)],e.prototype,"pagerLeftArrowIcon",void 0),o([r.Input(),i("design:type",String)],e.prototype,"pagerRightArrowIcon",void 0),o([r.Input(),i("design:type",String)],e.prototype,"pagerPreviousIcon",void 0),o([r.Input(),i("design:type",String)],e.prototype,"pagerNextIcon",void 0),o([r.Input(),i("design:type",String)],e.prototype,"totalMessage",void 0),o([r.Output(),i("design:type",r.EventEmitter)],e.prototype,"page",void 0),e=o([r.Component({selector:"datatable-footer",template:'\n \n
{{rowCount.toLocaleString()}} {{totalMessage}}
\n \n \n \n ',host:{class:"datatable-footer"},changeDetection:r.ChangeDetectionStrategy.OnPush}),i("design:paramtypes",[])],e)}();t.DataTableFooterComponent=s},"./src/components/footer/index.ts":function(e,t,n){"use strict";function o(e){for(var n in e)t.hasOwnProperty(n)||(t[n]=e[n])}o(n("./src/components/footer/footer.component.ts")),o(n("./src/components/footer/pager.component.ts"))},"./src/components/footer/pager.component.ts":function(e,t,n){"use strict";var o=this&&this.__decorate||function(e,t,n,o){var i,r=arguments.length,s=r<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,n):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,n,o);else for(var a=e.length-1;a>=0;a--)(i=e[a])&&(s=(r<3?i(s):r>3?i(t,n,s):i(t,n))||s);return r>3&&s&&Object.defineProperty(t,n,s),s},i=this&&this.__metadata||function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)},r=n(0),s=function(){function e(){this.change=new r.EventEmitter,this._count=0,this._page=1,this._size=0}return Object.defineProperty(e.prototype,"size",{get:function(){return this._size},set:function(e){this._size=e,this.pages=this.calcPages()},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"count",{get:function(){return this._count},set:function(e){this._count=e,this.pages=this.calcPages()},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"page",{get:function(){return this._page},set:function(e){this._page=e,this.pages=this.calcPages()},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"totalPages",{get:function(){var e=this.size<1?1:Math.ceil(this.count/this.size);return Math.max(e||0,1)},enumerable:!0,configurable:!0}),e.prototype.canPrevious=function(){return this.page>1},e.prototype.canNext=function(){return this.page0&&e<=this.totalPages&&e!==this.page&&(this.page=e,this.change.emit({page:e}))},e.prototype.calcPages=function(e){var t=[],n=1,o=this.totalPages,i=5,r=i\n
  • \n \n \n \n
  • \n
  • \n \n \n \n
  • \n \n \n {{pg.text}}\n \n \n
  • \n \n \n \n
  • \n
  • \n \n \n \n
  • \n \n ',host:{class:"datatable-pager"},changeDetection:r.ChangeDetectionStrategy.OnPush}),i("design:paramtypes",[])],e)}();t.DataTablePagerComponent=s},"./src/components/header/header-cell.component.ts":function(e,t,n){"use strict";var o=this&&this.__decorate||function(e,t,n,o){var i,r=arguments.length,s=r<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,n):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,n,o);else for(var a=e.length-1;a>=0;a--)(i=e[a])&&(s=(r<3?i(s):r>3?i(t,n,s):i(t,n))||s);return r>3&&s&&Object.defineProperty(t,n,s),s},i=this&&this.__metadata||function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)},r=n(0),s=n("./src/types/index.ts"),a=n("./src/utils/index.ts"),c=function(){function e(){this.sort=new r.EventEmitter,this.select=new r.EventEmitter}return Object.defineProperty(e.prototype,"sorts",{get:function(){return this._sorts},set:function(e){this._sorts=e,this.sortDir=this.calcSortDir(e),this.sortClass=this.calcSortClass(this.sortDir)},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"columnCssClasses",{get:function(){var e="datatable-header-cell";this.column.sortable&&(e+=" sortable"),this.column.resizeable&&(e+=" resizeable");var t=this.sortDir;return t&&(e+=" sort-active sort-"+t),e},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"name",{get:function(){return this.column.name||this.column.prop},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"minWidth",{get:function(){return this.column.minWidth},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"maxWidth",{get:function(){return this.column.maxWidth},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"width",{get:function(){return this.column.width},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"isCheckboxable",{get:function(){},enumerable:!0,configurable:!0}),e.prototype.calcSortDir=function(e){var t=this;if(e&&this.column){var n=e.find(function(e){return e.prop===t.column.prop});if(n)return n.dir}},e.prototype.onSort=function(){if(this.column.sortable){var e=a.nextSortDir(this.sortType,this.sortDir);this.sort.emit({column:this.column,prevValue:this.sortDir,newValue:e})}},e.prototype.calcSortClass=function(e){return e===s.SortDirection.asc?"sort-asc "+this.sortAscendingIcon:e===s.SortDirection.desc?"sort-desc "+this.sortDescendingIcon:void 0},o([r.Input(),i("design:type",Number)],e.prototype,"sortType",void 0),o([r.Input(),i("design:type",Object)],e.prototype,"column",void 0),o([r.Input(),i("design:type",String)],e.prototype,"sortAscendingIcon",void 0),o([r.Input(),i("design:type",String)],e.prototype,"sortDescendingIcon",void 0),o([r.Input(),i("design:type",Boolean)],e.prototype,"allRowsSelected",void 0),o([r.Input(),i("design:type",Number)],e.prototype,"selectionType",void 0),o([r.HostBinding("style.height.px"),r.Input(),i("design:type",Number)],e.prototype,"headerHeight",void 0),o([r.Input(),i("design:type",Array),i("design:paramtypes",[Array])],e.prototype,"sorts",null),o([r.Output(),i("design:type",r.EventEmitter)],e.prototype,"sort",void 0),o([r.Output(),i("design:type",r.EventEmitter)],e.prototype,"select",void 0),o([r.HostBinding("class"),i("design:type",Object)],e.prototype,"columnCssClasses",null),o([r.HostBinding("attr.title"),i("design:type",String)],e.prototype,"name",null),o([r.HostBinding("style.minWidth.px"),i("design:type",Number)],e.prototype,"minWidth",null),o([r.HostBinding("style.maxWidth.px"),i("design:type",Number)],e.prototype,"maxWidth",null),o([r.HostBinding("style.width.px"),i("design:type",Number)],e.prototype,"width",null),e=o([r.Component({selector:"datatable-header-cell",template:'\n
    \n \n \n \n \n \n \n \n \n \n
    \n '}),i("design:paramtypes",[])],e)}();t.DataTableHeaderCellComponent=c},"./src/components/header/header.component.ts":function(e,t,n){"use strict";var o=this&&this.__decorate||function(e,t,n,o){var i,r=arguments.length,s=r<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,n):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,n,o);else for(var a=e.length-1;a>=0;a--)(i=e[a])&&(s=(r<3?i(s):r>3?i(t,n,s):i(t,n))||s);return r>3&&s&&Object.defineProperty(t,n,s),s},i=this&&this.__metadata||function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)},r=n(0),s=n("./src/types/index.ts"),a=n("./src/utils/index.ts"),c=function(){function e(){this.sort=new r.EventEmitter,this.reorder=new r.EventEmitter,this.resize=new r.EventEmitter,this.select=new r.EventEmitter}return Object.defineProperty(e.prototype,"headerHeight",{get:function(){return this._headerHeight},set:function(e){"auto"!==e?this._headerHeight=e+"px":this._headerHeight=e},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"columns",{get:function(){return this._columns},set:function(e){this._columns=e;var t=a.columnsByPin(e);this.columnsByPin=a.columnsByPinArr(e),this.columnGroupWidths=a.columnGroupWidths(t,e)},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"headerWidth",{get:function(){return this.scrollbarH?this.innerWidth+"px":"100%"},enumerable:!0,configurable:!0}),e.prototype.trackByGroups=function(e,t){return t.type},e.prototype.columnTrackingFn=function(e,t){return t.$$id},e.prototype.onColumnResized=function(e,t){e<=t.minWidth?e=t.minWidth:e>=t.maxWidth&&(e=t.maxWidth),this.resize.emit({column:t,prevValue:t.width,newValue:e})},e.prototype.onColumnReordered=function(e){var t=e.prevIndex,n=e.newIndex,o=e.model;this.reorder.emit({column:o,prevValue:t,newValue:n})},e.prototype.onSort=function(e){var t=e.column,n=e.prevValue,o=e.newValue,i=this.calcNewSorts(t,n,o);this.sort.emit({sorts:i,column:t,prevValue:n,newValue:o})},e.prototype.calcNewSorts=function(e,t,n){var o=0,i=this.sorts.map(function(t,n){return t=Object.assign({},t),t.prop===e.prop&&(o=n),t});return void 0===n?i.splice(o,1):t?i[o].dir=n:(this.sortType===s.SortType.single&&i.splice(0,this.sorts.length),i.push({dir:n,prop:e.prop})),i},e.prototype.stylesByGroup=function(e){var t=this.columnGroupWidths,n=this.offsetX,o={width:t[e]+"px"};if("center"===e)a.translateXY(o,n*-1,0);else if("right"===e){var i=t.total-this.innerWidth,r=i*-1;a.translateXY(o,r,0)}return o},o([r.Input(),i("design:type",Object)],e.prototype,"sortAscendingIcon",void 0),o([r.Input(),i("design:type",Object)],e.prototype,"sortDescendingIcon",void 0),o([r.Input(),i("design:type",Boolean)],e.prototype,"scrollbarH",void 0),o([r.Input(),i("design:type",Number)],e.prototype,"innerWidth",void 0),o([r.Input(),i("design:type",Number)],e.prototype,"offsetX",void 0),o([r.Input(),i("design:type",Array)],e.prototype,"sorts",void 0),o([r.Input(),i("design:type",Number)],e.prototype,"sortType",void 0),o([r.Input(),i("design:type",Boolean)],e.prototype,"allRowsSelected",void 0),o([r.Input(),i("design:type",Number)],e.prototype,"selectionType",void 0),o([r.Input(),i("design:type",Boolean)],e.prototype,"reorderable",void 0),o([r.HostBinding("style.height"),r.Input(),i("design:type",Object),i("design:paramtypes",[Object])],e.prototype,"headerHeight",null),o([r.Input(),i("design:type",Array),i("design:paramtypes",[Array])],e.prototype,"columns",null),o([r.Output(),i("design:type",r.EventEmitter)],e.prototype,"sort",void 0),o([r.Output(),i("design:type",r.EventEmitter)],e.prototype,"reorder",void 0),o([r.Output(),i("design:type",r.EventEmitter)],e.prototype,"resize",void 0),o([r.Output(),i("design:type",r.EventEmitter)],e.prototype,"select",void 0),o([r.HostBinding("style.width"),i("design:type",String)],e.prototype,"headerWidth",null),e=o([r.Component({selector:"datatable-header",template:'\n \n \n \n \n \n \n ',host:{class:"datatable-header"}}),i("design:paramtypes",[])],e)}();t.DataTableHeaderComponent=c},"./src/components/header/index.ts":function(e,t,n){"use strict";function o(e){for(var n in e)t.hasOwnProperty(n)||(t[n]=e[n])}o(n("./src/components/header/header.component.ts")),o(n("./src/components/header/header-cell.component.ts"))},"./src/components/index.ts":function(e,t,n){"use strict";function o(e){for(var n in e)t.hasOwnProperty(n)||(t[n]=e[n])}o(n("./src/components/datatable.component.ts")),o(n("./src/components/header/index.ts")),o(n("./src/components/body/index.ts")),o(n("./src/components/footer/index.ts")),o(n("./src/components/columns/index.ts")),o(n("./src/components/row-detail/index.ts")); -},"./src/components/row-detail/index.ts":function(e,t,n){"use strict";function o(e){for(var n in e)t.hasOwnProperty(n)||(t[n]=e[n])}o(n("./src/components/row-detail/row-detail.directive.ts")),o(n("./src/components/row-detail/row-detail-template.directive.ts"))},"./src/components/row-detail/row-detail-template.directive.ts":function(e,t,n){"use strict";var o=this&&this.__decorate||function(e,t,n,o){var i,r=arguments.length,s=r<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,n):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,n,o);else for(var a=e.length-1;a>=0;a--)(i=e[a])&&(s=(r<3?i(s):r>3?i(t,n,s):i(t,n))||s);return r>3&&s&&Object.defineProperty(t,n,s),s},i=this&&this.__metadata||function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)},r=n(0),s=function(){function e(e){this.template=e}return e=o([r.Directive({selector:"[ngx-datatable-row-detail-template]"}),i("design:paramtypes",[r.TemplateRef])],e)}();t.DatatableRowDetailTemplateDirective=s},"./src/components/row-detail/row-detail.directive.ts":function(e,t,n){"use strict";var o=this&&this.__decorate||function(e,t,n,o){var i,r=arguments.length,s=r<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,n):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,n,o);else for(var a=e.length-1;a>=0;a--)(i=e[a])&&(s=(r<3?i(s):r>3?i(t,n,s):i(t,n))||s);return r>3&&s&&Object.defineProperty(t,n,s),s},i=this&&this.__metadata||function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)},r=n(0),s=n("./src/components/row-detail/row-detail-template.directive.ts"),a=function(){function e(){}return Object.defineProperty(e.prototype,"rowDetailTemplate",{get:function(){return this.template},enumerable:!0,configurable:!0}),o([r.ContentChild(s.DatatableRowDetailTemplateDirective,{read:r.TemplateRef}),i("design:type",r.TemplateRef)],e.prototype,"template",void 0),e=o([r.Directive({selector:"ngx-datatable-row-detail"}),i("design:paramtypes",[])],e)}();t.DatatableRowDetailDirective=a},"./src/datatable.module.ts":function(e,t,n){"use strict";var o=this&&this.__decorate||function(e,t,n,o){var i,r=arguments.length,s=r<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,n):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,n,o);else for(var a=e.length-1;a>=0;a--)(i=e[a])&&(s=(r<3?i(s):r>3?i(t,n,s):i(t,n))||s);return r>3&&s&&Object.defineProperty(t,n,s),s},i=this&&this.__metadata||function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)},r=n(0),s=n(2),a=n("./src/components/index.ts"),c=n("./src/directives/index.ts"),l=function(){function e(){}return e=o([r.NgModule({imports:[s.CommonModule],declarations:[c.VisibilityDirective,c.DraggableDirective,c.ResizeableDirective,c.OrderableDirective,c.LongPressDirective,a.ScrollerComponent,a.DatatableComponent,a.DataTableColumnDirective,a.DataTableHeaderComponent,a.DataTableHeaderCellComponent,a.DataTableBodyComponent,a.DataTableFooterComponent,a.DataTablePagerComponent,a.ProgressBarComponent,a.DataTableBodyRowComponent,a.DataTableRowWrapperComponent,a.DatatableRowDetailDirective,a.DatatableRowDetailTemplateDirective,a.DataTableBodyCellComponent,a.DataTableSelectionComponent,a.DataTableColumnHeaderDirective,a.DataTableColumnCellDirective],exports:[a.DatatableComponent,a.DatatableRowDetailDirective,a.DatatableRowDetailTemplateDirective,a.DataTableColumnDirective,a.DataTableColumnHeaderDirective,a.DataTableColumnCellDirective]}),i("design:paramtypes",[])],e)}();t.NgxDatatableModule=l},"./src/directives/draggable.directive.ts":function(e,t,n){"use strict";var o=this&&this.__decorate||function(e,t,n,o){var i,r=arguments.length,s=r<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,n):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,n,o);else for(var a=e.length-1;a>=0;a--)(i=e[a])&&(s=(r<3?i(s):r>3?i(t,n,s):i(t,n))||s);return r>3&&s&&Object.defineProperty(t,n,s),s},i=this&&this.__metadata||function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)},r=n(0),s=n(1),a=function(){function e(e){this.dragX=!0,this.dragY=!0,this.dragStart=new r.EventEmitter,this.dragging=new r.EventEmitter,this.dragEnd=new r.EventEmitter,this.isDragging=!1,this.element=e.nativeElement}return e.prototype.ngOnDestroy=function(){this.subscription&&this.subscription.unsubscribe()},e.prototype.onMouseup=function(e){this.isDragging=!1,this.element.classList.remove("dragging"),this.subscription&&(this.subscription.unsubscribe(),this.dragEnd.emit({event:e,element:this.element,model:this.dragModel}))},e.prototype.onMousedown=function(e){var t=this;if(e.target.classList.contains("draggable")){e.preventDefault(),this.isDragging=!0;var n={x:e.clientX,y:e.clientY};this.subscription=s.Observable.fromEvent(document,"mousemove").subscribe(function(e){return t.move(e,n)}),this.dragStart.emit({event:e,element:this.element,model:this.dragModel})}},e.prototype.move=function(e,t){if(this.dragging){var n=e.clientX-t.x,o=e.clientY-t.y;this.dragX&&(this.element.style.left=n+"px"),this.dragY&&(this.element.style.top=o+"px"),(this.dragX||this.dragY)&&(this.element.classList.add("dragging"),this.dragging.emit({event:e,element:this.element,model:this.dragModel}))}},o([r.Input(),i("design:type",Object)],e.prototype,"dragModel",void 0),o([r.Input(),i("design:type",Boolean)],e.prototype,"dragX",void 0),o([r.Input(),i("design:type",Boolean)],e.prototype,"dragY",void 0),o([r.Output(),i("design:type",r.EventEmitter)],e.prototype,"dragStart",void 0),o([r.Output(),i("design:type",r.EventEmitter)],e.prototype,"dragging",void 0),o([r.Output(),i("design:type",r.EventEmitter)],e.prototype,"dragEnd",void 0),o([r.HostListener("document:mouseup",["$event"]),i("design:type",Function),i("design:paramtypes",[MouseEvent]),i("design:returntype",void 0)],e.prototype,"onMouseup",null),o([r.HostListener("mousedown",["$event"]),i("design:type",Function),i("design:paramtypes",[MouseEvent]),i("design:returntype",void 0)],e.prototype,"onMousedown",null),e=o([r.Directive({selector:"[draggable]"}),i("design:paramtypes",[r.ElementRef])],e)}();t.DraggableDirective=a},"./src/directives/index.ts":function(e,t,n){"use strict";function o(e){for(var n in e)t.hasOwnProperty(n)||(t[n]=e[n])}o(n("./src/directives/draggable.directive.ts")),o(n("./src/directives/long-press.directive.ts")),o(n("./src/directives/orderable.directive.ts")),o(n("./src/directives/resizeable.directive.ts")),o(n("./src/directives/visibility.directive.ts"))},"./src/directives/long-press.directive.ts":function(e,t,n){"use strict";var o=this&&this.__decorate||function(e,t,n,o){var i,r=arguments.length,s=r<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,n):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,n,o);else for(var a=e.length-1;a>=0;a--)(i=e[a])&&(s=(r<3?i(s):r>3?i(t,n,s):i(t,n))||s);return r>3&&s&&Object.defineProperty(t,n,s),s},i=this&&this.__metadata||function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)},r=n(0),s=function(){function e(){this.duration=500,this.longPress=new r.EventEmitter,this.longPressing=new r.EventEmitter,this.longPressEnd=new r.EventEmitter,this.mouseX=0,this.mouseY=0}return Object.defineProperty(e.prototype,"press",{get:function(){return this.pressing},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"isLongPress",{get:function(){return void 0!==this.longPressing},enumerable:!0,configurable:!0}),e.prototype.onMouseDown=function(e){var t=this;1===e.which&&(this.mouseX=e.clientX,this.mouseY=e.clientY,this.pressing=!0,this.isLongPressing=!1,this.timeout=setTimeout(function(){t.isLongPressing=!0,t.longPress.emit(e),t.loop(e)},this.duration),this.loop(e))},e.prototype.onMouseMove=function(e){if(this.pressing&&!this.longPressing){var t=e.clientX-this.mouseX>10,n=e.clientY-this.mouseY>10;(t||n)&&this.endPress()}},e.prototype.loop=function(e){var t=this;this.longPressing&&(this.timeout=setTimeout(function(){t.longPressing.emit(e),t.loop(e)},50))},e.prototype.endPress=function(){clearTimeout(this.timeout),this.isLongPressing=!1,this.pressing=!1,this.longPressEnd.emit(!0)},e.prototype.onMouseUp=function(){this.endPress()},o([r.Input(),i("design:type",Number)],e.prototype,"duration",void 0),o([r.Output(),i("design:type",r.EventEmitter)],e.prototype,"longPress",void 0),o([r.Output(),i("design:type",r.EventEmitter)],e.prototype,"longPressing",void 0),o([r.Output(),i("design:type",r.EventEmitter)],e.prototype,"longPressEnd",void 0),o([r.HostBinding("class.press"),i("design:type",Boolean)],e.prototype,"press",null),o([r.HostBinding("class.longpress"),i("design:type",Boolean)],e.prototype,"isLongPress",null),o([r.HostListener("mousedown",["$event"]),i("design:type",Function),i("design:paramtypes",[MouseEvent]),i("design:returntype",void 0)],e.prototype,"onMouseDown",null),o([r.HostListener("mousemove",["$event"]),i("design:type",Function),i("design:paramtypes",[MouseEvent]),i("design:returntype",void 0)],e.prototype,"onMouseMove",null),o([r.HostListener("mouseup"),i("design:type",Function),i("design:paramtypes",[]),i("design:returntype",void 0)],e.prototype,"onMouseUp",null),e=o([r.Directive({selector:"[long-press]"}),i("design:paramtypes",[])],e)}();t.LongPressDirective=s},"./src/directives/orderable.directive.ts":function(e,t,n){"use strict";var o=this&&this.__decorate||function(e,t,n,o){var i,r=arguments.length,s=r<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,n):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,n,o);else for(var a=e.length-1;a>=0;a--)(i=e[a])&&(s=(r<3?i(s):r>3?i(t,n,s):i(t,n))||s);return r>3&&s&&Object.defineProperty(t,n,s),s},i=this&&this.__metadata||function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)},r=n(0),s=n("./src/directives/draggable.directive.ts"),a=function(){function e(e){this.reorder=new r.EventEmitter,this.differ=e.find({}).create(null)}return e.prototype.ngAfterContentInit=function(){this.updateSubscriptions(),this.draggables.changes.subscribe(this.updateSubscriptions.bind(this))},e.prototype.ngOnDestroy=function(){this.draggables.forEach(function(e){e.dragStart.unsubscribe(),e.dragEnd.unsubscribe()})},e.prototype.updateSubscriptions=function(){var e=this,t=this.differ.diff(this.draggables.toArray());if(t){var n=function(t){var n=t.currentValue,i=t.previousValue;o({previousValue:i}),n&&(n.dragStart.subscribe(e.onDragStart.bind(e)),n.dragEnd.subscribe(e.onDragEnd.bind(e)))},o=function(e){var t=e.previousValue;t&&(t.dragStart.unsubscribe(),t.dragEnd.unsubscribe())};t.forEachAddedItem(n.bind(this)),t.forEachChangedItem(n.bind(this)),t.forEachRemovedItem(o.bind(this))}},e.prototype.onDragStart=function(){this.positions={};for(var e=0,t=0,n=this.draggables.toArray();ta.left,l=o>a.left&&i.left=0;a--)(i=e[a])&&(s=(r<3?i(s):r>3?i(t,n,s):i(t,n))||s);return r>3&&s&&Object.defineProperty(t,n,s),s},i=this&&this.__metadata||function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)},r=n(0),s=n(1),a=function(){function e(e){if(this.resizeEnabled=!0,this.resize=new r.EventEmitter,this.resizing=!1,this.element=e.nativeElement,this.resizeEnabled){var t=document.createElement("span");t.classList.add("resize-handle"),this.element.appendChild(t)}}return e.prototype.ngOnDestroy=function(){this.subscription&&this.subscription.unsubscribe()},e.prototype.onMouseup=function(){this.resizing=!1,this.subscription&&!this.subscription.closed&&(this.subscription.unsubscribe(),this.resize.emit(this.element.clientWidth))},e.prototype.onMousedown=function(e){var t=this,n=e.target.classList.contains("resize-handle"),o=this.element.clientWidth,i=e.screenX;n&&(e.stopPropagation(),this.resizing=!0,this.subscription=s.Observable.fromEvent(document,"mousemove").subscribe(function(e){return t.move(e,o,i)}))},e.prototype.move=function(e,t,n){var o=e.screenX-n,i=t+o,r=!this.minWidth||i>=this.minWidth,s=!this.maxWidth||i<=this.maxWidth;r&&s&&(this.element.style.width=i+"px")},o([r.Input(),i("design:type",Boolean)],e.prototype,"resizeEnabled",void 0),o([r.Input(),i("design:type",Number)],e.prototype,"minWidth",void 0),o([r.Input(),i("design:type",Number)],e.prototype,"maxWidth",void 0),o([r.Output(),i("design:type",r.EventEmitter)],e.prototype,"resize",void 0),o([r.HostListener("document:mouseup"),i("design:type",Function),i("design:paramtypes",[]),i("design:returntype",void 0)],e.prototype,"onMouseup",null),o([r.HostListener("mousedown",["$event"]),i("design:type",Function),i("design:paramtypes",[MouseEvent]),i("design:returntype",void 0)],e.prototype,"onMousedown",null),e=o([r.Directive({selector:"[resizeable]",host:{"[class.resizeable]":"resizeEnabled"}}),i("design:paramtypes",[r.ElementRef])],e)}();t.ResizeableDirective=a},"./src/directives/visibility.directive.ts":function(e,t,n){"use strict";var o=this&&this.__decorate||function(e,t,n,o){var i,r=arguments.length,s=r<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,n):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,n,o);else for(var a=e.length-1;a>=0;a--)(i=e[a])&&(s=(r<3?i(s):r>3?i(t,n,s):i(t,n))||s);return r>3&&s&&Object.defineProperty(t,n,s),s},i=this&&this.__metadata||function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)},r=n(0),s=function(){function e(e,t){this.element=e,this.zone=t,this.isVisible=!1,this.visible=new r.EventEmitter}return e.prototype.ngOnInit=function(){this.runCheck()},e.prototype.ngOnDestroy=function(){clearTimeout(this.timeout)},e.prototype.onVisibilityChange=function(){var e=this;this.zone.run(function(){e.isVisible=!0,e.visible.emit(!0)})},e.prototype.runCheck=function(){var e=this,t=function(){var n=e.element.nativeElement,o=n.offsetHeight,i=n.offsetWidth;o&&i?(clearTimeout(e.timeout),e.onVisibilityChange()):(clearTimeout(e.timeout),e.zone.runOutsideAngular(function(){e.timeout=setTimeout(function(){return t()},50)}))};setTimeout(function(){return t()})},o([r.HostBinding("class.visible"),i("design:type",Boolean)],e.prototype,"isVisible",void 0),o([r.Output(),i("design:type",r.EventEmitter)],e.prototype,"visible",void 0),e=o([r.Directive({selector:"[visibility-observer]"}),i("design:paramtypes",[r.ElementRef,r.NgZone])],e)}();t.VisibilityDirective=s},"./src/index.ts":function(e,t,n){"use strict";function o(e){for(var n in e)t.hasOwnProperty(n)||(t[n]=e[n])}o(n("./src/datatable.module.ts")),o(n("./src/types/index.ts")),o(n("./src/components/index.ts"))},"./src/types/click.type.ts":function(e,t,n){"use strict";!function(e){e[e.single="single"]="single",e[e.double="double"]="double"}(t.ClickType||(t.ClickType={}));t.ClickType},"./src/types/column-mode.type.ts":function(e,t,n){"use strict";!function(e){e[e.standard="standard"]="standard",e[e.flex="flex"]="flex",e[e.force="force"]="force"}(t.ColumnMode||(t.ColumnMode={}));t.ColumnMode},"./src/types/index.ts":function(e,t,n){"use strict";function o(e){for(var n in e)t.hasOwnProperty(n)||(t[n]=e[n])}o(n("./src/types/column-mode.type.ts")),o(n("./src/types/sort.type.ts")),o(n("./src/types/sort-direction.type.ts")),o(n("./src/types/selection.type.ts")),o(n("./src/types/click.type.ts"))},"./src/types/selection.type.ts":function(e,t,n){"use strict";!function(e){e[e.single="single"]="single",e[e.multi="multi"]="multi",e[e.multiClick="multiClick"]="multiClick",e[e.cell="cell"]="cell",e[e.checkbox="checkbox"]="checkbox"}(t.SelectionType||(t.SelectionType={}));t.SelectionType},"./src/types/sort-direction.type.ts":function(e,t,n){"use strict";!function(e){e[e.asc="asc"]="asc",e[e.desc="desc"]="desc"}(t.SortDirection||(t.SortDirection={}));t.SortDirection},"./src/types/sort.type.ts":function(e,t,n){"use strict";!function(e){e[e.single="single"]="single",e[e.multi="multi"]="multi"}(t.SortType||(t.SortType={}));t.SortType},"./src/utils/camel-case.ts":function(e,t,n){"use strict";function o(e){return e=e.replace(/[^a-zA-Z0-9 ]/g," "),e=e.replace(/([a-z](?=[A-Z]))/g,"$1 "),e=e.replace(/([^a-zA-Z0-9 ])|^[0-9]+/g,"").trim().toLowerCase(),e=e.replace(/([ 0-9]+)([a-zA-Z])/g,function(e,t,n){return t.trim()+n.toUpperCase()})}function i(e){return e.replace(/([A-Z])/g,function(e){return" "+e}).replace(/^./,function(e){return e.toUpperCase()})}t.camelCase=o,t.deCamelCase=i},"./src/utils/column-helper.ts":function(e,t,n){"use strict";function o(e){if(e)for(var t=0,n=e;t=t;for(var g=0,m=r;gp.maxWidth?(p.width=p.maxWidth,y.push(p)):p.width=v}p.width=Math.max(0,p.width)}f=c(e),h=t-f,a(r,y)}while(h>0&&0!==r.length)}function a(e,t){for(var n=0,o=t;n=0;)t+=this.treeArray[e],e=(e&e+1)-1;return t},e.prototype.queryBetween=function(e,t){return this.query(t)-this.query(e-1)},e.prototype.calcRowIndex=function(e){if(!this.treeArray.length)return 0;for(var t=-1,n=this.treeArray.length,o=Math.pow(2,n.toString(2).length-1),i=o;0!==i;i>>=1){var r=t+i;r=this.treeArray[r]&&(e-=this.treeArray[r],t=r)}return t+1},e}();t.RowHeightCache=o},"./src/utils/scrollbar-width.ts":function(e,t,n){"use strict";function o(){var e=document.createElement("div");e.style.visibility="hidden",e.style.width="100px",e.style.msOverflowStyle="scrollbar",document.body.appendChild(e);var t=e.offsetWidth;e.style.overflow="scroll";var n=document.createElement("div");n.style.width="100%",e.appendChild(n);var o=n.offsetWidth;return e.parentNode.removeChild(e),t-o}t.getScrollBarWidth=o,t.scrollbarWidth=o()},"./src/utils/selection.ts":function(e,t,n){"use strict";function o(e,t,n){var o=n(t,e);return o>-1?e.splice(o,1):e.push(t),e}function i(e,t,n,o,i){for(var r=n=o&&s<=n,p=s<=o&&s>=n,u={start:0,end:0};if(u=r?{start:n,end:o-n}:{start:o,end:n+1},r&&p||!r&&l){var d=i(c,e);if(r&&d>-1){e.splice(d,1);continue}s>=u.start&&st.toLowerCase())return 1}else{if(parseFloat(e)parseFloat(t))return 1}return 0}function r(e,t,n){if(!(e&&n&&n.length&&t))return e;var o=e.slice(),r=t.reduce(function(e,t){return t.comparator&&"function"==typeof t.comparator&&(e[t.prop]=t.comparator),e},{});return o.sort(function(e,t){for(var o=0,c=n;o=0;c--)(r=e[c])&&(s=(i<3?r(s):i>3?r(t,n,s):r(t,n))||s);return i>3&&s&&Object.defineProperty(t,n,s),s},r=this&&this.__metadata||function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)},i=n(0),s=n("./src/utils/index.ts"),c=n("./src/types/index.ts"),a=function(){function e(e){this.activate=new i.EventEmitter,this.isFocused=!1,this.element=e.nativeElement}return Object.defineProperty(e.prototype,"sorts",{get:function(){return this._sorts},set:function(e){this._sorts=e,this.calcSortDir=this.calcSortDir(e)},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"columnCssClasses",{get:function(){var e="datatable-body-cell";return this.column.cssClasses&&(e+=" "+this.column.cssClasses),e},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"isSortActive",{get:function(){return!this.sortDir},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"isSortAscending",{get:function(){return this.sortDir===c.SortDirection.asc},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"isSortDescending",{get:function(){return this.sortDir===c.SortDirection.desc},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"width",{get:function(){return this.column.width},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"height",{get:function(){var e=this.rowHeight;return isNaN(e)?e:e+"px"},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"value",{get:function(){if(!this.row||!this.column||!this.column.prop)return"";var e=s.deepValueGetter(this.row,this.column.prop),t=this.column.pipe;return t?t.transform(e):void 0!==e?e:""},enumerable:!0,configurable:!0}),e.prototype.onFocus=function(){this.isFocused=!0},e.prototype.onBlur=function(){this.isFocused=!1},e.prototype.onClick=function(e){this.activate.emit({type:"click",event:e,row:this.row,column:this.column,value:this.value,cellElement:this.element})},e.prototype.onDblClick=function(e){this.activate.emit({type:"dblclick",event:e,row:this.row,column:this.column,value:this.value,cellElement:this.element})},e.prototype.onKeyDown=function(e){var t=e.keyCode,n=e.target===this.element,o=t===s.Keys.return||t===s.Keys.down||t===s.Keys.up||t===s.Keys.left||t===s.Keys.right;o&&n&&(e.preventDefault(),e.stopPropagation(),this.activate.emit({type:"keydown",event:e,row:this.row,column:this.column,value:this.value,cellElement:this.element}))},e.prototype.onCheckboxChange=function(e){this.activate.emit({type:"checkbox",event:e,row:this.row,column:this.column,value:this.value,cellElement:this.element})},e.prototype.calcSortDir=function(e){var t=this;if(e){var n=e.find(function(e){return e.prop===t.column.prop});return n?n.dir:void 0}},o([i.Input(),r("design:type",Object)],e.prototype,"row",void 0),o([i.Input(),r("design:type",Object)],e.prototype,"column",void 0),o([i.Input(),r("design:type",Number)],e.prototype,"rowHeight",void 0),o([i.Input(),r("design:type",Boolean)],e.prototype,"isSelected",void 0),o([i.Input(),r("design:type",Array),r("design:paramtypes",[Array])],e.prototype,"sorts",null),o([i.Output(),r("design:type",i.EventEmitter)],e.prototype,"activate",void 0),o([i.HostBinding("class"),r("design:type",Object)],e.prototype,"columnCssClasses",null),o([i.HostBinding("class.active"),r("design:type",Boolean)],e.prototype,"isFocused",void 0),o([i.HostBinding("class.sort-active"),r("design:type",Boolean)],e.prototype,"isSortActive",null),o([i.HostBinding("class.sort-asc"),r("design:type",Boolean)],e.prototype,"isSortAscending",null),o([i.HostBinding("class.sort-desc"),r("design:type",Boolean)],e.prototype,"isSortDescending",null),o([i.HostBinding("style.width.px"),r("design:type",Number)],e.prototype,"width",null),o([i.HostBinding("style.height"),r("design:type",Object)],e.prototype,"height",null),o([i.HostListener("focus"),r("design:type",Function),r("design:paramtypes",[]),r("design:returntype",void 0)],e.prototype,"onFocus",null),o([i.HostListener("blur"),r("design:type",Function),r("design:paramtypes",[]),r("design:returntype",void 0)],e.prototype,"onBlur",null),o([i.HostListener("click",["$event"]),r("design:type",Function),r("design:paramtypes",[MouseEvent]),r("design:returntype",void 0)],e.prototype,"onClick",null),o([i.HostListener("dblclick",["$event"]),r("design:type",Function),r("design:paramtypes",[MouseEvent]),r("design:returntype",void 0)],e.prototype,"onDblClick",null),o([i.HostListener("keydown",["$event"]),r("design:type",Function),r("design:paramtypes",[KeyboardEvent]),r("design:returntype",void 0)],e.prototype,"onKeyDown",null),e=o([i.Component({selector:"datatable-body-cell",template:'\n
    \n \n \n \n \n \n \n \n
    \n ',host:{class:"datatable-body-cell"}}),r("design:paramtypes",[i.ElementRef])],e)}();t.DataTableBodyCellComponent=a},"./src/components/body/body-row-wrapper.component.ts":function(e,t,n){"use strict";var o=this&&this.__decorate||function(e,t,n,o){var r,i=arguments.length,s=i<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,n):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,n,o);else for(var c=e.length-1;c>=0;c--)(r=e[c])&&(s=(i<3?r(s):i>3?r(t,n,s):r(t,n))||s);return i>3&&s&&Object.defineProperty(t,n,s),s},r=this&&this.__metadata||function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)},i=n(0),s=function(){function e(){this.expanded=!1,this.rowContextmenu=new i.EventEmitter(!1)}return e.prototype.onContextmenu=function(e){this.rowContextmenu.emit({event:e,row:this.row})},o([i.Input(),r("design:type",Object)],e.prototype,"rowDetailTemplate",void 0),o([i.Input(),r("design:type",Object)],e.prototype,"detailRowHeight",void 0),o([i.Input(),r("design:type",Boolean)],e.prototype,"expanded",void 0),o([i.Input(),r("design:type",Object)],e.prototype,"row",void 0),o([i.Output(),r("design:type",Object)],e.prototype,"rowContextmenu",void 0),o([i.HostListener("contextmenu",["$event"]),r("design:type",Function),r("design:paramtypes",[MouseEvent]),r("design:returntype",void 0)],e.prototype,"onContextmenu",null),e=o([i.Component({selector:"datatable-row-wrapper",template:'\n \n
    \n \n \n
    \n ',host:{class:"datatable-row-wrapper"}}),r("design:paramtypes",[])],e)}();t.DataTableRowWrapperComponent=s},"./src/components/body/body-row.component.ts":function(e,t,n){"use strict";var o=this&&this.__decorate||function(e,t,n,o){var r,i=arguments.length,s=i<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,n):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,n,o);else for(var c=e.length-1;c>=0;c--)(r=e[c])&&(s=(i<3?r(s):i>3?r(t,n,s):r(t,n))||s);return i>3&&s&&Object.defineProperty(t,n,s),s},r=this&&this.__metadata||function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)},i=n(0),s=n("./src/utils/index.ts"),c=function(){function e(e){this.activate=new i.EventEmitter,this.element=e.nativeElement}return Object.defineProperty(e.prototype,"columns",{get:function(){return this._columns},set:function(e){this._columns=e,this.recalculateColumns(e)},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"innerWidth",{get:function(){return this._innerWidth},set:function(e){this._innerWidth=e,this.recalculateColumns()},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"isEvenRow",{get:function(){return this.row.$$index%2===0},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"isOddRow",{get:function(){return this.row.$$index%2!==0},enumerable:!0,configurable:!0}),e.prototype.trackByGroups=function(e,t){return t.type},e.prototype.columnTrackingFn=function(e,t){return t.$$id},e.prototype.stylesByGroup=function(e){var t=this.columnGroupWidths,n=this.offsetX,o={width:t[e]+"px"};if("left"===e)s.translateXY(o,n,0);else if("right"===e){var r=parseInt(this.innerWidth+"",0),i=t.total-r,c=i-n,a=(c+s.scrollbarWidth)*-1;s.translateXY(o,a,0)}return o},e.prototype.onActivate=function(e,t){e.cellIndex=t,e.rowElement=this.element,this.activate.emit(e)},e.prototype.onKeyDown=function(e){var t=e.keyCode,n=e.target===this.element,o=t===s.Keys.return||t===s.Keys.down||t===s.Keys.up||t===s.Keys.left||t===s.Keys.right;o&&n&&(e.preventDefault(),e.stopPropagation(),this.activate.emit({type:"keydown",event:e,row:this.row,rowElement:this.element}))},e.prototype.recalculateColumns=function(e){void 0===e&&(e=this.columns);var t=s.columnsByPin(e);this.columnsByPin=s.columnsByPinArr(e),this.columnGroupWidths=s.columnGroupWidths(t,e)},o([i.Input(),r("design:type",Array),r("design:paramtypes",[Array])],e.prototype,"columns",null),o([i.Input(),r("design:type",Number),r("design:paramtypes",[Number])],e.prototype,"innerWidth",null),o([i.Input(),r("design:type",Object)],e.prototype,"row",void 0),o([i.Input(),r("design:type",Number)],e.prototype,"offsetX",void 0),o([i.HostBinding("style.height.px"),i.Input(),r("design:type",Number)],e.prototype,"rowHeight",void 0),o([i.HostBinding("class.active"),i.Input(),r("design:type",Boolean)],e.prototype,"isSelected",void 0),o([i.HostBinding("class.datatable-row-even"),r("design:type",Boolean)],e.prototype,"isEvenRow",null),o([i.HostBinding("class.datatable-row-odd"),r("design:type",Boolean)],e.prototype,"isOddRow",null),o([i.Output(),r("design:type",i.EventEmitter)],e.prototype,"activate",void 0),o([i.HostListener("keydown",["$event"]),r("design:type",Function),r("design:paramtypes",[KeyboardEvent]),r("design:returntype",void 0)],e.prototype,"onKeyDown",null),e=o([i.Component({selector:"datatable-body-row",template:'\n \n \n \n \n ',host:{class:"datatable-body-row"}}),r("design:paramtypes",[i.ElementRef])],e)}();t.DataTableBodyRowComponent=c},"./src/components/body/body.component.ts":function(e,t,n){"use strict";var o=this&&this.__decorate||function(e,t,n,o){var r,i=arguments.length,s=i<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,n):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,n,o);else for(var c=e.length-1;c>=0;c--)(r=e[c])&&(s=(i<3?r(s):i>3?r(t,n,s):r(t,n))||s);return i>3&&s&&Object.defineProperty(t,n,s),s},r=this&&this.__metadata||function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)},i=n(0),s=n("./src/utils/index.ts"),c=(n("./src/types/index.ts"),n("./src/components/body/scroller.component.ts")),a=function(){function e(){this.selected=[],this.scroll=new i.EventEmitter,this.page=new i.EventEmitter,this.activate=new i.EventEmitter,this.select=new i.EventEmitter,this.detailToggle=new i.EventEmitter,this.rowContextmenu=new i.EventEmitter(!1),this.rowHeightsCache=new s.RowHeightCache,this.temp=[],this.offsetY=0,this.indexes={},this.rowTrackingFn=function(e,t){return this.trackByProp?t.$$index+"-"+this.trackByProp:t.$$index}.bind(this)}return Object.defineProperty(e.prototype,"pageSize",{get:function(){return this._pageSize},set:function(e){this._pageSize=e,this.recalcLayout()},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"rows",{get:function(){return this._rows},set:function(e){this._rows=e,this.recalcLayout()},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"columns",{get:function(){return this._columns},set:function(e){this._columns=e;var t=s.columnsByPin(e);this.columnGroupWidths=s.columnGroupWidths(t,e)},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"offset",{get:function(){return this._offset},set:function(e){this._offset=e,this.recalcLayout()},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"rowCount",{get:function(){return this._rowCount},set:function(e){this._rowCount=e,this.recalcLayout()},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"bodyWidth",{get:function(){return this.scrollbarH?this.innerWidth+"px":"100%"},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"bodyHeight",{get:function(){return this._bodyHeight},set:function(e){this.scrollbarV?this._bodyHeight=e+"px":this._bodyHeight="auto",this.recalcLayout()},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"selectEnabled",{get:function(){return!!this.selectionType},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"scrollHeight",{get:function(){if(this.scrollbarV)return this.rowHeightsCache.query(this.rowCount-1)},enumerable:!0,configurable:!0}),e.prototype.updateOffsetY=function(e){if(this.scrollbarV&&e){var t=this.pageSize*e;e=this.rowHeightsCache.query(t-1)}this.scroller.setOffset(e||0)},e.prototype.onBodyScroll=function(e){var t=e.scrollYPos,n=e.scrollXPos;this.offsetY===t&&this.offsetX===n||this.scroll.emit({offsetY:t,offsetX:n}),this.offsetY=t,this.offsetX=n,this.updateIndexes(),this.updatePage(e.direction),this.updateRows()},e.prototype.updatePage=function(e){var t=this.indexes.first/this.pageSize;"up"===e?t=Math.floor(t):"down"===e&&(t=Math.ceil(t)),void 0===e||isNaN(t)||this.page.emit({offset:t})},e.prototype.updateRows=function(){for(var e=this.indexes,t=e.first,n=e.last,o=t,r=0,i=[];o\n \n \n \n \n \n \n \n \n \n \n \n ', +host:{class:"datatable-body"}}),r("design:paramtypes",[])],e)}();t.DataTableBodyComponent=a},"./src/components/body/index.ts":function(e,t,n){"use strict";function o(e){for(var n in e)t.hasOwnProperty(n)||(t[n]=e[n])}o(n("./src/components/body/body.component.ts")),o(n("./src/components/body/body-cell.component.ts")),o(n("./src/components/body/body-row.component.ts")),o(n("./src/components/body/progress-bar.component.ts")),o(n("./src/components/body/scroller.component.ts")),o(n("./src/components/body/body-row-wrapper.component.ts")),o(n("./src/components/body/selection.component.ts"))},"./src/components/body/progress-bar.component.ts":function(e,t,n){"use strict";var o=this&&this.__decorate||function(e,t,n,o){var r,i=arguments.length,s=i<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,n):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,n,o);else for(var c=e.length-1;c>=0;c--)(r=e[c])&&(s=(i<3?r(s):i>3?r(t,n,s):r(t,n))||s);return i>3&&s&&Object.defineProperty(t,n,s),s},r=this&&this.__metadata||function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)},i=n(0),s=function(){function e(){}return e=o([i.Component({selector:"datatable-progress",template:'\n
    \n
    \n
    \n
    \n
    \n ',changeDetection:i.ChangeDetectionStrategy.OnPush}),r("design:paramtypes",[])],e)}();t.ProgressBarComponent=s},"./src/components/body/scroller.component.ts":function(e,t,n){"use strict";var o=this&&this.__decorate||function(e,t,n,o){var r,i=arguments.length,s=i<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,n):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,n,o);else for(var c=e.length-1;c>=0;c--)(r=e[c])&&(s=(i<3?r(s):i>3?r(t,n,s):r(t,n))||s);return i>3&&s&&Object.defineProperty(t,n,s),s},r=this&&this.__metadata||function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)},i=n(0),s=function(){function e(e,t){this.renderer=t,this.scrollbarV=!1,this.scrollbarH=!1,this.scroll=new i.EventEmitter,this.scrollYPos=0,this.scrollXPos=0,this.prevScrollYPos=0,this.prevScrollXPos=0,this.element=e.nativeElement}return e.prototype.ngOnInit=function(){(this.scrollbarV||this.scrollbarH)&&(this.parentElement=this.element.parentElement.parentElement,this.onScrollListener=this.renderer.listen(this.parentElement,"scroll",this.onScrolled.bind(this)))},e.prototype.ngOnDestroy=function(){(this.scrollbarV||this.scrollbarH)&&this.onScrollListener()},e.prototype.setOffset=function(e){this.parentElement&&(this.parentElement.scrollTop=e)},e.prototype.onScrolled=function(e){var t=e.currentTarget;this.scrollYPos=t.scrollTop,this.scrollXPos=t.scrollLeft,requestAnimationFrame(this.updateOffset.bind(this))},e.prototype.updateOffset=function(){var e;this.scrollYPosthis.prevScrollYPos&&(e="up"),this.scroll.emit({direction:e,scrollYPos:this.scrollYPos,scrollXPos:this.scrollXPos}),this.prevScrollYPos=this.scrollYPos,this.prevScrollXPos=this.scrollXPos},o([i.Input(),r("design:type",Boolean)],e.prototype,"scrollbarV",void 0),o([i.Input(),r("design:type",Boolean)],e.prototype,"scrollbarH",void 0),o([i.HostBinding("style.height.px"),i.Input(),r("design:type",Number)],e.prototype,"scrollHeight",void 0),o([i.HostBinding("style.width.px"),i.Input(),r("design:type",Number)],e.prototype,"scrollWidth",void 0),o([i.Output(),r("design:type",i.EventEmitter)],e.prototype,"scroll",void 0),e=o([i.Component({selector:"datatable-scroller",template:"\n \n ",host:{class:"datatable-scroll"}}),r("design:paramtypes",[i.ElementRef,i.Renderer])],e)}();t.ScrollerComponent=s},"./src/components/body/selection.component.ts":function(e,t,n){"use strict";var o=this&&this.__decorate||function(e,t,n,o){var r,i=arguments.length,s=i<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,n):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,n,o);else for(var c=e.length-1;c>=0;c--)(r=e[c])&&(s=(i<3?r(s):i>3?r(t,n,s):r(t,n))||s);return i>3&&s&&Object.defineProperty(t,n,s),s},r=this&&this.__metadata||function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)},i=n(0),s=n("./src/utils/index.ts"),c=n("./src/types/index.ts"),a=function(){function e(){this.activate=new i.EventEmitter,this.select=new i.EventEmitter}return e.prototype.selectRow=function(e,t,n){if(this.selectEnabled){var o=this.selectionType===c.SelectionType.checkbox,r=this.selectionType===c.SelectionType.multi,i=this.selectionType==c.SelectionType.multiClick,a=[];a=r||o||i?e.shiftKey?s.selectRowsBetween(this.selected.slice(),this.rows,t,this.prevIndex,this.getRowSelectedIdx.bind(this)):e.ctrlKey||i||o?s.selectRows(this.selected.slice(),n,this.getRowSelectedIdx.bind(this)):s.selectRows([],n,this.getRowSelectedIdx.bind(this)):s.selectRows([],n,this.getRowSelectedIdx.bind(this)),"function"==typeof this.selectCheck&&(a=a.filter(this.selectCheck.bind(this))),this.selected.splice(0,this.selected.length),(l=this.selected).push.apply(l,a),this.prevIndex=t,this.select.emit({selected:a});var l}},e.prototype.onActivate=function(e,t){var n=e.type,o=e.event,r=e.row,i=this.selectionType===c.SelectionType.checkbox,a=!i&&("click"===n||"dblclick"===n)||i&&"checkbox"===n;a?this.selectRow(o,t,r):"keydown"===n&&(o.keyCode===s.Keys.return?this.selectRow(o,t,r):this.onKeyboardFocus(e)),this.activate.emit(e)},e.prototype.onKeyboardFocus=function(e){var t=e.event.keyCode,n=t===s.Keys.up||t===s.Keys.down||t===s.Keys.right||t===s.Keys.left;if(n){var o=this.selectionType===c.SelectionType.cell;e.cellElement&&o?o&&this.focusCell(e.cellElement,e.rowElement,t,e.cellIndex):this.focusRow(e.rowElement,t)}},e.prototype.focusRow=function(e,t){var n=this.getPrevNextRow(e,t);n&&n.focus()},e.prototype.getPrevNextRow=function(e,t){var n=e.parentElement;if(n){var o=void 0;if(t===s.Keys.up?o=n.previousElementSibling:t===s.Keys.down&&(o=n.nextElementSibling),o&&o.children.length)return o.children[0]}},e.prototype.focusCell=function(e,t,n,o){var r;if(n===s.Keys.left)r=e.previousElementSibling;else if(n===s.Keys.right)r=e.nextElementSibling;else if(n===s.Keys.up||n===s.Keys.down){var i=this.getPrevNextRow(t,n);if(i){var c=i.getElementsByClassName("datatable-body-cell");c.length&&(r=c[o])}}r&&r.focus()},e.prototype.getRowSelected=function(e){return this.getRowSelectedIdx(e,this.selected)>-1},e.prototype.getRowSelectedIdx=function(e,t){var n=this;if(!t||!t.length)return-1;var o=this.rowIdentity(e);return t.findIndex(function(e){var t=n.rowIdentity(e);return t===o})},o([i.Input(),r("design:type",Array)],e.prototype,"rows",void 0),o([i.Input(),r("design:type",Array)],e.prototype,"selected",void 0),o([i.Input(),r("design:type",Boolean)],e.prototype,"selectEnabled",void 0),o([i.Input(),r("design:type",Number)],e.prototype,"selectionType",void 0),o([i.Input(),r("design:type",Object)],e.prototype,"rowIdentity",void 0),o([i.Input(),r("design:type",Object)],e.prototype,"selectCheck",void 0),o([i.Output(),r("design:type",i.EventEmitter)],e.prototype,"activate",void 0),o([i.Output(),r("design:type",i.EventEmitter)],e.prototype,"select",void 0),e=o([i.Component({selector:"datatable-selection",template:"\n \n "}),r("design:paramtypes",[])],e)}();t.DataTableSelectionComponent=a},"./src/components/columns/column-cell.directive.ts":function(e,t,n){"use strict";var o=this&&this.__decorate||function(e,t,n,o){var r,i=arguments.length,s=i<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,n):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,n,o);else for(var c=e.length-1;c>=0;c--)(r=e[c])&&(s=(i<3?r(s):i>3?r(t,n,s):r(t,n))||s);return i>3&&s&&Object.defineProperty(t,n,s),s},r=this&&this.__metadata||function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)},i=n(0),s=function(){function e(e){this.template=e}return e=o([i.Directive({selector:"[ngx-datatable-cell-template]"}),r("design:paramtypes",[i.TemplateRef])],e)}();t.DataTableColumnCellDirective=s},"./src/components/columns/column-header.directive.ts":function(e,t,n){"use strict";var o=this&&this.__decorate||function(e,t,n,o){var r,i=arguments.length,s=i<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,n):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,n,o);else for(var c=e.length-1;c>=0;c--)(r=e[c])&&(s=(i<3?r(s):i>3?r(t,n,s):r(t,n))||s);return i>3&&s&&Object.defineProperty(t,n,s),s},r=this&&this.__metadata||function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)},i=n(0),s=function(){function e(e){this.template=e}return e=o([i.Directive({selector:"[ngx-datatable-header-template]"}),r("design:paramtypes",[i.TemplateRef])],e)}();t.DataTableColumnHeaderDirective=s},"./src/components/columns/column.directive.ts":function(e,t,n){"use strict";var o=this&&this.__decorate||function(e,t,n,o){var r,i=arguments.length,s=i<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,n):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,n,o);else for(var c=e.length-1;c>=0;c--)(r=e[c])&&(s=(i<3?r(s):i>3?r(t,n,s):r(t,n))||s);return i>3&&s&&Object.defineProperty(t,n,s),s},r=this&&this.__metadata||function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)},i=n(0),s=n("./src/components/columns/column-header.directive.ts"),c=n("./src/components/columns/column-cell.directive.ts"),a=function(){function e(){}return o([i.Input(),r("design:type",String)],e.prototype,"name",void 0),o([i.Input(),r("design:type",String)],e.prototype,"prop",void 0),o([i.Input(),r("design:type",Object)],e.prototype,"frozenLeft",void 0),o([i.Input(),r("design:type",Object)],e.prototype,"frozenRight",void 0),o([i.Input(),r("design:type",Number)],e.prototype,"flexGrow",void 0),o([i.Input(),r("design:type",Boolean)],e.prototype,"resizeable",void 0),o([i.Input(),r("design:type",Function)],e.prototype,"comparator",void 0),o([i.Input(),r("design:type",Object)],e.prototype,"pipe",void 0),o([i.Input(),r("design:type",Boolean)],e.prototype,"sortable",void 0),o([i.Input(),r("design:type",Boolean)],e.prototype,"draggable",void 0),o([i.Input(),r("design:type",Boolean)],e.prototype,"canAutoResize",void 0),o([i.Input(),r("design:type",Number)],e.prototype,"minWidth",void 0),o([i.Input(),r("design:type",Number)],e.prototype,"width",void 0),o([i.Input(),r("design:type",Number)],e.prototype,"maxWidth",void 0),o([i.Input(),r("design:type",Boolean)],e.prototype,"checkboxable",void 0),o([i.Input(),r("design:type",Boolean)],e.prototype,"headerCheckboxable",void 0),o([i.Input(),i.ContentChild(c.DataTableColumnCellDirective,{read:i.TemplateRef}),r("design:type",i.TemplateRef)],e.prototype,"cellTemplate",void 0),o([i.Input(),i.ContentChild(s.DataTableColumnHeaderDirective,{read:i.TemplateRef}),r("design:type",i.TemplateRef)],e.prototype,"headerTemplate",void 0),e=o([i.Directive({selector:"ngx-datatable-column"}),r("design:paramtypes",[])],e)}();t.DataTableColumnDirective=a},"./src/components/columns/index.ts":function(e,t,n){"use strict";function o(e){for(var n in e)t.hasOwnProperty(n)||(t[n]=e[n])}o(n("./src/components/columns/column.directive.ts")),o(n("./src/components/columns/column-header.directive.ts")),o(n("./src/components/columns/column-cell.directive.ts"))},"./src/components/datatable.component.ts":function(e,t,n){"use strict";var o=this&&this.__decorate||function(e,t,n,o){var r,i=arguments.length,s=i<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,n):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,n,o);else for(var c=e.length-1;c>=0;c--)(r=e[c])&&(s=(i<3?r(s):i>3?r(t,n,s):r(t,n))||s);return i>3&&s&&Object.defineProperty(t,n,s),s},r=this&&this.__metadata||function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)},i=n(0),s=n("./src/utils/index.ts"),c=n("./src/types/index.ts"),a=n("./src/components/body/index.ts"),l=n("./src/components/columns/index.ts"),p=n("./src/components/row-detail/index.ts"),u=n("./src/utils/index.ts"),d=function(){function e(e,t){this.selected=[],this.scrollbarV=!1,this.scrollbarH=!1,this.rowHeight=30,this.detailRowHeight=0,this.columnMode=c.ColumnMode.standard,this.headerHeight=30,this.footerHeight=0,this.externalPaging=!1,this.externalSorting=!1,this.limit=void 0,this.offset=0,this.loadingIndicator=!1,this.reorderable=!0,this.sortType=c.SortType.single,this.sorts=[],this.cssClasses={sortAscending:"icon-down",sortDescending:"icon-up",pagerLeftArrow:"icon-left",pagerRightArrow:"icon-right",pagerPrevious:"icon-prev",pagerNext:"icon-skip"},this.messages={emptyMessage:"No data to display",totalMessage:"total"},this.rowIdentity=function(e){return e},this.scroll=new i.EventEmitter,this.activate=new i.EventEmitter,this.select=new i.EventEmitter,this.sort=new i.EventEmitter,this.page=new i.EventEmitter,this.detailToggle=new i.EventEmitter,this.reorder=new i.EventEmitter,this.resize=new i.EventEmitter,this.rowContextmenu=new i.EventEmitter(!1),this.offsetX=0,this._count=0,this.element=e.nativeElement,this.rowDiffer=t.find({}).create(null)}return Object.defineProperty(e.prototype,"rows",{get:function(){return this._rows},set:function(e){this.externalSorting||(e=s.sortRows(e,this.columns,this.sorts)),this._rows=e,this.recalculate()},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"columns",{get:function(){return this._columns},set:function(e){e&&(u.setColumnDefaults(e),this.recalculateColumns(e)),this._columns=e},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"count",{get:function(){return this._count},set:function(e){this._count=e,this.recalculate()},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"isFixedHeader",{get:function(){var e=this.headerHeight;return"string"!=typeof e||"auto"!==e},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"isFixedRow",{get:function(){var e=this.rowHeight;return"string"!=typeof e||"auto"!==e},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"isVertScroll",{get:function(){return this.scrollbarV},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"isHorScroll",{get:function(){return this.scrollbarH},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"isSelectable",{get:function(){return void 0!==this.selectionType},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"isCheckboxSelection",{get:function(){return this.selectionType===c.SelectionType.checkbox},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"isCellSelection",{get:function(){return this.selectionType===c.SelectionType.cell},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"isSingleSelection",{get:function(){return this.selectionType===c.SelectionType.single},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"isMultiSelection",{get:function(){return this.selectionType===c.SelectionType.multi},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"isMultiClickSelection",{get:function(){return this.selectionType===c.SelectionType.multiClick},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"columnTemplates",{get:function(){return this._columnTemplates},set:function(e){if(this._columnTemplates=e,e){var t=e.toArray();t.length&&(this.columns=u.translateTemplates(t))}},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"rowDetailTemplateChild",{get:function(){return this._rowDetailTemplateChild},set:function(e){this._rowDetailTemplateChild=e,e&&(this.rowDetailTemplate=e.rowDetailTemplate)},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"allRowsSelected",{get:function(){return this.selected&&this.rows&&this.selected.length===this.rows.length},enumerable:!0,configurable:!0}),e.prototype.ngOnInit=function(){this.recalculate()},e.prototype.ngAfterViewInit=function(){var e=this;setTimeout(function(){return e.recalculate()})},e.prototype.ngDoCheck=function(){this.rowDiffer.diff(this.rows)&&this.recalculatePages()},e.prototype.toggleExpandRow=function(e){this.bodyComponent.toggleRowExpansion(e)},e.prototype.expandAllRows=function(){this.bodyComponent.toggleAllRows(!0)},e.prototype.collapseAllRows=function(){this.bodyComponent.toggleAllRows(!1)},e.prototype.recalculate=function(){this.recalculateDims(),this.recalculateColumns()},e.prototype.onWindowResize=function(){this.recalculate()},e.prototype.recalculateColumns=function(e,t,n){if(void 0===e&&(e=this.columns),void 0===t&&(t=-1),void 0===n&&(n=this.scrollbarH),e){var o=this.innerWidth;return this.scrollbarV&&(o-=u.scrollbarWidth),this.columnMode===c.ColumnMode.force?s.forceFillColumnWidths(e,o,t,n):this.columnMode===c.ColumnMode.flex&&s.adjustColumnWidths(e,o),e}},e.prototype.recalculateDims=function(){var e=this.element.getBoundingClientRect(),t=e.height,n=e.width;this.innerWidth=Math.floor(n),this.scrollbarV&&(this.headerHeight&&(t-=this.headerHeight),this.footerHeight&&(t-=this.footerHeight),this.bodyHeight=t),this.recalculatePages()},e.prototype.recalculatePages=function(){this.pageSize=this.calcPageSize(),this.rowCount=this.calcRowCount()},e.prototype.onBodyPage=function(e){var t=e.offset;this.offset=t,this.page.emit({count:this.count,pageSize:this.pageSize,limit:this.limit,offset:this.offset})},e.prototype.onBodyScroll=function(e){this.offsetX=e.offsetX,this.scroll.emit(e)},e.prototype.onFooterPage=function(e){this.offset=e.page-1,this.bodyComponent.updateOffsetY(this.offset),this.page.emit({count:this.count,pageSize:this.pageSize,limit:this.limit,offset:this.offset})},e.prototype.calcPageSize=function(e){if(void 0===e&&(e=this.rows),this.scrollbarV){var t=Math.ceil(this.bodyHeight/this.rowHeight);return Math.max(t,0)}return void 0!==this.limit?this.limit:e?e.length:0},e.prototype.calcRowCount=function(e){return void 0===e&&(e=this.rows),this.externalPaging?this.count:e?e.length:0},e.prototype.onColumnResize=function(e){var t,n=e.column,o=e.newValue,r=this.columns.map(function(e,r){return e=Object.assign({},e),e.$$id===n.$$id&&(t=r,e.width=o,e.$$oldWidth=o),e});this.recalculateColumns(r,t),this._columns=r,this.resize.emit({column:n,newValue:o})},e.prototype.onColumnReorder=function(e){var t=e.column,n=e.newValue,o=e.prevValue,r=this.columns.map(function(e){return Object.assign({},e)});r.splice(o,1),r.splice(n,0,t),this.columns=r,this.reorder.emit({column:t,newValue:n,prevValue:o})},e.prototype.onColumnSort=function(e){var t=e.sorts;this.externalSorting===!1&&(this._rows=s.sortRows(this.rows,this.columns,t)),this.sorts=t,this.bodyComponent.updateOffsetY(0),this.sort.emit(e)},e.prototype.onHeaderSelect=function(e){var t=this.selected.length===this.rows.length;this.selected.splice(0,this.selected.length),t||(n=this.selected).push.apply(n,this.rows),this.select.emit({selected:this.selected});var n},e.prototype.onBodySelect=function(e){this.select.emit(e)},o([i.Input(),r("design:type",Object),r("design:paramtypes",[Object])],e.prototype,"rows",null),o([i.Input(),r("design:type",Array),r("design:paramtypes",[Array])],e.prototype,"columns",null),o([i.Input(),r("design:type",Array)],e.prototype,"selected",void 0),o([i.Input(),r("design:type",Boolean)],e.prototype,"scrollbarV",void 0),o([i.Input(),r("design:type",Boolean)],e.prototype,"scrollbarH",void 0),o([i.Input(),r("design:type",Number)],e.prototype,"rowHeight",void 0),o([i.Input(),r("design:type",Number)],e.prototype,"detailRowHeight",void 0),o([i.Input(),r("design:type",Number)],e.prototype,"columnMode",void 0),o([i.Input(),r("design:type",Object)],e.prototype,"headerHeight",void 0),o([i.Input(),r("design:type",Number)],e.prototype,"footerHeight",void 0),o([i.Input(),r("design:type",Boolean)],e.prototype,"externalPaging",void 0),o([i.Input(),r("design:type",Boolean)],e.prototype,"externalSorting",void 0),o([i.Input(),r("design:type",Number)],e.prototype,"limit",void 0),o([i.Input(),r("design:type",Number),r("design:paramtypes",[Number])],e.prototype,"count",null),o([i.Input(),r("design:type",Number)],e.prototype,"offset",void 0),o([i.Input(),r("design:type",Boolean)],e.prototype,"loadingIndicator",void 0),o([i.Input(),r("design:type",Number)],e.prototype,"selectionType",void 0),o([i.Input(),r("design:type",Boolean)],e.prototype,"reorderable",void 0),o([i.Input(),r("design:type",Number)],e.prototype,"sortType",void 0),o([i.Input(),r("design:type",Array)],e.prototype,"sorts",void 0),o([i.Input(),r("design:type",i.TemplateRef)],e.prototype,"rowDetailTemplate",void 0),o([i.Input(),r("design:type",Object)],e.prototype,"cssClasses",void 0),o([i.Input(),r("design:type",Object)],e.prototype,"messages",void 0),o([i.Input(),r("design:type",Function)],e.prototype,"rowIdentity",void 0),o([i.Input(),r("design:type",Object)],e.prototype,"selectCheck",void 0),o([i.Input(),r("design:type",String)],e.prototype,"trackByProp",void 0),o([i.Output(),r("design:type",i.EventEmitter)],e.prototype,"scroll",void 0),o([i.Output(),r("design:type",i.EventEmitter)],e.prototype,"activate",void 0),o([i.Output(),r("design:type",i.EventEmitter)],e.prototype,"select",void 0),o([i.Output(),r("design:type",i.EventEmitter)],e.prototype,"sort",void 0),o([i.Output(),r("design:type",i.EventEmitter)],e.prototype,"page",void 0),o([i.Output(),r("design:type",i.EventEmitter)],e.prototype,"detailToggle",void 0),o([i.Output(),r("design:type",i.EventEmitter)],e.prototype,"reorder",void 0),o([i.Output(),r("design:type",i.EventEmitter)],e.prototype,"resize",void 0),o([i.Output(),r("design:type",Object)],e.prototype,"rowContextmenu",void 0),o([i.HostBinding("class.fixed-header"),r("design:type",Boolean)],e.prototype,"isFixedHeader",null),o([i.HostBinding("class.fixed-row"),r("design:type",Boolean)],e.prototype,"isFixedRow",null),o([i.HostBinding("class.scroll-vertical"),r("design:type",Boolean)],e.prototype,"isVertScroll",null),o([i.HostBinding("class.scroll-horz"),r("design:type",Boolean)],e.prototype,"isHorScroll",null),o([i.HostBinding("class.selectable"),r("design:type",Boolean)],e.prototype,"isSelectable",null),o([i.HostBinding("class.checkbox-selection"),r("design:type",Boolean)],e.prototype,"isCheckboxSelection",null),o([i.HostBinding("class.cell-selection"),r("design:type",Boolean)],e.prototype,"isCellSelection",null),o([i.HostBinding("class.single-selection"),r("design:type",Boolean)],e.prototype,"isSingleSelection",null),o([i.HostBinding("class.multi-selection"),r("design:type",Boolean)],e.prototype,"isMultiSelection",null),o([i.HostBinding("class.multi-click-selection"),r("design:type",Boolean)],e.prototype,"isMultiClickSelection",null),o([i.ContentChildren(l.DataTableColumnDirective),r("design:type",i.QueryList),r("design:paramtypes",[i.QueryList])],e.prototype,"columnTemplates",null),o([i.ContentChild(p.DatatableRowDetailDirective),r("design:type",p.DatatableRowDetailDirective),r("design:paramtypes",[p.DatatableRowDetailDirective])],e.prototype,"rowDetailTemplateChild",null),o([i.ViewChild(a.DataTableBodyComponent),r("design:type",a.DataTableBodyComponent)],e.prototype,"bodyComponent",void 0),o([i.HostListener("window:resize"),u.throttleable(5),r("design:type",Function),r("design:paramtypes",[]),r("design:returntype",void 0)],e.prototype,"onWindowResize",null),e=o([i.Component({selector:"ngx-datatable",template:'\n \n \n \n \n \n \n \n \n ',host:{class:"datatable"}}),r("design:paramtypes",[i.ElementRef,i.KeyValueDiffers])],e)}();t.DatatableComponent=d},"./src/components/footer/footer.component.ts":function(e,t,n){"use strict";var o=this&&this.__decorate||function(e,t,n,o){var r,i=arguments.length,s=i<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,n):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,n,o);else for(var c=e.length-1;c>=0;c--)(r=e[c])&&(s=(i<3?r(s):i>3?r(t,n,s):r(t,n))||s);return i>3&&s&&Object.defineProperty(t,n,s),s},r=this&&this.__metadata||function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)},i=n(0),s=function(){function e(){this.page=new i.EventEmitter}return Object.defineProperty(e.prototype,"isVisible",{get:function(){return this.rowCount/this.pageSize>1},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"curPage",{get:function(){return this.offset+1},enumerable:!0,configurable:!0}),o([i.Input(),r("design:type",Number)],e.prototype,"footerHeight",void 0),o([i.Input(),r("design:type",Number)],e.prototype,"rowCount",void 0),o([i.Input(),r("design:type",Number)],e.prototype,"pageSize",void 0),o([i.Input(),r("design:type",Number)],e.prototype,"offset",void 0),o([i.Input(),r("design:type",String)],e.prototype,"pagerLeftArrowIcon",void 0),o([i.Input(),r("design:type",String)],e.prototype,"pagerRightArrowIcon",void 0),o([i.Input(),r("design:type",String)],e.prototype,"pagerPreviousIcon",void 0),o([i.Input(),r("design:type",String)],e.prototype,"pagerNextIcon",void 0),o([i.Input(),r("design:type",String)],e.prototype,"totalMessage",void 0),o([i.Output(),r("design:type",i.EventEmitter)],e.prototype,"page",void 0),e=o([i.Component({selector:"datatable-footer",template:'\n \n
    {{rowCount.toLocaleString()}} {{totalMessage}}
    \n \n \n \n ',host:{class:"datatable-footer"},changeDetection:i.ChangeDetectionStrategy.OnPush}),r("design:paramtypes",[])],e)}();t.DataTableFooterComponent=s},"./src/components/footer/index.ts":function(e,t,n){"use strict";function o(e){for(var n in e)t.hasOwnProperty(n)||(t[n]=e[n])}o(n("./src/components/footer/footer.component.ts")),o(n("./src/components/footer/pager.component.ts"))},"./src/components/footer/pager.component.ts":function(e,t,n){"use strict";var o=this&&this.__decorate||function(e,t,n,o){var r,i=arguments.length,s=i<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,n):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,n,o);else for(var c=e.length-1;c>=0;c--)(r=e[c])&&(s=(i<3?r(s):i>3?r(t,n,s):r(t,n))||s);return i>3&&s&&Object.defineProperty(t,n,s),s},r=this&&this.__metadata||function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)},i=n(0),s=function(){function e(){this.change=new i.EventEmitter,this._count=0,this._page=1,this._size=0}return Object.defineProperty(e.prototype,"size",{get:function(){return this._size},set:function(e){this._size=e,this.pages=this.calcPages()},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"count",{get:function(){return this._count},set:function(e){this._count=e,this.pages=this.calcPages()},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"page",{get:function(){return this._page},set:function(e){this._page=e,this.pages=this.calcPages()},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"totalPages",{get:function(){var e=this.size<1?1:Math.ceil(this.count/this.size);return Math.max(e||0,1)},enumerable:!0,configurable:!0}),e.prototype.canPrevious=function(){return this.page>1},e.prototype.canNext=function(){return this.page0&&e<=this.totalPages&&e!==this.page&&(this.page=e,this.change.emit({page:e}))},e.prototype.calcPages=function(e){var t=[],n=1,o=this.totalPages,r=5,i=r\n
  • \n \n \n \n
  • \n
  • \n \n \n \n
  • \n \n \n {{pg.text}}\n \n \n
  • \n \n \n \n
  • \n
  • \n \n \n \n
  • \n \n ', +host:{class:"datatable-pager"},changeDetection:i.ChangeDetectionStrategy.OnPush}),r("design:paramtypes",[])],e)}();t.DataTablePagerComponent=s},"./src/components/header/header-cell.component.ts":function(e,t,n){"use strict";var o=this&&this.__decorate||function(e,t,n,o){var r,i=arguments.length,s=i<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,n):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,n,o);else for(var c=e.length-1;c>=0;c--)(r=e[c])&&(s=(i<3?r(s):i>3?r(t,n,s):r(t,n))||s);return i>3&&s&&Object.defineProperty(t,n,s),s},r=this&&this.__metadata||function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)},i=n(0),s=n("./src/types/index.ts"),c=n("./src/utils/index.ts"),a=function(){function e(){this.sort=new i.EventEmitter,this.select=new i.EventEmitter}return Object.defineProperty(e.prototype,"sorts",{get:function(){return this._sorts},set:function(e){this._sorts=e,this.sortDir=this.calcSortDir(e),this.sortClass=this.calcSortClass(this.sortDir)},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"columnCssClasses",{get:function(){var e="datatable-header-cell";this.column.sortable&&(e+=" sortable"),this.column.resizeable&&(e+=" resizeable"),this.column.cssClasses&&(e+=" "+this.column.cssClasses);var t=this.sortDir;return t&&(e+=" sort-active sort-"+t),e},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"name",{get:function(){return this.column.name||this.column.prop},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"minWidth",{get:function(){return this.column.minWidth},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"maxWidth",{get:function(){return this.column.maxWidth},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"width",{get:function(){return this.column.width},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"isCheckboxable",{get:function(){},enumerable:!0,configurable:!0}),e.prototype.calcSortDir=function(e){var t=this;if(e&&this.column){var n=e.find(function(e){return e.prop===t.column.prop});if(n)return n.dir}},e.prototype.onSort=function(){if(this.column.sortable){var e=c.nextSortDir(this.sortType,this.sortDir);this.sort.emit({column:this.column,prevValue:this.sortDir,newValue:e})}},e.prototype.calcSortClass=function(e){return e===s.SortDirection.asc?"sort-asc "+this.sortAscendingIcon:e===s.SortDirection.desc?"sort-desc "+this.sortDescendingIcon:void 0},o([i.Input(),r("design:type",Number)],e.prototype,"sortType",void 0),o([i.Input(),r("design:type",Object)],e.prototype,"column",void 0),o([i.Input(),r("design:type",String)],e.prototype,"sortAscendingIcon",void 0),o([i.Input(),r("design:type",String)],e.prototype,"sortDescendingIcon",void 0),o([i.Input(),r("design:type",Boolean)],e.prototype,"allRowsSelected",void 0),o([i.Input(),r("design:type",Number)],e.prototype,"selectionType",void 0),o([i.HostBinding("style.height.px"),i.Input(),r("design:type",Number)],e.prototype,"headerHeight",void 0),o([i.Input(),r("design:type",Array),r("design:paramtypes",[Array])],e.prototype,"sorts",null),o([i.Output(),r("design:type",i.EventEmitter)],e.prototype,"sort",void 0),o([i.Output(),r("design:type",i.EventEmitter)],e.prototype,"select",void 0),o([i.HostBinding("class"),r("design:type",Object)],e.prototype,"columnCssClasses",null),o([i.HostBinding("attr.title"),r("design:type",String)],e.prototype,"name",null),o([i.HostBinding("style.minWidth.px"),r("design:type",Number)],e.prototype,"minWidth",null),o([i.HostBinding("style.maxWidth.px"),r("design:type",Number)],e.prototype,"maxWidth",null),o([i.HostBinding("style.width.px"),r("design:type",Number)],e.prototype,"width",null),e=o([i.Component({selector:"datatable-header-cell",template:'\n
    \n \n \n \n \n \n \n \n \n \n
    \n '}),r("design:paramtypes",[])],e)}();t.DataTableHeaderCellComponent=a},"./src/components/header/header.component.ts":function(e,t,n){"use strict";var o=this&&this.__decorate||function(e,t,n,o){var r,i=arguments.length,s=i<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,n):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,n,o);else for(var c=e.length-1;c>=0;c--)(r=e[c])&&(s=(i<3?r(s):i>3?r(t,n,s):r(t,n))||s);return i>3&&s&&Object.defineProperty(t,n,s),s},r=this&&this.__metadata||function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)},i=n(0),s=n("./src/types/index.ts"),c=n("./src/utils/index.ts"),a=function(){function e(){this.sort=new i.EventEmitter,this.reorder=new i.EventEmitter,this.resize=new i.EventEmitter,this.select=new i.EventEmitter}return Object.defineProperty(e.prototype,"headerHeight",{get:function(){return this._headerHeight},set:function(e){"auto"!==e?this._headerHeight=e+"px":this._headerHeight=e},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"columns",{get:function(){return this._columns},set:function(e){this._columns=e;var t=c.columnsByPin(e);this.columnsByPin=c.columnsByPinArr(e),this.columnGroupWidths=c.columnGroupWidths(t,e)},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"headerWidth",{get:function(){return this.scrollbarH?this.innerWidth+"px":"100%"},enumerable:!0,configurable:!0}),e.prototype.trackByGroups=function(e,t){return t.type},e.prototype.columnTrackingFn=function(e,t){return t.$$id},e.prototype.onColumnResized=function(e,t){e<=t.minWidth?e=t.minWidth:e>=t.maxWidth&&(e=t.maxWidth),this.resize.emit({column:t,prevValue:t.width,newValue:e})},e.prototype.onColumnReordered=function(e){var t=e.prevIndex,n=e.newIndex,o=e.model;this.reorder.emit({column:o,prevValue:t,newValue:n})},e.prototype.onSort=function(e){var t=e.column,n=e.prevValue,o=e.newValue,r=this.calcNewSorts(t,n,o);this.sort.emit({sorts:r,column:t,prevValue:n,newValue:o})},e.prototype.calcNewSorts=function(e,t,n){var o=0,r=this.sorts.map(function(t,n){return t=Object.assign({},t),t.prop===e.prop&&(o=n),t});return void 0===n?r.splice(o,1):t?r[o].dir=n:(this.sortType===s.SortType.single&&r.splice(0,this.sorts.length),r.push({dir:n,prop:e.prop})),r},e.prototype.stylesByGroup=function(e){var t=this.columnGroupWidths,n=this.offsetX,o={width:t[e]+"px"};if("center"===e)c.translateXY(o,n*-1,0);else if("right"===e){var r=t.total-this.innerWidth,i=r*-1;c.translateXY(o,i,0)}return o},o([i.Input(),r("design:type",Object)],e.prototype,"sortAscendingIcon",void 0),o([i.Input(),r("design:type",Object)],e.prototype,"sortDescendingIcon",void 0),o([i.Input(),r("design:type",Boolean)],e.prototype,"scrollbarH",void 0),o([i.Input(),r("design:type",Number)],e.prototype,"innerWidth",void 0),o([i.Input(),r("design:type",Number)],e.prototype,"offsetX",void 0),o([i.Input(),r("design:type",Array)],e.prototype,"sorts",void 0),o([i.Input(),r("design:type",Number)],e.prototype,"sortType",void 0),o([i.Input(),r("design:type",Boolean)],e.prototype,"allRowsSelected",void 0),o([i.Input(),r("design:type",Number)],e.prototype,"selectionType",void 0),o([i.Input(),r("design:type",Boolean)],e.prototype,"reorderable",void 0),o([i.HostBinding("style.height"),i.Input(),r("design:type",Object),r("design:paramtypes",[Object])],e.prototype,"headerHeight",null),o([i.Input(),r("design:type",Array),r("design:paramtypes",[Array])],e.prototype,"columns",null),o([i.Output(),r("design:type",i.EventEmitter)],e.prototype,"sort",void 0),o([i.Output(),r("design:type",i.EventEmitter)],e.prototype,"reorder",void 0),o([i.Output(),r("design:type",i.EventEmitter)],e.prototype,"resize",void 0),o([i.Output(),r("design:type",i.EventEmitter)],e.prototype,"select",void 0),o([i.HostBinding("style.width"),r("design:type",String)],e.prototype,"headerWidth",null),e=o([i.Component({selector:"datatable-header",template:'\n \n \n \n \n \n \n ',host:{class:"datatable-header"}}),r("design:paramtypes",[])],e)}();t.DataTableHeaderComponent=a},"./src/components/header/index.ts":function(e,t,n){"use strict";function o(e){for(var n in e)t.hasOwnProperty(n)||(t[n]=e[n])}o(n("./src/components/header/header.component.ts")),o(n("./src/components/header/header-cell.component.ts"))},"./src/components/index.ts":function(e,t,n){"use strict";function o(e){for(var n in e)t.hasOwnProperty(n)||(t[n]=e[n])}o(n("./src/components/datatable.component.ts")),o(n("./src/components/header/index.ts")),o(n("./src/components/body/index.ts")),o(n("./src/components/footer/index.ts")),o(n("./src/components/columns/index.ts")),o(n("./src/components/row-detail/index.ts"))},"./src/components/row-detail/index.ts":function(e,t,n){"use strict";function o(e){for(var n in e)t.hasOwnProperty(n)||(t[n]=e[n])}o(n("./src/components/row-detail/row-detail.directive.ts")),o(n("./src/components/row-detail/row-detail-template.directive.ts"))},"./src/components/row-detail/row-detail-template.directive.ts":function(e,t,n){"use strict";var o=this&&this.__decorate||function(e,t,n,o){var r,i=arguments.length,s=i<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,n):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,n,o);else for(var c=e.length-1;c>=0;c--)(r=e[c])&&(s=(i<3?r(s):i>3?r(t,n,s):r(t,n))||s);return i>3&&s&&Object.defineProperty(t,n,s),s},r=this&&this.__metadata||function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)},i=n(0),s=function(){function e(e){this.template=e}return e=o([i.Directive({selector:"[ngx-datatable-row-detail-template]"}),r("design:paramtypes",[i.TemplateRef])],e)}();t.DatatableRowDetailTemplateDirective=s},"./src/components/row-detail/row-detail.directive.ts":function(e,t,n){"use strict";var o=this&&this.__decorate||function(e,t,n,o){var r,i=arguments.length,s=i<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,n):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,n,o);else for(var c=e.length-1;c>=0;c--)(r=e[c])&&(s=(i<3?r(s):i>3?r(t,n,s):r(t,n))||s);return i>3&&s&&Object.defineProperty(t,n,s),s},r=this&&this.__metadata||function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)},i=n(0),s=n("./src/components/row-detail/row-detail-template.directive.ts"),c=function(){function e(){}return Object.defineProperty(e.prototype,"rowDetailTemplate",{get:function(){return this.template},enumerable:!0,configurable:!0}),o([i.ContentChild(s.DatatableRowDetailTemplateDirective,{read:i.TemplateRef}),r("design:type",i.TemplateRef)],e.prototype,"template",void 0),e=o([i.Directive({selector:"ngx-datatable-row-detail"}),r("design:paramtypes",[])],e)}();t.DatatableRowDetailDirective=c},"./src/datatable.module.ts":function(e,t,n){"use strict";var o=this&&this.__decorate||function(e,t,n,o){var r,i=arguments.length,s=i<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,n):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,n,o);else for(var c=e.length-1;c>=0;c--)(r=e[c])&&(s=(i<3?r(s):i>3?r(t,n,s):r(t,n))||s);return i>3&&s&&Object.defineProperty(t,n,s),s},r=this&&this.__metadata||function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)},i=n(0),s=n(1);n("./node_modules/rxjs/add/observable/fromEvent.js");var c=n("./src/components/index.ts"),a=n("./src/directives/index.ts"),l=function(){function e(){}return e=o([i.NgModule({imports:[s.CommonModule],declarations:[a.VisibilityDirective,a.DraggableDirective,a.ResizeableDirective,a.OrderableDirective,a.LongPressDirective,c.ScrollerComponent,c.DatatableComponent,c.DataTableColumnDirective,c.DataTableHeaderComponent,c.DataTableHeaderCellComponent,c.DataTableBodyComponent,c.DataTableFooterComponent,c.DataTablePagerComponent,c.ProgressBarComponent,c.DataTableBodyRowComponent,c.DataTableRowWrapperComponent,c.DatatableRowDetailDirective,c.DatatableRowDetailTemplateDirective,c.DataTableBodyCellComponent,c.DataTableSelectionComponent,c.DataTableColumnHeaderDirective,c.DataTableColumnCellDirective],exports:[c.DatatableComponent,c.DatatableRowDetailDirective,c.DatatableRowDetailTemplateDirective,c.DataTableColumnDirective,c.DataTableColumnHeaderDirective,c.DataTableColumnCellDirective]}),r("design:paramtypes",[])],e)}();t.NgxDatatableModule=l},"./src/directives/draggable.directive.ts":function(e,t,n){"use strict";var o=this&&this.__decorate||function(e,t,n,o){var r,i=arguments.length,s=i<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,n):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,n,o);else for(var c=e.length-1;c>=0;c--)(r=e[c])&&(s=(i<3?r(s):i>3?r(t,n,s):r(t,n))||s);return i>3&&s&&Object.defineProperty(t,n,s),s},r=this&&this.__metadata||function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)},i=n(0),s=n("./node_modules/rxjs/Observable.js"),c=function(){function e(e){this.dragX=!0,this.dragY=!0,this.dragStart=new i.EventEmitter,this.dragging=new i.EventEmitter,this.dragEnd=new i.EventEmitter,this.isDragging=!1,this.element=e.nativeElement}return e.prototype.ngOnDestroy=function(){this.subscription&&this.subscription.unsubscribe()},e.prototype.onMouseup=function(e){this.isDragging=!1,this.element.classList.remove("dragging"),this.subscription&&(this.subscription.unsubscribe(),this.dragEnd.emit({event:e,element:this.element,model:this.dragModel}))},e.prototype.onMousedown=function(e){var t=this;if(e.target.classList.contains("draggable")){e.preventDefault(),this.isDragging=!0;var n={x:e.clientX,y:e.clientY};this.subscription=s.Observable.fromEvent(document,"mousemove").subscribe(function(e){return t.move(e,n)}),this.dragStart.emit({event:e,element:this.element,model:this.dragModel})}},e.prototype.move=function(e,t){if(this.dragging){var n=e.clientX-t.x,o=e.clientY-t.y;this.dragX&&(this.element.style.left=n+"px"),this.dragY&&(this.element.style.top=o+"px"),(this.dragX||this.dragY)&&(this.element.classList.add("dragging"),this.dragging.emit({event:e,element:this.element,model:this.dragModel}))}},o([i.Input(),r("design:type",Object)],e.prototype,"dragModel",void 0),o([i.Input(),r("design:type",Boolean)],e.prototype,"dragX",void 0),o([i.Input(),r("design:type",Boolean)],e.prototype,"dragY",void 0),o([i.Output(),r("design:type",i.EventEmitter)],e.prototype,"dragStart",void 0),o([i.Output(),r("design:type",i.EventEmitter)],e.prototype,"dragging",void 0),o([i.Output(),r("design:type",i.EventEmitter)],e.prototype,"dragEnd",void 0),o([i.HostListener("document:mouseup",["$event"]),r("design:type",Function),r("design:paramtypes",[MouseEvent]),r("design:returntype",void 0)],e.prototype,"onMouseup",null),o([i.HostListener("mousedown",["$event"]),r("design:type",Function),r("design:paramtypes",[MouseEvent]),r("design:returntype",void 0)],e.prototype,"onMousedown",null),e=o([i.Directive({selector:"[draggable]"}),r("design:paramtypes",[i.ElementRef])],e)}();t.DraggableDirective=c},"./src/directives/index.ts":function(e,t,n){"use strict";function o(e){for(var n in e)t.hasOwnProperty(n)||(t[n]=e[n])}o(n("./src/directives/draggable.directive.ts")),o(n("./src/directives/long-press.directive.ts")),o(n("./src/directives/orderable.directive.ts")),o(n("./src/directives/resizeable.directive.ts")),o(n("./src/directives/visibility.directive.ts"))},"./src/directives/long-press.directive.ts":function(e,t,n){"use strict";var o=this&&this.__decorate||function(e,t,n,o){var r,i=arguments.length,s=i<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,n):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,n,o);else for(var c=e.length-1;c>=0;c--)(r=e[c])&&(s=(i<3?r(s):i>3?r(t,n,s):r(t,n))||s);return i>3&&s&&Object.defineProperty(t,n,s),s},r=this&&this.__metadata||function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)},i=n(0),s=function(){function e(){this.duration=500,this.longPress=new i.EventEmitter,this.longPressing=new i.EventEmitter,this.longPressEnd=new i.EventEmitter,this.mouseX=0,this.mouseY=0}return Object.defineProperty(e.prototype,"press",{get:function(){return this.pressing},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"isLongPress",{get:function(){return this.isLongPressing},enumerable:!0,configurable:!0}),e.prototype.onMouseDown=function(e){var t=this;1===e.which&&(this.mouseX=e.clientX,this.mouseY=e.clientY,this.pressing=!0,this.isLongPressing=!1,this.timeout=setTimeout(function(){t.isLongPressing=!0,t.longPress.emit(e),t.loop(e)},this.duration),this.loop(e))},e.prototype.onMouseMove=function(e){if(this.pressing&&!this.isLongPressing){var t=Math.abs(e.clientX-this.mouseX)>10,n=Math.abs(e.clientY-this.mouseY)>10;(t||n)&&this.endPress()}},e.prototype.loop=function(e){var t=this;this.isLongPressing&&(this.timeout=setTimeout(function(){t.longPressing.emit(e),t.loop(e)},50))},e.prototype.endPress=function(){clearTimeout(this.timeout),this.isLongPressing=!1,this.pressing=!1,this.longPressEnd.emit(!0)},e.prototype.onMouseUp=function(){this.endPress()},o([i.Input(),r("design:type",Number)],e.prototype,"duration",void 0),o([i.Output(),r("design:type",i.EventEmitter)],e.prototype,"longPress",void 0),o([i.Output(),r("design:type",i.EventEmitter)],e.prototype,"longPressing",void 0),o([i.Output(),r("design:type",i.EventEmitter)],e.prototype,"longPressEnd",void 0),o([i.HostBinding("class.press"),r("design:type",Boolean)],e.prototype,"press",null),o([i.HostBinding("class.longpress"),r("design:type",Boolean)],e.prototype,"isLongPress",null),o([i.HostListener("mousedown",["$event"]),r("design:type",Function),r("design:paramtypes",[MouseEvent]),r("design:returntype",void 0)],e.prototype,"onMouseDown",null),o([i.HostListener("mousemove",["$event"]),r("design:type",Function),r("design:paramtypes",[MouseEvent]),r("design:returntype",void 0)],e.prototype,"onMouseMove",null),o([i.HostListener("mouseup"),r("design:type",Function),r("design:paramtypes",[]),r("design:returntype",void 0)],e.prototype,"onMouseUp",null),e=o([i.Directive({selector:"[long-press]"}),r("design:paramtypes",[])],e)}();t.LongPressDirective=s},"./src/directives/orderable.directive.ts":function(e,t,n){"use strict";var o=this&&this.__decorate||function(e,t,n,o){var r,i=arguments.length,s=i<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,n):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,n,o);else for(var c=e.length-1;c>=0;c--)(r=e[c])&&(s=(i<3?r(s):i>3?r(t,n,s):r(t,n))||s);return i>3&&s&&Object.defineProperty(t,n,s),s},r=this&&this.__metadata||function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)},i=n(0),s=n("./src/directives/draggable.directive.ts"),c=function(){function e(e){this.reorder=new i.EventEmitter,this.differ=e.find({}).create(null)}return e.prototype.ngAfterContentInit=function(){this.updateSubscriptions(),this.draggables.changes.subscribe(this.updateSubscriptions.bind(this))},e.prototype.ngOnDestroy=function(){this.draggables.forEach(function(e){e.dragStart.unsubscribe(),e.dragEnd.unsubscribe()})},e.prototype.updateSubscriptions=function(){var e=this,t=this.differ.diff(this.draggables.toArray());if(t){var n=function(t){var n=t.currentValue,r=t.previousValue;o({previousValue:r}),n&&(n.dragStart.subscribe(e.onDragStart.bind(e)),n.dragEnd.subscribe(e.onDragEnd.bind(e)))},o=function(e){var t=e.previousValue;t&&(t.dragStart.unsubscribe(),t.dragEnd.unsubscribe())};t.forEachAddedItem(n.bind(this)),t.forEachChangedItem(n.bind(this)),t.forEachRemovedItem(o.bind(this))}},e.prototype.onDragStart=function(){this.positions={};for(var e=0,t=0,n=this.draggables.toArray();tc.left,l=o>c.left&&r.left=0;c--)(r=e[c])&&(s=(i<3?r(s):i>3?r(t,n,s):r(t,n))||s);return i>3&&s&&Object.defineProperty(t,n,s),s},r=this&&this.__metadata||function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)},i=n(0),s=n("./node_modules/rxjs/Observable.js"),c=function(){function e(e){if(this.resizeEnabled=!0,this.resize=new i.EventEmitter,this.resizing=!1,this.element=e.nativeElement,this.resizeEnabled){var t=document.createElement("span");t.classList.add("resize-handle"),this.element.appendChild(t)}}return e.prototype.ngOnDestroy=function(){this.subscription&&this.subscription.unsubscribe()},e.prototype.onMouseup=function(){this.resizing=!1,this.subscription&&!this.subscription.closed&&(this.subscription.unsubscribe(),this.resize.emit(this.element.clientWidth))},e.prototype.onMousedown=function(e){var t=this,n=e.target.classList.contains("resize-handle"),o=this.element.clientWidth,r=e.screenX;n&&(e.stopPropagation(),this.resizing=!0,this.subscription=s.Observable.fromEvent(document,"mousemove").subscribe(function(e){return t.move(e,o,r)}))},e.prototype.move=function(e,t,n){var o=e.screenX-n,r=t+o,i=!this.minWidth||r>=this.minWidth,s=!this.maxWidth||r<=this.maxWidth;i&&s&&(this.element.style.width=r+"px")},o([i.Input(),r("design:type",Boolean)],e.prototype,"resizeEnabled",void 0),o([i.Input(),r("design:type",Number)],e.prototype,"minWidth",void 0),o([i.Input(),r("design:type",Number)],e.prototype,"maxWidth",void 0),o([i.Output(),r("design:type",i.EventEmitter)],e.prototype,"resize",void 0),o([i.HostListener("document:mouseup"),r("design:type",Function),r("design:paramtypes",[]),r("design:returntype",void 0)],e.prototype,"onMouseup",null),o([i.HostListener("mousedown",["$event"]),r("design:type",Function),r("design:paramtypes",[MouseEvent]),r("design:returntype",void 0)],e.prototype,"onMousedown",null),e=o([i.Directive({selector:"[resizeable]",host:{"[class.resizeable]":"resizeEnabled"}}),r("design:paramtypes",[i.ElementRef])],e)}();t.ResizeableDirective=c},"./src/directives/visibility.directive.ts":function(e,t,n){"use strict";var o=this&&this.__decorate||function(e,t,n,o){var r,i=arguments.length,s=i<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,n):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,n,o);else for(var c=e.length-1;c>=0;c--)(r=e[c])&&(s=(i<3?r(s):i>3?r(t,n,s):r(t,n))||s);return i>3&&s&&Object.defineProperty(t,n,s),s},r=this&&this.__metadata||function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)},i=n(0),s=function(){function e(e,t){this.element=e,this.zone=t,this.isVisible=!1,this.visible=new i.EventEmitter}return e.prototype.ngOnInit=function(){this.runCheck()},e.prototype.ngOnDestroy=function(){clearTimeout(this.timeout)},e.prototype.onVisibilityChange=function(){var e=this;this.zone.run(function(){e.isVisible=!0,e.visible.emit(!0)})},e.prototype.runCheck=function(){var e=this,t=function(){var n=e.element.nativeElement,o=n.offsetHeight,r=n.offsetWidth;o&&r?(clearTimeout(e.timeout),e.onVisibilityChange()):(clearTimeout(e.timeout),e.zone.runOutsideAngular(function(){e.timeout=setTimeout(function(){return t()},50)}))};setTimeout(function(){return t()})},o([i.HostBinding("class.visible"),r("design:type",Boolean)],e.prototype,"isVisible",void 0),o([i.Output(),r("design:type",i.EventEmitter)],e.prototype,"visible",void 0),e=o([i.Directive({selector:"[visibility-observer]"}),r("design:paramtypes",[i.ElementRef,i.NgZone])],e)}();t.VisibilityDirective=s},"./src/index.ts":function(e,t,n){"use strict";function o(e){for(var n in e)t.hasOwnProperty(n)||(t[n]=e[n])}o(n("./src/datatable.module.ts")),o(n("./src/types/index.ts")),o(n("./src/components/index.ts"))},"./src/types/click.type.ts":function(e,t,n){"use strict";!function(e){e[e.single="single"]="single",e[e.double="double"]="double"}(t.ClickType||(t.ClickType={}));t.ClickType},"./src/types/column-mode.type.ts":function(e,t,n){"use strict";!function(e){e[e.standard="standard"]="standard",e[e.flex="flex"]="flex",e[e.force="force"]="force"}(t.ColumnMode||(t.ColumnMode={}));t.ColumnMode},"./src/types/index.ts":function(e,t,n){"use strict";function o(e){for(var n in e)t.hasOwnProperty(n)||(t[n]=e[n])}o(n("./src/types/column-mode.type.ts")),o(n("./src/types/sort.type.ts")),o(n("./src/types/sort-direction.type.ts")),o(n("./src/types/selection.type.ts")),o(n("./src/types/click.type.ts"))},"./src/types/selection.type.ts":function(e,t,n){"use strict";!function(e){e[e.single="single"]="single",e[e.multi="multi"]="multi",e[e.multiClick="multiClick"]="multiClick",e[e.cell="cell"]="cell",e[e.checkbox="checkbox"]="checkbox"}(t.SelectionType||(t.SelectionType={}));t.SelectionType},"./src/types/sort-direction.type.ts":function(e,t,n){"use strict";!function(e){e[e.asc="asc"]="asc",e[e.desc="desc"]="desc"}(t.SortDirection||(t.SortDirection={}));t.SortDirection},"./src/types/sort.type.ts":function(e,t,n){"use strict";!function(e){e[e.single="single"]="single",e[e.multi="multi"]="multi"}(t.SortType||(t.SortType={}));t.SortType},"./src/utils/camel-case.ts":function(e,t,n){"use strict";function o(e){return e=e.replace(/[^a-zA-Z0-9 ]/g," "),e=e.replace(/([a-z](?=[A-Z]))/g,"$1 "),e=e.replace(/([^a-zA-Z0-9 ])|^[0-9]+/g,"").trim().toLowerCase(),e=e.replace(/([ 0-9]+)([a-zA-Z])/g,function(e,t,n){return t.trim()+n.toUpperCase()})}function r(e){return e.replace(/([A-Z])/g,function(e){return" "+e}).replace(/^./,function(e){return e.toUpperCase()})}t.camelCase=o,t.deCamelCase=r},"./src/utils/column-helper.ts":function(e,t,n){"use strict";function o(e){if(e)for(var t=0,n=e;t=t;for(var g=0,m=i;gp.maxWidth?(p.width=p.maxWidth,y.push(p)):p.width=b}p.width=Math.max(0,p.width)}f=a(e),h=t-f,c(i,y)}while(h>0&&0!==i.length)}function c(e,t){for(var n=0,o=t;n=0;)t+=this.treeArray[e],e=(e&e+1)-1;return t},e.prototype.queryBetween=function(e,t){return this.query(t)-this.query(e-1)},e.prototype.calcRowIndex=function(e){if(!this.treeArray.length)return 0;for(var t=-1,n=this.treeArray.length,o=Math.pow(2,n.toString(2).length-1),r=o;0!==r;r>>=1){var i=t+r;i=this.treeArray[i]&&(e-=this.treeArray[i],t=i)}return t+1},e}();t.RowHeightCache=o},"./src/utils/scrollbar-width.ts":function(e,t,n){"use strict";function o(){var e=document.createElement("div");e.style.visibility="hidden",e.style.width="100px",e.style.msOverflowStyle="scrollbar",document.body.appendChild(e);var t=e.offsetWidth;e.style.overflow="scroll";var n=document.createElement("div");n.style.width="100%",e.appendChild(n);var o=n.offsetWidth;return e.parentNode.removeChild(e),t-o}t.getScrollBarWidth=o,t.scrollbarWidth=o()},"./src/utils/selection.ts":function(e,t,n){"use strict";function o(e,t,n){var o=n(t,e);return o>-1?e.splice(o,1):e.push(t),e}function r(e,t,n,o,r){for(var i=n=o&&s<=n,p=s<=o&&s>=n,u={start:0,end:0};if(u=i?{start:n,end:o-n}:{start:o,end:n+1},i&&p||!i&&l){var d=r(a,e);if(i&&d>-1){e.splice(d,1);continue}s>=u.start&&st.toLowerCase())return 1}else{if(parseFloat(e)parseFloat(t))return 1}return 0}function i(e,t,n){if(!(e&&n&&n.length&&t))return e;var o=e.slice(),i=t.reduce(function(e,t){return t.comparator&&"function"==typeof t.comparator&&(e[t.prop]=t.comparator),e},{});return o.sort(function(e,t){for(var o=0,a=n;o