Wicket 调色板可用列表问题
Wicket palette Available list issue
我们有一个基于 Wicket 的实验室应用程序,并遵循此处显示的调色板示例:
最初,可用列表中的项目描述为 "pH"、"pH1" 和 "pH2"。
如果我们将 "pH1" 和 "pH2" 移动到已选择列表并保存,"pH" 将不再显示在可用列表中。
如果我们将项目的描述从 "pH" 更改为 "PH",它会再次出现。
部分代码如下:
private List<LabMethod> availableMethods = new ArrayList<LabMethod>();
private List<LabMethod> selectedMethods = new ArrayList<LabMethod>();
....
//Get all the methods
availableMethods = labMethodService.getLabMethods();
//Get the methods for this user
if (user.getId()!=null)
selectedMethods = lookupService.getMethodsForUser(user);
else
selectedMethods = Collections.emptyList();
IChoiceRenderer<LabMethod> renderer = new ChoiceRenderer<LabMethod>("description", "description");
final Palette<LabMethod> palette =
new Palette<LabMethod>("methodPalette",
new ListModel<LabMethod>(selectedMethods),
new CollectionModel<LabMethod>(availableMethods),
renderer, 10, true);
palette.add(new DefaultTheme());
这似乎是 Wicket 中引入的回归 7.x - Palette 不支持选项 ID 相互包含:
例如当从选项 {"AA"、"AAA" 和 "AAAA"} 中选择 "AAAA" 时,Recorder#getUnselectedList() 将 return 全部选中(因为都是 'contained' 在 "AAAA").
我们有一个基于 Wicket 的实验室应用程序,并遵循此处显示的调色板示例:
最初,可用列表中的项目描述为 "pH"、"pH1" 和 "pH2"。
如果我们将 "pH1" 和 "pH2" 移动到已选择列表并保存,"pH" 将不再显示在可用列表中。
如果我们将项目的描述从 "pH" 更改为 "PH",它会再次出现。
部分代码如下:
private List<LabMethod> availableMethods = new ArrayList<LabMethod>();
private List<LabMethod> selectedMethods = new ArrayList<LabMethod>();
....
//Get all the methods
availableMethods = labMethodService.getLabMethods();
//Get the methods for this user
if (user.getId()!=null)
selectedMethods = lookupService.getMethodsForUser(user);
else
selectedMethods = Collections.emptyList();
IChoiceRenderer<LabMethod> renderer = new ChoiceRenderer<LabMethod>("description", "description");
final Palette<LabMethod> palette =
new Palette<LabMethod>("methodPalette",
new ListModel<LabMethod>(selectedMethods),
new CollectionModel<LabMethod>(availableMethods),
renderer, 10, true);
palette.add(new DefaultTheme());
这似乎是 Wicket 中引入的回归 7.x - Palette 不支持选项 ID 相互包含:
例如当从选项 {"AA"、"AAA" 和 "AAAA"} 中选择 "AAAA" 时,Recorder#getUnselectedList() 将 return 全部选中(因为都是 'contained' 在 "AAAA").