Re: [zope-pt] Dúvida em MasterSelectWidget

2006-06-15 Por tôpico Dorneles Treméa
Opa Elisandra,

> Estou implementando um campo com MasterSelectWidget, a minha dúvida é
> como faço para que o segundo campo só apareça se no primeiro campo o
> valor selecionado seja "diferente" de 'outro', o que faço no parametro
> 'hide_values'?

a princípio o MasterSelectWidget só aceitava as seguintes 'actions':

- value: para alterar o valor de outro(s) campo(s), conforme o valor
  do campo atual;

- vocabulary: para alterar dinamicamente o vocabulário de outro(s)
  campo(s), dependendo do valor do campo atual;

- hide: para esconder outro(s) campo(s), quando o campo atual contiver
  um(ns) valor(es) específico(s);

- disable: mesma coisa do anterior, só que desativa o(s) campo(s)
  ao invés de esconder ele(s);   

> Só consegui que fizesse o contrário, que esconda quando o valor é
> "igual" a 'outro'.

Isso não dava para fazer, mas agora dá... ;-)

Basta usar a nova action 'show' que eu inclui[1], da mesma forma como
você faria para usar a action 'hide'.

> Aqui está o código dos meus campos:
> 
> StringField(
> name='item',
> index=":schema",
> widget=MasterSelectWidget(
>label="Item",
>description="Informe o item de investimento",
>format="select",
>slave_fields=({'name': 'item_outro', 'action': 'hide', 
> 'hide_values': ('outro',)},),
>label_msgid='OrcamentoInvestimentosUCS_label_item',
>description_msgid='OrcamentoInvestimentosUCS_help_item',
>i18n_domain='OrcamentoInvestimentosUCS',
> ),
> vocabulary=['1','2','outro']
> ),
> 
> StringField(
> name='item_outro',
> widget=StringWidget(
> label="Descrição do Item",
> label_msgid='OrcamentoInvestimentosUCS_label_item_outro',
> i18n_domain='OrcamentoInvestimentosUCS',
> )
> ),

No exemplo acima, muda de 'hide' para 'show' que já vai funcionar
da forma como você esperava.

[1] Usar a versão 0.2.3, atualmente disponível apenas no SVN, em
http://svn.plone.org/svn/archetypes/MoreFieldsAndWidgets/MasterSelectWidget/trunk

HTH,

-- 

Dorneles Treméa
X3ng Web Technology


Para enviar uma mensagem: zope-pt@yahoogrupos.com.br
Para desistir envie uma mensagem em branco para: [EMAIL PROTECTED] 
Links do Yahoo! Grupos

<*> Para visitar o site do seu grupo na web, acesse:
http://br.groups.yahoo.com/group/zope-pt/

<*> Para sair deste grupo, envie um e-mail para:
[EMAIL PROTECTED]

<*> O uso que você faz do Yahoo! Grupos está sujeito aos:
http://br.yahoo.com/info/utos.html

 




[zope-pt] Dúvida em MasterSelectWidget

2006-06-07 Por tôpico Elisandra Fidler
Olá pessoal,

Estou implementando um campo com MasterSelectWidget, a minha dúvida é
como faço para que o segundo campo só apareça se no primeiro campo o
valor selecionado seja "diferente" de 'outro', o que faço no parametro
'hide_values'?
Só consegui que fizesse o contrário, que esconda quando o valor é
"igual" a 'outro'.
Aqui está o código dos meus campos:

 StringField(
name='item',
index=":schema",
widget=MasterSelectWidget(
   label="Item",
   description="Informe o item de investimento",
   format="select",
   slave_fields=({'name': 'item_outro', 'action': 'hide',
'hide_values': ('outro',)},),
  label_msgid='OrcamentoInvestimentosUCS_label_item',
  description_msgid='OrcamentoInvestimentosUCS_help_item',
  i18n_domain='OrcamentoInvestimentosUCS',
),
vocabulary=['1','2','outro']
 ),
 
 StringField(
name='item_outro',
widget=StringWidget(
label="Descrição do Item",
label_msgid='OrcamentoInvestimentosUCS_label_item_outro',
i18n_domain='OrcamentoInvestimentosUCS',
)
 ),

Obrigada,

Elisandra
Universidade de Caxias do Sul






Para enviar uma mensagem: zope-pt@yahoogrupos.com.br
Para desistir envie uma mensagem em branco para: [EMAIL PROTECTED] 
Links do Yahoo! Grupos

<*> Para visitar o site do seu grupo na web, acesse:
http://br.groups.yahoo.com/group/zope-pt/

<*> Para sair deste grupo, envie um e-mail para:
[EMAIL PROTECTED]

<*> O uso que você faz do Yahoo! Grupos está sujeito aos:
http://br.yahoo.com/info/utos.html