Subversion Repositories SmartDukaan

Rev

Rev 2119 | Rev 2359 | Go to most recent revision | Details | Compare with Previous | Last modification | View Log | RSS feed

Rev Author Line No. Line
1961 ankur.sing 1
package in.shop2020.catalog.dashboard.client;
2
 
3
import com.google.gwt.event.dom.client.ClickEvent;
4
import com.google.gwt.event.dom.client.ClickHandler;
5
import com.google.gwt.user.client.ui.Anchor;
6
import com.google.gwt.user.client.ui.Composite;
7
import com.google.gwt.user.client.ui.Tree;
8
import com.google.gwt.user.client.ui.TreeItem;
9
 
10
/**
11
 * A tree displaying a set of catalog folders.
12
 */
13
public class CatalogTree extends Composite {
2027 ankur.sing 14
 
15
    public static final String ALL_ITEMS = "All Items";
2119 ankur.sing 16
    public static final String ALL_ACTIVE_ITEMS = "All Active Items";
2208 ankur.sing 17
    public static final String ALL_PHASED_OUT_ITEMS = "All Phased Out Items";
18
    public static final String ALL_PAUSED_ITEMS = "All Paused Items";
2027 ankur.sing 19
    public static final String BEST_DEALS = "Best Deals";
20
    public static final String BEST_SELLERS = "Best Sellers";
21
    public static final String LATEST_ARRIVALS = "Latest Arrivals";
1961 ankur.sing 22
 
1992 ankur.sing 23
    private Tree tree;
24
 
25
    interface TreeListener {
2027 ankur.sing 26
        void onTreeItemClicked(String itemTypes);
1992 ankur.sing 27
    }
28
 
29
    TreeListener treeListener;
1961 ankur.sing 30
 
1992 ankur.sing 31
    public CatalogTree() {
32
        tree = new Tree();
33
        TreeItem root = new TreeItem("Catalog");
34
        tree.addItem(root);
1961 ankur.sing 35
 
2027 ankur.sing 36
        addItem(root, ALL_ITEMS);
2208 ankur.sing 37
        addItem(root, ALL_ACTIVE_ITEMS);
38
        addItem(root, ALL_PHASED_OUT_ITEMS);
39
        addItem(root, ALL_PAUSED_ITEMS);
2027 ankur.sing 40
        addItem(root, BEST_DEALS);
41
        addItem(root, BEST_SELLERS);
42
        addItem(root, LATEST_ARRIVALS);
2208 ankur.sing 43
 
1961 ankur.sing 44
 
1992 ankur.sing 45
        root.setState(true);
46
        initWidget(tree);
47
    }
1961 ankur.sing 48
 
2027 ankur.sing 49
    private void addItem(TreeItem root, final String title) {
1992 ankur.sing 50
        Anchor item = new Anchor(title);
51
        root.addItem(item);
52
        item.addClickHandler(new ClickHandler() {
53
            @Override
54
            public void onClick(ClickEvent event) {
2027 ankur.sing 55
                treeListener.onTreeItemClicked(title);
1992 ankur.sing 56
            }
57
        });
58
    }
59
 
60
    public void setTreeListener(TreeListener treeListener) {
61
        this.treeListener = treeListener;
62
    }
1961 ankur.sing 63
}