Compartilhar via


Usando dicas de ordenação no Planner

Namespace: microsoft.graph

Importante

As APIs na versão /beta no Microsoft Graph estão sujeitas a alterações. Não há suporte para o uso dessas APIs em aplicativos de produção. Para determinar se uma API está disponível na v1.0, use o seletor Versão.

Os objetos no Planner identificam sua ordem de classificação pelas dicas de ordenação. Os valores de dica de ordenação são cadeias de caracteres. Os clientes podem classificar as cadeias de caracteres com base no valor ordinal dos caracteres nelas para identificar a ordem dos itens. Os caracteres são comparados desde o início da cadeia de caracteres, até que uma diferença seja encontrada nos valores ordinais de caracteres ou uma cadeia de caracteres termina, caso em que a cadeia de caracteres mais curta seria classificada antes da mais longa. Os valores podem conter qualquer caractere ordinal entre 32 (espaço) e 126 (~)

Por exemplo, um item com dica de ordenação a (valor ordinal 97) seria colocado antes de outro item com dica de ordenação z (valor ordinal 122). Um item com dica de ordenação abc (valores ordinais 97, 98, 99), seriam colocados antes de outro item com dica de ordenação abd (valores ordinais 97, 98, 100). Um item com dica de ordenação a seria colocado antes de outro item com dica de ordenação ab já que todos os caracteres existentes são os mesmos e a é mais curto.

Os valores de todas as dicas de ordenação são calculados pelo serviço. O cliente pode reordenar os itens especificando a dica de ordenação do item que foi movido entre dois itens definindo a dica de ordenação do seguinte valor: <previous order hint> <next order hint>!, onde <previous order hint> deve ser substituído pela dica de ordenação do item que vem antes do novo local desejado e <next order hint> deve ser substituído pela dica de ordenação do item que vem depois do novo local desejado. Há um caractere de espaço entre esses valores de dica de ordenação e o valor inteiro tem o sufixo !. Se o item não estiver presente, deve ser usada uma cadeia de caracteres vazia. Esse valor também pode ser composto por cálculos anteriores e pode ser usado no cliente para classificar os itens exatamente como as dicas de ordenação retornadas pelo serviço. Depois que o cliente envia esses valores em uma atualização, o serviço calculará um valor curto que classifica no local desejado.

Nota: Nos exemplos seguintes, os valores de sugestão de ordem real estão entre carateres de plica (') para maior clareza, no entanto estes não fazem parte dos dados e não podem ser enviados para o serviço.

Por exemplo, considere a seguinte lista de dicas de ordem de classificação:

  1. Item 1 (Dica de ordenação: '5637')
  2. Item 2 (Dica de ordenação: 'adhg')

Colocar um Item 3 antes de um Item 1 e colocar o item 4 entre o Item 1 e o Item 2 e o item 5 depois do Item 2, criaria as seguintes dicas de ordenação no cliente.

  1. Item 3 (Dica de ordenação: ' 5637!')
  2. Item 1 (Dica de ordenação: '5637')
  3. Item 4 (Dica de ordenação: '5637 adhg!')
  4. Item 2 (Dica de ordenação: 'adhg')
  5. Item 5 (Dica de ordenação: 'adhg !')

Em seguida, mover o item 1 para o fim da lista geraria:

  1. Item 3 (Dica de ordenação: ' 5637!')
  2. Item 4 (Dica de ordenação: '5637 adhg!')
  3. Item 2 (Dica de ordenação: 'adhg')
  4. Item 5 (Dica de ordenação: 'adhg !')
  5. Item 1 (Dica de ordenação: 'adhg ! !')

Por fim, mover o Item 5 entre o Item 3 e o Item 4 geraria:

  1. Item 3 (Dica de ordenação: ' 5637!')
  2. Item 5 (Dica de ordenação: ' 5637! 5637 adhg!!')
  3. Item 4 (Dica de ordenação: '5637 adhg!')
  4. Item 2 (Dica de ordenação: 'adhg')
  5. Item 1 (Dica de ordenação: 'adhg ! !')

Quando estas alterações aos valores de sugestão de encomenda são enviadas para o serviço em pedidos de patch, o serviço calculará os valores adequados que mantêm a ordem pretendida pelo cliente. O cliente pode obter os valores imediatamente se o cabeçalho de Prefer: return=representation preferência for especificado nos PATCH pedidos. Os valores do caso acima podem ter a seguinte aparência (os valores reais podem diferir).

  1. Item 3 (Dica de ordenação: '432b')
  2. Item 5 (Dica de ordenação: '6F"#')
  3. Item 4 (Dica de ordenação: '7A$6')
  4. Item 2 (Dica de ordenação: 'adhg')
  5. Item 1 (Dica de ordenação: 'de5%')

Dicas de ordenação podem ser especificadas para criar o primeiro item na lista como !, pois nem um item anterior ou próximo existe nesse caso, porém isso é desnecessário, como o serviço gerará automaticamente valores para todos os valores de dica de ordenação nos itens se eles não forem especificados durante a criação do item. O exemplo a seguir ilustra as dicas de ordenação que devem ser usadas ao inserir itens em uma lista anteriormente vazia. Adicione o primeiro item:

  1. Item 1 (Dica de ordenação: ' !')

Adicione o segundo item ao topo:

  1. Item 2 (Dica de ordenação: ' !!')
  2. Item 1 (Dica de ordenação: ' !')

Adicione o terceiro item à parte inferior:

  1. Item 2 (Dica de ordenação: ' !!')
  2. Item 1 (Dica de ordenação: ' !')
  3. Item 3 (Dica de ordenação: ' ! !')