UNPKG

@angular-generic-table/core

Version:
124 lines (123 loc) 12.9 kB
/** * @fileoverview added by tsickle * @suppress {checkTypes} checked by tsc */ import { Pipe } from '@angular/core'; // unsupported: template constraints. /** * @template R */ var GtSearchPipe = /** @class */ (function () { function GtSearchPipe() { /** * Return property */ this.getProperty = function (array, key) { for (var /** @type {?} */ i = 0; i < array.length; i++) { if (array[i].objectKey === key) { return array[i]; } } }; } /** * @param {?} allRows * @param {?} searchTerms * @param {?} gtInfo * @param {?} settings * @param {?} fields * @param {?} refreshData * @return {?} */ GtSearchPipe.prototype.transform = /** * @param {?} allRows * @param {?} searchTerms * @param {?} gtInfo * @param {?} settings * @param {?} fields * @param {?} refreshData * @return {?} */ function (allRows, searchTerms, gtInfo, settings, fields, refreshData) { // if no search terms are defined... if (!searchTerms || searchTerms.replace(/"/g, '').length === 0) { // ...return all rows var /** @type {?} */ length_1 = allRows === null ? 0 : allRows.length; gtInfo.recordsAfterSearch = length_1; return allRows; } var /** @type {?} */ searchFunction = {}; var /** @type {?} */ fieldsTemp = []; for (var /** @type {?} */ k = 0; k < fields.length; k++) { var /** @type {?} */ field = fields[k]; // check if field should be included in global search var /** @type {?} */ include = this.getProperty(settings, field.objectKey).search === false ? false : true; // if include... if (include) { // ...and if search function is defined... if (typeof field.search === 'function') { // ...add it as search function for field searchFunction[field.objectKey] = field.search; } else if (typeof field.value === 'function') { // ...add it as search function for field searchFunction[field.objectKey] = field.value; } // ...push it to our fields array fieldsTemp.push(field); } } var /** @type {?} */ filteredRows = []; searchTerms = typeof searchTerms === 'undefined' ? '' : searchTerms; var /** @type {?} */ searchTermsArray = searchTerms.toLowerCase().match(/(".*"|[^\s]+)/g); for (var /** @type {?} */ i = 0; i < allRows.length; i++) { var /** @type {?} */ row = allRows[i]; var /** @type {?} */ string = ''; for (var /** @type {?} */ j = 0; j < fieldsTemp.length; j++) { var /** @type {?} */ separator = j === 0 ? '' : ' & '; string += searchFunction[fieldsTemp[j].objectKey] ? separator + searchFunction[fieldsTemp[j].objectKey](row, j) : separator + row[fieldsTemp[j].objectKey]; } string = string.toLowerCase(); var /** @type {?} */ match = true; for (var /** @type {?} */ k = 0; k < searchTermsArray.length; k++) { var /** @type {?} */ term = searchTermsArray[k].replace(/"/g, ''); match = string.indexOf(term) !== -1; if (!match) { break; } } if (match) { filteredRows.push(row); } } gtInfo.recordsAfterSearch = filteredRows.length; // gtInfo.refresh(filteredRows.length,gt); return filteredRows; }; GtSearchPipe.decorators = [ { type: Pipe, args: [{ name: 'gtSearch' },] }, ]; return GtSearchPipe; }()); export { GtSearchPipe }; function GtSearchPipe_tsickle_Closure_declarations() { /** @type {!Array<{type: !Function, args: (undefined|!Array<?>)}>} */ GtSearchPipe.decorators; /** * @nocollapse * @type {function(): !Array<(null|{type: ?, decorators: (undefined|!Array<{type: !Function, args: (undefined|!Array<?>)}>)})>} */ GtSearchPipe.ctorParameters; /** * Return property * @type {?} */ GtSearchPipe.prototype.getProperty; } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3Qtc2VhcmNoLnBpcGUuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AYW5ndWxhci1nZW5lcmljLXRhYmxlL2NvcmUvIiwic291cmNlcyI6WyJwaXBlcy9ndC1zZWFyY2gucGlwZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBQUEsT0FBTyxFQUFFLElBQUksRUFBaUIsTUFBTSxlQUFlLENBQUM7Ozs7Ozs7Ozs7MkJBVzdCLFVBQVMsS0FBaUIsRUFBRSxHQUFXO1lBQzVELEdBQUcsQ0FBQyxDQUFDLHFCQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLEtBQUssQ0FBQyxNQUFNLEVBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FBQztnQkFDdkMsRUFBRSxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsS0FBSyxHQUFHLENBQUMsQ0FBQyxDQUFDO29CQUNoQyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDO2lCQUNoQjthQUNEO1NBQ0Q7Ozs7Ozs7Ozs7O0lBRUQsZ0NBQVM7Ozs7Ozs7OztJQUFULFVBQ0MsT0FBWSxFQUNaLFdBQW1CLEVBQ25CLE1BQXFCLEVBQ3JCLFFBQWdDLEVBQ2hDLE1BQW9DLEVBQ3BDLFdBQW1COztRQUduQixFQUFFLENBQUMsQ0FBQyxDQUFDLFdBQVcsSUFBSSxXQUFXLENBQUMsT0FBTyxDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQzs7WUFFaEUscUJBQU0sUUFBTSxHQUFHLE9BQU8sS0FBSyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQztZQUNyRCxNQUFNLENBQUMsa0JBQWtCLEdBQUcsUUFBTSxDQUFDO1lBQ25DLE1BQU0sQ0FBQyxPQUFPLENBQUM7U0FDZjtRQUVELHFCQUFNLGNBQWMsR0FBUSxFQUFFLENBQUM7UUFDL0IscUJBQU0sVUFBVSxHQUFlLEVBQUUs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QUMsS0FBSyxDQUFDLENBQUMsQ0FBQztvQkFDWixLQUFLLENBQUM7aUJBQ047YUFDRDtZQUNELEVBQUUsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7Z0JBQ1gsWUFBWSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQzthQUN2QjtTQUNEO1FBQ0QsTUFBTSxDQUFDLGtCQUFrQixHQUFHLFlBQVksQ0FBQyxNQUFNLENBQUM7O1FBRWhELE1BQU0sQ0FBQyxZQUFZLENBQUM7S0FDcEI7O2dCQTNGRCxJQUFJLFNBQUM7b0JBQ0wsSUFBSSxFQUFFLFVBQVU7aUJBQ2hCOzt1QkFSRDs7U0FTYSxZQUFZIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUGlwZSwgUGlwZVRyYW5zZm9ybSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgR3RDb25maWdGaWVsZCB9IGZyb20gJy4uL2ludGVyZmFjZXMvZ3QtY29uZmlnLWZpZWxkJztcbmltcG9ydCB7IEd0Um93IH0gZnJvbSAnLi4vaW50ZXJmYWNlcy9ndC1yb3cnO1xuaW1wb3J0IHsgR3RDb25maWdTZXR0aW5nIH0gZnJvbSAnLi4vaW50ZXJmYWNlcy9ndC1jb25maWctc2V0dGluZyc7XG5pbXBvcnQgeyBHdEluZm9ybWF0aW9uIH0gZnJvbSAnLi4vaW50ZXJmYWNlcy9ndC1pbmZvcm1hdGlvbic7XG5cbkBQaXBlKHtcblx0bmFtZTogJ2d0U2VhcmNoJ1xufSlcbmV4cG9ydCBjbGFzcyBHdFNlYXJjaFBpcGU8UiBleHRlbmRzIEd0Um93PiBpbXBsZW1lbnRzIFBpcGVUcmFuc2Zvcm0ge1xuXHQvKiogUmV0dXJuIHByb3BlcnR5ICovXG5cdHByaXZhdGUgZ2V0UHJvcGVydHkgPSBmdW5jdGlvbihhcnJheTogQXJyYXk8YW55Piwga2V5OiBzdHJpbmcpIHtcblx0XHRmb3IgKGxldCBpID0gMDsgaSA8IGFycmF5Lmxlbmd0aDsgaSsrKSB7XG5cdFx0XHRpZiAoYXJyYXlbaV0ub2JqZWN0S2V5ID09PSBrZXkpIHtcblx0XHRcdFx0cmV0dXJuIGFycmF5W2ldO1xuXHRcdFx0fVxuXHRcdH1cblx0fTtcblxuXHR0cmFuc2Zvcm0oXG5cdFx0YWxsUm93czogYW55LFxuXHRcdHNlYXJjaFRlcm1zOiBzdHJpbmcsXG5cdFx0Z3RJbmZvOiBHdEluZm9ybWF0aW9uLFxuXHRcdHNldHRpbmdzOiBBcnJheTxHdENvbmZpZ1NldHRpbmc+LFxuXHRcdGZpZWxkczogQXJyYXk8R3RDb25maWdGaWVsZDxSLCBhbnk+Pixcblx0XHRyZWZyZXNoRGF0YTogbnVtYmVyXG5cdCk6IGFueSB7XG5cdFx0Ly8gIGlmIG5vIHNlYXJjaCB0ZXJtcyBhcmUgZGVmaW5lZC4uLlxuXHRcdGlmICghc2VhcmNoVGVybXMgfHwgc2VhcmNoVGVybXMucmVwbGFjZSgvXCIvZywgJycpLmxlbmd0aCA9PT0gMCkge1xuXHRcdFx0Ly8gLi4ucmV0dXJuIGFsbCByb3dzXG5cdFx0XHRjb25zdCBsZW5ndGggPSBhbGxSb3dzID09PSBudWxsID8gMCA6IGFsbFJvd3MubGVuZ3RoO1xuXHRcdFx0Z3RJbmZvLnJlY29yZHNBZnRlclNlYXJjaCA9IGxlbmd0aDtcblx0XHRcdHJldHVybiBhbGxSb3dzO1xuXHRcdH1cblxuXHRcdGNvbnN0IHNlYXJjaEZ1bmN0aW9uOiBhbnkgPSB7fTtcblx0XHRjb25zdCBmaWVsZHNUZW1wOiBBcnJheTxhbnk+ID0gW107XG5cblx0XHRmb3IgKGxldCBrID0gMDsgayA8IGZpZWxkcy5sZW5ndGg7IGsrKykge1xuXHRcdFx0Y29uc3QgZmllbGQgPSBmaWVsZHNba107XG5cblx0XHRcdC8vIGNoZWNrIGlmIGZpZWxkIHNob3VsZCBiZSBpbmNsdWRlZCBpbiBnbG9iYWwgc2VhcmNoXG5cdFx0XHRjb25zdCBpbmNsdWRlID1cblx0XHRcdFx0dGhpcy5nZXRQcm9wZXJ0eShzZXR0aW5ncywgZmllbGQub2JqZWN0S2V5KS5zZWFyY2ggPT09IGZhbHNlXG5cdFx0XHRcdFx0PyBmYWxzZVxuXHRcdFx0XHRcdDogdHJ1ZTtcblxuXHRcdFx0Ly8gaWYgaW5jbHVkZS4uLlxuXHRcdFx0aWYgKGluY2x1ZGUpIHtcblx0XHRcdFx0Ly8gLi4uYW5kIGlmIHNlYXJjaCBmdW5jdGlvbiBpcyBkZWZpbmVkLi4uXG5cdFx0XHRcdGlmICh0eXBlb2YgZmllbGQuc2VhcmNoID09PSAnZnVuY3Rpb24nKSB7XG5cdFx0XHRcdFx0Ly8gLi4uYWRkIGl0IGFzIHNlYXJjaCBmdW5jdGlvbiBmb3IgZmllbGRcblx0XHRcdFx0XHRzZWFyY2hGdW5jdGlvbltmaWVsZC5vYmplY3RLZXldID0gZmllbGQuc2VhcmNoO1xuXHRcdFx0XHR9XG5cdFx0XHRcdC8vIC4uLmlmIG5vIHNlYXJjaCBmdW5jdGlvbiBpcyBkZWZpbmVkIGJ1dCB2YWx1ZSBmdW5jdGlvbiBpcyBkZWZpbmVkLi4uXG5cdFx0XHRcdGVsc2UgaWYgKHR5cGVvZiBmaWVsZC52YWx1ZSA9PT0gJ2Z1bmN0aW9uJykge1xuXHRcdFx0XHRcdC8vIC4uLmFkZCBpdCBhcyBzZWFyY2ggZnVuY3Rpb24gZm9yIGZpZWxkXG5cdFx0XHRcdFx0c2VhcmNoRnVuY3Rpb25bZmllbGQub2JqZWN0S2V5XSA9IGZpZWxkLnZhbHVlO1xuXHRcdFx0XHR9XG5cblx0XHRcdFx0Ly8gLi4ucHVzaCBpdCB0byBvdXIgZmllbGRzIGFycmF5XG5cdFx0XHRcdGZpZWxkc1RlbXAucHVzaChmaWVsZCk7XG5cdFx0XHR9XG5cdFx0fVxuXG5cdFx0Y29uc3QgZmlsdGVyZWRSb3dzOiBBcnJheTxhbnk+ID0gW107XG5cdFx0c2VhcmNoVGVybXMgPSB0eXBlb2Ygc2VhcmNoVGVybXMgPT09ICd1bmRlZmluZWQnID8gJycgOiBzZWFyY2hUZXJtcztcblx0XHRjb25zdCBzZWFyY2hUZXJtc0FycmF5ID0gc2VhcmNoVGVybXMudG9Mb3dlckNhc2UoKS5tYXRjaCgvKFwiLipcInxbXlxcc10rKS9nKTtcblxuXHRcdGZvciAobGV0IGkgPSAwOyBpIDwgYWxsUm93cy5sZW5ndGg7IGkrKykge1xuXHRcdFx0Y29uc3Qgcm93ID0gYWxsUm93c1tpXTtcblx0XHRcdGxldCBzdHJpbmcgPSAnJztcblxuXHRcdFx0Zm9yIChsZXQgaiA9IDA7IGogPCBmaWVsZHNUZW1wLmxlbmd0aDsgaisrKSB7XG5cdFx0XHRcdGNvbnN0IHNlcGFyYXRvciA9IGogPT09IDAgPyAnJyA6ICcgJiAnO1xuXHRcdFx0XHRzdHJpbmcgKz0gc2VhcmNoRnVuY3Rpb25bZmllbGRzVGVtcFtqXS5vYmplY3RLZXldXG5cdFx0XHRcdFx0PyBzZXBhcmF0b3IgKyBzZWFyY2hGdW5jdGlvbltmaWVsZHNUZW1wW2pdLm9iamVjdEtleV0ocm93LCBqKVxuXHRcdFx0XHRcdDogc2VwYXJhdG9yICsgcm93W2ZpZWxkc1RlbXBbal0ub2JqZWN0S2V5XTtcblx0XHRcdH1cblx0XHRcdHN0cmluZyA9IHN0cmluZy50b0xvd2VyQ2FzZSgpO1xuXHRcdFx0bGV0IG1hdGNoOiBCb29sZWFuID0gdHJ1ZTtcblxuXHRcdFx0Zm9yIChsZXQgayA9IDA7IGsgPCBzZWFyY2hUZXJtc0FycmF5Lmxlbmd0aDsgaysrKSB7XG5cdFx0XHRcdGNvbnN0IHRlcm0gPSBzZWFyY2hUZXJtc0FycmF5W2tdLnJlcGxhY2UoL1wiL2csICcnKTtcblx0XHRcdFx0bWF0Y2ggPSBzdHJpbmcuaW5kZXhPZih0ZXJtKSAhPT0gLTE7XG5cblx0XHRcdFx0aWYgKCFtYXRjaCkge1xuXHRcdFx0XHRcdGJyZWFrO1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0XHRpZiAobWF0Y2gpIHtcblx0XHRcdFx0ZmlsdGVyZWRSb3dzLnB1c2gocm93KTtcblx0XHRcdH1cblx0XHR9XG5cdFx0Z3RJbmZvLnJlY29yZHNBZnRlclNlYXJjaCA9IGZpbHRlcmVkUm93cy5sZW5ndGg7XG5cdFx0Ly8gZ3RJbmZvLnJlZnJlc2goZmlsdGVyZWRSb3dzLmxlbmd0aCxndCk7XG5cdFx0cmV0dXJuIGZpbHRlcmVkUm93cztcblx0fVxufVxuIl19