@catull/igniteui-angular
Version:
Ignite UI for Angular is a dependency-free Angular toolkit for building modern web apps
91 lines • 9.78 kB
JavaScript
import { __decorate, __metadata, __param } from "tslib";
import { Inject, Pipe } from '@angular/core';
import { cloneArray } from '../core/utils';
import { DataUtil } from '../data-operations/data-util';
import { SortingDirection } from '../data-operations/sorting-expression.interface';
import { IGX_COMBO_COMPONENT } from './combo.common';
import { DefaultSortingStrategy } from '../data-operations/sorting-strategy';
/**
* @hidden
*/
var IgxComboFilteringPipe = /** @class */ (function () {
function IgxComboFilteringPipe() {
}
IgxComboFilteringPipe.prototype.transform = function (collection, searchValue, displayKey, shouldFilter) {
if (!collection) {
return [];
}
if (!searchValue || !shouldFilter) {
return collection;
}
else {
var searchTerm_1 = searchValue.toLowerCase().trim();
if (displayKey != null) {
return collection.filter(function (e) { return e[displayKey].toLowerCase().includes(searchTerm_1); });
}
else {
return collection.filter(function (e) { return e.toLowerCase().includes(searchTerm_1); });
}
}
};
IgxComboFilteringPipe = __decorate([
Pipe({
name: 'comboFiltering'
})
], IgxComboFilteringPipe);
return IgxComboFilteringPipe;
}());
export { IgxComboFilteringPipe };
/**
* @hidden
*/
var IgxComboGroupingPipe = /** @class */ (function () {
function IgxComboGroupingPipe(combo) {
this.combo = combo;
}
IgxComboGroupingPipe.prototype.transform = function (collection, groupKey, valueKey) {
var _a;
this.combo.filteredData = collection;
if ((!groupKey && groupKey !== 0) || !collection.length) {
return collection;
}
var sorted = DataUtil.sort(cloneArray(collection), [{
fieldName: groupKey,
dir: SortingDirection.Asc,
ignoreCase: true,
strategy: DefaultSortingStrategy.instance()
}]);
var data = cloneArray(sorted);
var inserts = 0;
var currentHeader = null;
for (var i = 0; i < sorted.length; i++) {
var insertFlag = 0;
if (currentHeader !== sorted[i][groupKey]) {
currentHeader = sorted[i][groupKey];
insertFlag = 1;
}
if (insertFlag) {
data.splice(i + inserts, 0, (_a = {},
_a[valueKey] = currentHeader,
_a[groupKey] = currentHeader,
_a.isHeader = true,
_a));
inserts++;
}
}
return data;
};
IgxComboGroupingPipe.ctorParameters = function () { return [
{ type: undefined, decorators: [{ type: Inject, args: [IGX_COMBO_COMPONENT,] }] }
]; };
IgxComboGroupingPipe = __decorate([
Pipe({
name: 'comboGrouping'
}),
__param(0, Inject(IGX_COMBO_COMPONENT)),
__metadata("design:paramtypes", [Object])
], IgxComboGroupingPipe);
return IgxComboGroupingPipe;
}());
export { IgxComboGroupingPipe };
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tYm8ucGlwZXMuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9pZ25pdGV1aS1hbmd1bGFyLyIsInNvdXJjZXMiOlsibGliL2NvbWJvL2NvbWJvLnBpcGVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBZ0IsTUFBTSxlQUFlLENBQUM7QUFDM0QsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDeEQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0saURBQWlELENBQUM7QUFDbkYsT0FBTyxFQUFFLG1CQUFtQixFQUFnQixNQUFNLGdCQUFnQixDQUFDO0FBQ25FLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLHFDQUFxQyxDQUFDO0FBRzdFOztHQUVHO0FBSUg7SUFBQTtJQWdCQSxDQUFDO0lBZlUseUNBQVMsR0FBaEIsVUFBaUIsVUFBaUIsRUFBRSxXQUFnQixFQUFFLFVBQWUsRUFBRSxZQUFxQjtRQUN4RixJQUFJLENBQUMsVUFBVSxFQUFFO1lBQ2IsT0FBTyxFQUFFLENBQUM7U0FDYjtRQUNELElBQUksQ0FBQyxXQUFXLElBQUksQ0FBQyxZQUFZLEVBQUU7WUFDL0IsT0FBTyxVQUFVLENBQUM7U0FDckI7YUFBTTtZQUNILElBQU0sWUFBVSxHQUFHLFdBQVcsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxJQUFJLEVBQUUsQ0FBQztZQUNwRCxJQUFJLFVBQVUsSUFBSSxJQUFJLEVBQUU7Z0JBQ3BCLE9BQU8sVUFBVSxDQUFDLE1BQU0sQ0FBQyxVQUFBLENBQUMsSUFBSSxPQUFBLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxRQUFRLENBQUMsWUFBVSxDQUFDLEVBQWhELENBQWdELENBQUMsQ0FBQzthQUNuRjtpQkFBTTtnQkFDSCxPQUFPLFVBQVUsQ0FBQyxNQUFNLENBQUMsVUFBQSxDQUFDLElBQUksT0FBQSxDQUFDLENBQUMsV0FBVyxFQUFFLENBQUMsUUFBUSxDQUFDLFlBQVUsQ0FBQyxFQUFwQyxDQUFvQyxDQUFDLENBQUM7YUFDdkU7U0FDSjtJQUNMLENBQUM7SUFmUSxxQkFBcUI7UUFIakMsSUFBSSxDQUFDO1lBQ0YsSUFBSSxFQUFFLGdCQUFnQjtTQUN6QixDQUFDO09BQ1cscUJBQXFCLENBZ0JqQztJQUFELDRCQUFDO0NBQUEsQUFoQkQsSUFnQkM7U0FoQlkscUJBQXFCO0FBa0JsQzs7R0FFRztBQUlIO0lBRUksOEJBQWdELEtBQW1CO1FBQW5CLFVBQUssR0FBTCxLQUFLLENBQWM7SUFBSSxDQUFDO0lBRWpFLHdDQUFTLEdBQWhCLFVBQWlCLFVBQWlCLEVBQUUsUUFBYSxFQUFFLFFBQWE7O1FBQzVELElBQUksQ0FBQyxLQUFLLENBQUMsWUFBWSxHQUFHLFVBQVUsQ0FBQztRQUNyQyxJQUFJLENBQUMsQ0FBQyxRQUFRLElBQUksUUFBUSxLQUFLLENBQUMsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLE1BQU0sRUFBRTtZQUNyRCxPQUFPLFVBQVUsQ0FBQztTQUNyQjtRQUNELElBQU0sTUFBTSxHQUFHLFFBQVEsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLFVBQVUsQ0FBQyxFQUFFLENBQUM7Z0JBQ2xELFNBQVMsRUFBRSxRQUFRO2dCQUNuQixHQUFHLEVBQUUsZ0JBQWdCLENBQUMsR0FBRztnQkFDekIsVUFBVSxFQUFFLElBQUk7Z0JBQ2hCLFFBQVEsRUFBRSxzQkFBc0IsQ0FBQyxRQUFRLEVBQUU7YUFDOUMsQ0FBQyxDQUFDLENBQUM7UUFDSixJQUFNLElBQUksR0FBRyxVQUFVLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDaEMsSUFBSSxPQUFPLEdBQUcsQ0FBQyxDQUFDO1FBQ2hCLElBQUksYUFBYSxHQUFHLElBQUksQ0FBQztRQUN6QixLQUFLLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsTUFBTSxDQUFDLE1BQU0sRUFBRSxDQUFDLEVBQUUsRUFBRTtZQUNwQyxJQUFJLFVBQVUsR0FBRyxDQUFDLENBQUM7WUFDbkIsSUFBSSxhQUFhLEtBQUssTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxFQUFFO2dCQUN2QyxhQUFhLEdBQUcsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDO2dCQUNwQyxVQUFVLEdBQUcsQ0FBQyxDQUFDO2FBQ2xCO1lBQ0QsSUFBSSxVQUFVLEVBQUU7Z0JBQ1osSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLEdBQUcsT0FBTyxFQUFFLENBQUM7b0JBQ3RCLEdBQUMsUUFBUSxJQUFHLGFBQWE7b0JBQ3pCLEdBQUMsUUFBUSxJQUFHLGFBQWE7b0JBQ3pCLFdBQVEsR0FBRSxJQUFJO3dCQUNoQixDQUFDO2dCQUNILE9BQU8sRUFBRSxDQUFDO2FBQ2I7U0FDSjtRQUNELE9BQU8sSUFBSSxDQUFDO0lBQ2hCLENBQUM7O2dEQWhDWSxNQUFNLFNBQUMsbUJBQW1COztJQUY5QixvQkFBb0I7UUFIaEMsSUFBSSxDQUFDO1lBQ0YsSUFBSSxFQUFFLGVBQWU7U0FDeEIsQ0FBQztRQUdlLFdBQUEsTUFBTSxDQUFDLG1CQUFtQixDQUFDLENBQUE7O09BRi9CLG9CQUFvQixDQW1DaEM7SUFBRCwyQkFBQztDQUFBLEFBbkNELElBbUNDO1NBbkNZLG9CQUFvQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdCwgUGlwZSwgUGlwZVRyYW5zZm9ybX0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBjbG9uZUFycmF5IH0gZnJvbSAnLi4vY29yZS91dGlscyc7XG5pbXBvcnQgeyBEYXRhVXRpbCB9IGZyb20gJy4uL2RhdGEtb3BlcmF0aW9ucy9kYXRhLXV0aWwnO1xuaW1wb3J0IHsgU29ydGluZ0RpcmVjdGlvbiB9IGZyb20gJy4uL2RhdGEtb3BlcmF0aW9ucy9zb3J0aW5nLWV4cHJlc3Npb24uaW50ZXJmYWNlJztcbmltcG9ydCB7IElHWF9DT01CT19DT01QT05FTlQsIElneENvbWJvQmFzZSB9IGZyb20gJy4vY29tYm8uY29tbW9uJztcbmltcG9ydCB7IERlZmF1bHRTb3J0aW5nU3RyYXRlZ3kgfSBmcm9tICcuLi9kYXRhLW9wZXJhdGlvbnMvc29ydGluZy1zdHJhdGVneSc7XG5cblxuLyoqXG4gKiBAaGlkZGVuXG4gKi9cbkBQaXBlKHtcbiAgICBuYW1lOiAnY29tYm9GaWx0ZXJpbmcnXG59KVxuZXhwb3J0IGNsYXNzIElneENvbWJvRmlsdGVyaW5nUGlwZSBpbXBsZW1lbnRzIFBpcGVUcmFuc2Zvcm0ge1xuICAgIHB1YmxpYyB0cmFuc2Zvcm0oY29sbGVjdGlvbjogYW55W10sIHNlYXJjaFZhbHVlOiBhbnksIGRpc3BsYXlLZXk6IGFueSwgc2hvdWxkRmlsdGVyOiBib29sZWFuKSB7XG4gICAgICAgIGlmICghY29sbGVjdGlvbikge1xuICAgICAgICAgICAgcmV0dXJuIFtdO1xuICAgICAgICB9XG4gICAgICAgIGlmICghc2VhcmNoVmFsdWUgfHwgIXNob3VsZEZpbHRlcikge1xuICAgICAgICAgICAgcmV0dXJuIGNvbGxlY3Rpb247XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBjb25zdCBzZWFyY2hUZXJtID0gc2VhcmNoVmFsdWUudG9Mb3dlckNhc2UoKS50cmltKCk7XG4gICAgICAgICAgICBpZiAoZGlzcGxheUtleSAhPSBudWxsKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIGNvbGxlY3Rpb24uZmlsdGVyKGUgPT4gZVtkaXNwbGF5S2V5XS50b0xvd2VyQ2FzZSgpLmluY2x1ZGVzKHNlYXJjaFRlcm0pKTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIGNvbGxlY3Rpb24uZmlsdGVyKGUgPT4gZS50b0xvd2VyQ2FzZSgpLmluY2x1ZGVzKHNlYXJjaFRlcm0pKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuLyoqXG4gKiBAaGlkZGVuXG4gKi9cbkBQaXBlKHtcbiAgICBuYW1lOiAnY29tYm9Hcm91cGluZydcbn0pXG5leHBvcnQgY2xhc3MgSWd4Q29tYm9Hcm91cGluZ1BpcGUgaW1wbGVtZW50cyBQaXBlVHJhbnNmb3JtIHtcblxuICAgIGNvbnN0cnVjdG9yKEBJbmplY3QoSUdYX0NPTUJPX0NPTVBPTkVOVCkgcHVibGljIGNvbWJvOiBJZ3hDb21ib0Jhc2UpIHsgfVxuXG4gICAgcHVibGljIHRyYW5zZm9ybShjb2xsZWN0aW9uOiBhbnlbXSwgZ3JvdXBLZXk6IGFueSwgdmFsdWVLZXk6IGFueSkge1xuICAgICAgICB0aGlzLmNvbWJvLmZpbHRlcmVkRGF0YSA9IGNvbGxlY3Rpb247XG4gICAgICAgIGlmICgoIWdyb3VwS2V5ICYmIGdyb3VwS2V5ICE9PSAwKSB8fCAhY29sbGVjdGlvbi5sZW5ndGgpIHtcbiAgICAgICAgICAgIHJldHVybiBjb2xsZWN0aW9uO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IHNvcnRlZCA9IERhdGFVdGlsLnNvcnQoY2xvbmVBcnJheShjb2xsZWN0aW9uKSwgW3tcbiAgICAgICAgICAgIGZpZWxkTmFtZTogZ3JvdXBLZXksXG4gICAgICAgICAgICBkaXI6IFNvcnRpbmdEaXJlY3Rpb24uQXNjLFxuICAgICAgICAgICAgaWdub3JlQ2FzZTogdHJ1ZSxcbiAgICAgICAgICAgIHN0cmF0ZWd5OiBEZWZhdWx0U29ydGluZ1N0cmF0ZWd5Lmluc3RhbmNlKClcbiAgICAgICAgfV0pO1xuICAgICAgICBjb25zdCBkYXRhID0gY2xvbmVBcnJheShzb3J0ZWQpO1xuICAgICAgICBsZXQgaW5zZXJ0cyA9IDA7XG4gICAgICAgIGxldCBjdXJyZW50SGVhZGVyID0gbnVsbDtcbiAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBzb3J0ZWQubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgICAgIGxldCBpbnNlcnRGbGFnID0gMDtcbiAgICAgICAgICAgIGlmIChjdXJyZW50SGVhZGVyICE9PSBzb3J0ZWRbaV1bZ3JvdXBLZXldKSB7XG4gICAgICAgICAgICAgICAgY3VycmVudEhlYWRlciA9IHNvcnRlZFtpXVtncm91cEtleV07XG4gICAgICAgICAgICAgICAgaW5zZXJ0RmxhZyA9IDE7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpZiAoaW5zZXJ0RmxhZykge1xuICAgICAgICAgICAgICAgIGRhdGEuc3BsaWNlKGkgKyBpbnNlcnRzLCAwLCB7XG4gICAgICAgICAgICAgICAgICAgIFt2YWx1ZUtleV06IGN1cnJlbnRIZWFkZXIsXG4gICAgICAgICAgICAgICAgICAgIFtncm91cEtleV06IGN1cnJlbnRIZWFkZXIsXG4gICAgICAgICAgICAgICAgICAgIGlzSGVhZGVyOiB0cnVlXG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgaW5zZXJ0cysrO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIHJldHVybiBkYXRhO1xuICAgIH1cbn1cbiJdfQ==