Para Desenvolvedores

Filtrar um source em controle customizado

Resolvido

Boa tarde, estou utilizando a versão 10.2.0 do lumisportal e acabei precisando criar um controle customizado, porém nesse controle customizado eu quero filtrar um source(so2) com base nos valores de um primeiro source(so1). Eu tenho as os dois sources dentro da classe java porém estou com dificuldades para filtrar o so2. Como eu faria para filtrar esse source dentro dessa classe utilizando as API's do lumis?

 

Atualmente é assim que estou pegando os sources que preciso:

ContentTableSource so1= this.douiContext.getSourceContainer().getSourceById("default");
            ContentTableSource so2= this.douiContext.getSourceContainer().getSourceById("items");

Por Gabriel Silva de Menezes

Em 02/04/20 13:15

Acompanhar pergunta

1 resposta(s):

Ordenar por:

Gabriel,

Pode testar o seguinte?

1- Criar uma classe customizada deste tipo:

 

import lumis.content.table.ContentTableSource;
import lumis.doui.table.filter.TableSourceFilter;
import lumis.portal.PortalException;
import lumis.util.query.IQueryValue;
import lumis.util.query.QueryValue;

public class OtherSourceFilter extends TableSourceFilter
{
	@Override
	protected IQueryValue calculateFilterValue(Node filterNode) throws PortalException 
	{
		ContentTableSource so1 = getSource().getSourceContainer().getSourceById("default");
		
		if (so1.getData().size() == 0)
			return new QueryValue(null);
		
		return new QueryValue(so1.getData().get("fieldId"));
	}
}

 

 

E declarar no filter do seu douidefinition essa classe. Aqui um exemplo:

E claro, tem que declarar o filter class no segunto source.

	<interfaces>

		<interface id="quicklist">
			<sources>
				<source id="tb_comentario">
					<fields inherit="all">
						<field id="commentId" display="false" />
						<field id="targetContentLocaleId" display="false" />
						<field id="commentText" display="true" />
					</fields>
					<filters>
						<filter id="targetContentLocaleId" hidden="true" className="br.com.SuaClasse" required="true" />

					</filters>
				</source>
				(...)

 

Por Luiz Carlos Valenca

Em 20/04/20 11:45
Editado em 20/04/20 11:47

Entrar

Interaja com a comunidade e tenha acesso a conteúdos exclusivos.

Houve algum erro ao acessar o banco de dados. Tente novamente mais tarde.