synapse-react-client
Version:
[](https://travis-ci.com/Sage-Bionetworks/Synapse-React-Client) [](https://badge.fury.io/js/synaps
84 lines • 3.35 kB
JavaScript
;
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