Skip to content
Snippets Groups Projects
Commit 4200c308 authored by LE GAC Renaud's avatar LE GAC Renaud
Browse files

Improve the method formModifier.linked_combobox by adding the

possibility to modify the ExtJS configuration parameter of the
underlying combobox.
parent 475528d1
No related branches found
No related tags found
No related merge requests found
......@@ -100,28 +100,57 @@ class FormModifier(Modifier):
Either a string or a list of string when several
slaves are linked to a master.
masterExtJS
configuration parameters dictionary for the master
Ext.form.Combobox. Might be useful to set the master
in readOnly mode for example
slavesExtJS
configuration parameters dictionary for the slave
Ext.form.Combobox. It can also be a list of dictionary
when running with multi-slaves. Might be useful to set
the salve in readOnly mode for example.
"""
for el in ('slaveNames', 'displayFieldSlaves', 'valueFieldSlaves'):
kwargs[el] = as_list(kwargs[el])
# Multi-slaves case
t = ('slaveNames',
'displayFieldSlaves',
'valueFieldSlaves',
'slavesExtJS')
for el in t:
if el in kwargs:
kwargs[el] = as_list(kwargs[el])
# master
extjs = {}
if 'masterExtJS' in kwargs:
extjs = kwargs['masterExtJS']
fieldsModifier = FieldsModifier(self.tablename)
fieldsModifier.configure_field(kwargs['masterName'],
displayField=kwargs['displayFieldMaster'],
role='master',
store=kwargs['storeName'],
valueField=kwargs['valueFieldMaster'],
xtype='xlinkedcombobox')
xtype='xlinkedcombobox',
**extjs)
# slaves
for i in range(len(kwargs['slaveNames'])):
extjs = {}
if 'slavesExtJS' in kwargs:
extjs = kwargs['slavesExtJS'][i]
fieldsModifier.configure_field(kwargs['slaveNames'][i],
displayField=kwargs['displayFieldSlaves'][i],
mode='local',
role='slave',
store=kwargs['storeName'],
valueField=kwargs['valueFieldSlaves'][i],
xtype='xlinkedcombobox')
xtype='xlinkedcombobox',
**extjs)
def merge_fields(self, *fields, **kwargs):
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment