Compartilhar via


Componente agenda no Microsoft Graph Toolkit

Cuidado

O Toolkit do Microsoft Graph foi preterido. O período de reforma começa a 1 de setembro de 2025, com a reforma completa prevista para 28 de agosto de 2026. Os programadores devem migrar para utilizar os SDKs do Microsoft Graph ou outras ferramentas suportadas do Microsoft Graph para criar experiências Web. Para obter mais informações, veja o anúncio de preterição.

O mgt-agenda componente Web representa eventos num calendário de utilizador ou grupo. Por predefinição, o calendário apresenta os eventos de utilizador com sessão iniciada atual para o dia atual. O componente também pode utilizar qualquer ponto final que devolva eventos do Microsoft Graph.

Exemplo

O exemplo seguinte mostra os eventos de calendário do utilizador com sessão iniciada apresentados com o mgt-agenda componente . Pode utilizar o editor de código para ver como as propriedades alteram o comportamento do componente.

Propriedades

Por predefinição, o mgt-agenda componente obtém eventos do /me/calendarview ponto final e apresenta eventos para o dia atual. Existem várias propriedades que pode utilizar para alterar este comportamento.

Atributo Propriedade Descrição
data data Uma cadeia que representa a data de início dos eventos a obter a partir do Microsoft Graph. O valor deve estar num formato adequado para o construtor Data. Este valor não tem efeito se o event-query atributo estiver definido.
Dias Dias O número de dias a obter a partir do Microsoft Graph. O padrão é 3. Este valor não tem efeito se event-query o atributo estiver definido.
show-max showMax Um número para indicar o número máximo de eventos a mostrar. O valor predefinido não está definido (sem máximo).
group-id groupId Um ID de cadeia para um calendário de grupo utilizar em vez do calendário do utilizador com sessão iniciada atual.
event-query eventQuery Uma cadeia que representa uma consulta alternativa a ser utilizada ao obter eventos do Microsoft Graph. Opcionalmente, adicione o âmbito delegado no final da cadeia ao delimitá-lo com | (/groups/GROUP-ID-GUID/calendar/calendarView | group.read.all).
eventos eventos Uma matriz de eventos para obter ou definir a lista de eventos compostos pelo componente. Utilize esta propriedade para aceder aos eventos carregados pelo componente. Defina este valor para carregar os seus próprios eventos. Os dateatributos , daysou event-query não têm qualquer efeito se forem definidos pelo programador.
grupo por dia groupByDay Um valor Booleano para agrupar eventos por dia. Por predefinição, os eventos não são agrupados.
preferred-timezone preferredTimezone Nome do fuso horário IANA a utilizar ao apresentar eventos obtidos a partir do Microsoft Graph; por exemplo, America/Los_Angeles. Para obter uma lista dos fusos horários da IANA, veja Lista de fusos horários da base de dados tz. Por predefinição, os eventos são compostos com as definições de fuso horário atuais do dispositivo.

O exemplo seguinte altera o comportamento do componente para obter dados para uma data específica e até três dias.

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

O exemplo seguinte altera o comportamento do componente para obter dados de uma consulta específica.

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

Propriedades personalizadas do CSS

O mgt-agenda componente define estas propriedades personalizadas do CSS

<mgt-agenda class="agenda" group-by-day></mgt-agenda>
.agenda {
  --agenda-event-box-shadow: 0px 2px 30px pink;
  --agenda-event-margin: 0px 10px 40px 10px;
  --agenda-event-padding: 8px 0px;
  --agenda-event-background-color: #8d696f;
  --agenda-event-border: dotted 2px white;

  --agenda-header-margin: 3px;
  --agenda-header-font-size: 20px;
  --agenda-header-color: #8d696f;

  --agenda-event-time-font-size: 20px;
  --agenda-event-time-color: white;

  --agenda-event-subject-font-size: 12px;
  --agenda-event-subject-color: white;

  --agenda-event-location-font-size: 20px;
  --agenda-event-location-color: white;

  --agenda-event-attendees-color: gold;
}

Para saber mais, veja Componentes de estilo.

Métodos

Método Descrição
recarregar() Chame o método para recarregar o componente com potenciais novos dados com base nas respetivas propriedades.

Modelos

O mgt-agenda componente suporta vários modelos que lhe permitem substituir determinadas partes do componente. Para especificar um modelo, inclua um <template> elemento dentro de um componente e defina como data-type um dos seguintes valores:

Tipo de dados Contexto de dados Descrição
default events: lista de objetos de evento O modelo predefinido substitui todo o componente pelo seu próprio.
event event: objeto de evento O modelo utilizado para compor cada evento.
event-other event: objeto de evento O modelo utilizado para compor outros conteúdos para cada evento.
header header: cadeia O modelo utilizado para compor o cabeçalho para cada dia.
loading Não é transmitido nenhum contexto de dados O modelo utilizado quando os dados estão a ser carregados.
no-data Não é transmitido nenhum contexto de dados O modelo utilizado quando não existem eventos disponíveis.

Os exemplos seguintes ilustram como utilizar o event modelo:

<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>

Para saber mais, veja modelos.

Eventos

Os seguintes eventos são acionados a partir do controlo.

Evento Quando é emitido Dados personalizados Cancelável Bolhas Funciona com um modelo personalizado
eventClick O utilizador seleciona ou toca num evento. O evento selecionado Não Não Sim, com um modelo de evento personalizado

Para obter mais informações sobre o processamento de eventos, veja eventos.

Permissões do Microsoft Graph

Este componente utiliza as seguintes APIs do Microsoft Graph. Para cada chamada à API, é necessária uma das permissões listadas.

Configuração Permissão API
Padrão. Calendars.ReadBasic, Calendars.Read, Calendars.ReadWrite /me/calendarview
group-id especificado Group.Read.All, Group.ReadWrite.All /groups/{groupId}/calendar/calendarview
event-query especificado Como opcionalmente fornecido no event-query A API que foi fornecida no event-query

O componente permite-lhe especificar uma consulta diferente do Microsoft Graph para chamar (como /groups/{id}/calendar/calendarView). Neste caso, acrescente a permissão ao fim da cadeia, delimitada por |.

Subcomponentes

O mgt-agenda componente é composto por um ou mais subcomponentes que podem necessitar de permissões diferentes das listadas anteriormente. Para obter mais informações, veja a documentação para cada subcomponente: mgt-people.

Autenticação

O controlo utiliza o fornecedor de autenticação global descrito na documentação de autenticação.

Cache

O mgt-agenda componente não coloca dados em cache.

Expandir para obter mais controlo

Para cenários mais complexos ou um UX verdadeiramente personalizado, este componente expõe vários protected métodos de composição* para substituição em extensões de componentes.

Método Descrição
renderLoading Compõe um estado de carregamento enquanto o componente é carregado.
renderNoData Compõe um estado de dados vazio.
renderGroups Ordena os dados de eventos em grupos e compõe-os com cabeçalhos de grupo.
renderHeader Compõe um cabeçalho de grupo.
renderEvents Compõe uma lista de objetos de evento.
renderEvent Compõe um evento singular e todas as suas partes.
renderTitle Compõe a parte do título do evento.
renderLocation Compõe a parte da localização do evento.
renderAttendees Compõe a parte dos participantes do evento.
renderOutro Compõe outros conteúdos de eventos.

Localização

O controlo não expõe variáveis de localização.