UNPKG

apisearch-ui

Version:

Javascript User Interface of Apisearch.

107 lines (106 loc) 3.79 kB
"use strict"; var __spreadArrays = (this && this.__spreadArrays) || function () { for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length; for (var r = Array(s), k = 0, i = 0; i < il; i++) for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++) r[k] = a[j]; return r; }; exports.__esModule = true; exports.isLeveledFilter = exports.getFilterValuesFromQuery = exports.isFilterAvailable = exports.getShadowFilterValuesFromQuery = exports.manageCurrentFilterItems = exports.wasElementRecentlySelected = void 0; /** * @param selectedItem * @param currentItems */ function wasElementRecentlySelected(selectedItem, currentItems) { return !currentItems.some(function (item) { return item === selectedItem; }); } exports.wasElementRecentlySelected = wasElementRecentlySelected; /** * Manage filter items * * If an item is on the list, remove it * else, add it! * * @param selectedItem * @param currentItems * @param wasElementRecentlySelected * @param deleteIfWasRemoved * * @returns {any} */ function manageCurrentFilterItems(selectedItem, currentItems, wasElementRecentlySelected, deleteIfWasRemoved) { if (!wasElementRecentlySelected) { return deleteIfWasRemoved ? currentItems.filter(function (item) { return item !== selectedItem; }) : currentItems; } else { return __spreadArrays(currentItems, [ selectedItem, ]); } } exports.manageCurrentFilterItems = manageCurrentFilterItems; /** * @param query * @param filterName * @param withCurrent */ function getShadowFilterValuesFromQuery(query, filterName, withCurrent) { var fields = []; if (isFilterAvailable(query, filterName, 6)) { var fieldName = query.filters[filterName].field.substr(17); var fieldNameParts = fieldName.split("_"); var currentLevel = parseInt(fieldNameParts[fieldNameParts.length - 1], 10); var fieldNameWithoutLevel = fieldNameParts.slice(0, fieldNameParts.length - 1).join("_"); for (var it_1 = 1; it_1 < currentLevel; it_1++) { var iterationFieldName = fieldNameWithoutLevel + "_" + it_1; if (query.filters[iterationFieldName] !== undefined) { fields.push(query.filters[iterationFieldName].values[0]); } } if (withCurrent) { fields.push(query.filters[filterName].values[0]); } } return fields; } exports.getShadowFilterValuesFromQuery = getShadowFilterValuesFromQuery; /** * @param query * @param filterName * @param applicationType */ function isFilterAvailable(query, filterName, applicationType) { if (applicationType === void 0) { applicationType = null; } return (query.filters !== undefined && query.filters !== null && typeof query.filters === "object" && query.filters[filterName] !== undefined && query.filters[filterName] !== null && (applicationType === null || query.filters[filterName].applicationType === applicationType || query.filters[filterName].application_type === applicationType)); } exports.isFilterAvailable = isFilterAvailable; /** * @param query * @param filterName * @param applicationType */ function getFilterValuesFromQuery(query, filterName, applicationType) { if (applicationType === void 0) { applicationType = null; } return isFilterAvailable(query, filterName, applicationType) ? query.filters[filterName].values : []; } exports.getFilterValuesFromQuery = getFilterValuesFromQuery; /** * @param filter */ function isLeveledFilter(filter) { return filter.application_type === 6 || filter.applicationType === 6; } exports.isLeveledFilter = isLeveledFilter;