UNPKG

sx-ng-aggrid

Version:
85 lines 11.3 kB
export function gridFilterFormatter(staticFilterModel, gridFilterModel) { if (!staticFilterModel && !gridFilterModel) { return undefined; } var formattedFilter = {}; var filterModel = Object.assign(gridFilterModel, staticFilterModel); Object.keys(filterModel).forEach(function (key) { // If we have a object notation '.' do nothing // This will be handled in include params if (key.indexOf('.') > 0) { return; } var filter = filterModel[key]; switch (filter.filterType) { case 'text': formattedFilter[key] = textFilterFormatter(filter); break; case 'number': formattedFilter[key] = numberFilterFormatter(filter); break; case 'date': formattedFilter[key] = dateFilterFormatter(filter); break; default: console.error("Unsupported filter type " + filter.filterType); break; } }); return JSON.stringify(formattedFilter); } function textFilterFormatter(filter) { switch (filter.type) { case 'equals': return filter.filter; case 'notEqual': return { $ne: filter.filter }; case 'contains': return { $like: '%' + filter.filter + '%' || '%' }; case 'notContains': return { $notLike: '%' + filter.filter + '%' || '%' }; case 'startsWith': return { $like: filter.filter + '%' || '%' }; case 'endsWith': return { $like: '%' + filter.filter || '%' }; default: console.error("Unsupported filter type " + filter.type + " for text"); } } function numberFilterFormatter(filter) { switch (filter.type) { case 'equals': return filter.filter; case 'notEqual': return { $ne: filter.filter }; case 'lessThan': return { $lt: filter.filter }; case 'lessThanOrEqual': return { $lte: filter.filter }; case 'greaterThan': return { $gt: filter.filter }; case 'greaterThanOrEqual': return { $gte: filter.filter }; case 'inRange': return { $between: [filter.filter, filter.filterTo] }; default: console.error("Unsupported filter type " + filter.type + " for number"); } } function dateFilterFormatter(filter) { switch (filter.type) { case 'equals': return filter.dateFrom; case 'notEqual': return { $ne: filter.dateFrom }; case 'lessThan': return { $lt: filter.dateFrom }; case 'greaterThan': return { $gt: filter.dateFrom }; case 'inRange': return { $between: [filter.dateFrom, filter.dateTo] }; default: console.error("Unsupported filter type " + filter.type + " for date"); } } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3JpZC1zZXF1ZWxpemUtZmlsdGVyLmpzIiwic291cmNlUm9vdCI6Im5nOi8vc3gtbmctYWdncmlkLyIsInNvdXJjZXMiOlsic3JjL2FwcC9tb2R1bGVzL2dyaWQvZ3JpZC1zZXF1ZWxpemUtZmlsdGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQWFBLE1BQU0sVUFBVSxtQkFBbUIsQ0FBQyxpQkFBK0IsRUFBRSxlQUE2QjtJQUM5RixJQUFJLENBQUMsaUJBQWlCLElBQUksQ0FBQyxlQUFlLEVBQUU7UUFDeEMsT0FBTyxTQUFTLENBQUM7S0FDcEI7SUFFRCxJQUFNLGVBQWUsR0FBUSxFQUFFLENBQUM7SUFDaEMsSUFBTSxXQUFXLEdBQWlCLE1BQU0sQ0FBQyxNQUFNLENBQUMsZUFBZSxFQUFFLGlCQUFpQixDQUFDLENBQUM7SUFDcEYsTUFBTSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQyxPQUFPLENBQUMsVUFBQyxHQUFHO1FBRWpDLDhDQUE4QztRQUM5Qyx5Q0FBeUM7UUFDekMsSUFBSSxHQUFHLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsRUFBRTtZQUN0QixPQUFPO1NBQ1Y7UUFFRCxJQUFNLE1BQU0sR0FBRyxXQUFXLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDaEMsUUFBUSxNQUFNLENBQUMsVUFBVSxFQUFFO1lBQ3ZCLEtBQUssTUFBTTtnQkFDUCxlQUFlLENBQUMsR0FBRyxDQUFDLEdBQUcsbUJBQW1CLENBQUMsTUFBTSxDQUFDLENBQUM7Z0JBQ25ELE1BQU07WUFDVixLQUFLLFFBQVE7Z0JBQ1QsZUFBZSxDQUFDLEdBQUcsQ0FBQyxHQUFHLHFCQUFxQixDQUFDLE1BQU0sQ0FBQyxDQUFDO2dCQUNyRCxNQUFNO1lBQ1YsS0FBSyxNQUFNO2dCQUNQLGVBQWUsQ0FBQyxHQUFHLENBQUMsR0FBRyxtQkFBbUIsQ0FBQyxNQUFNLENBQUMsQ0FBQztnQkFDbkQsTUFBTTtZQUNWO2dCQUNJLE9BQU8sQ0FBQyxLQUFLLENBQUMs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TUFBTSxDQUFDLElBQUksY0FBVyxDQUFDLENBQUM7S0FDeEU7QUFDTCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGludGVyZmFjZSBJRmlsdGVyIHtcbiAgICBmaWx0ZXI6IHN0cmluZyB8IG51bWJlcjtcbiAgICBmaWx0ZXJUbz86IG51bWJlcjtcbiAgICBkYXRlRnJvbT86IHN0cmluZztcbiAgICBkYXRlVG8/OiBzdHJpbmc7XG4gICAgZmlsdGVyVHlwZTogc3RyaW5nO1xuICAgIHR5cGU6IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJRmlsdGVyTW9kZWwge1xuICAgIFtpbmRleDogc3RyaW5nXTogSUZpbHRlcjtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGdyaWRGaWx0ZXJGb3JtYXR0ZXIoc3RhdGljRmlsdGVyTW9kZWw6IElGaWx0ZXJNb2RlbCwgZ3JpZEZpbHRlck1vZGVsOiBJRmlsdGVyTW9kZWwpOiBzdHJpbmcge1xuICAgIGlmICghc3RhdGljRmlsdGVyTW9kZWwgJiYgIWdyaWRGaWx0ZXJNb2RlbCkge1xuICAgICAgICByZXR1cm4gdW5kZWZpbmVkO1xuICAgIH1cblxuICAgIGNvbnN0IGZvcm1hdHRlZEZpbHRlcjogYW55ID0ge307XG4gICAgY29uc3QgZmlsdGVyTW9kZWw6IElGaWx0ZXJNb2RlbCA9IE9iamVjdC5hc3NpZ24oZ3JpZEZpbHRlck1vZGVsLCBzdGF0aWNGaWx0ZXJNb2RlbCk7XG4gICAgT2JqZWN0LmtleXMoZmlsdGVyTW9kZWwpLmZvckVhY2goKGtleSkgPT4ge1xuXG4gICAgICAgIC8vIElmIHdlIGhhdmUgYSBvYmplY3Qgbm90YXRpb24gJy4nIGRvIG5vdGhpbmdcbiAgICAgICAgLy8gVGhpcyB3aWxsIGJlIGhhbmRsZWQgaW4gaW5jbHVkZSBwYXJhbXNcbiAgICAgICAgaWYgKGtleS5pbmRleE9mKCcuJykgPiAwKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBmaWx0ZXIgPSBmaWx0ZXJNb2RlbFtrZXldO1xuICAgICAgICBzd2l0Y2ggKGZpbHRlci5maWx0ZXJUeXBlKSB7XG4gICAgICAgICAgICBjYXNlICd0ZXh0JzpcbiAgICAgICAgICAgICAgICBmb3JtYXR0ZWRGaWx0ZXJba2V5XSA9IHRleHRGaWx0ZXJGb3JtYXR0ZXIoZmlsdGVyKTtcbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIGNhc2UgJ251bWJlcic6XG4gICAgICAgICAgICAgICAgZm9ybWF0dGVkRmlsdGVyW2tleV0gPSBudW1iZXJGaWx0ZXJGb3JtYXR0ZXIoZmlsdGVyKTtcbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIGNhc2UgJ2RhdGUnOlxuICAgICAgICAgICAgICAgIGZvcm1hdHRlZEZpbHRlcltrZXldID0gZGF0ZUZpbHRlckZvcm1hdHRlcihmaWx0ZXIpO1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICAgICAgICBjb25zb2xlLmVycm9yKGBVbnN1cHBvcnRlZCBmaWx0ZXIgdHlwZSAke2ZpbHRlci5maWx0ZXJUeXBlfWApO1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICB9XG4gICAgfSk7XG4gICAgcmV0dXJuIEpTT04uc3RyaW5naWZ5KGZvcm1hdHRlZEZpbHRlcik7XG59XG5cbmZ1bmN0aW9uIHRleHRGaWx0ZXJGb3JtYXR0ZXIoZmlsdGVyOiBJRmlsdGVyKTogYW55IHtcbiAgICBzd2l0Y2ggKGZpbHRlci50eXBlKSB7XG4gICAgICAgIGNhc2UgJ2VxdWFscyc6XG4gICAgICAgICAgICByZXR1cm4gZmlsdGVyLmZpbHRlcjtcbiAgICAgICAgY2FzZSAnbm90RXF1YWwnOlxuICAgICAgICAgICAgcmV0dXJuIHsgJG5lOiBmaWx0ZXIuZmlsdGVyIH07XG4gICAgICAgIGNhc2UgJ2NvbnRhaW5zJzpcbiAgICAgICAgICAgIHJldHVybiB7ICRsaWtlOiAnJScgKyBmaWx0ZXIuZmlsdGVyICsgJyUnIHx8ICclJyB9O1xuICAgICAgICBjYXNlICdub3RDb250YWlucyc6XG4gICAgICAgICAgICByZXR1cm4geyAkbm90TGlrZTogJyUnICsgZmlsdGVyLmZpbHRlciArICclJyB8fCAnJScgfTtcbiAgICAgICAgY2FzZSAnc3RhcnRzV2l0aCc6XG4gICAgICAgICAgICByZXR1cm4geyAkbGlrZTogZmlsdGVyLmZpbHRlciArICclJyB8fCAnJScgfTtcbiAgICAgICAgY2FzZSAnZW5kc1dpdGgnOlxuICAgICAgICAgICAgcmV0dXJuIHsgJGxpa2U6ICclJyArIGZpbHRlci5maWx0ZXIgfHwgJyUnIH07XG4gICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgICBjb25zb2xlLmVycm9yKGBVbnN1cHBvcnRlZCBmaWx0ZXIgdHlwZSAke2ZpbHRlci50eXBlfSBmb3IgdGV4dGApO1xuICAgIH1cbn1cblxuZnVuY3Rpb24gbnVtYmVyRmlsdGVyRm9ybWF0dGVyKGZpbHRlcjogSUZpbHRlcik6IGFueSB7XG4gICAgc3dpdGNoIChmaWx0ZXIudHlwZSkge1xuICAgICAgICBjYXNlICdlcXVhbHMnOlxuICAgICAgICAgICAgcmV0dXJuIGZpbHRlci5maWx0ZXI7XG4gICAgICAgIGNhc2UgJ25vdEVxdWFsJzpcbiAgICAgICAgICAgIHJldHVybiB7ICRuZTogZmlsdGVyLmZpbHRlciB9O1xuICAgICAgICBjYXNlICdsZXNzVGhhbic6XG4gICAgICAgICAgICByZXR1cm4geyAkbHQ6IGZpbHRlci5maWx0ZXIgfTtcbiAgICAgICAgY2FzZSAnbGVzc1RoYW5PckVxdWFsJzpcbiAgICAgICAgICAgIHJldHVybiB7ICRsdGU6IGZpbHRlci5maWx0ZXIgfTtcbiAgICAgICAgY2FzZSAnZ3JlYXRlclRoYW4nOlxuICAgICAgICAgICAgcmV0dXJuIHsgJGd0OiBmaWx0ZXIuZmlsdGVyIH07XG4gICAgICAgIGNhc2UgJ2dyZWF0ZXJUaGFuT3JFcXVhbCc6XG4gICAgICAgICAgICByZXR1cm4geyAkZ3RlOiBmaWx0ZXIuZmlsdGVyIH07XG4gICAgICAgIGNhc2UgJ2luUmFuZ2UnOlxuICAgICAgICAgICAgcmV0dXJuIHsgJGJldHdlZW46IFtmaWx0ZXIuZmlsdGVyLCBmaWx0ZXIuZmlsdGVyVG9dIH07XG5cbiAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICAgIGNvbnNvbGUuZXJyb3IoYFVuc3VwcG9ydGVkIGZpbHRlciB0eXBlICR7ZmlsdGVyLnR5cGV9IGZvciBudW1iZXJgKTtcbiAgICB9XG59XG5cbmZ1bmN0aW9uIGRhdGVGaWx0ZXJGb3JtYXR0ZXIoZmlsdGVyOiBJRmlsdGVyKTogYW55IHtcbiAgICBzd2l0Y2ggKGZpbHRlci50eXBlKSB7XG4gICAgICAgIGNhc2UgJ2VxdWFscyc6XG4gICAgICAgICAgICByZXR1cm4gZmlsdGVyLmRhdGVGcm9tO1xuICAgICAgICBjYXNlICdub3RFcXVhbCc6XG4gICAgICAgICAgICByZXR1cm4geyAkbmU6IGZpbHRlci5kYXRlRnJvbSB9O1xuICAgICAgICBjYXNlICdsZXNzVGhhbic6XG4gICAgICAgICAgICByZXR1cm4geyAkbHQ6IGZpbHRlci5kYXRlRnJvbSB9O1xuICAgICAgICBjYXNlICdncmVhdGVyVGhhbic6XG4gICAgICAgICAgICByZXR1cm4geyAkZ3Q6IGZpbHRlci5kYXRlRnJvbSB9O1xuICAgICAgICBjYXNlICdpblJhbmdlJzpcbiAgICAgICAgICAgIHJldHVybiB7ICRiZXR3ZWVuOiBbZmlsdGVyLmRhdGVGcm9tLCBmaWx0ZXIuZGF0ZVRvXSB9O1xuXG4gICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgICBjb25zb2xlLmVycm9yKGBVbnN1cHBvcnRlZCBmaWx0ZXIgdHlwZSAke2ZpbHRlci50eXBlfSBmb3IgZGF0ZWApO1xuICAgIH1cbn1cbiJdfQ==