Reorder sub panels












3















I want to reorder panels in an ExtJS 6.6 modern panel.



In an image archive, I want to have query form where I dynamically add query conditions. Each condition is a separate panel with the specific fields for that condition. They are added (like rows) in a vbox layout. The conditions may be ANDed and ORed, which means the condition order is important. In the form, I'd like to move the conditions up/down.



My approach to solve this is to remove the panel and then insert it at the new position.



I have a sample fiddle at https://fiddle.sencha.com/#view/editor&fiddle/2opr



The panel to be moved is removed but never inserted again.



When I've googled for this, many results comes up but they show solutions for older classic guis (calling the view's doLayout method), I'm using 6.6.0 modern where there is no doLayout method.










share|improve this question



























    3















    I want to reorder panels in an ExtJS 6.6 modern panel.



    In an image archive, I want to have query form where I dynamically add query conditions. Each condition is a separate panel with the specific fields for that condition. They are added (like rows) in a vbox layout. The conditions may be ANDed and ORed, which means the condition order is important. In the form, I'd like to move the conditions up/down.



    My approach to solve this is to remove the panel and then insert it at the new position.



    I have a sample fiddle at https://fiddle.sencha.com/#view/editor&fiddle/2opr



    The panel to be moved is removed but never inserted again.



    When I've googled for this, many results comes up but they show solutions for older classic guis (calling the view's doLayout method), I'm using 6.6.0 modern where there is no doLayout method.










    share|improve this question

























      3












      3








      3








      I want to reorder panels in an ExtJS 6.6 modern panel.



      In an image archive, I want to have query form where I dynamically add query conditions. Each condition is a separate panel with the specific fields for that condition. They are added (like rows) in a vbox layout. The conditions may be ANDed and ORed, which means the condition order is important. In the form, I'd like to move the conditions up/down.



      My approach to solve this is to remove the panel and then insert it at the new position.



      I have a sample fiddle at https://fiddle.sencha.com/#view/editor&fiddle/2opr



      The panel to be moved is removed but never inserted again.



      When I've googled for this, many results comes up but they show solutions for older classic guis (calling the view's doLayout method), I'm using 6.6.0 modern where there is no doLayout method.










      share|improve this question














      I want to reorder panels in an ExtJS 6.6 modern panel.



      In an image archive, I want to have query form where I dynamically add query conditions. Each condition is a separate panel with the specific fields for that condition. They are added (like rows) in a vbox layout. The conditions may be ANDed and ORed, which means the condition order is important. In the form, I'd like to move the conditions up/down.



      My approach to solve this is to remove the panel and then insert it at the new position.



      I have a sample fiddle at https://fiddle.sencha.com/#view/editor&fiddle/2opr



      The panel to be moved is removed but never inserted again.



      When I've googled for this, many results comes up but they show solutions for older classic guis (calling the view's doLayout method), I'm using 6.6.0 modern where there is no doLayout method.







      extjs panel extjs6-modern






      share|improve this question













      share|improve this question











      share|improve this question




      share|improve this question










      asked Jan 2 at 12:49









      Mikael JohanssonMikael Johansson

      185




      185
























          1 Answer
          1






          active

          oldest

          votes


















          1














          No need to remove the panel from the container, apparently removing destroys the panel.



          Just change from this:



          var item = this.removeAt(index);


          to this:



          var item = Ext.ComponentQuery.query('#' + itemId)[0];





          share|improve this answer
























          • Thank you. This solved my problem. I've updated the fiddle with your solution.

            – Mikael Johansson
            Jan 12 at 13:56











          Your Answer






          StackExchange.ifUsing("editor", function () {
          StackExchange.using("externalEditor", function () {
          StackExchange.using("snippets", function () {
          StackExchange.snippets.init();
          });
          });
          }, "code-snippets");

          StackExchange.ready(function() {
          var channelOptions = {
          tags: "".split(" "),
          id: "1"
          };
          initTagRenderer("".split(" "), "".split(" "), channelOptions);

          StackExchange.using("externalEditor", function() {
          // Have to fire editor after snippets, if snippets enabled
          if (StackExchange.settings.snippets.snippetsEnabled) {
          StackExchange.using("snippets", function() {
          createEditor();
          });
          }
          else {
          createEditor();
          }
          });

          function createEditor() {
          StackExchange.prepareEditor({
          heartbeatType: 'answer',
          autoActivateHeartbeat: false,
          convertImagesToLinks: true,
          noModals: true,
          showLowRepImageUploadWarning: true,
          reputationToPostImages: 10,
          bindNavPrevention: true,
          postfix: "",
          imageUploader: {
          brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
          contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
          allowUrls: true
          },
          onDemand: true,
          discardSelector: ".discard-answer"
          ,immediatelyShowMarkdownHelp:true
          });


          }
          });














          draft saved

          draft discarded


















          StackExchange.ready(
          function () {
          StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f54006695%2freorder-sub-panels%23new-answer', 'question_page');
          }
          );

          Post as a guest















          Required, but never shown

























          1 Answer
          1






          active

          oldest

          votes








          1 Answer
          1






          active

          oldest

          votes









          active

          oldest

          votes






          active

          oldest

          votes









          1














          No need to remove the panel from the container, apparently removing destroys the panel.



          Just change from this:



          var item = this.removeAt(index);


          to this:



          var item = Ext.ComponentQuery.query('#' + itemId)[0];





          share|improve this answer
























          • Thank you. This solved my problem. I've updated the fiddle with your solution.

            – Mikael Johansson
            Jan 12 at 13:56
















          1














          No need to remove the panel from the container, apparently removing destroys the panel.



          Just change from this:



          var item = this.removeAt(index);


          to this:



          var item = Ext.ComponentQuery.query('#' + itemId)[0];





          share|improve this answer
























          • Thank you. This solved my problem. I've updated the fiddle with your solution.

            – Mikael Johansson
            Jan 12 at 13:56














          1












          1








          1







          No need to remove the panel from the container, apparently removing destroys the panel.



          Just change from this:



          var item = this.removeAt(index);


          to this:



          var item = Ext.ComponentQuery.query('#' + itemId)[0];





          share|improve this answer













          No need to remove the panel from the container, apparently removing destroys the panel.



          Just change from this:



          var item = this.removeAt(index);


          to this:



          var item = Ext.ComponentQuery.query('#' + itemId)[0];






          share|improve this answer












          share|improve this answer



          share|improve this answer










          answered Jan 8 at 14:35









          Fabio BarrosFabio Barros

          949310




          949310













          • Thank you. This solved my problem. I've updated the fiddle with your solution.

            – Mikael Johansson
            Jan 12 at 13:56



















          • Thank you. This solved my problem. I've updated the fiddle with your solution.

            – Mikael Johansson
            Jan 12 at 13:56

















          Thank you. This solved my problem. I've updated the fiddle with your solution.

          – Mikael Johansson
          Jan 12 at 13:56





          Thank you. This solved my problem. I've updated the fiddle with your solution.

          – Mikael Johansson
          Jan 12 at 13:56




















          draft saved

          draft discarded




















































          Thanks for contributing an answer to Stack Overflow!


          • Please be sure to answer the question. Provide details and share your research!

          But avoid



          • Asking for help, clarification, or responding to other answers.

          • Making statements based on opinion; back them up with references or personal experience.


          To learn more, see our tips on writing great answers.




          draft saved


          draft discarded














          StackExchange.ready(
          function () {
          StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f54006695%2freorder-sub-panels%23new-answer', 'question_page');
          }
          );

          Post as a guest















          Required, but never shown





















































          Required, but never shown














          Required, but never shown












          Required, but never shown







          Required, but never shown

































          Required, but never shown














          Required, but never shown












          Required, but never shown







          Required, but never shown







          Popular posts from this blog

          MongoDB - Not Authorized To Execute Command

          How to fix TextFormField cause rebuild widget in Flutter

          in spring boot 2.1 many test slices are not allowed anymore due to multiple @BootstrapWith