Coder Social home page Coder Social logo

Comments (11)

barmalei avatar barmalei commented on August 19, 2024

Are you using a device that is equipped with both mouse (touchpad) and touch screen ?

I have never tried such sort of devices yet, but have supposed zebra can trigger number of problems here because of the way zebra does the mouse/touch event handling. Zebra tries to guess if the given device is touch screen or not (what already is not very proper solution) and than register either mouse events handler or touch events handler (but never both). Definitely the behavior should be corrected. Will fix it.

from zebkit.

 avatar commented on August 19, 2024

Windows 8.1 Surface Pro using Zebra is really bad with Chrome and with IE. Firefox works just fine.. but there seems to be no way to handle both touch/mouse and stylus events just die.. i think it's the way the browsers handle the new concept of "pointer events"

from zebkit.

barmalei avatar barmalei commented on August 19, 2024

I am on the way to support both mouse and touch at the same time. And at last utilize IE pointer events.

from zebkit.

 avatar commented on August 19, 2024

That would be fantastic, the sooner the better, for whatever reason users of my app love the damn Surface Pro, have you thought about implementing any of the polyfill libraries such as hand.js (http://handjs.codeplex.com/) I was actually trying to do this on my app and was pretty close to success

from zebkit.

barmalei avatar barmalei commented on August 19, 2024

Have added some simple and fast code into zebra to support pointer events and support simultaneous working of mouse and touch events. I know it is still work not well, but at least WIN IE touch devices should start "living". Any feedback is appreciated :)

from zebkit.

 avatar commented on August 19, 2024

Did some recent tests and things are working much better across all browsers with touch screen devices and even stylus on the Surface Pro. My only complaint now is the ScrollPans - I know you should be able to scroll them with a touch and drag but in some cases - specifically mine I'd much rather force display the scrollBar and have them use that, because scrolling within the panel gets very confusing in some cases (designerPanel, multiple scrollpans on one page, etc)

from zebkit.

barmalei avatar barmalei commented on August 19, 2024

You can disable mobile scrolling by removing the following part from "zebra.json":

   "?zebra.isTouchable": {
        "mscroll": { "$zebra.ui.MobileScrollMan"  :[] }
    },

and force to show scroll bars by correcting "autoHide" property of "ScrollPan" component to false value in "zebra.json":

    "ScrollPan": {
        "autoHide": false
    },

from zebkit.

 avatar commented on August 19, 2024

How about using custom.json - I don't like editing zebra.json for pulling new updates and integration purposes.. what would be method to do this in custom.json loaded with bag

from zebkit.

barmalei avatar barmalei commented on August 19, 2024

You can do it without JSON, but in the case of manager (zebra.ui.MobileScrollMan) it is a little bit tricky, since every manager can be registered as global events listener during its instantiation. Anyway to avoid "zebra,json" editing do something like the following:

zebra.ready(function() {
    zebra.ui.ScrollPan.autoHide = false;
    // make mobile scroll manager deaf it has been activated
    if (zebra.ui.mscroll != null) zebra.events.removeListener(zebra.ui.mscroll);
    ...
});

from zebkit.

 avatar commented on August 19, 2024

I prefer the json method, but I load a custom.json rather than directly editing the zebra.json.. where I just override..

from zebkit.

barmalei avatar barmalei commented on August 19, 2024

You can overwrite UI component default properties values with loading of another JSON, but you cannot abolish actions that the instantiated with "zebra.json" JSON objects did (for instance registration "MobileScrollMan" as a global events listener). Some time ago zebra had two steps JSON loading procedure. First step loads JSON or chain of JSONs and only second starts interpreting it. But I found the approach too complicated and even with this approach you could not reject actions that has been performed.

To overwrite default properties values do the following:

zebra.ready(function() {
      new zebra.ui.Bag(zebra.ui).load(urlToYourJson);
      ...
}); 

from zebkit.

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.