UNPKG

ngx-table-powerfull

Version:

Table with catalog of functionalities for free use based on the ngx-datatable component and other components

15 lines (13 loc) 237 kB
!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("@angular/core"),require("rxjs"),require("@angular/common"),require("@angular/forms"),require("@swimlane/ngx-datatable"),require("rxjs/operators"),require("file-saver"),require("xlsx"),require("jspdf"),require("jspdf-autotable"),require("@angular/material"),require("@angular/cdk/drag-drop"),require("ng-multiselect-dropdown"),require("@angular/cdk/a11y"),require("@angular/cdk/bidi"),require("@angular/cdk/observers"),require("@angular/cdk/overlay"),require("@angular/cdk/platform"),require("@angular/cdk/portal"),require("@angular/cdk/stepper"),require("@angular/cdk/table"),require("@angular/cdk/tree")):"function"==typeof define&&define.amd?define("ngx-table-powerfull",["exports","@angular/core","rxjs","@angular/common","@angular/forms","@swimlane/ngx-datatable","rxjs/operators","file-saver","xlsx","jspdf","jspdf-autotable","@angular/material","@angular/cdk/drag-drop","ng-multiselect-dropdown","@angular/cdk/a11y","@angular/cdk/bidi","@angular/cdk/observers","@angular/cdk/overlay","@angular/cdk/platform","@angular/cdk/portal","@angular/cdk/stepper","@angular/cdk/table","@angular/cdk/tree"],t):t((e=e||self)["ngx-table-powerfull"]={},e.ng.core,e.rxjs,e.ng.common,e.ng.forms,e["@swimlane/ngx-datatable"],e.rxjs.operators,e["file-saver"],e.xlsx,e.jspdf,null,e.ng.material,e.ng.cdk["drag-drop"],e["ng-multiselect-dropdown"],e.ng.cdk.a11y,e.ng.cdk.bidi,e.ng.cdk.observers,e.ng.cdk.overlay,e.ng.cdk.platform,e.ng.cdk.portal,e.ng.cdk.stepper,e.ng.cdk.table,e.ng.cdk.tree)}(this,(function(e,t,o,r,a,n,i,l,d,c,f,s,m,p,b,g,u,h,x,w,v,y,k){"use strict"; /*! ***************************************************************************** Copyright (c) Microsoft Corporation. All rights reserved. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 THIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED WARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE, MERCHANTABLITY OR NON-INFRINGEMENT. See the Apache Version 2.0 License for specific language governing permissions and limitations under the License. ***************************************************************************** */function C(e,t,o,r){var a,n=arguments.length,i=n<3?t:null===r?r=Object.getOwnPropertyDescriptor(t,o):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)i=Reflect.decorate(e,t,o,r);else for(var l=e.length-1;l>=0;l--)(a=e[l])&&(i=(n<3?a(i):n>3?a(t,o,i):a(t,o))||i);return n>3&&i&&Object.defineProperty(t,o,i),i}function E(e,t){return function(o,r){t(o,r,e)}}function A(e,t,o,r){return new(o||(o=Promise))((function(a,n){function i(e){try{d(r.next(e))}catch(e){n(e)}}function l(e){try{d(r.throw(e))}catch(e){n(e)}}function d(e){var t;e.done?a(e.value):(t=e.value,t instanceof o?t:new o((function(e){e(t)}))).then(i,l)}d((r=r.apply(e,t||[])).next())}))}function T(e,t){var o,r,a,n,i={label:0,sent:function(){if(1&a[0])throw a[1];return a[1]},trys:[],ops:[]};return n={next:l(0),throw:l(1),return:l(2)},"function"==typeof Symbol&&(n[Symbol.iterator]=function(){return this}),n;function l(n){return function(l){return function(n){if(o)throw new TypeError("Generator is already executing.");for(;i;)try{if(o=1,r&&(a=2&n[0]?r.return:n[0]?r.throw||((a=r.return)&&a.call(r),0):r.next)&&!(a=a.call(r,n[1])).done)return a;switch(r=0,a&&(n=[2&n[0],a.value]),n[0]){case 0:case 1:a=n;break;case 4:return i.label++,{value:n[1],done:!1};case 5:i.label++,r=n[1],n=[0];continue;case 7:n=i.ops.pop(),i.trys.pop();continue;default:if(!(a=(a=i.trys).length>0&&a[a.length-1])&&(6===n[0]||2===n[0])){i=0;continue}if(3===n[0]&&(!a||n[1]>a[0]&&n[1]<a[3])){i.label=n[1];break}if(6===n[0]&&i.label<a[1]){i.label=a[1],a=n;break}if(a&&i.label<a[2]){i.label=a[2],i.ops.push(n);break}a[2]&&i.ops.pop(),i.trys.pop();continue}n=t.call(e,i)}catch(e){n=[6,e],r=0}finally{o=a=0}if(5&n[0])throw n[1];return{value:n[0]?n[1]:void 0,done:!0}}([n,l])}}}function M(e,t){var o="function"==typeof Symbol&&e[Symbol.iterator];if(!o)return e;var r,a,n=o.call(e),i=[];try{for(;(void 0===t||t-- >0)&&!(r=n.next()).done;)i.push(r.value)}catch(e){a={error:e}}finally{try{r&&!r.done&&(o=n.return)&&o.call(n)}finally{if(a)throw a.error}}return i}function z(){for(var e=[],t=0;t<arguments.length;t++)e=e.concat(M(arguments[t]));return e}var S,D=function(e){this.name=e,this.event=new o.Subject},I=function(){function e(){this.queues=[]}return e.prototype.create_queue=function(e){var t=new D(e);return this.queues.push(t),t},e.prototype.raise=function(e,t){var o=this.queues.find((function(t){return t.name===e}))||this.create_queue(e);return o.event.next(t),o},e.prototype.on=function(e){return(this.queues.find((function(t){return t.name===e}))||this.create_queue(e)).event},e=C([t.Injectable()],e)}(),F=function(e){e&&Object.assign(this,e)};!function(e){e.CLASS="class",e.HREF="href",e.ID="id",e.STYLE="style"}(S||(S={}));var O,j=function(e){e&&Object.assign(this,e)},R=function(e){this.type=null,this.unit="",e&&Object.assign(this,e)};!function(e){e[e.SUM=0]="SUM",e[e.AVERAGE=1]="AVERAGE",e[e.MAX=2]="MAX",e[e.MIN=3]="MIN"}(O||(O={}));var L,_=[{name:"total",type:O.SUM},{name:"avarage",type:O.AVERAGE},{name:"maximum",type:O.MAX},{name:"minimum",type:O.MIN}],N=function(e){this.action=null,this.index=!1,this.hide=!1,this.tag=null,this.attributes=[],this.editable=!1,this.sortable=!0,this.sort=new j({numeric:!0}),this.tooltip=!1,this.tooltipText="",this.sumary=[],this.predefinedData=null,this.visible=!0,this.fixed=!1,this.filtered=!0,e&&(Object.assign(this,e),this.attributes=e.attributes?e.attributes.map((function(e){return new F(e)})):[],this.sort=e.sort?new j(e.sort):new j({numeric:!0}),(e.sumary||[]).map((function(e){return new R(e)})),this.hide=!!e.index&&e.hide)};!function(e){e.ICON="i",e.LINK="a",e.BUTTON="button"}(L||(L={}));var q,P=function(){function e(){}return e.prototype.exportAsExcelFile=function(e,t,o){for(var r=d.utils.json_to_sheet(e),a=[],n=0;n<o;n++)a.push({wch:25});r["!cols"]=a;var i={Sheets:{data:r},SheetNames:["data"]},l=d.write(i,{bookType:"xlsx",type:"array"});this.saveAsExcelFile(l,t)},e.prototype.saveAsExcelFile=function(e,t){var o=new Blob([e],{type:"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet;charset=UTF-8"});l.saveAs(o,t+"_"+(new Date).getTime()+".xlsx")},e.prototype.exportAsPdf=function(e,t,o){var r=new c;r.autoTable({head:t,body:o,didDrawCell:function(e){}}),r.save(e+"_"+(new Date).getTime()+".pdf")},e=C([t.Injectable()],e)}(),B=function(e){this.selectColumns="",this.filterResults="",this.rows="",this.row="",this.emptyMessage="",this.selectAll="",this.unSelectAll="",this.search="",this.generated="",this.total="",this.avarage="",this.maximum="",this.minimum="",this.deleteRow="",this.close="",this.save="",this.column="",this.columns="",this.show="",this.fix="",this.name="",this.predefinedContent="",this.position="",this.newPosition="",this.editable="",this.applyFunction="",this.units="",this.accept="",this.configureFilter="",this.closeConfigure="",this.configureColumns="",this.editColumn="",this.newColumn="",this.deleteColumn="",this.export="",this.maximize="",this.restore="",this.visualize="",e&&Object.assign(this,e)},U=[{name:"spanish",setting:{selectColumns:"Seleccionar Columnas",filterResults:"Filtrar resultados",rows:"Filas",row:"Fila",emptyMessage:"No se encontro ningún resultado",selectAll:"Marcar Todas",unSelectAll:"Desmarcar Todas",search:"Buscar",generated:"Generada",total:"Total",avarage:"Media",maximum:"Máximo",minimum:"Mínimo",deleteRow:"Eliminar fila",close:"Cerrar",save:"Guardar",column:"Columna",columns:"Columnas",show:"Mostrar",fix:"Fijar",name:"Nombre",predefinedContent:"Contenido predefinido",position:"Posición",newPosition:"Nueva posición",editable:"Editable",applyFunction:"Aplicar función",units:"Ud.",accept:"Aceptar",configureFilter:"Configurar filtro",closeConfigure:"Cerrar configuración",configureColumns:"Configurar columnas",editColumn:"Editar columna",newColumn:"Nueva columna",deleteColumn:"Eliminar columna",export:"Exportar",maximize:"Maximizar",restore:"Restaurar",visualize:"Visualizar"}},{name:"english",setting:{selectColumns:"Select Columns",filterResults:"Filter results",rows:"Rows",row:"Row",emptyMessage:"No data to display",selectAll:"Select All",unSelectAll:"UnSelect All",search:"Search",generated:"Generated",total:"Total",avarage:"Average",maximum:"Maximum",minimum:"Minimum",deleteRow:"Delete row",close:"Close",save:"Save",column:"Column",columns:"Columns",show:"Show",fix:"Fix",name:"Name",predefinedContent:"Predefined content",position:"Position",newPosition:"New position",editable:"Editable",applyFunction:"Apply function",units:"Unit",accept:"Accept",configureFilter:"Configure filter",closeConfigure:"Close setting",configureColumns:"Configure column",editColumn:"Edit columns",newColumn:"New column",deleteColumn:"Delete column",export:"Export",maximize:"Maximize",restore:"Restore",visualize:"Visualize"}}],H=function(e){e&&(Object.assign(this,e),this.setting=e.setting?new B(e.setting):null)},K=function(){function e(e){this.visibleTitle=!0,this.filter=!0,this.filterByColumn=!0,this.fullscreen=!0,this.exportExcel=!0,this.exportPdf=!0,this.editableColumns=!0,this.configureColumns=!0,this.addColumn=!0,this.editColumn=!0,this.deleteColumn=!0,this.sortable=!0,this.resizeColumns=!0,this.limitResult=0,this.striped=!0,this.singleSelection=!0,this.multipleSelection=!0,this.multipleButtonText="",this.visibleNumberRowsButton=!0,this.viewDialogTable=!0,this.collapsed=!1,this.subtractHeight=550,this.subtractHeightCollapsed=788,this.positionSumary="left",this.primaryColor="#17703E",this.secondaryColor="#EC7063",this.hoverRowColor="#0066363d",this.headerBackground="#fff",this.headerFontColor="#757575",this.borderTableColor="#EEEFF0",this.cardBody=!0,this.rowHeight=50,this.footerHeight=50,this.sumaryFooterHeight=50,this.headerHeight=50,this.classTable="boostrap",this.language=new H(U[0]).setting,e&&(Object.assign(this,e),e.language&&(e.language instanceof B?this.language=new B(e.language):this.buildLanguage(e.language)),this.multipleButtonText=e.multipleButtonText?e.multipleButtonText:this.language.visualize)}return e.prototype.buildLanguage=function(e){if(e.name){var t=U.find((function(t){return t.name===e.name}))||null;this.language=t?e.setting?Object.assign(new B(t.setting),e.setting):new B(t.setting):new B(e.setting)}},e}(),V=["boostrap","material"],G=function(){function e(e,t,o){this.dialogRef=e,this.data=t,this.notification=o,this.indexNewColumn=0,this.tableConfig=new K({primaryColor:this.data.config.primaryColor,secondaryColor:this.data.config.secondaryColor,hoverRowColor:this.data.config.hoverRowColor,headerBackground:this.data.config.headerBackground,headerFontColor:this.data.config.headerFontColor,borderTableColor:this.data.config.borderTableColor,multipleSelection:!1,classTable:this.data.config.classTable,language:this.data.config.language})}return e.prototype.ngOnInit=function(){var e={prop:"delete",name:"",action:"delete",predefinedData:"delete",tooltip:!0,tooltipText:this.data.config.language.deleteRow,tag:L.ICON,attributes:[new F({name:S.CLASS,value:"material-icons delete-icon"})]};this.rows=JSON.parse(JSON.stringify(this.data.rows)),this.columns=this.data.columns.filter((function(e){return!e.action})).map((function(e){return new N(e)})),this.columns.push(new N(e))},e.prototype.ngAfterViewInit=function(){setTimeout((function(){return window.dispatchEvent(new Event("resize"))}),100),setTimeout((function(){return window.dispatchEvent(new Event("resize"))}),200)},e.prototype.eventRow=function(e){var t=this;"delete"===e.name&&this.rows.forEach((function(o,r){if(o.id===e.row.id)return t.rows.splice(r,1),void t.notification.raise(t.data.name,{rows:t.rows})}))},e.prototype.close=function(){this.dialogRef.close()},e.ctorParameters=function(){return[{type:s.MatDialogRef},{type:void 0,decorators:[{type:t.Inject,args:[s.MAT_DIALOG_DATA]}]},{type:I}]},e=C([t.Component({selector:"ngx-table-dialog-component",template:'<div class="dialog"> \r\n <mat-dialog-content>\r\n <ngx-table-powerfull [config]="tableConfig" [name]="data.name" [columns]="columns" [data]="rows" [viewDialog]="\'true\'" (event)="eventRow($event)"></ngx-table-powerfull>\r\n </mat-dialog-content>\r\n</div>',styles:["mat-dialog-content{margin:-20px!important}"]}),E(1,t.Inject(s.MAT_DIALOG_DATA))],e)}(),W=function(e){this.collapsed=null,this.rows=[],this.columns=[],this.visibleDataTable=!1,this.dataTable=!1,this.exportExcel=!1,this.exportPdf=!1,e&&(Object.assign(this,e),this.columns=e.columns?e.columns.map((function(e){return new N(e)})):[])};!function(e){e[e.ADD=1]="ADD",e[e.EDIT=2]="EDIT",e[e.DELETE=3]="DELETE"}(q||(q={}));var X,Q,J=function(){function e(e,t){switch(this.dialogRef=e,this.data=t,this.nameColumn="",this.predefinedText="-",this.numberColumns=[],this.column=1,this.functions=_,this.applyFunctions=new Array(_.length),this.unitsFunctions=new Array(_.length),this.editable=!1,this.data.action){case q.ADD:this.numberColumns=new Array(this.data.nColumns),this.positionColumn=this.data.nColumns,this.title=this.data.config.language.newColumn,this.editable=!0;break;case q.EDIT:this.columns=this.data.columns,this.nameColumn=this.columns[0].name,this.numberColumns=new Array(this.columns.length),this.positionColumn=1,this.title=this.data.config.language.editColumn,this.checkFunctionColumn(),this.editable=this.isEditable();break;case q.DELETE:this.columns=this.data.columns,this.title=this.data.config.language.deleteColumn;break;default:this.close()}}return e.prototype.changeColumn=function(){this.data.action===q.EDIT&&(this.nameColumn=this.columns[this.column-1].name,this.positionColumn=this.column),this.applyFunctions=new Array(_.length),this.unitsFunctions=new Array(_.length),this.checkFunctionColumn(),this.editable=this.isEditable()},e.prototype.onSubmit=function(){switch(this.data.action){case q.ADD:this.dialogRef.close({name:this.nameColumn.trim(),predefined:this.predefinedText,position:this.positionColumn,functions:this.applyFunctions,unitsFuntions:this.unitsFunctions,editable:this.editable});break;case q.EDIT:this.dialogRef.close({name:this.nameColumn.trim(),column:this.column,newPosition:this.positionColumn,functions:this.applyFunctions,unitsFuntions:this.unitsFunctions,editable:this.editable});break;case q.DELETE:this.dialogRef.close({column:this.column});break;default:this.close()}},e.prototype.isEditable=function(){return new N(this.columns[this.column-1]).editable},e.prototype.checkFunctionColumn=function(){var e=this,t=new N(this.columns[this.column-1]).sumary;t.length?t.forEach((function(t){null!=t.type&&e.functions.forEach((function(o){o.type===t.type&&(e.applyFunctions[t.type]=!0,e.unitsFunctions[t.type]=t.unit)}))})):(this.applyFunctions=new Array(_.length),this.unitsFunctions=new Array(_.length))},e.prototype.close=function(){this.dialogRef.close()},e.ctorParameters=function(){return[{type:s.MatDialogRef},{type:void 0,decorators:[{type:t.Inject,args:[s.MAT_DIALOG_DATA]}]}]},e=C([t.Component({selector:"edit-column-dialog-component",template:'<header class="header-title">{{ title }}</header>\r\n\x3c!-- <title class="title" mat-dialog-title>{{ title }}</title> --\x3e\r\n\r\n<mat-dialog-content *ngIf="data.config.classTable === \'boostrap\'"> \r\n\r\n <div *ngIf="data.action === 1 || data.action === 2" class="form-group">\r\n\r\n <label for="name">{{ data.config.language.name }}</label>\r\n <input id="name" name="name" class="form-control" required\r\n [(ngModel)]="nameColumn" #name="ngModel" />\r\n\r\n <label *ngIf="data.action === 1" for="textN" style="margin-top: 20px;">{{ data.config.language.predefinedContent }}</label>\r\n <input *ngIf="data.action === 1" id="textN" name="textN" class="form-control" required\r\n [(ngModel)]="predefinedText" #name="ngModel" />\r\n\r\n <label for="position" style="margin-top: 20px;">{{ (data.action === 1) ? data.config.language.position : data.config.language.newPosition }}</label>\r\n <select id="position" name="position" class="form-control" required\r\n [(ngModel)]="positionColumn" #name="ngModel">\r\n <option *ngFor="let c of numberColumns; let i = index" [value]="i + 1">{{ i + 1}}</option>\r\n </select>\r\n\r\n </div>\r\n\r\n <div *ngIf="data.action === 3|| data.action === 2" class="form-group">\r\n\r\n <label for="col">{{ data.config.language.column }}</label>\r\n <select id="col" name="col" class="form-control" required\r\n [(ngModel)]="column" #name="ngModel" (change)="changeColumn()">\r\n <option *ngFor="let c of columns; let i = index" [value]="i + 1">{{ c.name }}</option>\r\n </select>\r\n\r\n </div>\r\n\r\n</mat-dialog-content>\r\n\r\n<mat-dialog-content *ngIf="data.config.classTable === \'material\'"> \r\n\r\n <div *ngIf="data.action === 1 || data.action === 2">\r\n\r\n <mat-form-field class="col-12">\r\n <mat-label>{{ data.config.language.name }}</mat-label>\r\n <input matInput id="name" name="name" [(ngModel)]="nameColumn" #name="ngModel">\r\n </mat-form-field>\r\n\r\n <mat-form-field *ngIf="data.action === 1" class="col-12" style="margin-top: 20px;">\r\n <mat-label>{{ data.config.language.predefinedContent }}</mat-label>\r\n <input matInput id="textN" name="textN" [(ngModel)]="predefinedText" #name="ngModel">\r\n </mat-form-field>\r\n\r\n <mat-form-field class="col-12" style="margin-top: 20px;">\r\n <mat-label>{{ (data.action === 1) ? data.config.language.position : data.config.language.newPosition }}</mat-label>\r\n <mat-select id="position" name="position" [(ngModel)]="positionColumn" #name="ngModel">\r\n <mat-option *ngFor="let c of numberColumns; let i = index" [value]="i + 1">\r\n {{ i + 1 }}\r\n </mat-option>\r\n </mat-select>\r\n </mat-form-field>\r\n\r\n </div>\r\n\r\n <div *ngIf="data.action === 3|| data.action === 2" class="form-group">\r\n\r\n <mat-form-field class="col-12" style="margin-top: 20px;">\r\n <mat-label>{{ data.config.language.column }}</mat-label>\r\n <mat-select id="col" name="col" [(ngModel)]="column" #name="ngModel" (selectionChange)="changeColumn()">\r\n <mat-option *ngFor="let c of columns; let i = index" [value]="i + 1">\r\n {{ c.name }}\r\n </mat-option>\r\n </mat-select>\r\n </mat-form-field>\r\n\r\n </div>\r\n\r\n</mat-dialog-content>\r\n\r\n<mat-dialog-content [style.marginLeft]="(data.config.classTable === \'material\') ? \'-10px\' : \'-20px\'">\r\n\r\n <div *ngIf="data.action === 1 || data.action === 2">\r\n <mat-checkbox [color]="\'primary\'" [(ngModel)]="editable">{{ data.config.language.editable }}</mat-checkbox>\r\n </div>\r\n\r\n <div *ngIf="data.action === 1 || data.action === 2">\r\n <label for="position" style="margin-top: 20px;">{{ data.config.language.applyFunction }}:</label>\r\n <table>\r\n <tr *ngFor="let f of functions; let i = index">\r\n <td><mat-checkbox [color]="\'primary\'" [(ngModel)]="applyFunctions[i]">{{ data.config.language[f.name] }}</mat-checkbox></td>\r\n <td class="unit">\r\n <div *ngIf="data.config.classTable === \'boostrap\'" class="row">\r\n <div class="unit-text">{{ data.config.language.units }} </div>\r\n <input id="unit" name="unit" class="form-control" [(ngModel)]="unitsFunctions[i]" style="width: 70px;" [disabled]="!applyFunctions[i]"/>\r\n </div>\r\n\r\n <mat-form-field *ngIf="data.config.classTable === \'material\'" style="width: 70px;">\r\n <mat-label>{{ data.config.language.units }}</mat-label>\r\n <input matInput id="unit" name="unit" [(ngModel)]="unitsFunctions[i]" #name="ngModel" [disabled]="!applyFunctions[i]">\r\n </mat-form-field>\r\n\r\n </td>\r\n </tr>\r\n </table>\r\n </div>\r\n\r\n</mat-dialog-content>\r\n\r\n<mat-dialog-actions class="footer-actions" style="float: right;">\r\n\r\n <button mat-button (click)="close()">{{ data.config.language.close }}</button>\r\n <button mat-button class="btn btnPrimary" (click)="onSubmit()">{{ data.config.language.accept }}</button>\r\n\r\n</mat-dialog-actions>',encapsulation:t.ViewEncapsulation.None,styles:[".unit{font-size:16px;padding-left:40px}.unit-text{margin-right:10px;margin-top:8px}.header-title{padding:15px .5rem .5rem 25px;font-size:1.5rem;background:#efefef;margin:-25px 0 20px -25px!important;width:40vw}.footer-actions{background:#efefef;width:40vw;padding:1rem 20px 1rem 1rem!important;margin-left:-25px!important;margin-right:-24px;margin-top:20px;display:flex;justify-content:flex-end}"]}),E(1,t.Inject(s.MAT_DIALOG_DATA))],e)}();!function(e){e[e.EXCEL=1]="EXCEL",e[e.PDF=2]="PDF"}(X||(X={})),(Q=e.ɵb||(e.ɵb={})).NEW_COLUMN="newColumn",Q.DELETE_COLUMN="deleteColumn",Q.EDIT_COLUMN="editColumn",Q.UPDATE_ROW="updateRow",Q.CLICK="click",Q.DBL_CLICK="dblclick",Q.SINGLE_SELECTION="singleSelection",Q.MULTIPLE_SELECTION="multipleSelection",Q.VISIBLE_DATA_TABLE="visibleDataTable",Q.DATA_TABLE="dataTable";var Y,$,Z=function(){function e(e,t){this.dialogRef=e,this.data=t,this.columns=[],this.description="",this.columns=t.columns.map((function(e){return Object.assign({},e)}))}return e.prototype.ngOnInit=function(){},e.prototype.save=function(){this.dialogRef.close(this.columns)},e.prototype.close=function(){this.dialogRef.close()},e.prototype.drop=function(e){m.moveItemInArray(this.columns,e.previousIndex,e.currentIndex)},e.ctorParameters=function(){return[{type:s.MatDialogRef},{type:void 0,decorators:[{type:t.Inject,args:[s.MAT_DIALOG_DATA]}]}]},e=C([t.Component({selector:"grid-columns-component",template:'<h2 mat-dialog-title>{{description}}</h2>\r\n<header>{{ data.config.language.columns }}</header>\r\n<mat-dialog-content>\r\n\r\n <div class="row py-2 mx-0 list-header">\r\n <div class="col-6 px-1"><strong>{{ data.config.language.column }}</strong></div>\r\n <div class="col-3 text-center"><strong>{{ data.config.language.show }}</strong></div>\r\n <div class="col-3 text-center"><strong>{{ data.config.language.fix }}</strong></div>\r\n </div>\r\n\r\n <div cdkDropList class="example-list" (cdkDropListDropped)="drop($event)" cdkDropListOrientation="vertical">\r\n\r\n <div class="example-box row" *ngFor="let c of columns" cdkDrag>\r\n <div class="col-6 column-name">{{c.name}}</div>\r\n <div class="col-3 text-center pt-2">\r\n <mat-checkbox [color]="\'primary\'" [(ngModel)]="c.visible"></mat-checkbox>\r\n </div>\r\n <div class="col-3 text-center pt-2">\r\n <mat-checkbox [color]="\'primary\'" [disabled]="!c.visible" [(ngModel)]="c.fixed"></mat-checkbox>\r\n </div>\r\n </div>\r\n\r\n </div>\r\n\r\n</mat-dialog-content>\r\n\r\n<mat-dialog-actions class="row m-0 py-2">\r\n <div class="col-6">\r\n <button class="col-12 btn btn-default" (click)="close()">{{ data.config.language.close }}</button>\r\n </div>\r\n <div class="col-6">\r\n <button class="col-12 btn btnPrimary" (click)="save()">{{ data.config.language.save }}</button>\r\n </div>\r\n</mat-dialog-actions>',encapsulation:t.ViewEncapsulation.None,styles:[".right-fixed{position:fixed!important;height:100vh;width:400px;max-width:400px;right:0}.right-fixed mat-dialog-container{border-radius:0;padding:0;overflow:hidden;margin:0}grid-columns-component{margin:-20px 0 0;display:block;height:100vh}grid-columns-component mat-dialog-content{height:calc(100% - 125px)!important;max-height:unset!important;padding:.5rem!important;margin:15px 0 0!important;overflow-y:hidden!important;overflow-x:hidden!important}grid-columns-component mat-dialog-content .list-header{border:1px solid #ccc;background:#efefef}grid-columns-component mat-dialog-content [cdkdroplist]{border-radius:0;border-top:0}grid-columns-component header{padding:.5rem;font-size:1.5rem;background:#efefef}grid-columns-component mat-dialog-actions{background:#efefef;padding:1rem!important;text-align:center}grid-columns-component .example-list{width:100%;max-width:100%;border:1px solid #ccc;display:block;background:#fff;border-radius:4px;overflow:hidden}grid-columns-component .example-box{padding:2px 5px 0;border-bottom:1px solid #ccc;color:rgba(0,0,0,.87);display:flex;flex-direction:row;align-items:center;justify-content:space-between;box-sizing:border-box;cursor:move;background:#fff}grid-columns-component .cdk-drag-placeholder{opacity:.6;background:InfoBackground}grid-columns-component .cdk-drag-animating{transition:transform 250ms cubic-bezier(0,0,.2,1)}grid-columns-component .example-box:last-child{border:none}grid-columns-component .example-list.cdk-drop-list-dragging .example-box:not(.cdk-drag-placeholder){transition:transform 250ms cubic-bezier(0,0,.2,1)}.cdk-drag-preview{opacity:1;cursor:move;background:#fff;box-sizing:border-box;border-radius:0;box-shadow:0 5px 5px -3px rgba(0,0,0,.2),0 8px 10px 1px rgba(0,0,0,.14),0 3px 14px 2px rgba(0,0,0,.12)}.column-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;line-height:30px}"]}),E(1,t.Inject(s.MAT_DIALOG_DATA))],e)}();!function(e){e.BOOSTRAP="boostrap",e.MATERIAL="material"}(Y||(Y={})),function(e){e.PRIMARY_COLOR="--primary-color",e.HOVER_ROW_COLOR="--hover-row-color",e.SECONDARY_COLOR="--secondary-color",e.HEADER_BACKGROUND="--header-background",e.HEADER_FONT_COLOR="--header-font-color",e.BORDER_TABLE_COLOR="--border-table-color",e.RESIZE_COLUMNS="--resize-columns",e.DROPDOWN_BORDER="--dropdown-border",e.DROPDOWN_BORDER_RADIUS="--dropdown-border-radius",e.DROPDOWN_BORDER_BOTTOM="--dropdown-border-bottom",e.BOX_SHADOW_TABLE="--box-shadow-table"}($||($={}));var ee=function(){function r(e,o,r){var a=this;this.ngxTableService=e,this.notification=o,this.dialog=r,this.config=new K,this.viewDialog=!1,this.beforeAction=null,this.actionsTocontrol=[],this.event=new t.EventEmitter,this.click=new t.EventEmitter,this.dblclick=new t.EventEmitter,this.singleSelection=new t.EventEmitter,this.multipleSelection=new t.EventEmitter,this.visibleDataTable=new t.EventEmitter,this.dataTable=new t.EventEmitter,this.updateRow=new t.EventEmitter,this.newColumn=new t.EventEmitter,this.editColumnOuput=new t.EventEmitter,this.deleteColumnOuput=new t.EventEmitter,this.editing={},this.alt=!1,this.asc=!0,this.columnsFilterList=[],this.selectedColumnsFilter=[],this.dropdownSettings={},this.selectColumnsFilter=!1,this.height={},this.indexNewColumn=0,this.sumaryColumns=[],this.dataSumary=[],this.getRowClass=function(e){return{"row-active-add":a.rowsTempTableAdd.includes(e[a.indexColumn])&&!!a.config.multipleSelection,"row-active":!(a.backgroundActiveRow!=e[a.indexColumn]||!a.config.singleSelection)}},this.rowsTempTableAdd=[],this.fullscreen=!1,this.temp=[],this.rows=[],this.indexColumn="",this.lastSortEvent=null}return r.prototype.ngOnInit=function(){this.config=new K(this.config),V.includes(this.config.classTable)||(this.config.classTable=V[0]),this.setThemeStyles(),this.buildIndex(),this.checkPredefinedDataColumn(),this.searchActions(),this.getAll(),this.buildFilterByColumns(),this.dropdownSettings={singleSelection:!1,idField:"item_id",textField:"item_text",selectAllText:this.config.language.selectAll,unSelectAllText:this.config.language.unSelectAll,itemsShowLimit:3,allowSearchFilter:!0,searchPlaceholderText:this.config.language.search},this.primitiveHeight=this.config.editableColumns?{fullscreen:180,fullscreenFilter:220}:{fullscreen:150,fullscreenFilter:190},this.height={fullscreen:this.primitiveHeight.fullscreen,fullscreenFilter:this.primitiveHeight.fullscreenFilter},this.sumaryColumns=this.columns.filter((function(e){return!!new N(e).sumary.length})),this.updateSumaryColumns()},r.prototype.ngAfterViewInit=function(){var e=this;this.config.filter&&o.fromEvent(this.search.nativeElement,"keydown").pipe(i.debounceTime(550),i.map((function(e){return e.target.value}))).subscribe((function(t){e.updateFilter(t),e.updateSumaryColumns()})),this.columns.forEach((function(t){t.index&&(e.indexColumn=t.prop)})),this.resize(10)},r.prototype.ngAfterViewChecked=function(){var t=this;this.subscriptionChanges||(this.subscriptionChanges=this.notification.on(this.name).subscribe((function(o){var r=new W(o);if(null!=r.collapsed&&(t.config.collapsed=r.collapsed),r.rows.length&&(t.data=r.rows,t.getAll(),t.config.filter&&t.search.nativeElement.value&&t.updateFilter(t.search.nativeElement.value),t.updateSumaryColumns()),r.columns.length&&(t.columns=r.columns,t.buildFilterByColumns(),t.config.filter&&t.search.nativeElement.value&&t.updateFilter(t.search.nativeElement.value),t.updateSumaryColumns()),r.visibleDataTable){var a=t.columns.filter((function(e){return!e.hide&&!e.action&&!!e.visible})).map((function(e){return e.prop}));t.visibleDataTable.emit({name:e.ɵb.VISIBLE_DATA_TABLE,columns:t.columns.filter((function(e){return!e.hide&&!e.action&&!!e.visible})),rows:t.rows.map((function(e){var t={};return Object.keys(e).forEach((function(o){var r;a.includes(o)&&Object.assign(t,((r={})[o]=e[o],r))})),t}))})}if(r.dataTable){var n=t.columns.filter((function(e){return!e.action})).map((function(e){return e.prop}));t.dataTable.emit({name:e.ɵb.DATA_TABLE,columns:t.columns.filter((function(e){return!e.action})),rows:t.data.map((function(e){var t={};return Object.keys(e).forEach((function(o){var r;n.includes(o)&&Object.assign(t,((r={})[o]=e[o],r))})),t}))})}r.exportExcel&&t.export(X.EXCEL),r.exportPdf&&t.export(X.PDF),t.config.filter&&t.search.nativeElement.value&&t.updateFilter(t.search.nativeElement.value),t.resize(10)})))},r.prototype.onResize=function(e){this.height=e.target.innerWidth<992?{fullscreen:this.primitiveHeight.fullscreen+55,fullscreenFilter:this.primitiveHeight.fullscreenFilter+54}:{fullscreen:this.primitiveHeight.fullscreen,fullscreenFilter:this.primitiveHeight.fullscreenFilter}},r.prototype.setThemeStyles=function(){this.setPropertyCss({key:$.PRIMARY_COLOR,value:this.config.primaryColor},{key:$.HOVER_ROW_COLOR,value:this.config.hoverRowColor},{key:$.SECONDARY_COLOR,value:this.config.secondaryColor},{key:$.HEADER_BACKGROUND,value:this.config.headerBackground},{key:$.HEADER_FONT_COLOR,value:this.config.headerFontColor},{key:$.BORDER_TABLE_COLOR,value:this.config.borderTableColor}),this.config.resizeColumns||this.setPropertyCss({key:$.RESIZE_COLUMNS,value:"none"}),this.config.classTable===Y.MATERIAL?this.setPropertyCss({key:$.DROPDOWN_BORDER,value:"transparent"},{key:$.DROPDOWN_BORDER_RADIUS,value:"0"},{key:$.DROPDOWN_BORDER_BOTTOM,value:"grey"}):this.setPropertyCss({key:$.BOX_SHADOW_TABLE,value:"none"})},r.prototype.setPropertyCss=function(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];e.forEach((function(e){return document.documentElement.style.setProperty(e.key,e.value)}))},r.prototype.buildIndex=function(){var e,t=null;if(this.columns=this.columns.map((function(o,r){return null!=t&&o.index&&(o.index=!1),o.index&&(t=r,e=o),new N(o)})),null===t){var o="index_genrete_automatically_by_powerfull",r={prop:o,name:"Index",index:!0,hide:!0};this.columns.splice(0,0,new N(r)),this.data.forEach((function(e,t){e[o]=t}))}else 0!=t&&(this.columns.splice(t,1),this.columns.splice(0,0,new N(e)))},r.prototype.onChangeSelectFilter=function(){this.updateFilter(this.search.nativeElement.value),this.updateSumaryColumns()},r.prototype.openConfigFilter=function(){this.selectColumnsFilter=!this.selectColumnsFilter,this.resize(10)},r.prototype.buildFilterByColumns=function(){this.columnsFilterList=this.selectedColumnsFilter=this.columns.filter((function(e){return!(e.hide||e.action||!e.visible||!e.filtered)})).map((function(e){return Object.assign({item_id:e.prop,item_text:e.name})}))},r.prototype.searchActions=function(){var e=this,t=this.columns.filter((function(e){return!!e.action}));t.length&&t.forEach((function(t){e.data.forEach((function(e){var o="<"+t.tag;t.attributes.length&&t.attributes.forEach((function(e){o+=" "+e.name+"='"+e.value+"'"})),o+=">"+e[t.prop]+"</"+t.tag+">",e[t.prop]=o}))})),this.columns=this.columns.filter((function(e){return!e.action})),t.forEach((function(t){return e.columns.push(t)}))},r.prototype.onActivate=function(t){var o=this;if(t.type==e.ɵb.CLICK||t.type==e.ɵb.DBL_CLICK){if(t.event.shiftKey||(this.backgroundActiveRow!=t.row[this.indexColumn]?this.backgroundActiveRow=t.row[this.indexColumn]:t.type!=e.ɵb.DBL_CLICK&&(this.backgroundActiveRow=null),t.type==e.ɵb.CLICK?this.click.emit({name:t.type,row:t.row}):this.dblclick.emit({name:t.type,row:t.row})),t.event.ctrlKey&&!this.viewDialog&&!t.event.altKey&&this.config.multipleSelection&&(this.backgroundActiveRow=null,this.rowsTempTableAdd.includes(t.row[this.indexColumn])?this.rowsTempTableAdd.forEach((function(e,r){e===t.row[o.indexColumn]&&o.rowsTempTableAdd.splice(r,1)})):this.rowsTempTableAdd.push(t.row[this.indexColumn])),t.event.altKey&&!this.viewDialog&&!t.event.ctrlKey&&this.config.multipleSelection)if(this.backgroundActiveRow=null,this.alt){if(this.lastSortEvent&&this.sortRows(this.lastSortEvent),this.firstIndexAltKey===t.row[this.indexColumn])return this.firstIndexAltKey=null,this.alt=!1,void this.rowsTempTableAdd.forEach((function(e,r){e!==t.row[o.indexColumn]||o.rowsTempTableAdd.splice(r,1)}));var r=!1;this.rows.forEach((function(e){if(o.asc){if(e[o.indexColumn]===t.row[o.indexColumn]&&r)return r=!1,void(o.rowsTempTableAdd.includes(t.row[o.indexColumn])||o.rowsTempTableAdd.push(t.row[o.indexColumn]))}else if(o.firstIndexAltKey===e[o.indexColumn]&&r)return void(r=!1);(e[o.indexColumn]===o.firstIndexAltKey||e[o.indexColumn]===t.row[o.indexColumn]||r)&&(e[o.indexColumn]!==t.row[o.indexColumn]||r||(o.asc=!1,o.rowsTempTableAdd.push(e[o.indexColumn])),r?!o.rowsTempTableAdd.includes(e[o.indexColumn])&&o.rowsTempTableAdd.push(e[o.indexColumn]):r=!0)})),this.alt=!1}else this.firstIndexAltKey=t.row[this.indexColumn],this.rowsTempTableAdd.includes(this.firstIndexAltKey)||this.rowsTempTableAdd.push(t.row[this.indexColumn]),this.alt=!0,this.asc=!0;t.event.shiftKey&&!this.viewDialog&&!t.event.ctrlKey&&this.config.multipleSelection&&(this.rowsTempTableAdd=[],this.firstIndexAltKey=null,this.alt=!1,this.asc=!0),t.event.altKey&&t.event.ctrlKey&&this.config.multipleSelection&&(this.rowsTempTableAdd=this.rows.map((function(e){return e[o.indexColumn]}))),this.config.multipleSelection&&(t.event.altKey||t.event.ctrlKey||t.event.shiftKey)&&this.multipleSelection.emit({name:e.ɵb.MULTIPLE_SELECTION,rows:this.rowsTempTableAdd.map((function(e){return o.data.find((function(t){return t[o.indexColumn]===e}))}))||[]}),!this.config.singleSelection||t.event.altKey||t.event.ctrlKey||t.event.shiftKey||t.type!=e.ɵb.CLICK&&t.type!=e.ɵb.DBL_CLICK||this.singleSelection.emit({name:e.ɵb.SINGLE_SELECTION,row:this.backgroundActiveRow?t.row:null})}},r.prototype.updateFilter=function(e){var t=this,o=e.toString().toLowerCase().trim(),r=this.columns.length,a=Object.keys(this.temp[0]),n=this.selectedColumnsFilter.map((function(e){return e.item_id}));this.rows=this.temp.filter((function(e){for(var i=Object.keys(e),l=0;l<r;l++)if(n.includes(i[l])&&i[l]!=t.indexColumn&&e[a[l]]&&-1!==e[a[l]].toString().toLowerCase().indexOf(o)||!o)return!0}))},r.prototype.onSort=function(e){this.lastSortEvent=e,this.sortRows(e)},r.prototype.getAll=function(){var e=this.data;this.temp=e,this.rows=z(this.temp)},r.prototype.updateValue=function(t,o,r){var a=this,n=null,i=null,l=null,d=null,c=!1;this.editing[r+"-"+o]=!1,this.rows.forEach((function(f){return A(a,void 0,void 0,(function(){var a;return T(this,(function(s){switch(s.label){case 0:return f[this.indexColumn]!==r?[3,3]:(i=this.columns.find((function(e){return e.prop===o})),l=f[o],d=t.target.value,(a=!!this.beforeAction&&this.actionsTocontrol.includes(e.ɵb.UPDATE_ROW))?[4,this.beforeAction.call(this,{name:e.ɵb.UPDATE_ROW,row:Object.assign({},f),cell:{column:i,oldValue:l,newValue:d}})]:[3,2]);case 1:a=!s.sent(),s.label=2;case 2:if(a)return[2];f[o]=t.target.value,n=Object.assign({},f),c=!0,s.label=3;case 3:return[2]}}))}))})),this.rows=z(this.rows),this.updateSumaryColumns(),l!==d&&c&&(this.columns.filter((function(e){return!!e.action})).forEach((function(e){return delete n[e.prop]})),this.updateRow.emit({name:e.ɵb.UPDATE_ROW,row:n,cell:{column:i,oldValue:l,newValue:d}}))},r.prototype.sendEvent=function(e,t){var o={name:e,row:t};this.event.emit(o)},r.prototype.toggleFullscreen=function(){this.fullscreen=!this.fullscreen,this.resize(10)},r.prototype.sortRows=function(e){var t="asc",o="";if(e){t=e.sorts[0].dir,o=e.sorts[0].prop;var r=this.columns.find((function(e){return e.prop===o}));this.rows.sort((function(e,a){try{var n=e[o].toString().localeCompare(a[o],void 0,{numeric:r.sort.numeric});return"asc"==t?n:-1*n}catch(t){return console.warn("Extended localeCompare() not supported in this browser."),e[o].toString().localeCompare(a[o])}}))}},r.prototype.export=function(e){var t=this.columns.filter((function(e){return!e.hide&&!e.action&&!!e.visible}));switch(e){case X.EXCEL:var o=[];this.lastSortEvent&&this.sortRows(this.lastSortEvent),this.rows.forEach((function(e){var r={};t.forEach((function(t){r[t.name]=e[t.prop]})),o.push(r)})),this.ngxTableService.exportAsExcelFile(o,this.name,t.length);break;case X.PDF:var r=t.map((function(e){return e.name})),a=t.map((function(e){return e.prop})),n=this.rows.map((function(e){var t=[];return a.forEach((function(o){t.push(e[o])})),t}));this.ngxTableService.exportAsPdf(this.name,[r],n)}},r.prototype.openDialog=function(){var e=this,t=this.rowsTempTableAdd.map((function(t){return e.data.find((function(o){return o[e.indexColumn]===t}))}));this.dialog.open(G,{width:"80vw",height:"auto",data:{name:this.name+" "+this.config.language.generated,rows:t,columns:this.columns,config:this.config}})},r.prototype.closeDialog=function(){this.dialog.closeAll(),this.resize(100)},r.prototype.resize=function(e){setTimeout((function(){return window.dispatchEvent(new Event("resize"))}),e)},r.prototype.addColumn=function(){var t=this;this.dialog.open(J,{width:"40vw",height:"auto",data:{action:q.ADD,nColumns:this.columns.filter((function(e){return!e.hide&&!e.action})).length+1,config:this.config}}).afterClosed().subscribe((function(o){return A(t,void 0,void 0,(function(){var t,r,a,n,i,l;return T(this,(function(d){switch(d.label){case 0:return o&&o.name&&o.name.length?(t=_,r=[],o.functions.map((function(e,a){e&&r.push({type:t[a].type,unit:o.unitsFuntions[a]?o.unitsFuntions[a]:""})})),a={prop:"c-"+this.indexNewColumn,name:o.name.charAt(0).toUpperCase()+o.name.slice(1),editable:o.editable,sumary:r,predefinedData:o.predefined},(n=!!this.beforeAction&&this.actionsTocontrol.includes(e.ɵb.NEW_COLUMN))?[4,this.beforeAction.call(this,{name:e.ɵb.NEW_COLUMN,column:new N(a)})]:[3,2]):[3,3];case 1:n=!d.sent(),d.label=2;case 2:if(n)return[2];this.data.forEach((function(e){var t;return Object.assign(e,((t={})[a.prop]=o.predefined,t))})),(i=this.columns[0].hide?o.position:o.position-1)==this.columns.length?this.columns.push(new N(a)):this.columns.splice(i,0,new N(a)),this.indexNewColumn++,this.buildFilterByColumns(),l=!!this.sumaryColumns.length,this.sumaryColumns=this.columns.filter((function(e){return!!e.visible&&!!new N(e).sumary.length})),this.updateSumaryColumns(),l!==!!this.sumaryColumns.length&&this.resize(10),this.newColumn.emit({name:e.ɵb.NEW_COLUMN,column:new N(a)}),d.label=3;case 3:return[2]}}))}))}))},r.prototype.editColumn=function(){var t=this;this.dialog.open(J,{width:"40vw",height:"auto",data:{action:q.EDIT,columns:this.columns.filter((function(e){return!e.hide&&!e.action})),config:this.config}}).afterClosed().subscribe((function(o){return A(t,void 0,void 0,(function(){var t,r,a,n,i,l,d,c,f;return T(this,(function(s){switch(s.label){case 0:return o&&o.name&&o.name.length&&o.column?(t=_,r=[],o.functions.map((function(e,a){e&&r.push({type:t[a].type,unit:o.unitsFuntions[a]?o.unitsFuntions[a]:""})})),a=this.columns[0].hide?o.newPosition:o.newPosition-1,n=this.columns[0].hide?o.column:o.column-1,i=Object.assign({},this.columns[n]),(l=Object.assign({},i)).name=o.name,l.editable=o.editable,l.sumary=r,(d=!!this.beforeAction&&this.actionsTocontrol.includes(e.ɵb.EDIT_COLUMN))?[4,this.beforeAction.call(this,{name:e.ɵb.EDIT_COLUMN,oldColumn:i,updatedColumn:new N(l)})]:[3,2]):[3,3];case 1:d=!s.sent(),s.label=2;case 2:if(d)return[2];this.columns[n].name=o.name,this.columns[n].editable=o.editable,this.columns[n].sumary=r,c=this.columns.splice(n,1),a==this.columns.length?this.columns.push(new N(c[0])):this.columns.splice(a,0,new N(c[0])),this.columnsFilterList=this.selectedColumnsFilter=this.columns.filter((function(e){return!(e.hide||e.action||!e.visible||!e.filtered)})).map((function(e){return Object.assign({item_id:e.prop,item_text:e.name})})),f=!!this.sumaryColumns.length,this.sumaryColumns=this.columns.filter((function(e){return!!e.visible&&!!new N(e).sumary.length})),this.updateSumaryColumns(),this.editColumnOuput.emit({name:e.ɵb.EDIT_COLUMN,oldColumn:i,updatedColumn:new N(c[0])}),f!==!!this.sumaryColumns.length&&this.resize(10),s.label=3;case 3:return[2]}}))}))}))},r.prototype.deleteColumn=function(){var t=this;this.dialog.open(J,{width:"40vw",height:"auto",data:{action:q.DELETE,columns:this.columns.filter((function(e){return!e.hide&&!e.action})),config:this.config}}).afterClosed().subscribe((function(o){return A(t,void 0,void 0,(function(){var t,r,a,n,i;return T(this,(function(l){switch(l.label){case 0:return o&&o.column?(t=this.columns[0].hide?o.column:o.column-1,r=this.columns[t].prop,(a=!!this.beforeAction&&this.actionsTocontrol.includes(e.ɵb.DELETE_COLUMN))?[4,this.beforeAction.call(this,{name:e.ɵb.DELETE_COLUMN,column:this.columns[t]})]:[3,2]):[3,3];case 1:a=!l.sent(),l.label=2;case 2:if(a)return[2];n=this.columns.splice(t,1),this.buildFilterByColumns(),this.rows.forEach((function(e){return delete e[r]})),i=!!this.sumaryColumns.length,this.sumaryColumns=this.columns.filter((function(e){return!!e.visible&&!!new N(e).sumary.length})),this.updateSumaryColumns(),this.deleteColumnOuput.emit({name:e.ɵb.DELETE_COLUMN,column:n[0]}),i!==!!this.sumaryColumns.length&&this.resize(10),l.label=3;case 3:return[2]}}))}))}))},r.prototype.updateSumaryColumns=function(){var e=this;this.dataSumary=[],this.sumaryColumns.forEach((function(t){t.sumary.forEach((function(o){switch(o.type){case O.SUM:var r=0;e.rows.forEach((function(o){e.isNumeric(o[t.prop])&&(r+=parseFloat(o[t.prop]))})),e.dataSumary.push({text:e.config.language.total,column:t.name,data:r,unit:o.unit});break;case O.AVERAGE:var a=0,n=0;e.rows.forEach((function(o){e.isNumeric(o[t.prop])&&(n+=parseFloat(o[t.prop])),a++})),e.dataSumary.push({text:e.config.language.avarage,column:t.name,data:n?(n/a).toFixed(2):0,unit:o.unit});break;case O.MAX:var i=0;e.rows.forEach((function(o){e.isNumeric(o[t.prop])&&parseFloat(o[t.prop])>i&&(i=parseFloat(o[t.prop]))})),e.dataSumary.push({text:e.config.language.maximum,column:t.name,data:i,unit:o.unit});break;case O.MIN:var l=e.rows.length&&e.isNumeric(e.rows[0][t.prop])?parseFloat(e.rows[0][t.prop]):0;e.rows.forEach((function(o){e.isNumeric(o[t.prop])&&parseFloat(o[t.prop])<l&&(l=parseFloat(o[t.prop]))})),e.dataSumary.push({text:e.config.language.minimum,column:t.name,data:l,unit:o.unit})}}))}))},r.prototype.isNumeric=function(e){return!isNaN(parseFloat(e))&&isFinite(e)},r.prototype.checkPredefinedDataColumn=function(){var e=this;this.columns.filter((function(e){return!!e.predefinedData})).forEach((function(t){e.data.forEach((function(e){e.hasOwnProperty(t.prop)||(e[t.prop]=t.predefinedData)}))}))},r.prototype.configureColumns=function(){var e=this,t=Object.assign(new s.MatDialogConfig,{disableClose:!0,autoFocus:!0,top:0,right:0,panelClass:"right-fixed",data:{columns:this.columns.filter((function(e){return!e.hide&&!e.action})),config:this.config}});this.dialog.open(Z,t).afterClosed().subscribe((function(t){if(t){var o=[];e.columns.forEach((function(e){e.hide&&o.push(new N(e))})),t.forEach((function(e){return o.push(new N(e))})),e.columns.forEach((function(e){e.action&&o.push(new N(e))})),e.columns=o,e.buildFilterByColumns();var r=!!e.sumaryColumns.length;e.sumaryColumns=e.columns.filter((function(e){return e.visible&&!!new N(e).sumary.length})),e.updateSumaryColumns(),r!==!!e.sumaryColumns.length&&e.resize(10)}}))},r.prototype.ngOnDestroy=function(){this.subscriptionChanges&&this.subscriptionChanges.unsubscribe()},r.ctorParameters=function(){return[{type:P},{type:I},{type:s.MatDialog}]},C([t.ViewChild("search",{static:!1})],r.prototype,"search",void 0),C([t.Input()],r.prototype,"name",void 0),C([t.Input()],r.prototype,"config",void 0),C([t.Input()],r.prototype,"columns",void 0),C([t.Input()],r.prototype,"data",void 0),C([t.Input()],r.prototype,"viewDialog",void 0),C([t.Input()],r.prototype,"beforeAction",void 0),C([t.Input()],r.prototype,"actionsTocontrol",void 0),C([t.Output()],r.prototype,"event",void 0),C([t.Output()],r.prototype,"click",void 0),C([t.Output()],r.prototype,"dblclick",void 0),C([t.Output()],r.prototype,"singleSelection",void 0),C([t.Output()],r.prototype,"multipleSelection",void 0),C([t.Output()],r.prototype,"visibleDataTable",void 0),C([t.Output()],r.prototype,"dataTable",void 0),C([t.Output()],r.prototype,"updateRow",void 0),C([t.Output()],r.prototype,"newColumn",void 0),C([t.Output(e.ɵb.EDIT_COLUMN)],r.prototype,"editColumnOuput",void 0),C([t.Output(e.ɵb.DELETE_COLUMN)],r.prototype,"deleteColumnOuput",void 0),C([t.HostListener("window:resize",["$event"])],r.prototype,"onResize",null),r=C([t.Component({selector:"ngx-table-powerfull",template:'<div class="row" [ngClass]="{ \'maximize\': !!fullscreen }">\r\n <div class="col-12 ngx-table-powerfull">\r\n <div [ngClass]="{\'card\': (!!config.cardBody || !!fullscreen) && (!viewDialog || !!fullscreen)}" >\r\n <div class="card-body" [ngClass]="{ \'table-dialog\': !!viewDialog && !!fullscreen }">\r\n <h4 class="card-title" [ngClass]="{ \'min-height\': !!config.visibleTitle || !!config.fullscreen }">{{ !!config.visibleTitle ? name : \'\' }}</h4>\r\n\r\n <div class="row mt-4 px-4">\r\n <button *ngIf="!!config.fullscreen" [ngClass]="{ \'button-fullscreen\': !viewDialog, \'button-fullscreen-dialog\': !!viewDialog, \'button-fullscreen-dialog-f\': !!viewDialog && !!fullscreen }" (click)="toggleFullscreen()">\r\n <i *ngIf="!fullscreen" class="material-icons" [matTooltip]="config.language.maximize">fullscreen</i>\r\n <i *ngIf="!!fullscreen" class="material-icons" [matTooltip]="config.language.restore">fullscreen_exit</i>\r\n </button>\r\n\r\n <i *ngIf="!!viewDialog" class="material-icons" [ngClass]="{ \'default-close\': !fullscreen, \'fullscreen-close\': !!fullscreen }" (click)="closeDialog()" [matTooltip]="config.language.close">close</i>\r\n </div>\r\n\r\n <div class="form-group">\r\n <div class="row" style="min-height: 48px !important;">\r\n\r\n <div class="col-12 filter-search" [ngClass]="{\'col-lg-6\': !!rowsTempTableAdd.length && !!config.viewDialogTable , \'col-lg-7\': !rowsTempTableAdd.length || !config.viewDialogTable }">\r\n\r\n <mat-form-field *ngIf="!!config.filter && config.classTable === \'material\'" class="example-full-width" style="width: 100%; margin-top: -10px !important;">\r\n <mat-label>{{ config.language.filterResults }}</mat-label>\r\n <input matInput #search id="search" type="text">\r\n </mat-form-field>\r\n\r\n <input #search *ngIf="!!config.filter && config.classTable === \'boostrap\'" id="search" class="form-control" type="text" [placeholder]="config.language.filterResults"/>\r\n\r\n <ng-multiselect-dropdown\r\n *ngIf="!!selectColumnsFilter"\r\n class="selected-columns"\r\n [placeholder]="config.language.selectColumns"\r\n [data]="columnsFilterList"\r\n [(ngModel)]="selectedColumnsFilter"\r\n [settings]="dropdownSettings"\r\n (ngModelChange)="onChangeSelectFilter()"\r\n >\r\n </ng-multiselect-dropdown>\r\n\r\n </div>\r\n\r\n <div class="col-12 col-lg-1 setting">\r\n <i *ngIf="!selectColumnsFilter && !!config.filter && !!config.filterByColumn" class="material-icons settings-search" [matTooltip]="config.language.configureFilter" (click)="openConfigFilter()">settings</i>\r\n <i *ngIf="!!selectColumnsFilter && !!config.filter && !!config.filterByColumn" class="material-icons settings-search" [matTooltip]="config.language.closeConfigure" (click)="openConfigFilter()">close</i>\r\n </div>\r\n\r\n <div class="col-12 text-right" [ngClass]="{\'col-lg-5\': !!rowsTempTableAdd.length && !!config.viewDialogTable , \'col-lg-4\': !rowsTempTableAdd.length || !config.viewDialogTable}">\r\n \r\n <button *ngIf="!!rowsTempTableAdd.length && !!config.viewDialogTable" class="btn btnPrimary-outline-generate" (click)="openDialog()">\r\n