Fornecendo atributos de descrição para namespaces de ligação no Web UI Framework
O atributo de namespaces em uma tela fornece informações sobre os namespaces que foram usados para controles de ligação. Os customizadores podem visualizar os namespaces e suas descrições (se fornecidos pelos desenvolvedores) na Visualização de Detalhes do Controle do Extensibility Workbench ou na janela Propriedades no Designer Workbench. Eles não precisam abrir os arquivos de origem JavaScript para visualizar os espaços de nomes.
O atributo de namespaces é um objeto com dois atributos (de origem e de destino) que individualmente são matrizes de um objeto. Em telas mais antigas, esse atributo é um objeto com dois atributos (origem e destino) que são individualmente matrizes de uma sequência. É possível usar o Designer Workbench para atualizar as estruturas dos namespaces de telas mais antigas para usar matrizes de objeto ao invés das matrizes de sequência.
Uma estrutura de namespaces é mostrada a seguir:
namespaces: {
source: ['a', 'b']
, target: ['c', 'd']
}
, namespacesDesc: {
sourceDesc: ['description for a', 'description for b']
, targetDesc: ['description for c', 'description for d']
}
Os namespaces são salvos sob o objeto namespaces enquanto as descrições são salvos sob o objeto namespacesDesc. Há um mapeamento um para um entre o conteúdo nos namespaces e no namespacesDesc. Isto mantém a compatibilidade com versões anteriores com aplicativos mais antigos que usavam uma estrutura de namespaces diferente.
Uma tela mais antiga que usa a estrutura de namespaces diferentes é atualizada no Designer Workbench e a nova estrutura é gravada nos arquivos JavaScript e JavaScript Object Notation. O usuário recebe um aviso e, na confirmação, a atualização é concluída. Uma vez atualizado, o arquivo não pode mais ser aberto em uma versão mais antiga do Designer Workbench. O novo conteúdo é gravado nos arquivos js e json quando o usuário salvá-los usando o botão Salvar.
Após a atualização, o campo de descrição para a origem e o destino será padronizado para, respectivamente, Descrição para < source name> e Descrição para < target name>.
Com as telas mais antigas em que os namespaces não eram fornecidos no Designer Workbench e não estavam presentes nos arquivos js e json, esse upgrade gerará o seguinte arquivo js:
namespaces: {
target: []
, source: []
}
, namespacesDesc: {
targetDesc: []
, sourceDesc: []
}
Com estes tipos de telas, você deve fornecer um mapeamento um para um entre matrizes de origem e destino de bindingData com namespacesDesc. Na extensibilidade, se o namespacesDesc tiver valores não vazios enquanto os namespaces estiverem vazios, os valores serão exibidos correspondentes a bindingData.