solrkit
Version:
 
62 lines • 2.87 kB
JavaScript
;
var __extends = (this && this.__extends) || (function () {
var extendStatics = Object.setPrototypeOf ||
({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };
return function (d, b) {
extendStatics(d, b);
function __() { this.constructor = d; }
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
};
})();
Object.defineProperty(exports, "__esModule", { value: true });
var React = require("react");
var _ = require("lodash");
var FacetTypes_1 = require("./FacetTypes");
var ToggleFacet = (function (_super) {
__extends(ToggleFacet, _super);
function ToggleFacet() {
return _super !== null && _super.apply(this, arguments) || this;
}
ToggleFacet.prototype.onClick = function (value) {
var _this = this;
return function () {
var selections = [];
if (value.checked) {
selections = [];
}
else {
selections.push(value.value);
}
var thisFacet = {};
thisFacet[_this.props.facet] = selections;
_this.context.transition({
start: 0,
facets: thisFacet
});
};
};
ToggleFacet.prototype.render = function () {
var _this = this;
var title = this.props.title;
var render = this.props.render || FacetTypes_1.defaultRenderer;
return (React.createElement("div", { className: "ui", style: { marginBottom: '1em' } },
title ? (React.createElement("h4", null, title)) : null,
_.sortBy(this.props.values, function (v) { return v[0]; }).filter(!this.props.initialValues ? _.stubTrue : (function (row) {
return _.includes(_this.props.initialValues, row.value);
})).map(function (_a, i) {
var value = _a.value, count = _a.count, checked = _a.checked;
return (React.createElement("div", { key: i },
React.createElement("div", { className: "ui toggle checkbox" },
React.createElement("input", { checked: checked, type: "checkbox", name: i + '', onClick: _this.onClick({ value: value, count: count, checked: checked }) }),
React.createElement("label", { onClick: _this.onClick({ value: value, count: count, checked: checked }) }, render(value, count)))));
})));
};
ToggleFacet.contextTypes = {
searchState: React.PropTypes.object,
transition: React.PropTypes.func
};
return ToggleFacet;
}(React.Component));
exports.ToggleFacet = ToggleFacet;
//# sourceMappingURL=ToggleFacet.js.map