Facets.prototype.select = function()

in lib/@uncharted.software/stories-facets/src/main.js [75:111]


Facets.prototype.select = function(subgroups, isQuery) {
	var groupsInitialized = false;
	var queriesInitialized = false;

	subgroups.forEach(function(groupSpec) {
		var group = this.getGroup(groupSpec.key);
		if (!isQuery && group) {
			if (!groupsInitialized) {
				// Initialize selection state
				this._groups.forEach(function(group) {
					group.initializeSelection();
				});
				groupsInitialized = true;
			}

			// select each containining facet
			groupSpec.facets.forEach(function(facetSpec) {
				var facet = group._getFacet(facetSpec.value);
				if (facet) {
					facet.select(facetSpec.selected || facetSpec);
				}
			}.bind(this));
		} else {
			groupSpec.facets.forEach(function(facetSpec) {
				var query = this._getQuery(groupSpec.key, facetSpec.value);
				if (query) {
					if (!queriesInitialized) {
						// Initialize selection state
						this._queryGroup.initializeSelection();
						queriesInitialized = true;
					}
					query.select(facetSpec.selected);
				}
			}.bind(this));
		}
	}.bind(this));
};