GithubHelp home page GithubHelp logo

Comments (6)

roman-rr avatar roman-rr commented on May 27, 2024

@BerkeAras Thank you for issue.
I still need to handle error handling to prevent such type of issues, but in general the issue in your code structure.

With this lines you create Pane new class:

var myPane = new CupertinoPane('.cupertino-pane', {
  backdrop: true
});

For showPane() its works, because you call myPane.present() method (which is necessary to render pane).
For hidePane() you once again create new Pane class, but myPane.present() is not called.

This will works without error:

function hidePane() {
    var myPane = new CupertinoPane('.cupertino-pane', {
        backdrop: true
    });
    myPane.present();
    myPane.hide();
}

But with your code you will not use same Pane, because you re-create Pane class in each function.

Finally, the correct implementation for you is move pane one-level out of scope:

const myPane = new CupertinoPane('.cupertino-pane', {
        backdrop: true
});

function showPane() {
    myPane.present({
        animate: true
    });
}
function hidePane() {
    myPane.hide();
}

from panes.

BerkeAras avatar BerkeAras commented on May 27, 2024

from panes.

roman-rr avatar roman-rr commented on May 27, 2024

@BerkeAras Explore this simple html example, you can save as html and open in browser.

<!DOCTYPE html>
<html lang="en">
    <head>
        <script>var exports = {"__esModule": true};</script> <!-- Required if exports not defined earlier -->
        <script src="https://unpkg.com/cupertino-pane/dist/cupertino-pane.min.js"></script>
    </head>
    <body>
        <button onclick="showPane();">Show</button>
        <button onclick="hidePane();">Hide</button>
        <div class="cupertino-pane">
            <h1>Header</h1>
            <div class="content">Content</div>
        </div>
        <script>
            var myPane = new CupertinoPane('.cupertino-pane', { /* ... */ });

            function showPane() {
                myPane.present({
                    animate: true
                });
            }

            function hidePane() {
                myPane.hide();
            }
        </script>
    </body>
</html>

from panes.

BerkeAras avatar BerkeAras commented on May 27, 2024

from panes.

roman-rr avatar roman-rr commented on May 27, 2024

@BerkeAras You can use

myPane.destroy({
  animate: true
});

instead of

myPane.hide();

On the next release i will also include hidden backdrop for hide method.

from panes.

roman-rr avatar roman-rr commented on May 27, 2024

@BerkeAras already pushed new version with fix.
Please, close issue, if solved.

from panes.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.