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.