Cliente HTML com referência API
O artigo fornece uma visão geral das partes geradas da API JavaScript para os clientes LightSwitch HTML.
Pontos de entrada do código do cliente HTML
Cada entidade e tela, além do próprio aplicativo, expõe os pontos de entrada a seguir, onde você pode escrever um código JavaScript personalizado para seu aplicativo.
Entidade criada
myapp.[EntityName].created = function (entity) {};
Este método é chamado quando uma entidade é criada. O objeto de entidade cria uma propriedade gerada para cada propriedade relacionada no designer de entidade.
É tipicamente usado para definir valores de propriedade global para uma entidade. O exemplo a seguir define o valor inicial de uma propriedade assegurada de Boolean de uma entidade Patient:
myapp.Patient.created = function (entity) {
entity.Insured = new Boolean();
entity.Insured = 'true';
};
Para acessar esse ponto de entrada, abra o designer da entidade e escolha a perspectiva HTMLClient. Na lista Gravar Código, escolha criado.
Tela criada
myapp.[ScreenName].created = function (screen) {}
Este método é chamado a cada vez que uma tela é criada.
Este método é geralmente usado para definir os valores iniciais dos campos em uma tela. O exemplo a seguir define o valor do campo Estado na tela AddEditPatient:
myapp.AddEditPatient.created = function (screen) {
screen.Patient.State = 'CA'
};
Para acessar esse ponto de entrada, abra o designer da tela. Na lista Gravar Código, escolha criado.
Tela anterior às alterações aplicadas
myapp.[ScreenName].beforeApplyChanges = function (screen) {};
Este método é chamado cada vez que uma operação salva for iniciada para uma tela. Se o método retornar true, a operação salva é verdadeira. Se retornar false, a operação salva é cancelada. Se o método retornar um objeto WinJs.Promise, a operação salva aguarda a confirmação para concluir (ou falha) antes de continuar.
Este método é geralmente usado para a lógica de validação de tela. O exemplo a seguir valida o campo PatientName:
myapp.AddEditPatient.beforeApplyChanges = function (screen) {
if (screen.Patient.PatientName.indexOf('!') != -1) {
screen.findContentItem("PatientName").validationResults = [
new msls.ValidationResult(
screen.Patient.details.properties.PatientName,
"Patient Name cannot contain the character '!'.")
];
return false;
}
};
Para acessar esse ponto de entrada, abra o designer da tela. Na lista Gravar Código, escolha beforeApplyChanges.
Salvar aplicativo
myapp.onsavechanges = function () {}
Este método é chamado quando uma operação salva ocorre, após o método beforeApplyChanges retornar true.
Esse método é geralmente usado para adicionar lógica à operação de salvar, por exemplo, ao salvar em várias fontes de dados. O exemplo a seguir usa o objeto WinJs.Promise para personalizar o comando interno Salvar.
myapp.onsavechanges = function (e) {
var promises = [];
promises.push(myapp.activeDataWorkspace.NorthwindData.saveChanges());
promises.push(myapp.activeDataWorkspace.ApplicationData.saveChanges());
e.detail.promise = WinJS.Promise.join(promises);
};
Para acessar esse ponto de entrada, abra o designer da tela e escolha Gravar Código.
Métodos de tela
Cada método de tela na lista dos membros da tela do designer de tela tem dois métodos disponíveis: execute e canExecute. O método execute é geralmente usado para executar uma função quando um usuário clica em um botão. Geralmente, o método canExecute é usado para habilitar ou desabilitar um botão com base em uma condição.
Assinatura do método |
Comentários |
Exemplo |
---|---|---|
Função myapp.MyScreen.MyMethod_execute = (tela) { }; |
Este método é executado quando o botão MyMethod é clicado ou quando o método MyScreen.MyMethod() é chamado a partir do código. |
O exemplo a seguir exclui o Customer selecionado em uma tela BrowseCustomers:
|
Função myapp.MyScreen.MyMethod_canExecute = (tela) { }; |
Chamado antes de executar um método. Se essa função retornar false, o botão MyMethod será desabilitado. Se retornar true, o botão será habilitado. |
O exemplo a seguir desativa um botão Delete para um registro que ainda não foi salvo.
|
Para acessar os métodos de tela, abra o menu de atalho do método no painel esquerdo do designer de tela e, em seguida, escolha o método.
Renderização de conteúdo de tela
myapp.[ScreenName].[ContentItemName]_render = function (element, contentItem)
Este método é chamado quando uma tela é criada e aplica-se somente a controles personalizados. Geralmente, esse método é usado para renderizar os conteúdos do controle em uma tela.
element é o elemento HTML do controle. Use $(element) para criar um objeto jQuery.
contentItem é um objeto msls.ContentItem que permite acessar o valor do item, databinding e resultados de validação.
O exemplo a seguir exibe um OrderDate para cada linha em um controle RowTemplate:
myapp.BrowseOrders.RowTemplate_render = function (element, contentItem) {
var orderDate = $("<p>" + contentItem.value.OrderDate + "</p>");
orderDate.appendTo($(element));
};
Para acessar o método render, escolha um controle personalizado no designer de tela. Na lista Gravar Código, escolha ControlName_render.
Renderização posterior de conteúdo de tela
myapp.BrowseTable1Items.ContentItem2_postRender = function (element, contentItem) {};
Esse método é chamado após uma tela ser criada ou atualizada. Geralmente, esse método é usado para modificar os conteúdos ou a aparência de um controle na tela.
element é o elemento HTML do controle. Use $(element) para criar um objeto Jquery.
contentItem é um objeto msls.ContentItem que permite acessar o valor do item, databinding e resultados de validação.
O exemplo a seguir formata um Double para exibir duas casas decimais em um controle chamado Unit:
myapp.ViewItems.Unit_postRender = function (element, contentItem) {
contentItem.dataBind("value", function (value) {
if (value) {
$(element).text(value.toFixed(2));
}
});
}
Para acessar o método postRender, escolha um controle no designer de tela. Na lista Gravar Código, escolha ControlName_postRender.
Modelo de objeto gerado
O LightSwitch gera um conjunto de APIs personalizado com base nos recursos existentes, que você pode usar ao escrever um código personalizado no cliente HTML. Cada fonte de dados, tabela, consulta e tela gera vários itens no conjunto de APIs.
msls
(variável global) msls
Membros
_run
_run([homeScreenId : String])
Inicia o aplicativo LightSwitch assincronamente. Esse método é chamado no arquivo default.html do aplicativo.
Tipo de retorno: WinJS.Promise
promiseOperation
promiseOperation(init(operations), [independent: Boolean])
Inicia uma nova operação e retorna um objeto de promessa quando a operação for concluída.
Tipo de retorno: WinJS.Promise
Exemplo:
//Method that imports data from Northwind.svc
myapp.BrowseOrders.ImportOrders_execute = function (screen) {
var northwind = "http://services.odata.org/Northwind/Northwind.svc";
return msls.promiseOperation(function (operation) {
OData.read({ requestUri: northwind + "/Orders?$top=10",
recognizeDates: true,
enableJsonpCallback: true },
function success(result) {
var results = result.results;
for (var i = 0, len = results.length; i < len; i++) {
var importedOrder = screen.Orders.addNew();
importedOrder.OrderDate = results[i].OrderDate;
}
operation.complete();
},
function error(e) { operation.error(e); });
});
};
relativeDates
relativeDates
Contém a implementação das datas relacionadas definidas globalmente.
Tipo de retorno: Date
Os métodos que iniciam com "end" retornam um horário 23:59:59. Os métodos que iniciam com "start" retornam um horário 00:00:00.
Método |
Retorna |
---|---|
endOfDay() |
A data e a hora do fim do dia atual. |
endOfMonth() |
A data e a hora do fim do mês atual. |
endOfQuarter() |
A data e a hora do fim do trimestre atual. |
endOfWeek() |
A data e a hora do fim da semana atual. |
endOfYear() |
A data e a hora do fim do ano atual. |
now() |
A data e a hora atuais. |
startOfMonth() |
A data e a hora do início do mês atual. |
startOfQuarter() |
A data e a hora do início do trimestre atual. |
startOfWeek() |
A data e a hora do início da semana atual. |
startOfYear() |
A data e a hora do início do ano atual. |
today() |
A data atual com horário de 00:00:00. |
O exemplo de código a seguir retorna os valores startOfWeek e endOfWeek relacionados para uma data especificada:
myapp.AddEditAppointment.created = function (screen) {
// Write code here.
var currDT = new Date();
ws = msls.relativeDates.startOfWeek(currDT);
we = msls.relativeDates.endOfWeek(currDT);
screen.Appointment.StartDate = ws;
screen.Appointment.EndDate = we;
}
relativeDateTimeOffsets
relativeDateTimeOffsets
Contém a implementação das datas relacionadas definidas globalmente, usando o deslocamento do UTC (Tempo Universal Coordenado).
Tipo de retorno: Date
Os métodos que iniciam com "end" retornam um horário 23:59:59. Os métodos que iniciam com "start" retornam um horário 00:00:00.
Método |
Retorna |
---|---|
endOfDay() |
A data e a hora do fim do dia atual. |
endOfMonth() |
A data e a hora do fim do mês atual. |
endOfQuarter() |
A data e a hora do fim do trimestre atual. |
endOfWeek() |
A data e a hora do fim da semana atual. |
endOfYear() |
A data e a hora do fim do ano atual. |
now() |
A data e a hora atuais. |
startOfMonth() |
A data e a hora do início do mês atual. |
startOfQuarter() |
A data e a hora do início do trimestre atual. |
startOfWeek() |
A data e a hora do início da semana atual. |
startOfYear() |
A data e a hora do início do ano atual. |
today() |
A data atual com horário de 00:00:00. |
renderização
render(element: HTMLElement, contentItem: msls.ContentItem)
Renderiza a visualização de um item de conteúdo dentro de um elemento HTML raiz.
Exemplo:
myapp.BrowseOrders.RowTemplate_render = function (element, contentItem) {
var orderDate = $("<p>").text(contentItem.value.Customer.CompanyName);
orderDate.appendTo($(element));
};
showMessageBox
showMessageBox(message:String, [options])
Exibe uma caixa de mensagem ao usuário.
Tipo de retorno: WinJS.Promise
Uma promessa é retornada quando o usuário fecha a caixa de mensagem. Você pode acessar o resultado da caixa de mensagem (do tipo msls.MessageBoxResults) através da promessa retornada*.
Opções:
Parâmetro |
Descrição |
Padrão |
---|---|---|
title |
Um título para a caixa de mensagem. |
none |
buttons |
Um valor msls.MessageBoxButtons que especifica os botões para exibir. |
ok |
Exemplo:
myapp.AddEditCustomer.Delete_execute = function (screen) {
msls.showMessageBox("Are You Sure?", {
title: "Delete Customer",
buttons: msls.MessageBoxButtons.yesNo
}).then(function (val) {
if (val == msls.MessageBoxResult.yes) {
screen.Customer.deleteEntity();
myapp.commitChanges().then(null, function fail(e) {
var errmsg = screen.Customer.Name + e.message;
myapp.cancelChanges().then(function () {
var resp = msls.showMessageBox(errmsg, {
title: "ERROR",
buttons: msls.MessageBoxButtons.ok
});
throw e;
});
});
}
});
};
showProgress
showProgress(promise: WinJS.Promise)
Exibe um indicador de progresso que previne o uso do aplicativo até uma promessa ser resolvida ou rejeitada.
Exemplo:
msls.showProgress(msls.promiseOperation(function (operation) {
$.getJSON(url, function (data) {
operation.complete(data); //Operation completed successfully
}).error(function (args) {
operation.error(args); //Operation completed with error.
});
}) .then(function (result) {
msls.showMessageBox(result);
})
);
msls.application
Representa o aplicativo LightSwitch ativo.
Dica
O objeto myapp é um atalho para msls.application.
Members
activeDataWorkspace
msls.application.activeDataWorkspace
Obtém o espaço de trabalho atual do aplicativo.
Exemplo:
msls.application.activeDataWorkspace.ApplicationData.Query1("parameter value")
.execute().then(
function (results) {
if (results.results.length >= 0) {
msls.showMessageBox("Found some records!");
}
},
function (error) {
alert(error);
}
);
applyChanges
msls.application.applyChanges()
Aplica assincronamente quaisquer alterações pendentes ao mesclar alterações aninhadas no conjunto de alteração principal ou ao salvar as alterações de nível superior, e permanece na tela atual. Chamar applyChanges salva todas as alterações do conjunto de alteração atual. Se apenas um conjunto de alteração existir, ele salva as alterações na fonte de dados. Se o conjunto de alteração atual for um escopo aninhado, ele confirma as alterações do conjunto de alteração principal.
Tipo de retorno: WinJS.Promise
Exemplo:
// Save changes
msls.application.applyChanges().then(null, function fail(e) {
// If an error occurs, show the error.
msls.showMessageBox(e.message, { title: e.title }).then(function () {
// Discard changes
screen.details.dataWorkspace.ApplicationData.details.discardChanges();
});
});
cancelChanges
msls.application.cancelChanges()
Desfaz todas as alterações no conjunto de alteração atual e navega de volta para a tela anterior.
Tipo de retorno: WinJS.Promise
Exemplo:
msls.application.commitChanges().then(null, function fail(e) {
alert(e.message);
msls.application.cancelChanges();
throw e;
});
commitChanges
msls.application.commitChanges()
Confirma assincronamente quaisquer alterações pendentes ao mesclar alterações aninhadas no conjunto de alteração principal ou ao salvar as alterações de nível superior, em seguida, navega de volta para a tela anterior. Chamar commitChanges salva todas as alterações do conjunto de alteração atual, assim como applyChanges. A primeira validação é executada na tela e, se não houver erros, saveChanges é chamado.
Tipo de retorno: WinJS.Promise
Exemplo:
msls.application.commitChanges().then(null, function fail(e) {
alert(e.message);
msls.application.cancelChanges();
throw e;
});
navigateBack
msls.application. navigateBack()
Solicita ao usuário a confirmação ou cancelamento de quaisquer alterações pendentes para navegar de volta para a tela anterior, ou para permanecer na tela atual.
Tipo de retorno: WinJS.Promise
navigateHome
msls.application. navigateHome()
Navega assincronamente para a tela da inicial.
Tipo de retorno: WinJS.Promise
opções
msls.application.options
Obtém os valores das opções que afetam o aplicativo LightSwitch. As opções devem ser definidas no arquivo default.htm, antes de chamar msls._run.
Opção |
Tipo |
Descrição |
---|---|---|
defaultMergeOption |
String |
Especifica como a mesclagem de resultados das consultas com dados armazenados em cache. Pode ser definido para um valor de msls.MergeOption. |
disableUrlScreenParameters |
Boolean |
Especifica se uma chave primária é usada para formar a URL de uma instância de tela. O recurso indicador das telas do cliente HTML permite que um usuário copie a URL de uma instância de tela específica e retorne para aquela instância posteriormente. A URL tem base parcial na chave primária da entidade da tela, então se ela contiver informações sigilosas que deseje impedir os usuários de ver, desative o recurso indicador. |
enableModalScrollRegions |
Boolean |
Indica quando usar uma região de rolamento independente dentro da visualização da janela restrita como caixas de diálogo e seletores. Se esta opção não estiver habilitada, a visualização da janela restrita se expandirá até seu tamanho completo, permitindo ao usuário rolar na janela do navegador principal para ver todo o conteúdo. Essa opção funciona melhor em alguns dispositivos. |
showContentBehindDialog |
Boolean |
Indica se a tela de fundo atrás da caixa de diálogo deve estar visível. Isso não funciona com dispositivos pequenos, porque uma caixa de diálogo sempre usa a tela inteira. Ocultar a tela de fundo em dispositivos maiores pode melhorar o desempenho. |
transitionAnimationLevel |
String |
Especifica o nível de animação que ocorre durante as transições. Uma simples animação pode melhorar o desempenho em alguns dispositivos. Essa opção pode ser definida para um valor de msls.TransitionAnimationLevel. |
showScreen
msls.application.showScreen(screenId, [Array parameters],[options])
Navega assincronamente para uma tela específica.
Parâmetro screenId: O nome modelado de uma tela ou o item de modelo que define uma tela.
Parâmetro opcional parameters: Uma matriz de parâmetros de tela, se aplicável.
Parâmetro opcional options: Um objeto que fornece uma ou mais das seguintes opções:
beforeShown: Uma função que é chamada após um comportamento limitado ser aplicado, mas antes da tela ser exibida.
afterClosed: Uma função que é chamada após um comportamento limitado ser aplicado e a tela ser fechada.
Tipo de retorno: WinJS.Promise
Exemplo:
msls.application.showScreen(AddEditPatient, null, {
afterClose: function (addEditScreen, navigationAction) {
if (navigationAction == msls.NavigateBackAction.commit) {
var newPatient = addEditScreen.Patient;
msls.application.showViewPatient(newPatient)
}
}
});
msls.BusinessObject
msls.BusinessObject()
Representa um objeto comercial.
Membros
Membro |
Descrição |
Tipo |
---|---|---|
details |
Representa os detalhes de um objeto comercial. |
msls.BusinessObject.Details |
owner |
Obtém o objeto comercial que possui este objeto de detalhes. |
|
properties |
Obtém o conjunto de objetos de propriedade das propriedades dos proprietários. |
msls.BusinessObject.Details.PropertySet |
msls.CollectionChange
msls.CollectionChange(action, [items], [oldStartingIndex], [newStartingIndex])
Fornece dados para o evento de alteração de coleção.
Parâmetro action: A ação do tipo msls.CollectionChangeAction que causou o evento.
Parâmetro opcional items: A matriz de itens (coleção) afetada pela ação.
Parâmetro opcional oldStartingIndex: O índice no qual os itens foram removidos, se aplicável.
Parâmetro opcional newStartingIndex: O índice no qual os itens foram adicionados, se aplicável.
Membros
Membro |
Descrição |
Tipo |
---|---|---|
action |
Obtém a descrição da ação que causou o evento. |
String |
items |
Obtém a matriz de itens afetada pela ação. |
Object |
newStartingIndex |
Obtém o índice no qual os itens foram adicionados, se aplicável. |
Integer |
oldStartingIndex |
Obtém o índice no qual os itens foram removidos, se aplicável. |
Integer |
msls.CollectionChangeAction
msls.CollectionChangeAction
Especifica como uma coleção foi alterada.
Valor |
Descrição |
---|---|
add |
Especifica que os itens foram adicionados à coleção. |
refresh |
Especifica que a coleção inteira foi alterada. |
remove |
Especifica que os itens que foram removidos da coleção. |
msls.ContentItem
msls.ContentItem(screenObject, model)
Representa o modelo de visualização de um item do conteúdo visualizado por uma tela. ContentItem está disponível como argumento contentItem nos métodos postRender e render.
Parâmetro screenObject: A tela (do tipo msls.Screen) que possui este item de conteúdo.
Parâmetro model: A definição modelada deste item de conteúdo.
Propriedades
application: Obtém o objeto do aplicativo ao qual o item pertence. Digite: msls.application.
bindingPath: Obtém o caminho de associação entre a propriedade "dados" (a fonte) e a propriedade "valor" (o destino). Digite: String.
Exemplo:
// Adds a div element each time the value of ValueControl1 content item changes.
myapp.EditTable1Item.ChangeNotesControl_render = function (element, contentItem) {
var valueControlContentItem = contentItem.screen.findContentItem("ValueControl1");
contentItem.dataBind(valueControlContentItem.bindingPath, function (newValue) {
$(element).append($("<div> Value of control changed at " + msls.relativeDates.now().toString() + "</div>"));
});
};
children: Obtém os itens de conteúdo filho que este item de conteúdo possui. Por exemplo, os filhos de uma Guia teriam todos os controles exibidos enquanto a guia estiver ativa. Tipo: Matriz de Object.
choiceList: Obtém a lista de escolhas estatísticas do valor deste item de conteúdo, se aplicável. Digite: Array.
Exemplo:
myapp.Screen1.created = function (screen) {
var myDropDown = screen.findContentItem("Status");
var myCustomChoices = new Array({ value: "Active", stringValue: "Active" }, { value: "Resolved", stringValue: "Resolved" });
myDropDown.choiceList = myCustomChoices;
myDropDown.dispatchChange("choiceList");
myDropDown.dispatchChange("value");
};
choicesSource: Obtém ou define uma coleção visual que fornece um conjunto dinâmico de opções do valor deste item de conteúdo. Digite: msls.VisualCollection.
Dica
Aplica-se somente ao controle Selecionador Modal de Detalhes.
O valor padrão é Auto. No momento da execução, o controle cria, dinamicamente, uma coleção visual que contém cada item no servidor. choicesSource pode ser atualizado para uma coleção visual mais específica, como os resultados de uma consulta. Observe que o controle somente inicializa a coleção visual uma vez por razões de desempenho.
commandItems: Obtém os itens de conteúdo de comando que este item de conteúdo possui. Tipo: Matriz de msls.ContentItem.
controlModel: Obtém o item de modelo que descreve o controle que visualiza este item de conteúdo. Digite: Object.
data: Obtém o objeto de dados de origem com os quais o details e as propriedades value estão associados. Digite: Object.
description: Obtém ou define a descrição deste item de conteúdo. Digite: String.
details: Obtém o objeto de propriedade Details do valor que este item de conteúdo representa, usando um caminho de associação que deriva-se da propriedade bindingPath. Digite: msls.BusinessObject.Details.Property.
displayError: Obtém o erro de exibição que ocorreu no controle, se houver. Digite: String.
displayName: Obtém ou define o nome de exibição deste item de conteúdo. Digite: String.
heightSizingMode: Obtém o modo de redimensionamento de altura deste item de conteúdo. Digite: msls.HeightSizingMode (String).
horizontalAlignment: Obtém o alinhamento horizontal deste item de conteúdo. Digite: msls.HorizontalAlignment (String).
isEnabled: Obtém um valor indicando se o controle deste item de conteúdo deve ser habilitado. Digite: Boolean.
isLoading: Obtém um valor indicando se o controle deste item de conteúdo deve ser exibido no estado sendo carregado. Digite: Boolean.
isReadOnly: Obtém um valor indicando se o controle deste item de conteúdo deve ser de "somente leitura". Digite: Boolean.
isVisible: Obtém ou define um valor indicando se o controle deste item de conteúdo deve ficar visível. Digite: Boolean.
kind: Obtém o tipo deste item de conteúdo. Digite: msls.ContentItemKind (String).
Exemplo:
// Adds description help to each content item
myapp.AddEditCustomer.columns_postRender = function (element, contentItem) {
// Look for content items with type either 'details' (a navigation property)
// or 'value' (non-relationship properties)
var contentItemTypes = [];
contentItemTypes.push(msls.ContentItemKind.details);
contentItemTypes.push(msls.ContentItemKind.value);
// Find these content items starting from the children of the 'columns' content item
var matchingContentItems = findMatchingContentItems(contentItemTypes, contentItem);
// Find all LABEL elements that are descendants of the parent element rendering the
// 'columns' content item
var $matchingElements = $(element).find("label");
$.each($matchingElements, function (index) {
// Set the LABEL element to float left
$(this).css("float", "left");
// Create a new A element that will display the '?' link
var $help = $("<a href='#'>?</a>");
$help.css({ "cursor": "pointer", "display": "block", "float": "right" });
var correspondingContentItem = matchingContentItems[index];
// Add a click event handler to display the content item description
$help.on('click', function (e) {
e.preventDefault();
contentItem.screen.HelpText = correspondingContentItem.description;
contentItem.screen.showPopup('Help');
});
// Insert the help element as a sibling after the LABEL element
$(this).after($help);
});
};
function findMatchingContentItems(arrayOfTypes, parentContentItem) {
var matches = [];
// Return an empty array if no children to look at
if (parentContentItem.children.length == 0) {
return matches;
}
$.each(parentContentItem.children, function (i, contentItem) {
$.each(arrayOfTypes, function (j, type) {
if (contentItem.kind == type) {
matches.push(contentItem);
}
});
// Check the child's children for matches
matches = matches.concat(findMatchingContentItems(arrayOfTypes, contentItem));
});
return matches;
};
model: Obtém o item de modelo que descreve este item de conteúdo. Digite: Object.
name: Obtém o nome deste item de conteúdo. Digite: String.
onchange: Obtém ou define um manipulador para o evento de alteração, que é chamado a qualquer momento em que o valor de uma propriedade observável neste objeto seja alterada. Digite: Function.
pageKind: Obtém o tipo de página (None, Popup, Tab) deste item de conteúdo. Digite: msls.PageKind (String).
parent: Obtém o item de conteúdo principal que possui este item de conteúdo. Digite: msls.ContentItem.
properties: Obtém o conjunto de propriedades de controle específico usadas para configurar a visualização deste item de conteúdo. Digite: Object.
screen: Obtém a tela que produziu este item de conteúdo. Digite: msls.Screen.
stringValue: Obtém ou define a representação da cadeia de caracteres da propriedade value. É preferível utilizar essa propriedade ao invés da propriedade value ao obter um valor a ser exibido na tela. Digite: String.
validationResults: Obtém ou define o conjunto atual de resultados de validação deste item de conteúdo. Tipo: Matriz de msls.ValidationResult.
Inclui quaisquer resultados que foram definidos explicitamente nesta propriedade, além de quaisquer resultados que foram adicionados pela validação automática ou chamados pelo método validate(). Observe que os resultados de validação não são exibidos até que o usuário modifique a propriedade na interface do usuário ou tente salvar.
Exemplo:
screen.findContentItem("OrderDate").validationResults = [new msls.ValidationResult(screen.Order.details.properties.OrderDate, "Invalid date")];
value: Obtém ou define o valor que este item de conteúdo representa. Digite: Object.
valueModel: Obtém o item de modelo que descreve o valor deste item de conteúdo. Digite: Object.
widthSizingMode: Obtém o modo de redimensionamento da largura deste item de conteúdo. Digite: msls.WidthSizingMode (String).
Métodos
addChangeListener: Adiciona um evento de alteração.
addChangeListener(propertyName, listener)
Parâmetro propertyName: Um nome de propriedade, ou uma referência ao evento de alteração global. Digite: String.
Parâmetro listener: A função para chamar quando o evento de alteração for acionado. Digite: Function.
Exemplo:
myapp.AddEditCustomer.created = function (screen) {
function onPropertyChanged() {
// Do something.
}
screen.Customer.addChangeListener(
"Property", onPropertyChanged);
function onEvent() {
// Do something.
}
screen.Customer.addEventListener(
"Event", onEvent);
// Clean up when screen is closed.
screen.details.rootContentItem
.handleViewDispose(function () {
screen.Customer.removeChangeListener(
"Property", onPropertyChanged);
screen.Customer.removeEventListener(
"Event", onEvent);
});
};
dataBind: Associa a uma fonte que é identificada por um caminho de associação (por exemplo, value.unitPrice).
dataBind(bindingPath, callback)
Parâmetro bindingPath: Um caminho de associação delimitado que descreve o caminho até a fonte. Digite: String.
Parâmetro callback: Uma função que é chamada quando a fonte é alterada. Digite: Function.
Exemplo:
myapp.ViewCustomer.Details_postRender = function (element, contentItem) {
contentItem.dataBind("screen.Customer.Name", function (value) {
contentItem.screen.details.displayName = value;
});
};
dispatchChange: Aciona um evento de alteração para a propriedade.
dispatchChange(propertyName)
Parâmetro propertyName: Um nome de propriedade. Digite: String.
Exemplo:
myapp.ViewIncidents.created = function (screen) {
myapp.activeDataWorkspace.Main
.Statuses
.load()
.then(function onComplete(data) {
var choice = screen.findContentItem("Status"),
values = [];
data.results.forEach(function (status){
values.push({
value: status.Id,
stringValue: status.Title
});
});
choice.choiceList = values;
choice.dispatchChange("choiceList");
}, function onError(error) {
msls.showMessageBox(error, {
title: "Error loading Statuses from the backend"
});
});
}
findItem: Procura recursivamente por um item de conteúdo a partir deste item de conteúdo.
findItem(contentItemName)
Parâmetro contentItemName: O nome único de um item de conteúdo. Digite: String.
Retorno msls.ContentItem: O item de conteúdo com o nome especificado, se encontrado; caso contrário, um valor falso.
handleViewDispose: Define um manipulador para o evento de descarte de visualização.
handleViewDispose(handler)
Parâmetro: handler: Uma função chamada quando a visualização do item de conteúdo é descartada. Digite: Function.
Exemplo:
myapp.AddEditCustomer.created = function (screen) {
function onPropertyChanged() {
// Do something.
}
screen.Customer.addChangeListener(
"Property", onPropertyChanged);
function onEvent() {
// Do something.
}
screen.Customer.addEventListener(
"Event", onEvent);
// Clean up when screen is closed.
screen.details.rootContentItem
.handleViewDispose(function () {
screen.Customer.removeChangeListener(
"Property", onPropertyChanged);
screen.Customer.removeEventListener(
"Event", onEvent);
});
};
hasValidationErrors: Indica se este item de conteúdo atual tem erros de validação.
hasValidationErrors(recursive)
Parâmetro recursive: Indica se os itens de conteúdo filho também são verificados. Digite: Boolean.
Retorno Boolean: verdadeiro se houver erros de validação; caso contrário, falso.
Exemplo:
if (screen.findContentItem("name").hasValidationErrors()) {
screen.findContentItem("name").validationResults = [];
}
removeChangeListener: Remove um ouvinte de evento de alteração.
removeChangeListener(propertyName, listener)
Parâmetro propertyName: Um nome de propriedade, ou uma referência ao evento de alteração global. Digite: String.
Parâmetro listener: O ouvinte do evento que deve ser removido. Digite: Function.
Exemplo:
myapp.AddEditCustomer.created = function (screen) {
function onPropertyChanged() {
// Do something.
}
screen.Customer.addChangeListener(
"Property", onPropertyChanged);
function onEvent() {
// Do something.
}
screen.Customer.addEventListener(
"Event", onEvent);
// Clean up when screen is closed.
screen.details.rootContentItem
.handleViewDispose(function () {
screen.Customer.removeChangeListener(
"Property", onPropertyChanged);
screen.Customer.removeEventListener(
"Event", onEvent);
});
};
validate: Executa as regras de validação definidas na propriedade value e atualiza o valor da propriedade validationResults.
validate(recursive)
Parâmetro opcional recursive: Indica se os itens de conteúdo filho também são verificados. Se verdadeiro, a propriedade validationResults nos itens de conteúdo filho são atualizados. Digite: Boolean.
msls.ContentItemKind
msls.ContentItemKind
Especifica o tipo do item de conteúdo.
Valor |
Descrição |
---|---|
collection |
Especifica um item de conteúdo que é associado à coleção visual. |
command |
Especifica um item de conteúdo que é associado ao comando que invoca um método. |
details |
Especifica um item de conteúdo que é associado a um objeto, assim como a uma entidade. |
group |
Especifica um item de conteúdo que contém outros itens de conteúdo. |
popup |
Especifica o item de conteúdo raiz de um pop-up em uma tela. |
screen |
Especifica o item de conteúdo raiz de uma tela. |
tab |
Especifica o item de conteúdo raiz de uma guia em uma tela. |
value |
Especifica um item de conteúdo que é associado a um valor, assim como a um número, um data ou uma cadeia de caracteres. |
msls.DataService
msls.DataService(dataWorkspace)
Representa um serviço de dados.
Parâmetro opcional dataWorkspace: O espaço de trabalho de dados que possui este serviço de dados. Digite: msls.DataWorkspace.
Membros
Membro |
Descrição |
Tipo |
---|---|---|
dataService |
Obtém o serviço de dados ao qual pertence este objeto de detalhes. |
|
dataWorkspace |
Obtém um espaço de trabalho de dados que gerencia o serviço de dados, se houver. |
|
details |
Representa os detalhes de um serviço de dados. |
msls.DataService.Details |
hasChanges |
Obtém um valor que indica se um serviço de dados tem alterações (ou seja, se há entidades com adição, modificação ou exclusão pendentes). |
Boolean |
oncontentchange |
Obtém ou define um manipulador do evento contentchange, que é chamado a qualquer momento, qualquer propriedade de entidade, através das alterações do serviço de dados. |
Function |
owner |
Obtém o serviço de dados ao qual pertence este objeto de detalhes. |
|
properties |
Obtém o conjunto de objetos de propriedade do serviço de dados. |
msls.DataService.Details.PropertySet |
msls.DataServiceQuery
msls.DataServiceQuery(source, rootUri, queryParameters)
Representa uma consulta de serviço de dados.
Parâmetro source: Um objeto consultável de origem.
Parâmetro opcional rootUri: A raiz requisita URI se for uma consulta de serviço de dados raiz (por exemplo, uma consulta de navegação de coleção). Digite: String.
Parâmetro opcional queryParameters: Os parâmetros da consulta, se disponível (por exemplo, uma consulta de tela com base em uma operação de consulta com parâmetros). Digite: String.
msls.DataWorkspace
msls.DataWorkspace()
Representa um espaço de trabalho de dados.
Membros
Membro |
Descrição |
Tipo |
---|---|---|
dataWorkspace |
Obtém o espaço de trabalho de dados ao qual pertence este objeto de detalhes. |
|
details |
Representa os detalhes de um espaço de trabalho de dados. |
msls.DataWorkspace.Details |
hasChanges |
Obtém um valor que indica se um espaço de trabalho tem alterações (ou seja, se há entidades com adição, modificação ou exclusão pendentes). |
Boolean |
hasNestedChangeSets |
Obtém um valor que indica se o espaço de trabalho de dados tem quaisquer conjuntos de alteração aninhados. |
Boolean |
NestedChangeSet(owner) |
Representa um conjunto de alteração aninhada. |
|
oncontentchange |
Obtém ou define um manipulador do evento contentchange, que é chamado a qualquer momento, sempre que qualquer entidade de propriedade de qualquer serviço de dados desse espaço de trabalho de dados é alterada. |
Function |
owner |
Obtém o espaço de trabalho de dados ao qual pertence este objeto de detalhes. |
|
properties |
Obtém o conjunto de objetos de propriedade do espaço de trabalho de dados. |
msls.DataWorkspace.Details.PropertySet |
msls.Entity
msls.Entity(entitySet)
Representa uma entidade.
Parâmetro opcional entitySet: Um conjunto de entidades que deve conter esta entidade. Digite: msls.EntitySet.
Membros
Membro |
Descrição |
Tipo |
---|---|---|
details |
Representa os detalhes de uma entidade. |
msls.Entity.Details |
entity |
Obtém a entidade que possui este objeto de detalhes. |
|
entitySet |
Obtém o conjunto de entidades que contém a entidade. |
|
entityState |
Obtém o estado (do msls.EntityState) da entidade. |
String |
hasEdits |
Obtém o valor que indica se a entidade tem edições (ou seja, se foi adicionada e tem sido editada, modificada ou excluída). |
Boolean |
owner |
Obtém a entidade que possui este objeto de detalhes. |
|
Properties |
Obtém o conjunto de objetos de propriedade da entidade. |
msls.Entity.Details.PropertySet |
msls.EntityCollection
msls.EntityCollection(details, data)
Representa a coleção local das entidades.
Parâmetro details: O objeto de detalhes da entidade que possui esta coleção de entidade. Digite: msls.Entity.Details.
Parâmetro data: Um objeto que fornece dados de propriedade. Digite: Object.
Membros
Membro |
Descrição |
Tipo |
---|---|---|
oncollectionchange |
Obtém ou define um manipulador do evento de alteração da coleção. |
Function |
msls.EntitySet
msls.EntitySet(dataService, entry)
Representa um conjunto de entidades.
Parâmetro dataService: O serviço de dados que possui este conjunto de entidades. Digite: msls.DataService.
Parâmetro entry: Uma entrada de propriedade de conjunto de entidades.
Membros
Membro |
Descrição |
Tipo |
---|---|---|
canDelete |
Obtém um valor que indica se as entidades neste conjunto de entidades podem ser excluídas. |
Boolean |
canInsert |
Obtém um valor que indica se as entidades podem ser adicionadas neste conjunto de entidades. |
Boolean |
canUpdate |
Obtém um valor que indica se as entidades neste conjunto de entidades podem ser modificadas. |
Boolean |
dataService |
Obtém o serviço de dados que possui este conjunto de entidades. |
|
name |
Obtém o nome deste conjunto de entidades. |
String |
msls.EntityState
msls.EntityState
Especifica o estado de uma entidade.
Valor |
Descrição |
---|---|
added |
A entidade está adicionada. |
deleted |
A entidade está marcada como excluída. |
discarded |
A entidade está descartada. |
modified |
A entidade está modificada. |
unchanged |
A entidade está inalterada. |
msls.HeightSizingMode
msls.HeightSizingMode
Especifica como a altura de um item de conteúdo é calculada.
Valor |
Descrição |
---|---|
FitToContent |
Especifica que a altura do item de conteúdo está com base na altura de seu conteúdo. |
FixedSize |
Especifica que a altura do item de conteúdo está corrigida. |
StretchToContainer |
Especifica que a altura do item de conteúdo tem base na altura disponível fornecida pelo item de conteúdo principal. |
msls.HorizontalAlignment
msls.HorizontalAlignment
Especifica o alinhamento horizontal de um item de conteúdo.
Valor |
Descrição |
---|---|
Left |
Especifica que o item de conteúdo está alinhado à esquerda. |
Right |
Especifica que o item de conteúdo está alinhado à direita. |
msls.MergeOption
msls.MergeOption
Especifica como as entidades que estão sendo carregadas no espaço de trabalho de dados estão mescladas com entidades que já estão lá.
Valor |
Descrição |
---|---|
appendOnly |
Entidades que não existem no espaço de trabalho de dados são adicionadas a ele. Se uma entidade já está no espaço de trabalho de dados, os valores atuais e originais das propriedades da entidade não são sobrescritos com os valores da fonte de dados. Essa é a opção de mesclagem padrão. |
unchangedOnly |
Entidades que não existem no espaço de trabalho de dados são adicionadas a ele. Se uma entidade já está no espaço de trabalho de dados e seu estado for inalterado, os valores atuais e originais das propriedades da entidade são sobrescritos com os valores da fonte de dados. |
msls.MessageBoxButtons
msls.MessageBoxButtons
Especifica os botões para exibir em uma caixa de mensagem.
Valor |
Descrição |
---|---|
ok |
Especifica o botão OK. |
okCancel |
Especifica os botões OK e Cancelar. |
yesNo |
Especifica os botões Sim e Não. |
yesNoCancel |
Especifica os botões Sim, Não e Cancelar. |
msls.MessageBoxResult
msls.MessageBoxResult
Especifica o botão em uma caixa de mensagem que foi selecionada.
Valor |
Descrição |
---|---|
cancel |
Especifica que o botão Cancelar foi invocado. |
no |
Especifica que o botão Não foi invocado. |
ok |
Especifica que o botão OK foi invocado. |
yes |
Especifica que o botão Sim foi invocado. |
msls.NavigateBackAction
msls.NavigateBackAction
Especifica que a ação tomada ao navegar de volta de uma tela.
Valor |
Descrição |
---|---|
cancel |
Especifica que as alterações na tela anterior foram canceladas. |
commit |
Especifica que as alterações na tela anterior foram confirmadas na fonte de dados. |
msls.ObjectWithDetails
msls.ObjectWithDetails
Representa um objeto que contém um objeto details.
Membros
Membro |
Descrição |
Tipo |
---|---|---|
details |
Representa os detalhes de um objeto com detalhes. |
msls.ObjectWithDetails.Details |
onchange |
Obtém ou define um manipulador para o evento de alteração, que é chamado a qualquer momento em que o valor de uma propriedade observável neste objeto é alterado. |
Function |
owner |
Representa o objeto que possui este objeto de detalhes. |
|
properties |
Obtém o conjunto de objetos de propriedade das propriedades dos proprietários. |
msls.ObjectWithDetails.Details.PropertySet |
msls.PageKind
msls.PageKind
Especifica o tipo de página representada por um item de conteúdo.
Valor |
Descrição |
---|---|
None |
Especifica que o item de conteúdo não representa uma página. |
Popup |
Especifica que o item de conteúdo representa um pop-up exibido usando uma opção de associação aninhada. |
Tab |
Especifica que o item de conteúdo representa uma guia que é exibida na barra de guias da tela. |
msls.Screen
Screen(dataWorkspace, modelId, screenParameters)
Representa uma tela.
Parâmetro dataWorkspace: O espaço de trabalho de dados associado com a tela. Digite: msls.DataWorkspace.
Parâmetro modelId: O identificador do item de modelo que define esta tela. Digite: String.
Parâmetro opcional screenParameters: Um objeto que contém parâmetros para a tela. Digite: Array.
Membros
Membro |
Descrição |
Tipo |
---|---|---|
dataWorkspace |
Obtém o espaço de trabalho que fornece os dados da tela. |
|
description |
Obtém ou define a descrição da tela. |
String |
details |
Representa os detalhes de uma tela. |
msls.Screen.Details |
displayName |
Obtém ou define o nome de exibição de uma tela. |
String |
owner |
Obtém a tela que possui este objeto de detalhes. |
msls.Screen |
pages |
Obtém uma matriz dos itens de conteúdo raiz das guias de tela e pop-ups. |
|
properties |
Obtém o conjunto de objetos de propriedade da tela. |
msls.Screen.Details.PropertySet |
rootContentItem |
Obtém o item de conteúdo raiz da tela. |
|
saveChangesTo |
Obtém uma matriz de serviços de dados editável da tela. |
|
screen |
Obtém a tela que possui este objeto de detalhes. |
msls.Screen |
serverErrors |
Obtém os erros de validação do servidor que ocorreram quando a tela foi salva pela última vez. |
|
startPage |
Obtém o item de conteúdo raiz da página inicial da tela. |
msls.Sequence
msls.Sequence()
Representa uma sequência.
Membros
Membro |
Descrição |
Tipo |
---|---|---|
Array |
Obtém uma matriz que representa esta sequência. |
Object |
msls.TransitionAnimationLevel
msls.TransitionAnimationLevel
Especifica o nível de animação que ocorre durante as transições.
Valor |
Descrição |
---|---|
Full |
Usa animações de transição completa. |
Simple |
Usa animações de transição simples que têm menor processamento ou intensidade de potência. |
msls.ValidationResult
msls.ValidationResult(property, message)
Representa um resultado de validação.
Parâmetro property: Uma propriedade para associar com o resultado de validação. Digite: msls.BusinessObject.Details.Property.
Parâmetro message: Uma mensagem que descreve o erro de validação. Digite: String.
Membros
Membro |
Descrição |
Tipo |
---|---|---|
message |
Obtém uma mensagem que descreve o erro de validação. |
String |
property |
Obtém uma propriedade no erro de validação que ocorreu. |
msls.BusinessObject.Details.Property |
msls.VisualCollection
VisualCollection(screenDetails, loader)
Representa uma coleção de dados que é exibida por uma tela.
Parâmetro screenDetails: O objeto de detalhes da tela que possui a propriedade de coleção da tela, cujo valor é esta coleção. Digite: msls.Screen.Details.
Parâmetro loader: Um objeto que é usado para carregar dados em uma coleção.
Membros
Membro |
Descrição |
Tipo |
---|---|---|
canLoadMore |
Obtém um valor que indica se esta coleção está apta para carregar mais páginas de dados. |
Boolean |
count |
Obtém o número de itens que estão atualmente nesta coleção. |
Integer |
data |
Obtém os itens que estão atualmente nesta coleção. |
Array |
isLoaded |
Obtém um valor que indica se esta coleção carregou uma ou mais páginas de dados. |
Boolean |
loadError |
Obtém o último erro de carregamento que ocorreu ou retorna nulo, se nenhum erro ocorreu. |
String |
screen |
Obtém a tela que possui esta coleção. |
|
selectedItem |
Obtém ou define o item selecionado atualmente. |
|
state |
Obtém o estado atual (do msls.VisualCollection.State) desta coleção. |
String |
VisualCollection.State valores:
Valor |
Descrição |
---|---|
idle |
Especifica que a coleção visual não está carregando dados atualmente. |
loading |
Especifica que a coleção visual está carregando dados atualmente. |
loadingMore |
Especifica que a coleção visual está carregando mais dados atualmente. |
msls.WidthSizingMode
msls.WidthSizingMode
Especifica como a largura de um item de conteúdo é calculada.
Valor |
Descrição |
---|---|
FitToContent |
Especifica que a largura do item de conteúdo está com base na largura de seu conteúdo. |
FixedSize |
Especifica que a largura do item de conteúdo está corrigida. |
StretchToContainer |
Especifica que a largura do item de conteúdo está com base na largura disponível fornecida pelo item de conteúdo principal. |
Consulte também
Tarefas
Como tratar eventos de tela em um cliente móvel para um aplicativo do LightSwitch
Como modificar uma tela HTML usando código