RefinementListFilter sort

Size
5,022 Kb
Views
38,456

How do I make an refinementlistfilter sort?

What is a refinementlistfilter sort? How do you make a refinementlistfilter sort? This script and codes were developed by Gregory Potdevin on 01 October 2022, Saturday.

RefinementListFilter sort Previews

RefinementListFilter sort - Script Codes HTML Codes

<!DOCTYPE html>
<html >
<head> <meta charset="UTF-8"> <title>RefinementListFilter sort</title> <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/normalize/5.0.0/normalize.min.css"> <link rel='stylesheet prefetch' href='http://cdn.jsdelivr.net/searchkit/0.4.0/styles.css'> <link rel="stylesheet" href="css/style.css">
</head>
<body> <div id="app"></div> <script src='http://cdnjs.cloudflare.com/ajax/libs/react/0.14.3/react.min.js'></script>
<script src='http://cdn.jsdelivr.net/searchkit/0.4.0/bundle.js'></script> <script src="js/index.js"></script>
</body>
</html>

RefinementListFilter sort - Script Codes CSS Codes

.search__query { position: absolute; top: 0; left: 0; right: 0; height: 41px; display: flex; border-bottom: 1px solid #ddd;
}
.search .search-box { height: 40px; flex: 1;
}
.search .search-box__loader { display: none;
}
.search__results { position: absolute; top: 41px; left: 0; right: 0;
}
.search .hits-list-item { display: block; padding: 16px; width: 100%;
}
.search .hits-hit { text-align: center;
}
.search .hits-hit a { text-decoration: none;
}
.search .hits-hit__poster { max-width: 100px; max-height: 140px; display: inline-block;
}
.search .hits-hit__title { font-size: 12px; text-align: center; margin-top: 5px;
}

RefinementListFilter sort - Script Codes JS Codes

"use strict";
function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; }
function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }
var host = "https://kili-eu-west-1.searchly.com/movies/";
var sk = new Searchkit.SearchkitManager(host, { multipleSearchers: false, basicAuth: "read:teetndhjnrspbzxxyfxmf5fb24suqxuj"
});
var FastClick = Searchkit.FastClick;
var SearchkitProvider = Searchkit.SearchkitProvider;
var Searchbox = Searchkit.SearchBox;
var Hits = Searchkit.Hits;
var HitsStats = Searchkit.HitsStats;
var RefinementListFilter = Searchkit.RefinementListFilter;
function sortByWeight(weights, buckets) { var list = buckets.slice(); list.sort(function (a, b) { var wa = weights[a.key] || 0; var wb = weights[b.key] || 0; if (wa > wb) return -1;else if (wa < wb) return 1;else return 0; }); return list;
}
var sortBelgiumFirst = sortByWeight.bind(null, { Belgium: 10, France: 9, USA: 8
});
function sortByKey(buckets) { // Clone var list = buckets.slice(); list.sort(function (a, b) { var wa = a.key; var wb = b.key; if (wa < wb) return -1;else if (wa > wb) return 1;else return 0; }); return list;
}
var SortableRefinementListFilter = function (_RefinementListFilter) { _inherits(SortableRefinementListFilter, _RefinementListFilter); function SortableRefinementListFilter() { _classCallCheck(this, SortableRefinementListFilter); return _possibleConstructorReturn(this, _RefinementListFilter.apply(this, arguments)); } SortableRefinementListFilter.prototype.render = function render() { var block = this.bemBlocks.container; var className = block().mix("filter--" + this.props.id).state({ disabled: !this.hasOptions() }); var transform = this.props.transform || function (id) { return id; }; var buckets = transform(this.accessor.getBuckets()); console.log('transform', transform); return React.createElement( "div", { "data-qa": "filter--" + this.props.id, className: className }, React.createElement( "div", { "data-qa": "header", className: block("header") }, this.props.title ), React.createElement( "div", { "data-qa": "options", className: block("options") }, buckets.map(this.renderOption.bind(this)) ), this.renderShowMore() ); }; return SortableRefinementListFilter;
}(RefinementListFilter);
var Application = function (_React$Component) { _inherits(Application, _React$Component); function Application() { _classCallCheck(this, Application); var _this2 = _possibleConstructorReturn(this, _React$Component.call(this)); _this2.state = { displayMode: "thumbnail" }; return _this2; } Application.prototype.onDisplayModeChange = function onDisplayModeChange(e) { this.setState({ displayMode: e.target.value }); }; Application.prototype.render = function render() { var displayMode = this.state.displayMode; return React.createElement( "div", null, React.createElement( SearchkitProvider, { searchkit: sk }, React.createElement( "div", { className: "search" }, React.createElement( "div", { className: "search__query" }, React.createElement(Searchbox, { searchOnChange: true, prefixQueryFields: ["actors^1", "type^2", "languages", "title^10"] }) ), React.createElement( "div", { className: "search__results" }, React.createElement(HitsStats, null), React.createElement(SortableRefinementListFilter, { id: "countries", title: "Countries", field: "countries.raw", operator: "OR", size: 100, transform: sortBelgiumFirst }) ) ) ) ); }; return Application;
}(React.Component);
React.render(React.createElement(Application, null), document.getElementById('app'));
RefinementListFilter sort - Script Codes
RefinementListFilter sort - Script Codes
Home Page Home
Developer Gregory Potdevin
Username GregoryPotdevin
Uploaded October 01, 2022
Rating 3
Size 5,022 Kb
Views 38,456
Do you need developer help for RefinementListFilter sort?

Find the perfect freelance services for your business! Fiverr's mission is to change how the world works together. Fiverr connects businesses with freelancers offering digital services in 500+ categories. Find Developer!

Gregory Potdevin (GregoryPotdevin) Script Codes
Create amazing blog posts with AI!

Jasper is the AI Content Generator that helps you and your team break through creative blocks to create amazing, original content 10X faster. Discover all the ways the Jasper AI Content Platform can help streamline your creative workflows. Start For Free!