Компонент повестки дня в наборе средств Microsoft Graph

Веб-компонент mgt-agenda отображает события в календаре пользователя или группы. По умолчанию в календаре отображаются текущие события вошедшего пользователя, запланированные на текущий день. Компонент также может использовать любую конечную точку, возвращающую события из Microsoft Graph.

Пример

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

Открыть этот пример в mgt.dev

Свойства

По умолчанию компонент mgt-agenda извлекает события из конечной точки /me/calendarview и отображает события, запланированные на текущий день. Это поведение можно изменить с помощью нескольких свойств.

Атрибут Свойство Описание
дата date Строка, представляющая дату начала событий, извлекаемых из Microsoft Graph. Значение должно быть в формате, который может быть проанализирован конструктором дат. Значение не оказывает влияния, если установлен атрибут event-query.
days days Количество дней, извлекаемых из Microsoft Graph (по умолчанию — 3 дня). Значение не оказывает влияния, если установлен атрибут event-query.
show-max showMax Число, указывающее максимальное количество отображаемых событий. Значение по умолчанию не установлено (не ограничено).
group-id groupId Идентификатор строки для группового календаря, используемого вместо текущего календаря вошедшего пользователя.
event-query eventQuery Строка, представляющая альтернативный запрос, используемый при извлечении событий из Microsoft Graph. При необходимости добавьте делегированную область в конец строки, разделив ее с помощью символа | (/groups/GROUP-ID-GUID/calendar/calendarView | group.read.all).
events events Массив событий для получения или установки списка событий, отображаемых компонентом. Используйте это свойство для доступа к событиям, загружаемым компонентом. Установите это значение, чтобы загрузить свои собственные события. Если значение установлено разработчиком, атрибуты date, days и event-query не оказывают влияния.
group-by-day groupByDay Логическое значение для группировки событий по дням (по умолчанию события не группируются).
preferred-timezone preferredTimezone Имя предпочтительного часового пояса, используемого при извлечении событий из Microsoft Graph. Например, Pacific Standard Time. По умолчанию этот атрибут использует время в формате UTC. Предпочтительный часовой пояс для текущего пользователя можно получить, вызвав конечную точку me/mailboxSettings и прочитав значение свойства timeZone.

Следующий пример демонстрирует изменение поведения компонента для извлечения данных за определенную дату и до трех дней.

<mgt-agenda
  group-by-day
  date="May 7, 2019"
  days="3"
  ></mgt-agenda>

Следующий пример демонстрирует изменение поведения компонента для извлечения данных из определенного запроса.

<mgt-agenda
  event-query="/me/events?orderby=start/dateTime"
  ></mgt-agenda>

Методы

Метод Описание
reload() Вызывает метод для перезагрузки компонента с потенциальными новыми данными на основе его свойств.

Настраиваемые свойства CSS

Компонент mgt-agenda определяет следующие настраиваемые свойства CSS.

mgt-agenda {
  --event-box-shadow: 0px 2px 8px rgba(0, 0, 0, 0.092);
  --event-margin: 0px 10px 14px 10px;
  --event-padding: 8px 0px;
  --event-background-color: #ffffff;
  --event-border: solid 2px rgba(0, 0, 0, 0);

  --agenda-header-margin: 40px 10px 14px 10px;
  --agenda-header-font-size: 24px;
  --agenda-header-color: #333333;

  --event-time-font-size: 12px;
  --event-time-color: #000000;

  --event-subject-font-size: 19px;
  --event-subject-color: #333333;

  --event-location-font-size: 12px;
  --event-location-color: #000000;
}

Дополнительные сведения см. в статье Компоненты стиля.

Шаблоны

Компонент mgt-agenda поддерживает несколько шаблонов, позволяющих заменить его определенные части. Чтобы указать шаблон, добавьте элемент <template> в компонент и присвойте параметру data-type одно из следующих значений.

Тип данных Контекст данных Описание
default events: список объектов события Шаблон по умолчанию заменяет весь компонент вашим собственным компонентом.
event event: объект события Шаблон, используемый для отображения каждого события.
event-other event: объект события Шаблон, используемый для отображения дополнительного содержимого для каждого события.
header header: строка Шаблон, используемый для отображения заголовка для каждого дня.
loading Контекст данных не передается Шаблон, используемый при загрузке данных.
no-data Контекст данных не передается Шаблон, используемый при отсутствии событий.

В следующих примерах показано, как использовать шаблон event.

<mgt-agenda>
  <template data-type="event">
    <button class="eventButton">
      <div class="event-subject">{{ event.subject }}</div>
      <div data-for="attendee in event.attendees">
        <mgt-person
          person-query="{{ attendee.emailAddress.name }}"
          view="twolines">
        </mgt-person>
      </div>
    </button>
  </template>
  <template data-type="no-data">
    There are no events found!
  </template>
</mgt-agenda>

Дополнительные сведения см. в статье Шаблоны.

События

Из элемента управления инициируются следующие события.

Событие Когда он генерируется Пользовательские данные Отменяемым Пузыри Работает с пользовательским шаблоном
eventClick Пользователь щелкает или нажимает событие. Выбранное событие Нет Нет Да, с пользовательским шаблоном событий

Дополнительные сведения об обработке событий см. в разделе События.

Разрешения Microsoft Graph

Этот компонент использует следующие API и разрешения Microsoft Graph.

Конфигурация Разрешение API
default Calendars.Read /me/calendarview

Компонент позволяет указать другой запрос Microsoft Graph для вызова (например, /groups/{id}/calendar/calendarView). В этом случае добавьте разрешение в конец строки, разделенной символом |.

При использовании шаблона по умолчанию и шаблона по умолчанию renderAttendees, требуются дополнительные API и разрешения. Шаблон по умолчанию для этого компонента использует компонент mgt-people для событий с участниками и наследует все разрешения.

Проверка подлинности

В элементе управления входом используется глобальный поставщик проверки подлинности, описанный в документации по проверке подлинности.

Кэш

Компонент mgt-agenda не кэшировать данные.

Расширение для дополнительного управления

В более сложных сценариях или настраиваемых пользовательских интерфейсах этот компонент предоставляет несколько методов protected render* для переопределения в расширениях компонента.

Метод Описание
renderLoading Отображает состояние загрузки во время загрузки компонента.
renderNoData Отображает пустое состояние данных.
renderGroups Сортирует данные событий по группам и отображает их с заголовками групп.
renderHeader Отображает заголовок группы.
renderEvents Отображает список объектов события.
renderEvent Отображает одно событие и все его части.
renderTitle Отображает название события.
renderLocation Отображает расположение события.
renderAttendees Отображает участников события.
renderOther Отображает дополнительное содержимое события.