No que poderíamos chamar de "camada de apresentação" de uma widget (ou seja, as telas) existe a concepção inicial de que ela é formada por dois arquivos freemarker (.ftl): Um para visualização e outro para edição. Geralmente faz parte dessa estrutura um único aquivo javascript (.js). A seguir veremos cada um dos componentes.

Modo de Visualização

Por padrão, o renderizador de páginas da plataforma Fluig procura dentro da widget por um arquivo chamado "view.ftl". Caso exista a propriedade view.file no arquivo application.info, então o arquivo informado como valor é que será considerado pelo renderizador. Por exemplo:

view.file=visualizacao.ftl

Modo de Edição

Por padrão, o renderizador de páginas da plataforma Fluig procura dentro da widget por um arquivo chamado "edit.ftl". Caso exista a propriedade edit.file no arquivo application.info, então o arquivo informado como valor é que será considerado pelo renderizador. Por exemplo:

edit.file=edicao.ftl

Caso não exista a propriedade edit.file e nem um arquivo "edit.ftl", o renderizador entenderá que essa widget não possui modo de edição.

Variáveis de Ambiente FTL & JS

Quando utilizando extensão de Super Widget em seu arquivo *.js (javascript), existe uma função herdada chamada "isEditMode". Veja o exemplo abaixo:

var MinhaWidget = SuperWidget.extend({
    init: function() {
    	if (this.isEditMode) {
			// código para ser executado quando estiver em modo de edição
		} else {
			// código para ser executado quando estiver em modo de exibição
		}
	},
	// restante do código omitido
});

Ou, no arquivo *.ftl (freemarker) pode-se usar o seguinte código:

<div class="fluig-style-guide">
 
	<#if pageRender.isEditMode()=true>
		<!-- Execute uma ação quando estiver em modo de edição -->
	<#else>
		<!-- Execute outra quando estiver em modo de exibição -->
	</#if>

</div>