UNPKG

synapse-react-client

Version:

[![Build Status](https://travis-ci.com/Sage-Bionetworks/Synapse-React-Client.svg?branch=main)](https://travis-ci.com/Sage-Bionetworks/Synapse-React-Client) [![npm version](https://badge.fury.io/js/synapse-react-client.svg)](https://badge.fury.io/js/synaps

84 lines 3.35 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.readFacetValues = exports.getIsValueSelected = void 0; var Facets_1 = require("../../containers/Facets"); /* TODO: This code is deprecated, delete once stackedbarchart.tsx and facets.tsx are no longer used */ /** * Calculates the state of a specific facet value given the current state * of the application. * * @param * isLoading: boolean | undefined, * lastFacetSelection: FacetSelection | undefined, * curFacetSelection: any, * columnName: string * @returns boolean */ var getIsValueSelected = function (_a) { var isLoading = _a.isLoading, lastFacetSelection = _a.lastFacetSelection, curFacetSelection = _a.curFacetSelection, columnName = _a.columnName; if (isLoading && columnName === lastFacetSelection.columnName) { // indicates there is a selection made with this current facet value if (lastFacetSelection.facetValue === curFacetSelection.value) { return !curFacetSelection.isSelected; } if (lastFacetSelection.selector === Facets_1.SELECT_SINGLE_FACET) { return false; } } /* else, the information has come back from the server and we can rely on that */ return curFacetSelection.isSelected; }; exports.getIsValueSelected = getIsValueSelected; /** * Function reads over a set of checkboxes and then returns a corresponding * queryRequest given the state of the prior queryRequest * htmlCheckboxes: any, * selector : string, * queryRequest: QueryBundleRequest, * facet: string, * value?: string * } * @returns */ var readFacetValues = function (_a) { var htmlCheckboxes = _a.htmlCheckboxes, selector = _a.selector, queryRequest = _a.queryRequest, facet = _a.facet, value = _a.value; var facetValues = []; if (!selector) { // no selector was clicked -- read over facet values as normal and see what was clicked for (var i = 0; i < htmlCheckboxes.length; i += 1) { var checkbox = htmlCheckboxes[i]; var isSelected = checkbox.checked; if (isSelected) { facetValues.push(checkbox.value); } } } else if (selector === Facets_1.SELECT_SINGLE_FACET) { // SELECT_SINGLE_FACET acts as a radio selection, thats the only selection facetValues.push(value); } // else selector === SELECT_ALL, we don't add any values, empty is treated as SELECT_ALL var newQueryRequest = queryRequest; var _b = newQueryRequest.query.selectedFacets, selectedFacets = _b === void 0 ? [] : _b; var specificFacet = selectedFacets.find(function (el) { return el.columnName === facet; }); if (!specificFacet) { var facetColumnValuesRequest = { facetValues: facetValues, concreteType: 'org.sagebionetworks.repo.model.table.FacetColumnValuesRequest', columnName: facet, }; selectedFacets.push(facetColumnValuesRequest); // align the reference to selectedFacets newQueryRequest.query.selectedFacets = selectedFacets; } else { specificFacet.facetValues = facetValues; } return { newQueryRequest: newQueryRequest }; }; exports.readFacetValues = readFacetValues; //# sourceMappingURL=facetUtils.js.map