DatePicker JQuery-UI для угловых highcharts-NG RangeSelector

0

Я пытаюсь добавить datepicker (jquery-ui) в селектор диапазона, но я не могу заставить его работать.

Я хочу получить что-то вроде этого примера с jquery:

 $.getJSON('https://www.highcharts.com/samples/data/jsonp.php?filename=aapl-c.json&callback=?', function (data) {
        // Create the chart
        $('#container').highcharts('StockChart', {


            rangeSelector : {
                selected : 1
            },

            title : {
                text : 'AAPL Stock Price'
            },

            series : [{
                name : 'AAPL',
                data : data,
                tooltip: {
                    valueDecimals: 2
                }
            }]

        }, function (chart) {

            // apply the date pickers
            setTimeout(function () {
                $('input.highcharts-range-selector').datepicker();
            }, 0);
        });
    });




});

скрипка с jquery

Но сделано с угловым:

$scope.chartConfig = {
        options: {
            chart: {
                zoomType: 'x'
            },
            rangeSelector: {
                enabled: true
            },
            navigator: {
                enabled: true
            }
        },
        series: [],
        title: {
            text: 'Hello'
        },
        useHighStocks: true,
        function (chart) {
            // apply the date pickers
            $timeout(function () {
                $('input.highcharts-input-group').datepicker();
            }, 0);
        }

    }

скрипка с угловым

Несомненно, jquery-ui datepicker работает в угловом режиме:

var app = angular.module('myApp', []);

        app.directive('datepicker', function () {
            return {
                restrict: 'C',
                require: 'ngModel',
                 link: function (scope, element, attrs, ngModelCtrl) {
                    $(element).datepicker({
                        dateFormat: 'dd, MM, yy',
                        onSelect: function (date) {
                            scope.date = date;
                            scope.$apply();
                        }
                    });
                }    
            };
        });

        app.controller('myCtrl', function($scope) {
            console.log('it works');
            $scope.count = 0;

            $scope.popdp=function(event){
                console.log('XD')
            event.preventDefault();
                $('.datepicker2').datepicker({
                    dateFormat: 'dd, MM, yy',
                    onSelect: function (date) {
                        scope.date = date;
                        scope.$apply();
                    }
                });
            }
        });
Теги:
highcharts
highcharts-ng

2 ответа

0
Лучший ответ

Ошибка была в моей функции в конце chartConfig:

func: function (chart) {
        $timeout(function () {
            $.datepicker.setDefaults({
                    dateFormat: 'yy-mm-dd'
                    });
          //to make the calendar appear at the date that is already in the input
          $('input.highcharts-range-selector').datepicker();
        }, 0);
    }
0

Я не знаю, как и как не смешивать угловые и jquery, но вы можете взглянуть на угловую библиотеку ui-bootstrap. У этого есть настраиваемый datepicker.

https://angular-ui.github.io/bootstrap/

и прокрутите список до Datepicker

  • 0
    Я предпочитаю смешаться с чем-то, что я уже немного знаю. Во всяком случае, у меня, вероятно, была бы та же проблема с указателем даты из angular-ui. В основном речь идет о выборе правильного элемента DOM на графике, созданном highcharts-ng.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню