Giter Site home page Giter Site logo

exitintent's People

Contributors

aramlawi-zz avatar cdcharlebois avatar jeltemx avatar tieniber avatar

Stargazers

 avatar

Watchers

 avatar  avatar  avatar

exitintent's Issues

[Blocking] Client error with Reference Selector set to Select Using: Page

Hello,

I have encountered a blocking issue when this widget (On version 1.1.1) is used on a page with a reference selector set to Select Using: Page. The reference selector pop-up page works as normal, but an error appears in the client:

image
image
image

This error prevents the user from being able to select using the pop-up page. Everything works as normal, but the selection just does not change the value in the reference selector. Removing the ExitIntent widget from the page resolves the issue.

Unfortunately, I cannot provide this project as a test project. I believe the issue is the reference selector, as we can use other pop-ups on this page as normal.

[Feature] Interrupt history / reload

Hello again,

I have a suggestion for an addition to this widget: The ability to interrupt reload / back / close tab. Currently, this widget only activates if the user presses a button on the page, but may also be useful to add the ability to block other actions via the browser.

I believe this can be done by setting window.addEventListener('beforeunload', ...).

Mendix Marketplace is still on 1.1.0

Hello again,

I ran into an implementation issue with the widget where it was blocking pop-up pages. This was undesired, but I see that the repo has been updated with a release to fix this issue as of 1.1.1, but the marketplace is still on 1.1.0.

I have downloaded the release from the repo (thank you very much by the way!), but if you could update the marketplace at some point, that would be great.

Thank you.

Exception on forms with Reference Selector

I am using the ExitIntent widget on a form that has a Reference Selector that opens a Page and when clicking the selector to open the page the following exception occurs:

TypeError: Cannot read properties of undefined (reading 'listen')
    at mxui.js?637722670870517337:formatted:14534
(anonymous) @ mxui.js?637722670870…337:formatted:43480
(anonymous) @ mxui.js?637722670870…337:formatted:43448
log @ mxui.js?637722670870…337:formatted:43448
error @ mxui.js?637722670870…337:formatted:43442
(anonymous) @ mxui.js?637722670870…337:formatted:43424

In Chrome Developer Tools the code in mxui.js where the exception occurs is the e.listen line below:

        1636: (e,t,n)=>{
            Object.defineProperty(t, "__esModule", {
                value: !0
            }),
            t.openSelectPage = function({selectionMode: e, initialSelection: t, pageSettings: n, datasourceConfig: o, currentObjectId: a, constrainedBy: s, onSelectionChange: c}) {
                const l = (o.constraint || "").replace(/\[%CurrentObject%\]/g, a)
                  , u = (0,
                r.createPageSelectionTopic)();
                window.mx.data.getBacktrack(a, s, ((a,s)=>{
                    (0,
                    i.openPage)(n, {
                        abortOnClientValidations: !1,
                        abortOnServerValidations: !1,
                        currentForm: null,
                        formParams: {
                            initialSelection: t,
                            pageSelectionTopic: u,
                            listViewSelectionMode: e,
                            dataSourceMixin: {
                                extra: {
                                    constraint: s ? a + l : "[0=1]",
                                    offlineConstraints: o.offlineConstraints
                                }
                            }
                        }
                    }, {}).then((e=>{
                        e.listen("commit", (e=>{
                            const t = (0,
                            r.readTopic)(u);
                            (0,
                            r.removeTopic)(u),
                            void 0 !== t && c(t),
                            e()
                        }
                        ))
                    }
                    ), window.mx.onError)
                }
                ))
            }
            ;
            var i = n(4204)
              , r = n(245)
        }

I have tried debugging it but in the obfuscated JavaScript it's pretty tough to figure out what is happening but I presume the way that the page for the Reference Selector is opened by the widget handler is not passing the required object parameter.

Optional actions/microflows

Hi there,

Thanks for this widget. I tried to implement a way to interrupt a user when they tried to move away from a page without having saved anything myself with no luck. This widget fit the role perfectly.

While I was able to work around it, it would be nice if the Cancel (or perhaps both that and No) parameters were optional. And then, if they weren't filled in, the corresponding buttons would not appear on the dialog. If you can't configure optional parameters for custom widgets (I'm forgetting if that's a thing or not), then just a boolean to enable or disable it/them would be nice.

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.