24 private $dataProvider;
41 $this->algorithm = $algorithm;
42 $this->dataProvider = $dataProvider;
54 $aggregations = $this->dataProvider->getAggregations($entityStorage);
56 $options = $this->options->get();
57 if ($aggregations[
'count'] < $options[
'interval_division_limit']) {
60 $this->algorithm->setStatistics(
64 $aggregations[
'count']
67 $this->algorithm->setLimits($aggregations[
'min'], $aggregations[
'max'] + 0.01);
69 $interval = $this->dataProvider->getInterval($bucket, $dimensions, $entityStorage);
70 $data = $this->algorithm->calculateSeparators($interval);
72 $data[0][
'from'] =
'';
75 $dataSize = count(
$data);
76 for ($key = 0; $key < $dataSize; $key++) {
77 if (isset(
$data[$key + 1])) {
getItems(BucketInterface $bucket, array $dimensions, \Magento\Framework\Search\Dynamic\EntityStorage $entityStorage)
__construct(DataProviderInterface $dataProvider, Algorithm $algorithm, OptionsInterface $options)