chart:histogram
Description
The Chart Histogram Directive
Usage
as element:
<chart:histogram
       [response="{object}"]
       [facet-name="{string}"]
       [query="{string}"]
       [title="{string}"]
       [show="{number}"]
       [height="{string}"]
       [show-count="{boolean}"]
       [max-characters="{number}"]
       [action="{string}"]
       [date-format="{string}"]>
</chart:histogram>
Directive info
- 
This directive creates new scope.
 
Parameters
| Param | Type | Details | 
|---|---|---|
response (optional)  | 
object  | 
A response object  | 
facet-name (optional)  | 
string  | 
Facet name to use from the response object  | 
query (optional)  | 
string  | 
The name of the query to build links from.  | 
title (optional)  | 
string  | 
The title that should be displayed above the histogram.  | 
show (optional)  | 
number  | 
The maximum number of bars to show in the histogram. Defaults to 20.  | 
height (optional)  | 
string  | 
Height of the chart specified by a valid CSS height style value (e.g. '100px' or '7em'). Defaults to '100px'  | 
show-count (optional)  | 
boolean  | 
Whether to display the count in the label for each bar  | 
max-characters (optional)  | 
number  | 
The number of characters to show before truncating the label. Default: 20.  | 
action (optional)  | 
string  | 
The target resource to which the histogram query should submit.  | 
date-format (optional)  | 
string  | 
How to format the date. See #/api/lightning.filter:dateFormat[date format filter] for valid formats.  | 
Example
Source
<div ng-controller="ExampleController">
    <h3 id="example_histogram">Histogram</h3>
    <chart:histogram response="response" facet-name="test1"></chart:histogram>
    <hr />
    <h3 id="example_histogram-with-date-formatting">Histogram with Date Formatting</h3>
    <chart:histogram response="response" facet-name="test3" date-format="fullDate"></chart:histogram>
    <hr />
    <h3 id="example_large-dateset">Large Dateset</h3>
    <chart:histogram response="response" facet-name="date" date-format="fullDate" show="99" show-count="true"></chart:histogram>
    <widget:slider response="response" facet-name="date" date-format="fullDate" sort="false"></widget:slider>
</div>
angular.module('lightning')
.controller('ExampleController', ['$scope','$timeout','ResponseService', function($scope,$timeout,ResponseService) {
            $scope.response = {
                page: 2,
                query: {
                    rpp: 50,
                    filters:[]
                },
                facets: {
                    test1: {
                        filters: [
                            {
                                val: {
                                    dsp: 'Day 1',
                                    act: 'Day 1',
                                },
                                count: 100,
                            },
                            {
                                val: {
                                    dsp: 'Day 2',
                                    act: 'Day 2',
                                },
                                count: 200,
                            }
                        ],
                        'max-count':'200'
                    },
                    test2: {
                        filters: [
                            {
                                val: {
                                    dsp: 'Day 1',
                                    act: 'Day 1',
                                },
                                count: 10,
                            },
                            {
                                val: {
                                    dsp: 'Day 2',
                                    act: 'Day 2',
                                },
                                count: 20,
                            }
                        ],
                        'max-count':20
                    },
                    test3: {
                        filters: [
                            {
                                val: {
                                    dsp: 1288323623006,
                                    act: 1288323623006,
                                },
                                count: 10,
                            },
                            {
                                val: {
                                    dsp: 1288323723006,
                                    act: 1288323723006,
                                },
                                count: 20,
                            }
                        ],
                        'max-count':20
                    },
                    date:{
                        filters:[],
                        'max-count':100
                    }
                },
                results: []
            }
            var i = 0;
            while(i < 99){
                var CurrentDate = new Date();
                CurrentDate.setMonth(CurrentDate.getMonth() + i);
                $scope.response.facets.date.filters.push(
                    {
                        val : {
                            dsp:CurrentDate,
                            act:CurrentDate
                        },
                        count:Math.floor(Math.random()*(100-1+1)+1),
                    }
                )
                i++
            }
            console.log($scope.response.facets.date);
            ResponseService.setResponse('response', $scope.response);
        }]);
