Commit a8ce8f3e authored by Rene Saarsoo's avatar Rene Saarsoo
Browse files

Refactor card selection in comments index component.

Replace the duplicated code with a more generic solution.

Though it's now more complex, it'll allow us to add/remove/rename
cards in the future more easily.
parent 2a3a3657
Loading
Loading
Loading
Loading
+16 −19
Original line number Diff line number Diff line
@@ -54,26 +54,23 @@ Ext.define('Docs.view.comments.Index', {
        this.callParent(arguments);

        var cardPanel = this.down("#cardPanel");
        var users = this.down("commentsUsers");
        var targets = this.down("commentsTargets");
        var tags = this.down("commentsTags");

        this.down("commentsHeaderMenu").on("select", function(item) {
            if (item === "users") {
                targets.deselectAll();
                tags.deselectAll();
                cardPanel.getLayout().setActiveItem(users);
            }
            else if (item === "targets") {
                users.deselectAll();
                tags.deselectAll();
                cardPanel.getLayout().setActiveItem(targets);
            }
            else {
                users.deselectAll();
                targets.deselectAll();
                cardPanel.getLayout().setActiveItem(tags);
        var cards = {
            users: this.down("commentsUsers"),
            targets: this.down("commentsTargets"),
            tags: this.down("commentsTags")
        };

        this.down("commentsHeaderMenu").on("select", function(selectedName) {
            // deselect items in the unselected cards
            Ext.Object.each(cards, function(name, card) {
                if (name !== selectedName) {
                    card.deselectAll();
                }
            });

            // activate the selected card
            cardPanel.getLayout().setActiveItem(cards[selectedName]);
        }, this);
    },