ItEr44S15RFNavegacionOrganizacionTraballoItEr43S20: Changed filtering orderelements by label component position

This commit is contained in:
Lorenzo Tilve 2010-01-21 14:47:56 +01:00 committed by Javier Moran Rua
parent 78da913ded
commit a0bc3eaa32
5 changed files with 13 additions and 62 deletions

View file

@ -51,7 +51,6 @@ import org.zkoss.zk.ui.event.Event;
import org.zkoss.zk.ui.event.EventListener;
import org.zkoss.zk.ui.event.Events;
import org.zkoss.zul.Button;
import org.zkoss.zul.Combobox;
import org.zkoss.zul.Constraint;
import org.zkoss.zul.Datebox;
import org.zkoss.zul.Intbox;
@ -71,8 +70,6 @@ public class OrderElementTreeController extends TreeController<OrderElement> {
private Vbox filter;
private Combobox cbFilterType;
private BandboxSearch bdFilter;
private OrderElementTreeitemRenderer renderer = new OrderElementTreeitemRenderer();
@ -154,8 +151,11 @@ public class OrderElementTreeController extends TreeController<OrderElement> {
@Override
public void doAfterCompose(Component comp) throws Exception {
super.doAfterCompose(comp);
Executions.createComponents("/orders/_orderElementTreeFilter.zul",
Component filterComponent = Executions.createComponents(
"/orders/_orderElementTreeFilter.zul",
filter, new HashMap<String, String>());
filterComponent.setVariable("treeController", this, true);
bdFilter = (BandboxSearch) filterComponent.getFellow("bdFilter");
}
public class OrderElementTreeitemRenderer extends Renderer {
@ -400,46 +400,18 @@ public class OrderElementTreeController extends TreeController<OrderElement> {
return predicate != null;
}
private final String SHOW_ALL = _("Show all");
/**
* Show all order elements in current order
* @param event
*/
public void onShowAll(Event event) {
final String selectedOption = ((Combobox) event.getTarget()).getValue();
if (SHOW_ALL.equals(selectedOption)) {
// Delete predicate and set back to original tree model
if (predicate != null) {
bdFilter.clear();
predicate = null;
Util.reloadBindings(tree);
}
bdFilter.setDisabled(true);
} else {
bdFilter.setDisabled(false);
}
}
private final String FILTER_BY_LABEL = _("Filter by Label");
/**
* Apply filter to order elements in current order
* @param event
*/
public void onApplyFilter(Event event) {
final String selectedOption = cbFilterType.getValue();
// Filter order elements by label
if (FILTER_BY_LABEL.equals(selectedOption)) {
org.navalplanner.business.labels.entities.Label label = getSelectedLabel();
if (label == null) {
label = org.navalplanner.business.labels.entities.Label
.create("");
label = org.navalplanner.business.labels.entities.Label.create("");
}
// Create predicate and filter order elements by predicate
predicate = new LabelOrderElementPredicate(label);
filterByPredicate();
}
}
private org.navalplanner.business.labels.entities.Label getSelectedLabel() {
@ -458,9 +430,7 @@ public class OrderElementTreeController extends TreeController<OrderElement> {
*/
public void clear() {
selectDefaultTab();
cbFilterType.setSelectedIndex(0); // Select show all option
bdFilter.setDisabled(true); // Disable when show all option is selected
bdFilter.clear();
// bdFilter.clear();
predicate = null;
}

View file

@ -468,7 +468,9 @@ public class OrderModel implements IOrderModel {
// Iterate through orderElements from order
List<OrderElement> orderElements = new ArrayList<OrderElement>();
for (OrderElement orderElement : order.getOrderElements()) {
reattachOrderElement(orderElement);
if (!orderElement.isNewObject()) {
reattachOrderElement(orderElement);
}
reattachLabels();
initializeLabels(orderElement.getLabels());

View file

@ -430,7 +430,7 @@ div.z-errbox {
.z-label,.z-radio-cnt,.z-checkbox-cnt,.z-slider-pp,input.button,input.file,.z-loading,.z-errbox,
div.z-tree-footer-cnt, div.z-tree-cell-cnt, div.z-tree-col-cnt, .z-listbox,
div.z-footer-cnt, div.z-row-cnt, div.z-group-cnt, div.z-group-foot-cnt,
div.z-column-cnt, div.z-list-footer-cnt, div.z-list-cell-cnt {
div.z-column-cnt, div.z-list-footer-cnt, div.z-list-cell-cnt, .z-bandbox, .z-bandbox-inp {
font-family: Tahoma, Arial, Helvetica, sans-serif;
font-size: 11px;
font-weight: normal;

View file

@ -1,16 +1,8 @@
<hbox>
<!-- Filter by label -->
<combobox id="cbFilterType" value="${i18n:_('Show all')}"
onChange="treeController.onShowAll(event)"
constraint="no empty:${i18n:_('cannot be null or empty')}"
readonly="true" >
<comboitem label="${i18n:_('Show all')}"
description="${i18n:_('Show all order elements')}" />
<comboitem label="${i18n:_('Filter by Label')}"
description="${i18n:_('Filter all order elements by label')}" />
</combobox>
<label value="${i18n:_('Filter by label:')}" />
<bandboxSearch id="bdFilter" finder="LabelBandboxFinder"
model="@{treeController.labels}"/>
<button label="${i18n:_('Filter')}" style="margin-top: -4px"
onClick="treeController.onApplyFilter(event)"/>
</hbox>
</hbox>

View file

@ -32,20 +32,7 @@
<button label="New order" tooltiptext="${i18n:_('Create new order')}" class="planner-command"/>
<button label="Save" tooltiptext="${i18n:_('Save order')}" class="planner-command" disabled="true"/>
<separator/>
<hbox align="center" style="margin-left:240px;">
<!-- Filter by label -->
<label>Filter order elements:</label>
<combobox id="cbFilterType" value="${i18n:_('Show all')}"
constraint="no empty:${i18n:_('cannot be null or empty')}"
readonly="true" >
<comboitem label="${i18n:_('Show all')}"
description="${i18n:_('Show all order elements')}" />
<comboitem label="${i18n:_('Filter by Label')}"
description="${i18n:_('Filter all order elements by label')}" />
</combobox>
<bandboxSearch id="bdFilter" finder="LabelBandboxFinder"/>
<button label="${i18n:_('Filter')}" class="planner-command"/>
</hbox>
<vbox id="filter" />
</hbox>
</north>