Inline Entity Creation

Este documento descreve o mecanismo que permite aceder à criação de entidades relacionadas a partir de outra entidade.

Modelação

No Presentation Model, o modelador define qual a Service Operation que deve ser usada por omissão para a criação de entidades, através da propriedade “Default Entity Insert”.

Nota: cada entidade pode ter apenas uma Service Operation definida por omissão a ser usada na criação de entidades.

Implementação

Numa View que contenha campos que efetuem a ligação a entidades relacionadas é então gerado o código HTML com a definição do estado angular da Service Operation definida por omissão para aquela entidade:

<div model-id="model.id" pri-async-save="sales.invoices" property="paymentTerm">
    <pri-search-field 
    go-to-insert="goToInsert" 
    create-state=”createPaymentTermPatternsPaymentTerm”
    update=”updateMasterField”
    datasource="sales.invoices" 
    entity="paymentTerms"
    datatabstop="7" 
    entitydescription="model.paymentTermDescription" 
    go-to-list="goToList" 
    hasdescription="true" 
    id="PaymentTerm" module="patterns" ng-model="model.paymentTerm" ></pri-search-field></div>

O exemplo acima representa um campo de ligação de uma Fatura à entidade Termo de Pagamento.

É gerada uma propriedade go-to-insert, no HTML, com a definição de uma função do scope da página – do controller.

Esta função está ligada à diretiva pri-search-field, fazendo binding ao clique do ícone apropriado para o efeito.

O clique no ícone efetua a chamada da função com o parâmetro definido no HTML, create-state.