Blog Archive

ExtJs 4 reload node in Tree Panel and URL loading error

In ExtJs 4 Tree Panel a node is basically the Model record that is associated with the Tree Store which in turn is associated with the Tree Panel. Now all you need is a reference record object/node that you want reloaded from the Server using the Ajax proxy associated with the Tree store.

Here is how to do it ...
 refreshNode.removeAll(false);
 this.getMyTreeStore().load({
  node : refreshNode
 });


Explanation
  • refreshNode is the record/node reference
  • this.getMyTreeStore() is reference to your Tree Store
  • refreshNode.removeAll(false) is not really needed, this is only to fix an ExtJs 4 bug

ExtJs 4 bug when reloading a node that was already loaded once


Uncaught TypeError: Cannot call method 'indexOf' of undefined. I have wasted a lot of time on this bug, If you see this error then make sure you call Node.removeAll(false) before doing a reload or use a TreeStore override for the load function as shown below
Ext.override(Ext.data.TreeStore, {
    load: function(options) {
        options = options || {};
        options.params = options.params || {};


        var me = this,
        node = options.node || me.tree.getRootNode(),root;


        //If there is not a node it means the user hasn't defined a rootnode yet. 
        //In this case lets just create one for them.
        if (!node) {
            node = me.setRootNode({
                expanded: true
            });
        }


        if (me.clearOnLoad) {
            node.removeAll(false);
        }


        Ext.applyIf(options, {
            node: node
        });
        options.params[me.nodeParam] = node ? node.getId() : 'root';


        if (node) {
            node.set('loading', true);
        }


        return me.callParent([options]);
    }
});

8 comments :

  1. You're more like BetterThanThousand :) Saved my night! Kudos!

    ReplyDelete
  2. Thanks a million for this post!!! Saved me a ton of time trying to track down why I was getting this error! Great job!

    ReplyDelete
  3. Thank you very much -

    You stopped my bleeding at about 8 hours in...

    I already has days invested in the tree-panel...

    Caritos~

    ReplyDelete
  4. Thank you very much!!! It's very usefull information.

    ReplyDelete
  5. đồng tâm
    game mu
    cho thuê nhà trọ
    cho thuê phòng trọ
    nhac san cuc manh
    số điện thoại tư vấn pháp luật miễn phí
    văn phòng luật
    tổng đài tư vấn pháp luật
    dịch vụ thành lập công ty trọn gói
    thương lượng
    thuyết mbp
    erg là gì
    nổi tiếng
    chi square
    nói chuyện trước công chúng
    định lý
    victor vroom
    chiến thắng con quỷ
    điểm cân bằng

    người ở.
    - Quốc Đống, cậu cứ suy nghĩ cẩn thận rồi làm. Sang năm mới có lẽ Bí thư Kỳ sẽ đến thị sát ở các huyện. Hoa Lâm tốt nhất có thể đưa ra mấy ý tưởng mới. Quận Đông Giang mới thành lập nên muốn đạt thành tích, tôi nghe nói Thổ Thành năm nay cũng có hành động lớn. Hoa Lâm cũng phải có biểu hiện mới được.
    Triệu Quốc Đống đứng trước cửa sổ nhìn rừng cây xanh biếc trước mặt.
    - Chủ tịch Triệu, đây là lịch trình trong một tuần tới, chủ yếu là Hội nghị thường ủy và hội nghị thường trực Ủy ban, nghiên cứu một vài vấn đề quan trọng.
    Quế Toàn Hữu cầm tập văn bản đặt xuống bàn làm việc của Triệu Quốc Đống.
    - Nội dung trong Hội nghị thường ủy có đưa tới không?
    - Chánh văn phòng Hà vẫn chưa đưa tới.
    Quế Toàn Hữu lắc đầu nói:
    - Ngoài ra còn cả vấn đề xây dựng phương tiện bảo vệ môi trường của Công ty Tam Điệp. Thái độ của bọn họ ở vấn đề này vẫn thế. Nói nếu như theo yêu cầu của ta mà làm thì ít nhất đầu tư thêm 3, 4 triệu. Yêu cầu huyện phải nhường một chút, đây là văn bản bọn họ đưa tới.
    - Hừ, tôi biết rồi, cứ để đó. Tên Hà Như Phi này bây giờ cũng biết hợp sức với Công ty Tam Điệp để chèn ép chúng ta đó.
    Triệu Quốc Đống thở dài một tiếng rồi nói:
    - Nhưng hai hạng mục này rất quan trọng đối với chúng ta. Nếu cứ bị kéo dài thì sẽ là áp lực lớn đối với huyện. Bọn họ không đơn giản, còn biết tạo thế ở trên thành phố.
    - Chủ tịch Triệu, tôi thấy ngài có phải yêu cầu quá cao trong vấn đề này không? Tôi cũng tìm hiểu mấy công ty chế biến thịt khác, mặc dù có phương tiện bảo vệ môi trường nhưng không yêu cầu cao như chúng ta, điều này bảo sao bọn họ không chịu chấp nhận.
    Quế Toàn Hữu có chút khó hiểu mà nói. Ở phương diện này Triệu Quốc Đống rất cố chấp. Vấn đề này hai công ty kia đã nói chuyện với chính quyền huyện vài lần. Dù là phó chủ tịch thường trực huyện Tào Uyên hay là Phó chủ

    ReplyDelete
  6. Thank your site! Can you sharing some updates on how you have made this powerful post!
    happy wheels | slither io

    ReplyDelete
  7. The share your really gives us excitement. Thanks for your sharing. If you feel tired at work or study try to participate in our games to bring the most exciting feeling. Thank you!
    hotmail sign in | red ball game | 192.168.1.1

    ReplyDelete