ngx-mariem-datatable
Version:
Advanced table extension with sorting, filtering, paging and more... for Angular apps
719 lines • 63.9 kB
JavaScript
/**
* @fileoverview added by tsickle
* Generated from: lib/ngx-mariem-datatable.component.ts
* @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
*/
import { Component, ChangeDetectionStrategy, ViewEncapsulation, Pipe, Output, EventEmitter, Input, } from "@angular/core";
import { Animations } from "./animations";
import { DatePipe } from "@angular/common";
var NgxMariemDatatableComponent = /** @class */ (function () {
function NgxMariemDatatableComponent() {
// when row clicked
this.onRowClicked = new EventEmitter();
//when action clicked
this.onActionClicked = new EventEmitter();
//when link clicked
this.onlinkClicked = new EventEmitter();
//when Toggle All clicked
this.onToggleAllClicked = new EventEmitter();
//when Toggle clicked
this.onToggleClicked = new EventEmitter();
//toDisplay Small Cells
this.smallCells = false;
//to Hide actions in parent child row
this.hideParentAction = false;
//loading List
this.loadingList = false;
this.nbRows = 4;
this.hideTheader = false;
this.textalign = "left";
//Regroupping
this.regroupbylabel = "";
this.regroupbylist = [""];
this.regroupby = false;
this.display = [true];
this._datatable = [];
this.datatableChange = new EventEmitter();
//************server Side pagination///////////////////
this.numberOfRecords = 0; //required when serverSidePagination true
//required when serverSidePagination true
this.serverSidePagination = false;
this.startDisplay = new EventEmitter();
//************server Side pagination///////////////////////
//************server Side search///////////////////
this.serverSidesearch = false;
this.search = new EventEmitter();
this.displayedColomnList = [];
this._Actions = [];
//Empty list message
this.nothingToShowMessage = "Pas de résultats";
//pagination message
this.paginationmessag = "";
//if false first and last buttons will be hidden
this.showBoundaryLinks = true;
this._itemsPerPage = 10;
//limit number for page links in pager
this.maxSize = 5;
//if true datatable items should contain id & selected columns
this.checkboxes = false;
this.checkboxesMultiselect = true;
//set if show pagination or not
this.pagination = true;
// @Input() filterInside: boolean = false;
//******For PDF/Exel && CSV files ///
this.nameOnExtract = "Liste";
// @Input() showExtracttns: boolean = true;
//******For PDF/Exel && CSV files ///
this.Advancedfilter = true;
this.visibility = true;
this.datatableexist = false;
this.searchexist = false;
this._searchvalue = "";
this.startItem = 0;
this.endItem = 10;
this.dataChild = [];
this.dataChildRow = [];
this.filtreopen = true;
this.filters = [];
this.associations = [];
this.checkAll = false;
}
Object.defineProperty(NgxMariemDatatableComponent.prototype, "datatable", {
//data
set:
//data
/**
* @param {?} value
* @return {?}
*/
function (value) {
var _this = this;
if (value && this._datatable != value) {
if (this.regroupby && this.regroupbylabel) {
this.regroupbylist = [];
value.map((/**
* @param {?} el
* @return {?}
*/
function (el) {
if (_this.regroupbylist.indexOf(el[_this.regroupbylabel]) < 0)
_this.regroupbylist.push(el[_this.regroupbylabel]);
_this.display.push(true);
}));
}
// this._datatable = cloneDeep(value);
this._datatable = value;
}
},
enumerable: true,
configurable: true
});
Object.defineProperty(NgxMariemDatatableComponent.prototype, "displayedColomn", {
//************server Side search///////////////////////
//columns to display from datatable
set:
//************server Side search///////////////////////
//columns to display from datatable
/**
* @param {?} value
* @return {?}
*/
function (value) {
/** @type {?} */
var searchexist = value.find((/**
* @param {?} el
* @return {?}
*/
function (el) {
return el.search == true;
}));
this.searchexist = searchexist ? true : false;
this.displayedColomnList = value.map((/**
* @param {?} el
* @return {?}
*/
function (el) {
return el;
}));
},
enumerable: true,
configurable: true
});
Object.defineProperty(NgxMariemDatatableComponent.prototype, "Actions", {
get: /**
* @return {?}
*/
function () {
return this._Actions;
},
//list of actions
set:
//list of actions
/**
* @param {?} value
* @return {?}
*/
function (value) {
this._Actions = value;
this._Actions = value.map((/**
* @param {?} el
* @return {?}
*/
function (el) {
return el;
}));
},
enumerable: true,
configurable: true
});
Object.defineProperty(NgxMariemDatatableComponent.prototype, "itemsPerPage", {
//maximum number of items per page. If value less than 1 will display all items on one page
set:
//maximum number of items per page. If value less than 1 will display all items on one page
/**
* @param {?} value
* @return {?}
*/
function (value) {
this._itemsPerPage = value;
// this.endItem = cloneDeep(value);
this.endItem = value;
this.startItem = 0;
},
enumerable: true,
configurable: true
});
Object.defineProperty(NgxMariemDatatableComponent.prototype, "searchvalue", {
get: /**
* @return {?}
*/
function () {
return this._searchvalue;
},
set: /**
* @param {?} value
* @return {?}
*/
function (value) {
// this._searchvalue = cloneDeep(value);
this._searchvalue = value;
this.refreshPagination();
},
enumerable: true,
configurable: true
});
/**
* @return {?}
*/
NgxMariemDatatableComponent.prototype.ngOnInit = /**
* @return {?}
*/
function () { };
/**
* @return {?}
*/
NgxMariemDatatableComponent.prototype.checkAllClicked = /**
* @return {?}
*/
function () {
var _this = this;
// this._datatable = cloneDeep(
// this._datatable.map((el) => {
// el.selected = this.checkAll;
// return el;
// })
// );
this._datatable = this._datatable.map((/**
* @param {?} el
* @return {?}
*/
function (el) {
el.selected = _this.checkAll;
return el;
}));
this.datatableChanged();
};
/**
* @param {?} row
* @return {?}
*/
NgxMariemDatatableComponent.prototype.ckeckBoxClicked = /**
* @param {?} row
* @return {?}
*/
function (row) {
if (!this.checkboxesMultiselect) {
this._datatable = this._datatable.map((/**
* @param {?} el
* @return {?}
*/
function (el) {
if (el.selected && el.id != row.id) {
el.selected = false;
}
return el;
}));
}
/** @type {?} */
var allschecked = this._datatable.find((/**
* @param {?} el
* @return {?}
*/
function (el) { return !el.selected; }));
this.checkAll = allschecked ? false : true;
this.datatableChanged();
};
/**
* @return {?}
*/
NgxMariemDatatableComponent.prototype.datatableChanged = /**
* @return {?}
*/
function () {
this.datatableChange.emit(this._datatable);
};
/**
* @param {?} item
* @return {?}
*/
NgxMariemDatatableComponent.prototype.rowClicked = /**
* @param {?} item
* @return {?}
*/
function (item) {
this.onRowClicked.emit(item);
};
/**
* @param {?} event
* @return {?}
*/
NgxMariemDatatableComponent.prototype.actionClicked = /**
* @param {?} event
* @return {?}
*/
function (event) {
this.onActionClicked.emit(event);
};
/**
* @param {?} data
* @return {?}
*/
NgxMariemDatatableComponent.prototype.sortAsc = /**
* @param {?} data
* @return {?}
*/
function (data) {
this._datatable.sort((/**
* @param {?} a
* @param {?} b
* @return {?}
*/
function (a, b) {
if (typeof a[data] == "number")
return a[data] - b[data];
/** @type {?} */
var item1 = a[data] ? a[data].toUpperCase() : "";
/** @type {?} */
var item2 = b[data] ? b[data].toUpperCase() : "";
if (item1 < item2) {
return -1;
}
if (item1 > item2) {
return 1;
}
return 0;
}));
};
/**
* @param {?} data
* @return {?}
*/
NgxMariemDatatableComponent.prototype.sortDesc = /**
* @param {?} data
* @return {?}
*/
function (data) {
this._datatable.sort((/**
* @param {?} b
* @param {?} a
* @return {?}
*/
function (b, a) {
if (typeof a[data] == "number")
return a[data] - b[data];
/** @type {?} */
var item1 = a[data] ? a[data].toUpperCase() : "";
/** @type {?} */
var item2 = b[data] ? b[data].toUpperCase() : "";
if (item1 < item2) {
return -1;
}
if (item1 > item2) {
return 1;
}
return 0;
}));
};
/**
* @param {?} title
* @return {?}
*/
NgxMariemDatatableComponent.prototype.sortBy = /**
* @param {?} title
* @return {?}
*/
function (title) {
/** @type {?} */
var data = title.data;
title.sorted = title.sorted ? !title.sorted : true;
this.sortByItem = title;
if (title.sorted) {
this.sortAsc(data);
}
else {
this.sortDesc(data);
}
};
/**
* @param {?} event
* @return {?}
*/
NgxMariemDatatableComponent.prototype.pageChanged = /**
* @param {?} event
* @return {?}
*/
function (event) {
this.startItem = (event.page - 1) * event.itemsPerPage;
this.endItem = event.page * event.itemsPerPage;
if (this.serverSidePagination) {
this.startDisplay.emit(this.startItem);
}
};
/**
* @return {?}
*/
NgxMariemDatatableComponent.prototype.refreshPagination = /**
* @return {?}
*/
function () {
this.startItem = 0;
this.endItem = this._itemsPerPage;
if (this.serverSidePagination) {
this.startDisplay.emit(this.startItem);
}
};
/**
* @param {?} event
* @return {?}
*/
NgxMariemDatatableComponent.prototype.searchServerSide = /**
* @param {?} event
* @return {?}
*/
function (event) {
this.searchvalue = event.target.value;
this.startItem = 0;
this.endItem = 10;
this.search.emit(this.searchvalue);
};
/**
* @param {?} event
* @return {?}
*/
NgxMariemDatatableComponent.prototype.filtersChange = /**
* @param {?} event
* @return {?}
*/
function (event) {
// this.filters = cloneDeep(event.filters);
// this.associations = cloneDeep(event.associations);
this.filters = event.filters;
this.associations = event.associations;
if (this.filters.length == 0) {
this.filtreopen = !this.filtreopen;
}
};
NgxMariemDatatableComponent.decorators = [
{ type: Component, args: [{
selector: "ngx-mariem-datatable",
template: "<div\r\n id=\"ngx-datatable\"\r\n class=\"position-relative\"\r\n [style.text-align]=\"textalign\"\r\n>\r\n <div class=\"table-container table-responsive-sm\">\r\n <table class=\"table\" [@animateStagger]=\"{ value: '50' }\">\r\n <thead>\r\n <tr\r\n [@animate]=\"{ value: '*', params: { y: '100%' } }\"\r\n *ngIf=\"!hideTheader\"\r\n >\r\n <th class=\"w-2rem\" *ngIf=\"checkboxes\">\r\n <span *ngIf=\"checkboxesMultiselect\" class=\"checkboxTemplate\">\r\n <input\r\n [(ngModel)]=\"checkAll\"\r\n (change)=\"checkAllClicked()\"\r\n [id]=\"'checkAll'\"\r\n class=\"w-0 field-checkbox\"\r\n type=\"checkbox\"\r\n [name]=\"'checkAll'\"\r\n />\r\n <label [for]=\"'checkAll'\"></label>\r\n </span>\r\n </th>\r\n <th\r\n class=\"p3\"\r\n [ngClass]=\"{\r\n 'bg-blue-light thsorted': title == sortByItem\r\n }\"\r\n *ngFor=\"let title of displayedColomnList\"\r\n >\r\n <span\r\n (click)=\"title.sort && !loadingList ? sortBy(title) : ''\"\r\n class=\"title-header p3 cursor-pointer\"\r\n [ngClass]=\"{\r\n sorting: title.sort && !loadingList && title != sortByItem,\r\n sorting_asc:\r\n title == sortByItem && title.sorted && !loadingList,\r\n sorting_desc:\r\n title == sortByItem && !title.sorted && !loadingList\r\n }\"\r\n >\r\n {{ title.value }}\r\n <!-- <i class=\"sortIcon material-icons\">\r\n {{\r\n title == sortByItem\r\n ? title.sorted && !loadingList\r\n ? \"keyboard_arrow_up\"\r\n : \"keyboard_arrow_down\"\r\n : \"\"\r\n }}\r\n </i> -->\r\n </span>\r\n </th>\r\n <th class=\"p3 action\" *ngFor=\"let action of Actions\">\r\n <span class=\"color-primary block p3 cursor-pointer\">\r\n {{ action.value }}\r\n </span>\r\n </th>\r\n </tr>\r\n </thead>\r\n <tbody>\r\n <ng-container *ngIf=\"loadingList\">\r\n <tr\r\n loading-rows\r\n [@animate]=\"{ value: '*', params: { y: '100%' } }\"\r\n [displayedColomnList]=\"displayedColomnList\"\r\n [nbRows]=\"nbRows\"\r\n [Actions]=\"Actions\"\r\n [checkboxes]=\"checkboxes\"\r\n ></tr>\r\n <tr\r\n loading-rows\r\n [@animate]=\"{ value: '*', params: { y: '100%' } }\"\r\n [displayedColomnList]=\"displayedColomnList\"\r\n [Actions]=\"Actions\"\r\n [checkboxes]=\"checkboxes\"\r\n ></tr>\r\n <tr\r\n loading-rows\r\n [@animate]=\"{ value: '*', params: { y: '100%' } }\"\r\n [displayedColomnList]=\"displayedColomnList\"\r\n [Actions]=\"Actions\"\r\n [checkboxes]=\"checkboxes\"\r\n ></tr>\r\n <tr\r\n loading-rows\r\n [@animate]=\"{ value: '*', params: { y: '100%' } }\"\r\n [displayedColomnList]=\"displayedColomnList\"\r\n [Actions]=\"Actions\"\r\n [checkboxes]=\"checkboxes\"\r\n ></tr>\r\n </ng-container>\r\n <ng-container *ngIf=\"!loadingList\">\r\n <ng-container\r\n *ngFor=\"let groupeby of regroupbylist; let gbIndex = index\"\r\n >\r\n <ng-container *ngIf=\"display[gbIndex]\">\r\n <tr\r\n [@animate]=\"{ value: '*', params: { y: '100%' } }\"\r\n class=\"tr-small\"\r\n *ngIf=\"regroupby\"\r\n >\r\n <td\r\n (click)=\"display[gbIndex] = !display[gbIndex]\"\r\n [ngClass]=\"\r\n display[gbIndex]\r\n ? 'collapsed-group-opened'\r\n : 'collapsed-group-closed'\r\n \"\r\n class=\"collapsed-group\"\r\n [attr.colspan]=\"\r\n displayedColomnList.length +\r\n Actions.length +\r\n (checkboxes ? 1 : 0)\r\n \"\r\n >\r\n {{ groupeby }}\r\n </td>\r\n </tr>\r\n <ng-container\r\n *ngFor=\"\r\n let row of _datatable\r\n | grouppigBy\r\n : {\r\n groupeby: groupeby,\r\n regroupbylabel: regroupbylabel,\r\n regroupby: regroupby\r\n }\r\n | filterData\r\n : {\r\n searchvalue: searchvalue,\r\n displayedColomnList: displayedColomnList,\r\n serverSidesearch: serverSidesearch,\r\n filters: filters,\r\n associations: associations\r\n }\r\n | paginate\r\n : {\r\n startItem: startItem,\r\n endItem: pagination && !regroupby ? endItem : 'all',\r\n serverSidePagination: serverSidePagination\r\n };\r\n let rowindex = index\r\n \"\r\n >\r\n <tr\r\n [@animate]=\"{ value: '*', params: { y: '100%' } }\"\r\n datatable-row\r\n [row]=\"row\"\r\n [displayedColomnList]=\"displayedColomnList\"\r\n [sortByItem]=\"sortByItem\"\r\n [Actions]=\"Actions\"\r\n [textalign]=\"textalign\"\r\n [checkboxes]=\"checkboxes\"\r\n (rowClicked)=\"rowClicked($event)\"\r\n (onActionClicked)=\"actionClicked($event)\"\r\n (onckeckBoxClicked)=\"ckeckBoxClicked($event)\"\r\n [class]=\"row.rowClass\"\r\n [ngClass]=\"{\r\n rowSelected: row.selected,\r\n 'tr-small': smallCells\r\n }\"\r\n (click)=\"rowClicked(row)\"\r\n ></tr>\r\n </ng-container>\r\n </ng-container>\r\n <tr\r\n [@animate]=\"{ value: '*', params: { y: '100%' } }\"\r\n *ngIf=\"\r\n (\r\n _datatable\r\n | filterData\r\n : {\r\n searchvalue: searchvalue,\r\n displayedColomnList: displayedColomnList,\r\n\r\n serverSidesearch: serverSidesearch,\r\n filters: filters,\r\n associations: associations\r\n }\r\n ).length == 0\r\n \"\r\n class=\"odd\"\r\n >\r\n <td\r\n [style.background]=\"'#fff'\"\r\n valign=\"top\"\r\n [attr.colspan]=\"\r\n displayedColomnList.length +\r\n Actions.length +\r\n (checkboxes ? 1 : 0)\r\n \"\r\n class=\"dataTables_empty\"\r\n >\r\n {{ nothingToShowMessage }}\r\n </td>\r\n </tr>\r\n </ng-container>\r\n </ng-container>\r\n </tbody>\r\n </table>\r\n <!-- //pagination section -->\r\n\r\n <div\r\n *ngIf=\"pagination && !loadingList\"\r\n [@animate]=\"{ value: '*', params: { y: '100%' } }\"\r\n [attr.colspan]=\"\r\n displayedColomnList.length + Actions.length + (checkboxes ? 1 : 0)\r\n \"\r\n datatable-footer\r\n [totalItems]=\"\r\n serverSidePagination\r\n ? numberOfRecords\r\n : (\r\n _datatable\r\n | filterData\r\n : {\r\n searchvalue: searchvalue,\r\n displayedColomnList: displayedColomnList,\r\n serverSidesearch: serverSidesearch,\r\n filters: filters,\r\n associations: associations\r\n }\r\n )?.length\r\n \"\r\n [itemsPerPage]=\"_itemsPerPage\"\r\n [endItem]=\"endItem\"\r\n [startItem]=\"startItem\"\r\n [maxSize]=\"maxSize\"\r\n [showBoundaryLinks]=\"showBoundaryLinks\"\r\n (onpageChanged)=\"pageChanged($event)\"\r\n class=\"footer-table\"\r\n ></div>\r\n <!-- //pagination section -->\r\n </div>\r\n</div>\r\n",
changeDetection: ChangeDetectionStrategy.OnPush,
encapsulation: ViewEncapsulation.None,
animations: [Animations],
styles: ["@charset \"UTF-8\";#ngx-datatable{line-height:1.42857143;color:rgba(0,0,0,.87);font-size:.8rem;font-weight:400;background-color:#fdfdfd;box-shadow:.25rem .1875rem .3rem 0 #c5c5c585;overflow:auto}#ngx-datatable .w-2rem{width:2rem}#ngx-datatable .bg-light-datatable{background:#f6f8f9}#ngx-datatable .thsorted{border-radius:.75rem .75rem 0 0}#ngx-datatable .dropdown-item.active,#ngx-datatable .dropdown-item:active{color:#000!important;background-color:#fdfdfd!important}#ngx-datatable .actionitem{flex:1;border-right:.0625rem solid #dee2e6;display:flex;padding:.6875rem .625rem;opacity:.6}#ngx-datatable .action{text-align:center}#ngx-datatable .checkboxTemplate{display:flex;justify-content:left;width:1.125rem;margin:auto}#ngx-datatable .isParent{background-color:rgba(221,221,221,.75)!important}#ngx-datatable .datatableinfolist{float:left;text-align:left;padding:.5rem .75rem}#ngx-datatable .table{transition:box-shadow 280ms cubic-bezier(.4,0,.2,1);border-radius:.25rem;background:#ffff;border:none;margin-bottom:0;border-collapse:collapse;font-feature-settings:\"tnum\";font-variant-numeric:tabular-nums;width:100%;color:#000}#ngx-datatable .table .searchInput{color:#000;background-image:url(img/search.png);background-position:99.1% center;background-repeat:no-repeat;font-size:.6875rem;font-weight:400;width:100%;outline:0;padding:0 .9375rem 0 .3125rem;border:.0625rem solid #ccc;height:1.125rem}#ngx-datatable .sorting_asc{background:url(img/sorting/sort_asc.png) 99.6% center no-repeat}#ngx-datatable .sorting_desc{background:url(img/sorting/sort_desc.png) 99.6% center no-repeat}#ngx-datatable .sorting{background:url(img/sorting/sort_both.png) 99.6% center no-repeat}#ngx-datatable .sorting,#ngx-datatable .sorting_asc,#ngx-datatable .sorting_desc{padding-right:.625rem!important;background-position:98% 50%}#ngx-datatable .sortIcon{font-size:1rem;color:#fff;background:#363636;border-radius:50%}#ngx-datatable .inputnumber{text-align:center}#ngx-datatable .inputnumber:focus{border:.0625rem solid;background:#fff!important}#ngx-datatable .linkValue{color:#428bca;cursor:pointer}#ngx-datatable .linkValue:hover{text-decoration:underline}#ngx-datatable th span{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;width:99%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}#ngx-datatable .icon:hover{opacity:.6}#ngx-datatable .p3{padding:.1875rem}#ngx-datatable .cursor-pointer{cursor:pointer}#ngx-datatable tr{height:1rem;min-height:1rem;border:.0625rem solid #dee2e6}#ngx-datatable tbody tr:hover{cursor:pointer;background:#c0c0c01f}#ngx-datatable .tr-small{height:1.75rem!important;min-height:1.75rem!important}#ngx-datatable .childDatatable{padding:.75rem!important;background:#fff}#ngx-datatable .childDatatable tr{height:1.375rem;min-height:1.375rem}#ngx-datatable .childDatatable td{padding:.1875rem .625rem;font-size:.625rem}#ngx-datatable .childDatatable .collapsed-group-closed:after,#ngx-datatable .childDatatable .collapsed-group-opened:after{left:1.25rem}#ngx-datatable .table-bordered-h td{border-bottom:none!important;border-top:none!important}#ngx-datatable .table-bordered-white tbody{background:#fff}#ngx-datatable .table-bordered-white td{border-top:none!important}#ngx-datatable .collapsed-group{text-align:left;padding-left:1.25rem;cursor:pointer;background:#f2f2f2;position:relative;box-shadow:.0625rem .125rem .0625rem 0 #c1c1c170}#ngx-datatable .collapsed-group-closed:after{font-family:FontAwesome;content:\"\uF196\";width:.8125rem;height:.625rem;position:absolute;left:.4375rem}#ngx-datatable .collapsed-group-opened:after{font-family:FontAwesome;content:\"\uF147\";width:.8125rem;height:.625rem;position:absolute;left:.4375rem}#ngx-datatable .footer-table{height:2.75rem;display:flex;justify-content:space-between;align-items:center}#ngx-datatable .search-wrapper .search input{background:#fff;color:rgba(0,0,0,.87);width:100%;height:3rem;min-height:3rem;max-height:3rem;padding:0 1rem;border:none;outline:0}#ngx-datatable .search-wrapper .search{width:100%;height:3rem;line-height:3rem;padding:0 1.125rem}#ngx-datatable .mat-icon{font-size:1.5rem;color:rgba(0,0,0,.54)}@font-face{font-family:\"Material Icons\";font-style:normal;font-weight:400;src:url(iconfont/MaterialIcons-Regular.eot);src:local(\"Material Icons\"),local(\"MaterialIcons-Regular\"),url(iconfont/MaterialIcons-Regular.woff2) format(\"woff2\"),url(iconfont/MaterialIcons-Regular.woff) format(\"woff\"),url(iconfont/MaterialIcons-Regular.ttf) format(\"truetype\")}.material-icons{font-family:\"Material Icons\";font-weight:400;font-style:normal;font-size:1.5rem;display:inline-block;line-height:1;text-transform:none;letter-spacing:normal;word-wrap:normal;white-space:nowrap;direction:ltr;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;-moz-osx-font-smoothing:grayscale;font-feature-settings:\"liga\"}.table td,.table th{padding:.5625rem .625rem .625rem;line-height:calc(30 / 16);vertical-align:top}"]
}] }
];
/** @nocollapse */
NgxMariemDatatableComponent.ctorParameters = function () { return []; };
NgxMariemDatatableComponent.propDecorators = {
onRowClicked: [{ type: Output }],
onActionClicked: [{ type: Output }],
onlinkClicked: [{ type: Output }],
onToggleAllClicked: [{ type: Output }],
onToggleClicked: [{ type: Output }],
smallCells: [{ type: Input }],
hideParentAction: [{ type: Input }],
loadingList: [{ type: Input }],
nbRows: [{ type: Input }],
childListLabel: [{ type: Input }],
hideTheader: [{ type: Input }],
textalign: [{ type: Input }],
regroupbylabel: [{ type: Input }],
regroupby: [{ type: Input }],
datatable: [{ type: Input }],
datatableChange: [{ type: Output }],
numberOfRecords: [{ type: Input }],
serverSidePagination: [{ type: Input }],
startDisplay: [{ type: Output }],
serverSidesearch: [{ type: Input }],
search: [{ type: Output }],
displayedColomn: [{ type: Input }],
Actions: [{ type: Input }],
nothingToShowMessage: [{ type: Input }],
paginationmessag: [{ type: Input }],
showBoundaryLinks: [{ type: Input }],
itemsPerPage: [{ type: Input }],
maxSize: [{ type: Input }],
checkboxes: [{ type: Input }],
checkboxesMultiselect: [{ type: Input }],
pagination: [{ type: Input }],
Advancedfilter: [{ type: Input }],
visibility: [{ type: Input }],
searchvalue: [{ type: Input }]
};
return NgxMariemDatatableComponent;
}());
export { NgxMariemDatatableComponent };
if (false) {
/** @type {?} */
NgxMariemDatatableComponent.prototype.onRowClicked;
/** @type {?} */
NgxMariemDatatableComponent.prototype.onActionClicked;
/** @type {?} */
NgxMariemDatatableComponent.prototype.onlinkClicked;
/** @type {?} */
NgxMariemDatatableComponent.prototype.onToggleAllClicked;
/** @type {?} */
NgxMariemDatatableComponent.prototype.onToggleClicked;
/** @type {?} */
NgxMariemDatatableComponent.prototype.smallCells;
/** @type {?} */
NgxMariemDatatableComponent.prototype.hideParentAction;
/** @type {?} */
NgxMariemDatatableComponent.prototype.loadingList;
/** @type {?} */
NgxMariemDatatableComponent.prototype.nbRows;
/** @type {?} */
NgxMariemDatatableComponent.prototype.childListLabel;
/** @type {?} */
NgxMariemDatatableComponent.prototype.hideTheader;
/** @type {?} */
NgxMariemDatatableComponent.prototype.textalign;
/** @type {?} */
NgxMariemDatatableComponent.prototype.regroupbylabel;
/** @type {?} */
NgxMariemDatatableComponent.prototype.regroupbylist;
/** @type {?} */
NgxMariemDatatableComponent.prototype.regroupby;
/** @type {?} */
NgxMariemDatatableComponent.prototype.display;
/** @type {?} */
NgxMariemDatatableComponent.prototype._datatable;
/** @type {?} */
NgxMariemDatatableComponent.prototype.datatableChange;
/** @type {?} */
NgxMariemDatatableComponent.prototype.numberOfRecords;
/** @type {?} */
NgxMariemDatatableComponent.prototype.serverSidePagination;
/** @type {?} */
NgxMariemDatatableComponent.prototype.startDisplay;
/** @type {?} */
NgxMariemDatatableComponent.prototype.serverSidesearch;
/** @type {?} */
NgxMariemDatatableComponent.prototype.search;
/** @type {?} */
NgxMariemDatatableComponent.prototype.displayedColomnList;
/** @type {?} */
NgxMariemDatatableComponent.prototype._Actions;
/** @type {?} */
NgxMariemDatatableComponent.prototype.nothingToShowMessage;
/** @type {?} */
NgxMariemDatatableComponent.prototype.paginationmessag;
/** @type {?} */
NgxMariemDatatableComponent.prototype.showBoundaryLinks;
/** @type {?} */
NgxMariemDatatableComponent.prototype._itemsPerPage;
/** @type {?} */
NgxMariemDatatableComponent.prototype.maxSize;
/** @type {?} */
NgxMariemDatatableComponent.prototype.checkboxes;
/** @type {?} */
NgxMariemDatatableComponent.prototype.checkboxesMultiselect;
/** @type {?} */
NgxMariemDatatableComponent.prototype.pagination;
/** @type {?} */
NgxMariemDatatableComponent.prototype.nameOnExtract;
/** @type {?} */
NgxMariemDatatableComponent.prototype.Advancedfilter;
/** @type {?} */
NgxMariemDatatableComponent.prototype.visibility;
/** @type {?} */
NgxMariemDatatableComponent.prototype.datatableexist;
/** @type {?} */
NgxMariemDatatableComponent.prototype.searchexist;
/** @type {?} */
NgxMariemDatatableComponent.prototype._searchvalue;
/** @type {?} */
NgxMariemDatatableComponent.prototype.sortByItem;
/** @type {?} */
NgxMariemDatatableComponent.prototype.startItem;
/** @type {?} */
NgxMariemDatatableComponent.prototype.endItem;
/** @type {?} */
NgxMariemDatatableComponent.prototype.dataChild;
/** @type {?} */
NgxMariemDatatableComponent.prototype.dataChildRow;
/** @type {?} */
NgxMariemDatatableComponent.prototype.é;
/** @type {?} */
NgxMariemDatatableComponent.prototype.filtreopen;
/** @type {?} */
NgxMariemDatatableComponent.prototype.filters;
/** @type {?} */
NgxMariemDatatableComponent.prototype.associations;
/** @type {?} */
NgxMariemDatatableComponent.prototype.checkAll;
}
var filterData = /** @class */ (function () {
function filterData(datePipe) {
this.datePipe = datePipe;
}
/**
* @param {?} list
* @param {?} searchBody
* @return {?}
*/
filterData.prototype.transform = /**
* @param {?} list
* @param {?} searchBody
* @return {?}
*/
function (list, searchBody) {
return this.searchFilter(list, searchBody);
};
/**
* @param {?} list
* @param {?} searchBody
* @return {?}
*/
filterData.prototype.searchFilter = /**
* @param {?} list
* @param {?} searchBody
* @return {?}
*/
function (list, searchBody) {
var _this = this;
if (searchBody.serverSidesearch) {
return list;
}
if (searchBody.searchvalue.length == 0)
return list;
return list.filter((/**
* @param {?} el
* @return {?}
*/
function (el) {
/** @type {?} */
var value = false;
for (var index = 0; index < searchBody.displayedColomnList.length; index++) {
/** @type {?} */
var name_1 = searchBody.displayedColomnList[index].data;
/** @type {?} */
var type = searchBody.displayedColomnList[index].type;
value =
value ||
(el[name_1] &&
(type == "date"
? _this.datePipe.transform(new Date(el[name_1]), "dd/MM/yyyy")
: el[name_1])
.toString()
.toLowerCase()
.includes(searchBody.searchvalue.toLowerCase()));
}
return value;
}));
};
filterData.decorators = [
{ type: Pipe, args: [{ name: "filterData", pure: false },] }
];
/** @nocollapse */
filterData.ctorParameters = function () { return [
{ type: DatePipe }
]; };
return filterData;
}());
export { filterData };
if (false) {
/**
* @type {?}
* @private
*/
filterData.prototype.datePipe;
}
var paginatePipe = /** @class */ (function () {
function paginatePipe() {
}
/**
* @param {?} list
* @param {?} filterObj
* @return {?}
*/
paginatePipe.prototype.transform = /**
* @param {?} list
* @param {?} filterObj
* @return {?}
*/
function (list, filterObj) {
if (filterObj.serverSidePagination || filterObj.endItem == "all") {
return list;
}
return list.slice(filterObj.startItem, filterObj.endItem);
};
paginatePipe.decorators = [
{ type: Pipe, args: [{ name: "paginate", pure: false },] }
];
return paginatePipe;
}());
export { paginatePipe };
var grouppigByPipe = /** @class */ (function () {
function grouppigByPipe() {
}
/**
* @param {?} list
* @param {?} filterObj
* @return {?}
*/
grouppigByPipe.prototype.transform = /**
* @param {?} list
* @param {?} filterObj
* @return {?}
*/
function (list, filterObj) {
if (!filterObj.regroupby) {
return list;
}
return list.filter((/**
* @param {?} el
* @return {?}
*/
function (el) {
return el[filterObj.regroupbylabel] == filterObj.groupeby;
}));
};
grouppigByPipe.decorators = [
{ type: Pipe, args: [{ name: "grouppigBy" },] }
];
return grouppigByPipe;
}());
export { grouppigByPipe };
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmd4LW1hcmllbS1kYXRhdGFibGUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vbmd4LW1hcmllbS1kYXRhdGFibGUvIiwic291cmNlcyI6WyJsaWIvbmd4LW1hcmllbS1kYXRhdGFibGUuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsT0FBTyxFQUNMLFNBQVMsRUFFVCx1QkFBdUIsRUFDdkIsaUJBQWlCLEVBRWpCLElBQUksRUFDSixNQUFNLEVBQ04sWUFBWSxFQUNaLEtBQUssR0FDTixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBRzFDLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUUzQztJQTRJRTs7UUFsSVUsaUJBQVksR0FBRyxJQUFJLFlBQVksRUFBRSxDQUFDOztRQUVsQyxvQkFBZSxHQUFHLElBQUksWUFBWSxFQUFFLENBQUM7O1FBRXJDLGtCQUFhLEdBQUcsSUFBSSxZQUFZLEVBQUUsQ0FBQzs7UUFHbkMsdUJBQWtCLEdBQUcsSUFBSSxZQUFZLEVBQUUsQ0FBQzs7UUFHeEMsb0JBQWUsR0FBRyxJQUFJLFlBQVksRUFBRSxDQUFDOztRQUd0QyxlQUFVLEdBQVksS0FBSyxDQUFDOztRQUc1QixxQkFBZ0IsR0FBWSxLQUFLLENBQUM7O1FBRWxDLGdCQUFXLEdBQVksS0FBSyxDQUFDO1FBQzdCLFdBQU0sR0FBVyxDQUFDLENBQUM7UUFJbkIsZ0JBQVcsR0FBWSxLQUFLLENBQUM7UUFDN0IsY0FBUyxHQUFnQyxNQUFNLENBQUM7O1FBRWhELG1CQUFjLEdBQVEsRUFBRSxDQUFDO1FBQ2xDLGtCQUFhLEdBQVEsQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUNqQixjQUFTLEdBQVEsS0FBSyxDQUFDO1FBQ2hDLFlBQU8sR0FBUSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBZ0J0QixlQUFVLEdBQVUsRUFBRSxDQUFDO1FBQ2Isb0JBQWUs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