angular-ui / ui-calendar: отображение информации о событии при наведении курсора мыши

#javascript #angularjs

#javascript #angularjs

Вопрос:

В демо-версии я увидел, что название события выскакивало при наведении курсора мыши на день. Я искал документацию, но я не вижу никакого описания того, как это сделать.

Я полагаю, что имя события будет отображаться с mouseover помощью и что-то менять uiConfig .

Любые советы будут оценены!

Ответ №1:

Это не встроенная функция ui-calendar .

В демонстрации используется компонент всплывающей подсказки UI Bootstrap для Angular для отображения информации о событии. Вам необходимо:

  • добавить ui.bootstrap в свой модуль:

     angular.module('yourAp', ['ui.calendar', 'ui.bootstrap']);
      
  • настройте календарь для отображения всплывающей подсказки для каждого события:

     $scope.uiConfig = {
      calendar:{
        // This enables the tooltip for every event
        eventRender: function( event, element, view ) {
            element.attr({'tooltip': event.title,
                  'tooltip-append-to-body': true});
            $compile(element)($scope);
        };
      }
    };
      

Очевидно, вы можете использовать eventRender перехват для добавления различных элементов поведения / пользовательского интерфейса.

РЕДАКТИРОВАТЬ С ПЛАКАТА

 $scope.uiConfig = {
  calendar:{
    eventRender: function( event, element, view ) {
        element.attr({ 
            "tooltip-placement":"top", 
            "uib-tooltip": event.title, 
            "tooltip-append-to-body": true 
        });
        $compile(element)($scope);
    };
  }
};
  

По-видимому, версия моего Angular и версия всплывающей подсказки были несовместимы. Приведенный выше код решил проблему.

Комментарии:

1. Большое вам спасибо.

2. Кстати, не могли бы вы добавить что-нибудь в этот ответ для других людей?

3. element.attr({ «всплывающая подсказка-размещение»: «top», «uib-всплывающая подсказка»: event.title, «всплывающая подсказка-добавление к телу»: true });

4. По-видимому, мои версии AngularJS и всплывающих подсказок не были согласованы, поэтому мне пришлось сделать element так

5. @YMD Вы имеете в виду ссылку на jsFiddle?