ngx-easy-table
Version:
Angular easy table
176 lines • 11.1 kB
JavaScript
/**
* @fileoverview added by tsickle
* @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
*/
import { Pipe } from '@angular/core';
import { FiltersService } from '../services/filters.service';
var SortPipe = /** @class */ (function () {
function SortPipe() {
this.defaultArray = [];
}
/**
* @private
* @param {?} aV
* @param {?} bV
* @return {?}
*/
SortPipe.isNaN = /**
* @private
* @param {?} aV
* @param {?} bV
* @return {?}
*/
function (aV, bV) {
return (isNaN(parseFloat(aV)) || !isFinite(aV)) || (isNaN(parseFloat(bV)) || !isFinite(bV));
};
/**
* @private
* @param {?} a
* @param {?} b
* @param {?} key
* @return {?}
*/
SortPipe.compare = /**
* @private
* @param {?} a
* @param {?} b
* @param {?} key
* @return {?}
*/
function (a, b, key) {
/** @type {?} */
var split = key.split('.');
/** @type {?} */
var aPath = FiltersService.getPath(split, a);
/** @type {?} */
var bPath = FiltersService.getPath(split, b);
/** @type {?} */
var aValue = (aPath + '').toLowerCase();
/** @type {?} */
var bValue = (bPath + '').toLowerCase();
if (SortPipe.isNaN(aPath, bPath)) {
return aValue.localeCompare(bValue);
}
else {
if (parseFloat(aPath) < parseFloat(bPath)) {
return -1;
}
if (parseFloat(aPath) > parseFloat(bPath)) {
return 1;
}
}
return 0;
};
/**
* @param {?} array
* @param {?} filter
* @param {?=} config
* @return {?}
*/
SortPipe.prototype.transform = /**
* @param {?} array
* @param {?} filter
* @param {?=} config
* @return {?}
*/
function (array, filter, config) {
if (this.defaultArray.length === 0) {
this.defaultArray = array;
}
if (!filter.key || filter.key === '') {
return array;
}
if (filter.order === '') {
return this.defaultArray;
}
if (filter.order === 'asc') {
return this.sortAsc(array, filter, config);
}
else {
return this.sortDesc(array, filter, config);
}
};
/**
* @private
* @param {?} array
* @param {?} filter
* @param {?=} config
* @return {?}
*/
SortPipe.prototype.sortAsc = /**
* @private
* @param {?} array
* @param {?} filter
* @param {?=} config
* @return {?}
*/
function (array, filter, config) {
if (config && config.groupRows) {
return array.map((/**
* @param {?} arr
* @return {?}
*/
function (arr) { return arr.sort((/**
* @param {?} a
* @param {?} b
* @return {?}
*/
function (a, b) { return SortPipe.compare(a, b, filter.key); })); }));
}
return array.sort((/**
* @param {?} a
* @param {?} b
* @return {?}
*/
function (a, b) { return SortPipe.compare(a, b, filter.key); }));
};
/**
* @private
* @param {?} array
* @param {?} filter
* @param {?=} config
* @return {?}
*/
SortPipe.prototype.sortDesc = /**
* @private
* @param {?} array
* @param {?} filter
* @param {?=} config
* @return {?}
*/
function (array, filter, config) {
if (config && config.groupRows) {
return array.map((/**
* @param {?} arr
* @return {?}
*/
function (arr) { return arr.sort((/**
* @param {?} a
* @param {?} b
* @return {?}
*/
function (a, b) { return SortPipe.compare(b, a, filter.key); })); }));
}
return array.sort((/**
* @param {?} a
* @param {?} b
* @return {?}
*/
function (a, b) { return SortPipe.compare(b, a, filter.key); }));
};
SortPipe.decorators = [
{ type: Pipe, args: [{
name: 'sort',
},] }
];
return SortPipe;
}());
export { SortPipe };
if (false) {
/**
* @type {?}
* @private
*/
SortPipe.prototype.defaultArray;
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic29ydC5waXBlLmpzIiwic291cmNlUm9vdCI6Im5nOi8vbmd4LWVhc3ktdGFibGUvIiwic291cmNlcyI6WyJsaWIvcGlwZXMvc29ydC5waXBlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUFBQSxPQUFPLEVBQUUsSUFBSSxFQUFpQixNQUFNLGVBQWUsQ0FBQztBQUNwRCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFHN0Q7SUFBQTtRQUlVLGlCQUFZLEdBQVUsRUFBRSxDQUFDO0lBd0RuQyxDQUFDOzs7Ozs7O0lBdERnQixjQUFLOzs7Ozs7SUFBcEIsVUFBcUIsRUFBTyxFQUFFLEVBQU87UUFDbkMsT0FBTyxDQUFDLEtBQUssQ0FBQyxVQUFVLENBQUMsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLFVBQVUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7SUFDOUYsQ0FBQzs7Ozs7Ozs7SUFFYyxnQkFBTzs7Ozs7OztJQUF0QixVQUF1QixDQUFRLEVBQUUsQ0FBUSxFQUFFLEdBQVc7O1lBQzlDLEtBQUssR0FBRyxHQUFHLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQzs7WUFDdEIsS0FBSyxHQUFHLGNBQWMsQ0FBQyxPQUFPLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQzs7WUFDeEMsS0FBSyxHQUFHLGNBQWMsQ0FBQyxPQUFPLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQzs7WUFDeEMsTUFBTSxHQUFHLENBQUMsS0FBSyxHQUFHLEVBQUUsQ0FBQyxDQUFDLFdBQVcsRUFBRTs7WUFDbkMsTUFBTSxHQUFHLENBQUMsS0FBSyxHQUFHLEVBQUUsQ0FBQyxDQUFDLFdBQVcsRUFBRTtRQUN6QyxJQUFJLFFBQVEsQ0FBQyxLQUFLLENBQUMsS0FBSyxFQUFFLEtBQUssQ0FBQyxFQUFFO1lBQ2hDLE9B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QXpEWSxRQUFROzs7Ozs7SUFDbkIsZ0NBQWlDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUGlwZSwgUGlwZVRyYW5zZm9ybSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRmlsdGVyc1NlcnZpY2UgfSBmcm9tICcuLi9zZXJ2aWNlcy9maWx0ZXJzLnNlcnZpY2UnO1xuaW1wb3J0IHsgQ29uZmlnIH0gZnJvbSAnLi4nO1xuXG5AUGlwZSh7XG4gIG5hbWU6ICdzb3J0Jyxcbn0pXG5leHBvcnQgY2xhc3MgU29ydFBpcGUgaW1wbGVtZW50cyBQaXBlVHJhbnNmb3JtIHtcbiAgcHJpdmF0ZSBkZWZhdWx0QXJyYXk6IGFueVtdID0gW107XG5cbiAgcHJpdmF0ZSBzdGF0aWMgaXNOYU4oYVY6IGFueSwgYlY6IGFueSk6IGJvb2xlYW4ge1xuICAgIHJldHVybiAoaXNOYU4ocGFyc2VGbG9hdChhVikpIHx8ICFpc0Zpbml0ZShhVikpIHx8IChpc05hTihwYXJzZUZsb2F0KGJWKSkgfHwgIWlzRmluaXRlKGJWKSk7XG4gIH1cblxuICBwcml2YXRlIHN0YXRpYyBjb21wYXJlKGE6IGFueVtdLCBiOiBhbnlbXSwga2V5OiBzdHJpbmcpOiBudW1iZXIge1xuICAgIGNvbnN0IHNwbGl0ID0ga2V5LnNwbGl0KCcuJyk7XG4gICAgY29uc3QgYVBhdGggPSBGaWx0ZXJzU2VydmljZS5nZXRQYXRoKHNwbGl0LCBhKTtcbiAgICBjb25zdCBiUGF0aCA9IEZpbHRlcnNTZXJ2aWNlLmdldFBhdGgoc3BsaXQsIGIpO1xuICAgIGNvbnN0IGFWYWx1ZSA9IChhUGF0aCArICcnKS50b0xvd2VyQ2FzZSgpO1xuICAgIGNvbnN0IGJWYWx1ZSA9IChiUGF0aCArICcnKS50b0xvd2VyQ2FzZSgpO1xuICAgIGlmIChTb3J0UGlwZS5pc05hTihhUGF0aCwgYlBhdGgpKSB7XG4gICAgICByZXR1cm4gYVZhbHVlLmxvY2FsZUNvbXBhcmUoYlZhbHVlKTtcbiAgICB9IGVsc2Uge1xuICAgICAgaWYgKHBhcnNlRmxvYXQoYVBhdGgpIDwgcGFyc2VGbG9hdChiUGF0aCkpIHtcbiAgICAgICAgcmV0dXJuIC0xO1xuICAgICAgfVxuICAgICAgaWYgKHBhcnNlRmxvYXQoYVBhdGgpID4gcGFyc2VGbG9hdChiUGF0aCkpIHtcbiAgICAgICAgcmV0dXJuIDE7XG4gICAgICB9XG4gICAgfVxuXG4gICAgcmV0dXJuIDA7XG4gIH1cblxuICB0cmFuc2Zvcm0oYXJyYXk6IGFueVtdLCBmaWx0ZXI6IHsgb3JkZXI6IHN0cmluZywga2V5OiBzdHJpbmcgfSwgY29uZmlnPzogQ29uZmlnKTogYW55W10ge1xuICAgIGlmICh0aGlzLmRlZmF1bHRBcnJheS5sZW5ndGggPT09IDApIHtcbiAgICAgIHRoaXMuZGVmYXVsdEFycmF5ID0gYXJyYXk7XG4gICAgfVxuICAgIGlmICghZmlsdGVyLmtleSB8fCBmaWx0ZXIua2V5ID09PSAnJykge1xuICAgICAgcmV0dXJuIGFycmF5O1xuICAgIH1cbiAgICBpZiAoZmlsdGVyLm9yZGVyID09PSAnJykge1xuICAgICAgcmV0dXJuIHRoaXMuZGVmYXVsdEFycmF5O1xuICAgIH1cbiAgICBpZiAoZmlsdGVyLm9yZGVyID09PSAnYXNjJykge1xuICAgICAgcmV0dXJuIHRoaXMuc29ydEFzYyhhcnJheSwgZmlsdGVyLCBjb25maWcpO1xuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4gdGhpcy5zb3J0RGVzYyhhcnJheSwgZmlsdGVyLCBjb25maWcpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgc29ydEFzYyhhcnJheTogYW55W10sIGZpbHRlcjogeyBvcmRlcjogc3RyaW5nLCBrZXk6IHN0cmluZyB9LCBjb25maWc/OiBDb25maWcpOiBhbnlbXSB7XG4gICAgaWYgKGNvbmZpZyAmJiBjb25maWcuZ3JvdXBSb3dzKSB7XG4gICAgICByZXR1cm4gYXJyYXkubWFwKChhcnIpID0+IGFyci5zb3J0KChhLCBiKSA9PiBTb3J0UGlwZS5jb21wYXJlKGEsIGIsIGZpbHRlci5rZXkpKSk7XG4gICAgfVxuICAgIHJldHVybiBhcnJheS5zb3J0KChhLCBiKSA9PiBTb3J0UGlwZS5jb21wYXJlKGEsIGIsIGZpbHRlci5rZXkpKTtcbiAgfVxuXG4gIHByaXZhdGUgc29ydERlc2MoYXJyYXk6IGFueVtdLCBmaWx0ZXI6IHsgb3JkZXI6IHN0cmluZywga2V5OiBzdHJpbmcgfSwgY29uZmlnPzogQ29uZmlnKTogYW55W10ge1xuICAgIGlmIChjb25maWcgJiYgY29uZmlnLmdyb3VwUm93cykge1xuICAgICAgcmV0dXJuIGFycmF5Lm1hcCgoYXJyKSA9PiBhcnIuc29ydCgoYSwgYikgPT4gU29ydFBpcGUuY29tcGFyZShiLCBhLCBmaWx0ZXIua2V5KSkpO1xuICAgIH1cbiAgICByZXR1cm4gYXJyYXkuc29ydCgoYSwgYikgPT4gU29ydFBpcGUuY29tcGFyZShiLCBhLCBmaWx0ZXIua2V5KSk7XG4gIH1cbn1cbiJdfQ==