How to automatically switch between modern and classic app ExtJs











up vote
1
down vote

favorite












I have a method which switch into modern version after click on button:



 Ext.beforeLoad = function (tags) {
var s = location.search, // the query string (ex "?foo=1&bar")
profile;

if (s.match(/bclassicb/)) {
profile = 'classic';
}
else if (s.match(/bmodernb/)) {
profile = 'modern';
}

else {
profile = tags.phone ? 'modern' : 'classic';
}

Ext.manifest = profile; // this name must match a build profile name

};


That code set profile before load page. And I add parameter using method:



onSwitchToClassicConfirmed: function (choice) {
if (choice === 'yes') {
var s = location.search;

// Strip "?modern" or "&modern" with optionally more "&foo" tokens following
// and ensure we don't start with "?".
s = s.replace(/(^?|&)modern($|&)/, '').replace(/^?/, '');

// Add "?classic&" before the remaining tokens and strip & if there are none.
location.search = ('?classic&' + s).replace(/&$/, '');
}
}


But I want automatically switch between modern and classic screen if device is phone or tablet.










share|improve this question


























    up vote
    1
    down vote

    favorite












    I have a method which switch into modern version after click on button:



     Ext.beforeLoad = function (tags) {
    var s = location.search, // the query string (ex "?foo=1&bar")
    profile;

    if (s.match(/bclassicb/)) {
    profile = 'classic';
    }
    else if (s.match(/bmodernb/)) {
    profile = 'modern';
    }

    else {
    profile = tags.phone ? 'modern' : 'classic';
    }

    Ext.manifest = profile; // this name must match a build profile name

    };


    That code set profile before load page. And I add parameter using method:



    onSwitchToClassicConfirmed: function (choice) {
    if (choice === 'yes') {
    var s = location.search;

    // Strip "?modern" or "&modern" with optionally more "&foo" tokens following
    // and ensure we don't start with "?".
    s = s.replace(/(^?|&)modern($|&)/, '').replace(/^?/, '');

    // Add "?classic&" before the remaining tokens and strip & if there are none.
    location.search = ('?classic&' + s).replace(/&$/, '');
    }
    }


    But I want automatically switch between modern and classic screen if device is phone or tablet.










    share|improve this question
























      up vote
      1
      down vote

      favorite









      up vote
      1
      down vote

      favorite











      I have a method which switch into modern version after click on button:



       Ext.beforeLoad = function (tags) {
      var s = location.search, // the query string (ex "?foo=1&bar")
      profile;

      if (s.match(/bclassicb/)) {
      profile = 'classic';
      }
      else if (s.match(/bmodernb/)) {
      profile = 'modern';
      }

      else {
      profile = tags.phone ? 'modern' : 'classic';
      }

      Ext.manifest = profile; // this name must match a build profile name

      };


      That code set profile before load page. And I add parameter using method:



      onSwitchToClassicConfirmed: function (choice) {
      if (choice === 'yes') {
      var s = location.search;

      // Strip "?modern" or "&modern" with optionally more "&foo" tokens following
      // and ensure we don't start with "?".
      s = s.replace(/(^?|&)modern($|&)/, '').replace(/^?/, '');

      // Add "?classic&" before the remaining tokens and strip & if there are none.
      location.search = ('?classic&' + s).replace(/&$/, '');
      }
      }


      But I want automatically switch between modern and classic screen if device is phone or tablet.










      share|improve this question













      I have a method which switch into modern version after click on button:



       Ext.beforeLoad = function (tags) {
      var s = location.search, // the query string (ex "?foo=1&bar")
      profile;

      if (s.match(/bclassicb/)) {
      profile = 'classic';
      }
      else if (s.match(/bmodernb/)) {
      profile = 'modern';
      }

      else {
      profile = tags.phone ? 'modern' : 'classic';
      }

      Ext.manifest = profile; // this name must match a build profile name

      };


      That code set profile before load page. And I add parameter using method:



      onSwitchToClassicConfirmed: function (choice) {
      if (choice === 'yes') {
      var s = location.search;

      // Strip "?modern" or "&modern" with optionally more "&foo" tokens following
      // and ensure we don't start with "?".
      s = s.replace(/(^?|&)modern($|&)/, '').replace(/^?/, '');

      // Add "?classic&" before the remaining tokens and strip & if there are none.
      location.search = ('?classic&' + s).replace(/&$/, '');
      }
      }


      But I want automatically switch between modern and classic screen if device is phone or tablet.







      extjs extjs6-classic extjs6-modern






      share|improve this question













      share|improve this question











      share|improve this question




      share|improve this question










      asked 2 days ago









      a.yushko

      5811




      5811
























          1 Answer
          1






          active

          oldest

          votes

















          up vote
          0
          down vote













          Have a look at Ext.os.deviceType property, it contains informations of the current device.

          Description from the docs:




          The generic type of the current device.



          Possible values:




          • Phone

          • Tablet

          • Desktop




          With the information you can set the profile



          var profile = Ext.os.deviceType === "Phone" ? "modern" : "classic";





          share|improve this answer





















            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',
            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%2f53175811%2fhow-to-automatically-switch-between-modern-and-classic-app-extjs%23new-answer', 'question_page');
            }
            );

            Post as a guest
































            1 Answer
            1






            active

            oldest

            votes








            1 Answer
            1






            active

            oldest

            votes









            active

            oldest

            votes






            active

            oldest

            votes








            up vote
            0
            down vote













            Have a look at Ext.os.deviceType property, it contains informations of the current device.

            Description from the docs:




            The generic type of the current device.



            Possible values:




            • Phone

            • Tablet

            • Desktop




            With the information you can set the profile



            var profile = Ext.os.deviceType === "Phone" ? "modern" : "classic";





            share|improve this answer

























              up vote
              0
              down vote













              Have a look at Ext.os.deviceType property, it contains informations of the current device.

              Description from the docs:




              The generic type of the current device.



              Possible values:




              • Phone

              • Tablet

              • Desktop




              With the information you can set the profile



              var profile = Ext.os.deviceType === "Phone" ? "modern" : "classic";





              share|improve this answer























                up vote
                0
                down vote










                up vote
                0
                down vote









                Have a look at Ext.os.deviceType property, it contains informations of the current device.

                Description from the docs:




                The generic type of the current device.



                Possible values:




                • Phone

                • Tablet

                • Desktop




                With the information you can set the profile



                var profile = Ext.os.deviceType === "Phone" ? "modern" : "classic";





                share|improve this answer












                Have a look at Ext.os.deviceType property, it contains informations of the current device.

                Description from the docs:




                The generic type of the current device.



                Possible values:




                • Phone

                • Tablet

                • Desktop




                With the information you can set the profile



                var profile = Ext.os.deviceType === "Phone" ? "modern" : "classic";






                share|improve this answer












                share|improve this answer



                share|improve this answer










                answered 11 hours ago









                And-y

                1,32821729




                1,32821729






























                     

                    draft saved


                    draft discarded



















































                     


                    draft saved


                    draft discarded














                    StackExchange.ready(
                    function () {
                    StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53175811%2fhow-to-automatically-switch-between-modern-and-classic-app-extjs%23new-answer', 'question_page');
                    }
                    );

                    Post as a guest




















































































                    Popular posts from this blog

                    Schultheiß

                    Verwaltungsgliederung Dänemarks

                    Liste der Kulturdenkmale in Wilsdruff